package/{mesa3d, mesa3d-headers}: bump version to 22.1.3

upgrade the mesa3d and mesa3d-headers to v22.1.3
and copy patch from IMG DDK 1.19

keep the 0002-Force-Mesa-to-use-the-PVR-driver-for-platform-device.patch
to force the pvr driver

Note that the new version mesa3d support gallium driver
and no longer support dri driver

Signed-off-by: Andy Hu <andy.hu@starfivetech.com>
Signed-off-by: Windsome Zeng <Windsome.Zeng@starfivetech.com>
This commit is contained in:
Andy Hu
2023-06-01 21:59:43 +08:00
parent 969f7d13f2
commit 7566503cc1
82 changed files with 6626 additions and 7086 deletions
Regular → Executable
+52 -30
View File
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
MESA3D_VERSION = 21.2.1
MESA3D_VERSION = 22.1.3
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://archive.mesa3d.org
MESA3D_LICENSE = MIT, SGI, Khronos
@@ -20,11 +20,23 @@ MESA3D_PROVIDES =
MESA3D_DEPENDENCIES = \
host-bison \
host-flex \
host-python3-mako \
host-python-mako \
expat \
libdrm \
zlib
# the src/mesa/main/formats.csv in mesa-22.1.3 offical tarball is msdos file format
# patch the 0023-dri-add-support-for-YUV-DRI-config.patch will failed:
# Hunk #1 FAILED at 92 (different line endings).
# so first change to the unix file format before patch
define MESA3D_CHANEG_FILE_TO_UNIX_FORMAT
if [ -f $(@D)/src/mesa/main/formats.csv ]; then \
sed -i 's/\r$$//' $(@D)/src/mesa/main/formats.csv; \
fi
endef
MESA3D_POST_EXTRACT_HOOKS += MESA3D_CHANEG_FILE_TO_UNIX_FORMAT
MESA3D_CONF_OPTS = \
-Dgallium-omx=disabled \
-Dpower8=disabled
@@ -35,6 +47,15 @@ ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM),y)
MESA3D_CONF_OPTS += -Db_asneeded=false
endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI3),y)
MESA3D_CONF_OPTS += -Ddri3=enabled
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
MESA3D_DEPENDENCIES += xlib_libxshmfence
endif
else
MESA3D_CONF_OPTS += -Ddri3=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y)
MESA3D_DEPENDENCIES += host-llvm llvm
MESA3D_MESON_EXTRA_BINARIES += llvm-config='$(STAGING_DIR)/usr/bin/llvm-config'
@@ -64,7 +85,10 @@ ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
# dri : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
# xlib : xlib conflicts with any dri driver
# gallium-xlib : Gallium-xlib based GLX requires at least one gallium driver || Gallium-xlib based GLX requires softpipe or llvmpipe || gallium-xlib conflicts with any dri driver.
MESA3D_CONF_OPTS += -Dglx=dri
# Always enable glx-direct; without it, many GLX applications don't work.
MESA3D_CONF_OPTS += \
-Dglx=dri \
-Dglx-direct=true
ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_XA),y)
MESA3D_CONF_OPTS += -Dgallium-xa=enabled
else
@@ -76,9 +100,16 @@ MESA3D_CONF_OPTS += \
-Dgallium-xa=disabled
endif
# ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
# MESA3D_CONF_OPTS += -Dgallium-vc4-neon=auto
# else
# MESA3D_CONF_OPTS += -Dgallium-vc4-neon=disabled
# endif
# Drivers
#Gallium Drivers
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS) += crocus
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV) += etnaviv
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO) += freedreno
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915) += i915
@@ -95,12 +126,7 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA) += tegra
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D) += v3d
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4) += vc4
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL) += virgl
# DRI Drivers
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I915) += i915
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965) += i965
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU) += nouveau
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON) += r100
MESA3D_DRI_DRIVERS-$(BR2_PACKAGE_MESA3D_DRI_DRIVER_PVR) += pvr
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PVR) += pvr
# Vulkan Drivers
MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL) += intel
@@ -113,31 +139,16 @@ MESA3D_CONF_OPTS += \
-Dshared-glapi=enabled \
-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
-Dgallium-extra-hud=true
ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PVR),y)
MESA3D_DEPENDENCIES += img-gpu-powervr
endif
ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
MESA3D_CONF_OPTS += \
-Ddri-drivers= -Ddri3=disabled
else
ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y)
MESA3D_DEPENDENCIES += xlib_libxshmfence
MESA3D_CONF_OPTS += -Ddri3=enabled
else
MESA3D_CONF_OPTS += -Ddri3=disabled
endif
MESA3D_CONF_OPTS += \
-Dshared-glapi=enabled \
-Dglx-direct=true \
-Ddri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
endif
ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=
else
MESA3D_DEPENDENCIES += xlib_libxshmfence
MESA3D_CONF_OPTS += \
-Ddri3=enabled \
-Dvulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y))
endif
@@ -157,9 +168,9 @@ MESA3D_CONF_OPTS += -Dopengl=true
# we do not need libva support in mesa3d, therefore disable this option
MESA3D_CONF_OPTS += -Dgallium-va=disabled
# libGL is only provided for a full xorg stack
# libGL is only provided for a full xorg stack, without libglvnd
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
MESA3D_PROVIDES += libgl
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgl)
else
define MESA3D_REMOVE_OPENGL_HEADERS
rm -rf $(STAGING_DIR)/usr/include/GL/
@@ -197,7 +208,7 @@ MESA3D_CONF_OPTS += \
endif
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
MESA3D_PROVIDES += libegl
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libegl)
MESA3D_CONF_OPTS += \
-Degl=enabled
else
@@ -206,7 +217,7 @@ MESA3D_CONF_OPTS += \
endif
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_ES),y)
MESA3D_PROVIDES += libgles
MESA3D_PROVIDES += $(if $(BR2_PACKAGE_LIBGLVND),,libgles)
MESA3D_CONF_OPTS += -Dgles1=enabled -Dgles2=enabled
else
MESA3D_CONF_OPTS += -Dgles1=disabled -Dgles2=disabled
@@ -261,4 +272,15 @@ ifeq ($(BR2_m68k),y)
MESA3D_CFLAGS += -mlong-jump-table-offsets
endif
ifeq ($(BR2_PACKAGE_LIBGLVND),y)
ifneq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX)$(BR2_PACKAGE_MESA3D_OPENGL_EGL),)
MESA3D_DEPENDENCIES += libglvnd
MESA3D_CONF_OPTS += -Dglvnd=true
else
MESA3D_CONF_OPTS += -Dglvnd=false
endif
else
MESA3D_CONF_OPTS += -Dglvnd=false
endif
$(eval $(meson-package))