Skip to contentSkip to conversation

package/mesa3d: bump version to 25.1.0

PATCH Superseded Bernd Kuhls 3 participants 4 messages May 18, 2025 Arm/Amlogic Meson SoC support

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

cover package/mesa3d: bump version to 25.1.0

This patch depends on the series to bump llvm to 20
https://patchwork.ozlabs.org/project/buildroot/list/?series=457336
due to AMD drivers depending on llvm >= 18:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/82047fa82f1bbbbd4f1a9b05c034f79a00d85e31

Regards, Bernd

Bernd Kuhls (1):
package/mesa3d: bump version to 25.1.0

 Config.in.legacy                              |  6 +++
 package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
 ...t-proper-value-for-LIBCLC_INCLUDEDIR.patch | 41 -------------------
 ...ion-to-disable-optional-neon-suppor.patch} | 10 ++---
 ...-Include-stddef.h-to-fix-build-erro.patch} |  0
 ...uild.patch => 0003-Fix-uClibc-build.patch} |  0
 package/mesa3d/Config.in                      | 24 ++++++-----
 package/mesa3d/mesa3d.hash                    |  6 +--
 package/mesa3d/mesa3d.mk                      | 35 ++++++++--------
 9 files changed, 46 insertions(+), 78 deletions(-)
 delete mode 100644 package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
 rename package/mesa3d/{0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch => 0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch} (93%)
 rename package/mesa3d/{0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch => 0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch} (100%)
 rename package/mesa3d/{0004-Fix-uClibc-build.patch => 0003-Fix-uClibc-build.patch} (100%)
Signature · 6 lines
2.39.5

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#1 lore raw

PATCH 1/1 package/mesa3d: bump version to 25.1.0

Release notes:
https://lists.freedesktop.org/archives/mesa-announce/2025-May/000802.html

Note: Mesa3d depends on spirv-tools >= 2024.1
https://gitlab.freedesktop.org/mesa/mesa/-/commit/fe8a0d35485c77efdb3c4cb6f176f2b3cbe4c65d
which translates to spirv-tools version 1.3.280.0.

Note: AMD drivers depend on llvm >= 18:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/82047fa82f1bbbbd4f1a9b05c034f79a00d85e31

Removed patch 0001, not needed anymore due to upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/e4eb5e80c316c0af3fff310ca89e1175d81556c1
which removes the libclc headers include.

Renumbered remaining patches.

Rebased patch 0002 due to upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/6652eb0ec37e3cc3751928cc8180bac0db95f00f
which renamed meson_options.txt to meson.options.

Panfrost driver depends on llvm:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/20970bcd9652ea8727a307ced9b372fad4b89991
and needs the host tool panfrost_compile which is created by the same method as mesa_clc needed by the Iris driver. Refactor the dependencies by introducing a blind option BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER which is selected by either the iris or the panfrost driver.

vtn_bindgen was replaced by vtn_bindgen2:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/6d5375017a516f4281ec0b73748582c56a86057a

OSMesa was removed upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/027ccd963b1f8f288bef4224aedcddc1557e4f8a

Configure option shared-glapi was removed upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/e5c76088e9e8834aa277777b41604b2463029a09
https://gitlab.freedesktop.org/mesa/mesa/-/commit/fefb1a6fb3cff1b227e835c2f67accd33fb96b2a

Removed deprecated and unused configure options gallium-opencl & power8:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/a0b457aca6cbe94d555ae75864a47bb6a16318a0
https://gitlab.freedesktop.org/mesa/mesa/-/commit/c4b305079d70790ee9d34a25a2f70759ece96f0d

