@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2024.11"
+config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
+ bool "mesa Gallium swrast driver was replaced by softpipe"
+ select BR2_LEGACY
+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE
+ help
+ The Gallium swrast driver was replaced by softpipe.
+
config BR2_PACKAGE_BSDIFF
bool "bsdiff has been removed"
select BR2_LEGACY
@@ -12,7 +12,7 @@ endif
# Not possible to directly refer to mesa3d variables, because of
# first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 24.0.9
+MESA3D_HEADERS_VERSION = 24.2.6
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://archive.mesa3d.org
MESA3D_HEADERS_DL_SUBDIR = mesa3d
@@ -9,8 +9,8 @@ to force disabling it at compile time.
Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0 & 23.2.0]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0 & 24.2.1]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[fix syntax error after previous rebases]
---
@@ -23,7 +23,7 @@ diff --git a/meson_options.txt b/meson_options.txt
index 8e0bf2a..1cf0e07 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -124,6 +124,13 @@ option(
+@@ -148,6 +148,13 @@ option(
description : 'enable gallium va frontend.',
)
@@ -41,8 +41,8 @@ diff --git a/src/gallium/drivers/vc4/meson.build b/src/gallium/drivers/vc4/meson
index 84da951..7f950de 100644
--- a/src/gallium/drivers/vc4/meson.build
+++ b/src/gallium/drivers/vc4/meson.build
-@@ -84,7 +84,7 @@ files_libvc4 = files(
- vc4_c_args = []
+@@ -72,7 +72,7 @@ files_libvc4 = files(
+ ]
libvc4_neon = []
-if host_machine.cpu_family() == 'arm'
@@ -50,9 +50,9 @@ index 84da951..7f950de 100644
libvc4_neon = static_library(
'vc4_neon',
'vc4_tiling_lt_neon.c',
-@@ -93,7 +93,7 @@ if host_machine.cpu_family() == 'arm'
- ],
+@@ -82,7 +82,7 @@ if host_machine.cpu_family() == 'arm'
c_args : '-mfpu=neon',
+ dependencies : vc4_deps,
)
- vc4_c_args += '-DUSE_ARM_ASM'
+ vc4_c_args += '-DVC4_TILING_LT_NEON'
@@ -50,7 +50,8 @@ config BR2_PACKAGE_MESA3D_OPENCL
bool "OpenCL support"
depends on BR2_PACKAGE_MESA3D_LLVM
depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
select BR2_PACKAGE_LLVM_RTTI
select BR2_PACKAGE_CLANG
select BR2_PACKAGE_LIBCLC
@@ -129,10 +130,18 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
bool "Gallium iris driver"
depends on BR2_i386 || BR2_x86_64
+ depends on BR2_PACKAGE_MESA3D_LLVM
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+ select BR2_PACKAGE_MESA3D_OPENCL
+ select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
+ select BR2_PACKAGE_SPIRV_TOOLS
help
Mesa driver for iris-based Intel GPUs.
+comment "iris driver needs llvm"
+ depends on BR2_i386 || BR2_x86_64
+ depends on !BR2_PACKAGE_MESA3D_LLVM
+
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
bool "Gallium lima driver"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
@@ -140,6 +149,17 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
help
Mesa driver for ARM Mali Utgard GPUs.
+config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE
+ bool "Gallium llvmpipe driver"
+ depends on BR2_PACKAGE_MESA3D_LLVM
+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+ help
+ This is a llvm opengl implementation using the Gallium3D
+ infrastructure.
+
+comment "llvmpipe driver needs llvm"
+ depends on !BR2_PACKAGE_MESA3D_LLVM
+
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
bool "Gallium nouveau driver"
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
@@ -212,8 +232,8 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
help
This is a virtual GPU driver for VMWare virtual machines.
-config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
- bool "Gallium swrast driver"
+config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE
+ bool "Gallium softpipe driver"
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
help
This is a software opengl implementation using the Gallium3D
@@ -309,7 +329,6 @@ comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17"
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST
bool "Vulkan swrast driver"
depends on BR2_PACKAGE_MESA3D_LLVM
- select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
help
Vulkan swrast driver.
@@ -318,7 +337,7 @@ comment "Off-screen Rendering"
config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
bool "OSMesa (Gallium) library"
- select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
+ select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE if !BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE
help
The OSMesa API provides functions for off-screen rendering.
@@ -1,5 +1,5 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2024-June/000764.html
-sha256 51aa686ca4060e38711a9e8f60c8f1efaa516baf411946ed7f2c265cd582ca4c mesa-24.0.9.tar.xz
-sha512 de2ee6c9df1fc106ee10befe0a76be1e9cfe83d65dbdb83bad6d8d7cfaa085232fb115293a1a790b37b50b1fe14bd58aafbcfe5a15e953b5901a7105d57569a5 mesa-24.0.9.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2024-October/000782.html
+sha256 2b68c4a6f204c1999815a457299f81c41ba7bf48c4674b0b2d1d8864f41f3709 mesa-24.2.6.tar.xz
+sha512 830a40d38200ff8b2a6bd949e1ac3bf4edc887a10d9aa92285007d138079e1fafb3568f658e777e7894e95b5ce75d2bd6836b0473fa70d32270005e482b1a2da mesa-24.2.6.tar.xz
# License
sha256 a00275a53178e2645fb65be99a785c110513446a5071ff2c698ed260ad917d75 docs/license.rst
@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 24.0.9
+MESA3D_VERSION = 24.2.6
MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
MESA3D_SITE = https://archive.mesa3d.org
MESA3D_LICENSE = MIT, SGI, Khronos
@@ -21,12 +21,17 @@ MESA3D_DEPENDENCIES = \
host-bison \
host-flex \
host-python-mako \
+ host-python-pyyaml \
expat \
libdrm \
zlib
MESA3D_CONF_OPTS = \
-Dgallium-omx=disabled \
+ -Dgallium-opencl=disabled \
+ -Dgallium-rusticl=false \
+ -Dmicrosoft-clc=disabled \
+ -Dopencl-spirv=false \
-Dpower8=disabled
ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy)
@@ -50,14 +55,9 @@ else
MESA3D_CONF_OPTS += -Dllvm=disabled
endif
-# Disable opencl-icd: OpenCL lib will be named libOpenCL instead of
-# libMesaOpenCL and CL headers are installed
ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y)
MESA3D_PROVIDES += libopencl
MESA3D_DEPENDENCIES += clang libclc
-MESA3D_CONF_OPTS += -Dgallium-opencl=standalone
-else
-MESA3D_CONF_OPTS += -Dgallium-opencl=disabled
endif
ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y)
@@ -99,13 +99,14 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO) += freedre
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915) += i915
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS) += iris
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA) += lima
+MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE) += llvmpipe
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST) += panfrost
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300) += r300
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600) += r600
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi
MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA) += svga
-MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST) += swrast
+MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE) += softpipe
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
@@ -126,6 +127,19 @@ MESA3D_CONF_OPTS += \
-Dgallium-extra-hud=true
endif
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y)
+MESA3D_DEPENDENCIES += host-python-pycparser
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL),y)
+MESA3D_DEPENDENCIES += host-python-ply
+endif
+
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS),y)
+MESA3D_CONF_OPTS += -Dintel-clc=system
+MESA3D_DEPENDENCIES += host-mesa3d spirv-llvm-translator spirv-tools
+endif
+
ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
MESA3D_CONF_OPTS += \
-Dvulkan-drivers=
@@ -251,12 +265,33 @@ 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
+MESA3D_CONF_OPTS += -Dglvnd=enabled
else
-MESA3D_CONF_OPTS += -Dglvnd=false
+MESA3D_CONF_OPTS += -Dglvnd=disabled
endif
else
-MESA3D_CONF_OPTS += -Dglvnd=false
+MESA3D_CONF_OPTS += -Dglvnd=disabled
endif
+HOST_MESA3D_CONF_OPTS = \
+ -Dglvnd=disabled \
+ -Dgallium-drivers=iris \
+ -Dgallium-vdpau=disabled \
+ -Dplatforms= \
+ -Ddri3=disabled \
+ -Dglx=disabled \
+ -Dvulkan-drivers=""
+
+HOST_MESA3D_DEPENDENCIES = \
+ host-libclc \
+ host-libdrm \
+ host-python-mako \
+ host-python-pyyaml \
+ host-spirv-tools
+
+define HOST_MESA3D_INSTALL_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/build/src/intel/compiler/intel_clc $(HOST_DIR)/bin/intel_clc
+endef
+
$(eval $(meson-package))
+$(eval $(host-meson-package))
@@ -22,7 +22,7 @@ class TestFlutter(infra.basetest.BRTest, GraphicsBase):
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{infra.filepath("tests/package/test_flutter/linux-vkms.fragment")}"
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_FLUTTER_PI=y
@@ -17,7 +17,7 @@ class TestGlslsandboxPlayer(infra.basetest.BRTest):
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}"
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y
BR2_PACKAGE_MESA3D_LLVM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
@@ -19,7 +19,7 @@ class TestGlxinfo(infra.basetest.BRTest):
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config"
BR2_PACKAGE_MESA3D_DEMOS=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
@@ -18,7 +18,7 @@ class TestKmsCube(infra.basetest.BRTest):
BR2_PACKAGE_KMSCUBE=y
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE=y
BR2_PACKAGE_MESA3D_LLVM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
@@ -28,7 +28,7 @@ class TestPythonPyQt5(infra.basetest.BRTest):
BR2_PACKAGE_DEJAVU=y
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE=y
BR2_PACKAGE_MESA3D_LLVM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
@@ -22,7 +22,7 @@ class TestWeston(infra.basetest.BRTest, GraphicsBase):
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}"
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_MESA3D=y
- BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE=y
BR2_PACKAGE_MESA3D_LLVM=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
Release notes: https://lists.freedesktop.org/archives/mesa-announce/2024-May/000762.html https://lists.freedesktop.org/archives/mesa-announce/2024-June/000763.html https://lists.freedesktop.org/archives/mesa-announce/2024-June/000765.html https://lists.freedesktop.org/archives/mesa-announce/2024-July/000766.html https://lists.freedesktop.org/archives/mesa-announce/2024-July/000767.html https://lists.freedesktop.org/archives/mesa-announce/2024-July/000771.html https://lists.freedesktop.org/archives/mesa-announce/2024-August/000773.html https://lists.freedesktop.org/archives/mesa-announce/2024-August/000776.html https://lists.freedesktop.org/archives/mesa-announce/2024-September/000778.html https://lists.freedesktop.org/archives/mesa-announce/2024-September/000779.html https://lists.freedesktop.org/archives/mesa-announce/2024-October/000780.html https://lists.freedesktop.org/archives/mesa-announce/2024-October/000781.html https://lists.freedesktop.org/archives/mesa-announce/2024-October/000782.html ------------------------------------------------------------------------ Changes needed for the bump to 24.1.x: Added dependency to llvm & Co. for iris driver due to upstream commit: https://cgit.freedesktop.org/mesa/mesa/commit/meson.build?h=24.1&id=a512c2a8b572c5da360873320dbbd343c6223cd6 Added host version of mesa tool intel_clc needed for target build of the iris driver. Added dependency to host-python-pycparser for etnaviv driver due to upstream commit: https://cgit.freedesktop.org/mesa/mesa/commit/src/etnaviv/hwdb/meson.build?h=24.1&id=2192e620bb0c68b75ff45165d0b117c7ecb77268 Added dependency to host-python-ply for intel vulkan driver due to upstream commit: https://cgit.freedesktop.org/mesa/mesa/commit/src/intel/vulkan/grl/meson.build?h=24.1&id=dc1aedef2bd054884685ad971a3ef5be07ecd101 Although this dependency exists since mesa3d 22.3 it is only needed when intel-clc is enabled, this dependency is added with this patch so no need to backport this dependency to older buildroot trees. Update configure parameter of glvnd option due to upstream commit: https://cgit.freedesktop.org/mesa/mesa/commit/meson.build?h=24.1&id=4f25b84b2460524d375424a81b42faa4d99c8e60 ------------------------------------------------------------------------ Changes needed for the bump to 24.2.x: Added dependency to host-python-pyyaml to host and target build, needed due to upstream commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/a3813327575e8875c8c3ed24b5f45a0b7ba64446 Rebased patch 0002 due to upstream commit: https://cgit.freedesktop.org/mesa/mesa/commit/src/gallium/drivers/vc4/meson.build?h=24.2&id=da70827656757cd070faac7aff5ca057f1e7fb8a Renamed BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST to BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE and added new option BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE due to upstream commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/010b2f9497ab256d9e8041207902948331af5b4b "gallium/meson: Deconflate swrast/softpipe/llvmpipe" This commit also removed the dependency to Gallium swrast for the Vulkan swrast driver: https://gitlab.freedesktop.org/mesa/mesa/-/commit/010b2f9497ab256d9e8041207902948331af5b4b#0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa_311_325 Updated buildroot tests. Signed-off-by: Bernd Kuhls <bernd@kuhls.net> --- v3: More fixes for deprecated driver option swrast (Julien) v2: Added handling for deprecated driver option swrast (Julien) Config.in.legacy | 7 +++ package/mesa3d-headers/mesa3d-headers.mk | 2 +- ...tion-to-disable-optional-neon-suppor.patch | 14 ++--- package/mesa3d/Config.in | 29 ++++++++-- package/mesa3d/mesa3d.hash | 6 +- package/mesa3d/mesa3d.mk | 55 +++++++++++++++---- support/testing/tests/package/test_flutter.py | 2 +- .../tests/package/test_glslsandbox_player.py | 2 +- support/testing/tests/package/test_glxinfo.py | 2 +- support/testing/tests/package/test_kmscube.py | 2 +- .../tests/package/test_python_pyqt5.py | 2 +- support/testing/tests/package/test_weston.py | 2 +- 12 files changed, 93 insertions(+), 32 deletions(-)