---
 Config.in.legacy                              |  6 +++
 package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
 ...t-proper-value-for-LIBCLC_INCLUDEDIR.patch | 41 -------------------
 ...ion-to-disable-optional-neon-suppor.patch} | 10 ++---
 ...-Include-stddef.h-to-fix-build-erro.patch} |  0
 ...uild.patch => 0003-Fix-uClibc-build.patch} |  0
 package/mesa3d/Config.in                      | 24 ++++++-----
 package/mesa3d/mesa3d.hash                    |  6 +--
 package/mesa3d/mesa3d.mk                      | 35 ++++++++--------
 9 files changed, 46 insertions(+), 78 deletions(-)
 delete mode 100644 package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
 rename package/mesa3d/{0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch => 0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch} (93%)
 rename package/mesa3d/{0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch => 0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch} (100%)
 rename package/mesa3d/{0004-Fix-uClibc-build.patch => 0003-Fix-uClibc-build.patch} (100%)
Config.in.legacy +6 -0
index 54792bc22f..d14e2a16c2 100644
@@ -146,6 +146,12 @@ endif
 
 comment "Legacy options removed in 2025.05"
 
+config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
+	bool "mesa3d OSMesa (Gallium) library support removed"
+	select BR2_LEGACY
+	help
+	  Mesa3d removed the OSMesa (Off-Screen) interface library.
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
 	bool "mesa Gallium swrast driver was replaced by softpipe"
 	select BR2_LEGACY
package/mesa3d-headers/mesa3d-headers.mk +1 -1
index cabdbe6595..6817469885 100644
@@ -12,7 +12,7 @@ endif
 
 # Not possible to directly refer to mesa3d variables, because of
 # first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 25.0.6
+MESA3D_HEADERS_VERSION = 25.1.0
 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
 MESA3D_HEADERS_SITE = https://archive.mesa3d.org
 MESA3D_HEADERS_DL_SUBDIR = mesa3d
package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch deleted +0 -41

41 lines not on this page · raw message

package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch renamed from package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch +5 -5
similarity index 93%
rename from package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
rename to package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
index 3b9bca0693..04b33a7856 100644
@@ -10,19 +10,19 @@ to force disabling it at compile time.
 Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114
 Signed-off-by: Peter Seiderer <[email protected]>
 Signed-off-by: Bernd Kuhls <[email protected]>
-[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0 & 24.3.0]
+[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0, 24.3.0 & 25.1.0]
 Signed-off-by: Peter Seiderer <[email protected]>
 [fix syntax error after previous rebases]
 ---
- meson_options.txt                    | 7 +++++++
+ meson.options                        | 7 +++++++
  src/gallium/drivers/vc4/meson.build  | 4 ++--
  src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
  3 files changed, 11 insertions(+), 4 deletions(-)
 
-diff --git a/meson_options.txt b/meson_options.txt
+diff --git a/meson.options b/meson.options
 index 8e0bf2a..1cf0e07 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
+--- a/meson.options
++++ b/meson.options
 @@ -117,6 +117,13 @@ option(
    description : 'enable gallium va frontend.',
  )
package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch renamed from package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch +0 -0
similarity index 100%
rename from package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
rename to package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
package/mesa3d/0003-Fix-uClibc-build.patch renamed from package/mesa3d/0004-Fix-uClibc-build.patch +0 -0
similarity index 100%
rename from package/mesa3d/0004-Fix-uClibc-build.patch
rename to package/mesa3d/0003-Fix-uClibc-build.patch
package/mesa3d/Config.in +13 -11
index 99cb0b955c..8b61421d98 100644
@@ -21,6 +21,12 @@ if BR2_PACKAGE_MESA3D
 config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
 	bool
 
+config BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
+	bool
+	select BR2_PACKAGE_MESA3D_OPENCL
+	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
+	select BR2_PACKAGE_SPIRV_TOOLS
+
 config BR2_PACKAGE_MESA3D_LLVM
 	bool "llvm support"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -50,6 +56,7 @@ 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_PANFROST || \
 		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \
 		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	select BR2_PACKAGE_LLVM_RTTI
@@ -131,9 +138,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	bool "Gallium iris driver"
 	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
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	help
 	  Mesa driver for iris-based Intel GPUs.
 
@@ -171,10 +176,15 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
 	bool "Gallium panfrost driver"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
+	depends on BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	help
 	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
 
+comment "panfrost driver needs llvm"
+	depends on !BR2_PACKAGE_MESA3D_LLVM
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
 	bool "Gallium Radeon R300 driver"
 	depends on BR2_i386 || BR2_x86_64
@@ -348,14 +358,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_VIRTIO
 	help
 	  Vulkan VirtIO (venus) driver.
 
-comment "Off-screen Rendering"
-
-config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
-	bool "OSMesa (Gallium) library"
-	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE
-	help
-	  The OSMesa API provides functions for off-screen rendering.
-
 if BR2_PACKAGE_MESA3D_DRIVER
 
 comment "OpenGL API Support"
package/mesa3d/mesa3d.hash +3 -3
index c94611ff05..40a6e88863 100644
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2025-May/000803.html
-sha256  0d179e019e3441f5d957330d7abb3b0ef38e6782cc85a382608cd1a4a77fa2e1  mesa-25.0.6.tar.xz
-sha512  6a0abc8a5bbbb8ffdad7286fc5642f643b1f4183794425ba689c2c9f5c73a4131c8685074241deb1022631b4c1f1c505dbd848190ec60d5d6931e90dd9316e05  mesa-25.0.6.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2025-May/000802.html
+sha256  b1c45888969ee5df997e2542654f735ab1b772924b442f3016d2293414c99c14  mesa-25.1.0.tar.xz
+sha512  40298370727fa1ad6d59be8692dfef01c42e41780816e9b951a05f779c7acca127162d2d3cedfccb7bfe3834b9e917c2b9bc6cb76887488d919cb61741a1da1a  mesa-25.1.0.tar.xz
 # License
 sha256  0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615  docs/license.rst
 sha256  323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f  licenses/MIT
package/mesa3d/mesa3d.mk +18 -17
index 84d1aae6ef..d067fd45ed 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 # When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 25.0.6
+MESA3D_VERSION = 25.1.0
 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
 MESA3D_SITE = https://archive.mesa3d.org
 MESA3D_LICENSE = MIT, SGI, Khronos
@@ -30,10 +30,8 @@ MESA3D_DEPENDENCIES = \
 	zlib
 
 MESA3D_CONF_OPTS = \
-	-Dgallium-opencl=disabled \
 	-Dgallium-rusticl=false \
-	-Dmicrosoft-clc=disabled \
-	-Dpower8=disabled
+	-Dmicrosoft-clc=disabled
 
 ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy)
 MESA3D_DEPENDENCIES += xlib_libxshmfence
@@ -65,7 +63,7 @@ endif
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
 # Disable-mangling not yet supported by meson build system.
 # glx:
-#  dri          : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
+#  dri          : dri based GLX requires at least one DRI driver
 #  xlib         : xlib conflicts with any dri driver
 # Always enable glx-direct; without it, many GLX applications don't work.
 MESA3D_CONF_OPTS += \
@@ -96,10 +94,12 @@ 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
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS)     += iris
+HOST_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
+HOST_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
@@ -122,7 +122,6 @@ MESA3D_CONF_OPTS += \
 	-Dgallium-extra-hud=false
 else
 MESA3D_CONF_OPTS += \
-	-Dshared-glapi=enabled \
 	-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
 	-Dgallium-extra-hud=true
 endif
@@ -135,7 +134,7 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL),y)
 MESA3D_DEPENDENCIES += host-python-ply
 endif
 
-ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS),y)
+ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER),y)
 MESA3D_CONF_OPTS += -Dmesa-clc=system -Dprecomp-compiler=system
 MESA3D_DEPENDENCIES += host-mesa3d spirv-llvm-translator spirv-tools
 endif
@@ -151,12 +150,6 @@ endif
 
 # APIs
 
-ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y)
-MESA3D_CONF_OPTS += -Dosmesa=true
-else
-MESA3D_CONF_OPTS += -Dosmesa=false
-endif
-
 # Always enable OpenGL:
 #   - Building OpenGL ES without OpenGL is not supported, so always keep opengl enabled.
 MESA3D_CONF_OPTS += -Dopengl=true
@@ -273,11 +266,9 @@ else
 MESA3D_CONF_OPTS += -Dglvnd=disabled
 endif
 
-# host-mesa3d is needed by mesa3d only when the Iris Gallium driver is
-# enabled
 HOST_MESA3D_CONF_OPTS = \
 	-Dglvnd=disabled \
-	-Dgallium-drivers=iris \
+	-Dgallium-drivers=$(subst $(space),$(comma),$(HOST_MESA3D_GALLIUM_DRIVERS-y)) \
 	-Dgallium-vdpau=disabled \
 	-Dinstall-mesa-clc=true \
 	-Dmesa-clc=enabled \
@@ -286,6 +277,10 @@ HOST_MESA3D_CONF_OPTS = \
 	-Dglx=disabled \
 	-Dvulkan-drivers=""
 
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+HOST_MESA3D_CONF_OPTS += -Dtools=panfrost
+endif
+
 HOST_MESA3D_DEPENDENCIES = \
 	host-libclc \
 	host-libdrm \
@@ -293,9 +288,15 @@ HOST_MESA3D_DEPENDENCIES = \
 	host-python-pyyaml \
 	host-spirv-tools
 
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+HOST_MESA3D_INSTALL_PANFROST_COMPILE = \
+	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/panfrost/clc/panfrost_compile $(HOST_DIR)/bin/panfrost_compile
+endif
+
 define HOST_MESA3D_INSTALL_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/clc/mesa_clc $(HOST_DIR)/bin/mesa_clc
-	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/spirv/vtn_bindgen $(HOST_DIR)/bin/vtn_bindgen
+	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/spirv/vtn_bindgen2 $(HOST_DIR)/bin/vtn_bindgen2
+	$(HOST_MESA3D_INSTALL_PANFROST_COMPILE)
 endef
 
 $(eval $(meson-package))
Signature · 6 lines
2.39.5

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
#2 lore raw

Hi Bernd,

Thank you for this patch.

Quoted 2 lines · Bernd Kuhls

Release notes:
https://lists.freedesktop.org/archives/mesa-announce/2025-May/000802.html

[...]

It is introducing few checker errors. Running

utils/check-symbols

outputs:

    package/mesa3d-demos/mesa3d-demos.mk:56: 

BR2_PACKAGE_MESA3D_OSMESA_GALLIUM is a legacy symbol and should not be referenced
package/wine/wine.mk:146: BR2_PACKAGE_MESA3D_OSMESA_GALLIUM is a
legacy symbol and should not be referenced

And running:

make check-package

outputs:

.checkpackageignore:801: ignored file
package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch is missing

Could you send an updated patch addressing those issues, please?

Best regards,

Julien.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot

#3 lore raw
In reply to Bernd Kuhls

Hello Bernd, All,

Le 18/05/2025 à 13:58, Bernd Kuhls a écrit :

Quoted 33 lines

Release notes:
https://lists.freedesktop.org/archives/mesa-announce/2025-May/000802.html

Note: Mesa3d depends on spirv-tools >= 2024.1
https://gitlab.freedesktop.org/mesa/mesa/-/commit/fe8a0d35485c77efdb3c4cb6f176f2b3cbe4c65d
which translates to spirv-tools version 1.3.280.0.

Note: AMD drivers depend on llvm >= 18:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/82047fa82f1bbbbd4f1a9b05c034f79a00d85e31

Removed patch 0001, not needed anymore due to upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/e4eb5e80c316c0af3fff310ca89e1175d81556c1
which removes the libclc headers include.

Renumbered remaining patches.

Rebased patch 0002 due to upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/6652eb0ec37e3cc3751928cc8180bac0db95f00f
which renamed meson_options.txt to meson.options.

Panfrost driver depends on llvm:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/20970bcd9652ea8727a307ced9b372fad4b89991
and needs the host tool panfrost_compile which is created by the same method as mesa_clc needed by the Iris driver. Refactor the dependencies by introducing a blind option BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER which is selected by either the iris or the panfrost driver.

vtn_bindgen was replaced by vtn_bindgen2:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/6d5375017a516f4281ec0b73748582c56a86057a

OSMesa was removed upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/027ccd963b1f8f288bef4224aedcddc1557e4f8a

Quoted 7 lines

Configure option shared-glapi was removed upstream:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/e5c76088e9e8834aa277777b41604b2463029a09
https://gitlab.freedesktop.org/mesa/mesa/-/commit/fefb1a6fb3cff1b227e835c2f67accd33fb96b2a

Removed deprecated and unused configure options gallium-opencl & power8:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/a0b457aca6cbe94d555ae75864a47bb6a16318a0
https://gitlab.freedesktop.org/mesa/mesa/-/commit/c4b305079d70790ee9d34a25a2f70759ece96f0d

About BR2_PACKAGE_MESA3D_OPENCL initially used to enable Clover support, Clover support is deprecated since mesa 25.1 and removed from radeonsi, iris, freedreno and llvmpipe already before complete removal.

I'm not sure if there is still something functionnal without rusticl support.

https://gitlab.freedesktop.org/mesa/mesa/-/commit/a0b457aca6cbe94d555ae75864a47bb6a16318a0
https://gitlab.freedesktop.org/mesa/mesa/-/commit/219b2cde13e52f1248b475cb1d7cee453f1a0c65
https://gitlab.freedesktop.org/mesa/mesa/-/commit/d073701a247d40270ce0bca0f197d9ccbf870ecb
https://gitlab.freedesktop.org/mesa/mesa/-/commit/8963defa4f02431b47fa6075e013ea036b22c0da
https://gitlab.freedesktop.org/mesa/mesa/-/commit/17b9af42b77aab2d8be446fbc3447027b8829557

Mehdi is working on rusticl support but was recently distracted by the llvm version bump :)

Best regards,
Romain

Quoted 324 lines
---
 Config.in.legacy                              |  6 +++
 package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
 ...t-proper-value-for-LIBCLC_INCLUDEDIR.patch | 41 -------------------
 ...ion-to-disable-optional-neon-suppor.patch} | 10 ++---
 ...-Include-stddef.h-to-fix-build-erro.patch} |  0
 ...uild.patch => 0003-Fix-uClibc-build.patch} |  0
 package/mesa3d/Config.in                      | 24 ++++++-----
 package/mesa3d/mesa3d.hash                    |  6 +--
 package/mesa3d/mesa3d.mk                      | 35 ++++++++--------
 9 files changed, 46 insertions(+), 78 deletions(-)
 delete mode 100644 package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
 rename package/mesa3d/{0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch => 0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch} (93%)
 rename package/mesa3d/{0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch => 0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch} (100%)
 rename package/mesa3d/{0004-Fix-uClibc-build.patch => 0003-Fix-uClibc-build.patch} (100%)
Config.in.legacy +6 -0
index 54792bc22f..d14e2a16c2 100644
@@ -146,6 +146,12 @@ endif
 
 comment "Legacy options removed in 2025.05"
 
+config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
+	bool "mesa3d OSMesa (Gallium) library support removed"
+	select BR2_LEGACY
+	help
+	  Mesa3d removed the OSMesa (Off-Screen) interface library.
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
 	bool "mesa Gallium swrast driver was replaced by softpipe"
 	select BR2_LEGACY
package/mesa3d-headers/mesa3d-headers.mk +1 -1
index cabdbe6595..6817469885 100644
@@ -12,7 +12,7 @@ endif
 
 # Not possible to directly refer to mesa3d variables, because of
 # first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 25.0.6
+MESA3D_HEADERS_VERSION = 25.1.0
 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
 MESA3D_HEADERS_SITE = https://archive.mesa3d.org
 MESA3D_HEADERS_DL_SUBDIR = mesa3d
package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch deleted +0 -41
deleted file mode 100644
index ff362551ea..0000000000
@@ -1,41 +0,0 @@
-From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
-From: Romain Naour <[email protected]>
-Date: Wed, 17 Apr 2019 23:07:42 +0200
-Subject: [PATCH] meson: Set proper value for LIBCLC_INCLUDEDIR
-
-LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation
-will look for OpenCL "headers" on the target, when building the OpenCL
-kernels.
-
-The value returned by pkg-config for includedir is relevant when
-cross-compiling, on the build machine. But in this specific case, we
-really need a value that is valid on the target.
-
-Those headers are installed by the libclc package in /usr/share so
-that they are not removed by Buildroot target-finalize logic.
-
-Based on the patch for autotools provided by Valentin Korenblit.
-
-Signed-off-by: Romain Naour <[email protected]>
-Signed-off-by: Bernd Kuhls <[email protected]>
-[rebased for 20.2.0, 20.3.0 & 25.0.0]
----
- src/gallium/frontends/clover/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/gallium/frontends/clover/meson.build b/src/gallium/frontends/clover/meson.build
-index 62ac5f5278d..ecdeb39669c 100644
---- a/src/gallium/frontends/clover/meson.build
-+++ b/src/gallium/frontends/clover/meson.build
-@@ -10,7 +10,7 @@
-   '-DCL_USE_DEPRECATED_OPENCL_2_0_APIS',
-   '-DCL_USE_DEPRECATED_OPENCL_2_1_APIS',
-   '-DCL_USE_DEPRECATED_OPENCL_2_2_APIS',
--  '-DLIBCLC_INCLUDEDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'includedir')),
-+  '-DLIBCLC_INCLUDEDIR="/usr/share"',
-   '-DLIBCLC_LIBEXECDIR="@0@/"'.format(dep_clc.get_variable(pkgconfig : 'libexecdir'))
- ]
- clover_incs = [inc_include, inc_src, inc_gallium, inc_gallium_aux]
--- 
-2.20.1
-
package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch renamed from package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch +5 -5
similarity index 93%
rename from package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
rename to package/mesa3d/0001-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
index 3b9bca0693..04b33a7856 100644
@@ -10,19 +10,19 @@ to force disabling it at compile time.
 Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4114
 Signed-off-by: Peter Seiderer <[email protected]>
 Signed-off-by: Bernd Kuhls <[email protected]>
-[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0 & 24.3.0]
+[rebased for 20.2.0, 20.3.0, 21.1.0, 23.1.0, 23.2.0, 24.3.0 & 25.1.0]
 Signed-off-by: Peter Seiderer <[email protected]>
 [fix syntax error after previous rebases]
 ---
- meson_options.txt                    | 7 +++++++
+ meson.options                        | 7 +++++++
  src/gallium/drivers/vc4/meson.build  | 4 ++--
  src/gallium/drivers/vc4/vc4_tiling.h | 4 ++--
  3 files changed, 11 insertions(+), 4 deletions(-)
 
-diff --git a/meson_options.txt b/meson_options.txt
+diff --git a/meson.options b/meson.options
 index 8e0bf2a..1cf0e07 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
+--- a/meson.options
++++ b/meson.options
 @@ -117,6 +117,13 @@ option(
    description : 'enable gallium va frontend.',
  )
package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch renamed from package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch +0 -0
similarity index 100%
rename from package/mesa3d/0003-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
rename to package/mesa3d/0002-src-util-rand_xor-Include-stddef.h-to-fix-build-erro.patch
package/mesa3d/0003-Fix-uClibc-build.patch renamed from package/mesa3d/0004-Fix-uClibc-build.patch +0 -0
similarity index 100%
rename from package/mesa3d/0004-Fix-uClibc-build.patch
rename to package/mesa3d/0003-Fix-uClibc-build.patch
package/mesa3d/Config.in +13 -11
index 99cb0b955c..8b61421d98 100644
@@ -21,6 +21,12 @@ if BR2_PACKAGE_MESA3D
 config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
 	bool
 
+config BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
+	bool
+	select BR2_PACKAGE_MESA3D_OPENCL
+	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
+	select BR2_PACKAGE_SPIRV_TOOLS
+
 config BR2_PACKAGE_MESA3D_LLVM
 	bool "llvm support"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -50,6 +56,7 @@ 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_PANFROST || \
 		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI || \
 		BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	select BR2_PACKAGE_LLVM_RTTI
@@ -131,9 +138,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	bool "Gallium iris driver"
 	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
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	help
 	  Mesa driver for iris-based Intel GPUs.
 
@@ -171,10 +176,15 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
 	bool "Gallium panfrost driver"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
+	depends on BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	help
 	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
 
+comment "panfrost driver needs llvm"
+	depends on !BR2_PACKAGE_MESA3D_LLVM
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
 	bool "Gallium Radeon R300 driver"
 	depends on BR2_i386 || BR2_x86_64
@@ -348,14 +358,6 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_VIRTIO
 	help
 	  Vulkan VirtIO (venus) driver.
 
-comment "Off-screen Rendering"
-
-config BR2_PACKAGE_MESA3D_OSMESA_GALLIUM
-	bool "OSMesa (Gallium) library"
-	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SOFTPIPE
-	help
-	  The OSMesa API provides functions for off-screen rendering.
-
 if BR2_PACKAGE_MESA3D_DRIVER
 
 comment "OpenGL API Support"
package/mesa3d/mesa3d.hash +3 -3
index c94611ff05..40a6e88863 100644
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2025-May/000803.html
-sha256  0d179e019e3441f5d957330d7abb3b0ef38e6782cc85a382608cd1a4a77fa2e1  mesa-25.0.6.tar.xz
-sha512  6a0abc8a5bbbb8ffdad7286fc5642f643b1f4183794425ba689c2c9f5c73a4131c8685074241deb1022631b4c1f1c505dbd848190ec60d5d6931e90dd9316e05  mesa-25.0.6.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2025-May/000802.html
+sha256  b1c45888969ee5df997e2542654f735ab1b772924b442f3016d2293414c99c14  mesa-25.1.0.tar.xz
+sha512  40298370727fa1ad6d59be8692dfef01c42e41780816e9b951a05f779c7acca127162d2d3cedfccb7bfe3834b9e917c2b9bc6cb76887488d919cb61741a1da1a  mesa-25.1.0.tar.xz
 # License
 sha256  0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615  docs/license.rst
 sha256  323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f  licenses/MIT
package/mesa3d/mesa3d.mk +14 -16
index 84d1aae6ef..d067fd45ed 100644
@@ -5,7 +5,7 @@
 ################################################################################
 
 # When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 25.0.6
+MESA3D_VERSION = 25.1.0
 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
 MESA3D_SITE = https://archive.mesa3d.org
 MESA3D_LICENSE = MIT, SGI, Khronos
@@ -30,10 +30,8 @@ MESA3D_DEPENDENCIES = \
 	zlib
 
 MESA3D_CONF_OPTS = \
-	-Dgallium-opencl=disabled \
 	-Dgallium-rusticl=false \
-	-Dmicrosoft-clc=disabled \
-	-Dpower8=disabled
+	-Dmicrosoft-clc=disabled
 
 ifeq ($(BR2_PACKAGE_MESA3D_DRIVER)$(BR2_PACKAGE_XORG7),yy)
 MESA3D_DEPENDENCIES += xlib_libxshmfence
@@ -65,7 +63,7 @@ endif
 ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GLX),y)
 # Disable-mangling not yet supported by meson build system.
 # glx:
-#  dri          : dri based GLX requires at least one DRI driver || dri based GLX requires shared-glapi
+#  dri          : dri based GLX requires at least one DRI driver
 #  xlib         : xlib conflicts with any dri driver
 # Always enable glx-direct; without it, many GLX applications don't work.
 MESA3D_CONF_OPTS += \
@@ -96,10 +94,12 @@ 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
 MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS)     += iris
+HOST_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
+HOST_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
@@ -122,7 +122,6 @@ MESA3D_CONF_OPTS += \
 	-Dgallium-extra-hud=false
 else
 MESA3D_CONF_OPTS += \
-	-Dshared-glapi=enabled \
 	-Dgallium-drivers=$(subst $(space),$(comma),$(MESA3D_GALLIUM_DRIVERS-y)) \
 	-Dgallium-extra-hud=true
 endif
@@ -135,7 +134,7 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL),y)
 MESA3D_DEPENDENCIES += host-python-ply
 endif
 
-ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS),y)
+ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER),y)
 MESA3D_CONF_OPTS += -Dmesa-clc=system -Dprecomp-compiler=system
 MESA3D_DEPENDENCIES += host-mesa3d spirv-llvm-translator spirv-tools
 endif
@@ -151,12 +150,6 @@ endif
 
 # APIs
 
-ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y)
-MESA3D_CONF_OPTS += -Dosmesa=true
-else
-MESA3D_CONF_OPTS += -Dosmesa=false
-endif
-
 # Always enable OpenGL:
 #   - Building OpenGL ES without OpenGL is not supported, so always keep opengl enabled.
 MESA3D_CONF_OPTS += -Dopengl=true
@@ -273,11 +266,9 @@ else
 MESA3D_CONF_OPTS += -Dglvnd=disabled
 endif
 
-# host-mesa3d is needed by mesa3d only when the Iris Gallium driver is
-# enabled
 HOST_MESA3D_CONF_OPTS = \
 	-Dglvnd=disabled \
-	-Dgallium-drivers=iris \
+	-Dgallium-drivers=$(subst $(space),$(comma),$(HOST_MESA3D_GALLIUM_DRIVERS-y)) \
 	-Dgallium-vdpau=disabled \
 	-Dinstall-mesa-clc=true \
 	-Dmesa-clc=enabled \
@@ -286,6 +277,10 @@ HOST_MESA3D_CONF_OPTS = \
 	-Dglx=disabled \
 	-Dvulkan-drivers=""
 
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+HOST_MESA3D_CONF_OPTS += -Dtools=panfrost
+endif
+
 HOST_MESA3D_DEPENDENCIES = \
 	host-libclc \
 	host-libdrm \
@@ -293,9 +288,15 @@ HOST_MESA3D_DEPENDENCIES = \
 	host-python-pyyaml \
 	host-spirv-tools
 
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST),y)
+HOST_MESA3D_INSTALL_PANFROST_COMPILE = \
+	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/panfrost/clc/panfrost_compile $(HOST_DIR)/bin/panfrost_compile

package/mesa3d/mesa3d.mk HOST_MESA3D_DEPENDENCIES = \ · line 302

Quoted 10 lines
package/mesa3d/mesa3d.mk +4 -1
+endif
+
 define HOST_MESA3D_INSTALL_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/clc/mesa_clc $(HOST_DIR)/bin/mesa_clc
-	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/spirv/vtn_bindgen $(HOST_DIR)/bin/vtn_bindgen
+	$(INSTALL) -D -m 0755 $(@D)/buildroot-build/src/compiler/spirv/vtn_bindgen2 $(HOST_DIR)/bin/vtn_bindgen2
+	$(HOST_MESA3D_INSTALL_PANFROST_COMPILE)
 endef
 
 $(eval $(meson-package))

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot