Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling
@ 2026-10-23 21:16 Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 2/5] package/mesa3d: precomp-compiler does not need target llvm Bernd Kuhls
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Bernd Kuhls @ 2026-10-23 21:16 UTC (permalink / raw)
  To: buildroot; +Cc: El Mehdi YOUNES, Joseph Kogut, Romain Naour

Mesa3D removed the old Clover OpenCL implementation in version 25.2.0
and kept only RustiCL:

https://lists.freedesktop.org/archives/mesa-announce/2025-August/000815.html
"[...] the Clover OpenCL implementation has been deleted. RustiCL is now
 the only OpenCL implementation available [...]"

Since then the option BR2_PACKAGE_MESA3D_OPENCL served no other purpose
than allowing access to the RustiCL sub-option. This commit merges both
options and their dependencies.

Fixes https://gitlab.com/buildroot.org/buildroot/-/work_items/180#note_3501740032

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v3: rebased
v2: removed code left-over (Romain)

 Config.in.legacy                             |  9 ++++++
 package/mesa3d/Config.in                     | 32 +++++---------------
 package/mesa3d/mesa3d.mk                     |  8 ++---
 support/testing/tests/package/test_mesa3d.py |  1 -
 4 files changed, 19 insertions(+), 31 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index d94041edd4..29c9b7f9e7 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,15 @@ endif
 
 comment "Legacy options removed in 2026.11"
 
+config BR2_PACKAGE_MESA3D_OPENCL
+	bool "Mesa3D OpenCL support is now provided by RustiCL"
+	select BR2_LEGACY
+	help
+	  Mesa3D removed the old Clover OpenCL implementation and
+	  replaced it by RustiCL. This option served no other purpose
+	  than allowing access to the RustiCL sub-option which was moved
+	  to the main options section.
+
 config BR2_TARGET_EDK2_PLATFORM_ARM_SGI575
 	bool "EDK2 platform ARM SGI-575 has been removed"
 	select BR2_LEGACY
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index e184039150..cb86e6a2a4 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -23,7 +23,6 @@ config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
 
 config BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	bool
-	select BR2_PACKAGE_MESA3D_OPENCL
 	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
 	select BR2_PACKAGE_SPIRV_TOOLS
 
@@ -56,35 +55,20 @@ config BR2_PACKAGE_MESA3D_LEGACY_BIND_WAYLAND_DISPLAY
 	help
 	  Legacy Wayland EGL_WL_bind_wayland_display support.
 
-menuconfig 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 || \
-		BR2_PACKAGE_MESA3D_VULKAN_DRIVER_AMD || \
-		BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL || \
-		BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION || \
-		BR2_PACKAGE_MESA3D_VULKAN_DRIVER_PANFROST || \
-		(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS && \
-		 BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER)
-	select BR2_PACKAGE_LLVM_RTTI
-	select BR2_PACKAGE_CLANG
-	select BR2_PACKAGE_LIBCLC
-	select BR2_PACKAGE_HAS_LIBOPENCL
-if BR2_PACKAGE_MESA3D_OPENCL
-# libclc dependency is satisfied by
-# BR2_PACKAGE_MESA3D_LLVM
 config BR2_PACKAGE_MESA3D_RUSTICL
-	bool "RustiCL"
+	bool "RustiCL OpenCL support"
+	depends on BR2_PACKAGE_MESA3D_LLVM
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
 	depends on BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
 	select BR2_PACKAGE_HOST_RUSTC
 	select BR2_PACKAGE_LLVM_DUMP
+	select BR2_PACKAGE_LLVM_RTTI
+	select BR2_PACKAGE_CLANG
+	select BR2_PACKAGE_LIBCLC
 	select BR2_PACKAGE_SPIRV_TOOLS
 	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
 	select BR2_PACKAGE_OPENCL_ICD_LOADER
+	select BR2_PACKAGE_HAS_LIBOPENCL
 	help
 	  RustiCL is an OpenCL implementation written in Rust.
 	  By default, devices are disabled in RustiCL. If you want
@@ -93,8 +77,6 @@ config BR2_PACKAGE_MESA3D_RUSTICL
 
 	  https://docs.mesa3d.org/envvars.html#envvar-RUSTICL_ENABLE
 
-endif # BR2_PACKAGE_MESA3D_OPENCL
-
 config BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
 	bool
 
@@ -554,7 +536,7 @@ config BR2_PACKAGE_PROVIDES_LIBGLES
 	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES && !BR2_PACKAGE_LIBGLVND
 
 config BR2_PACKAGE_PROVIDES_LIBOPENCL
-	default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
+	default "mesa3d" if BR2_PACKAGE_MESA3D_RUSTICL
 
 endif # BR2_PACKAGE_MESA3D
 
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 87c7f427e4..c103345e86 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -50,13 +50,11 @@ else
 MESA3D_CONF_OPTS += -Dllvm=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y)
-MESA3D_PROVIDES += libopencl
-MESA3D_DEPENDENCIES += clang libclc
-endif
-
 ifeq ($(BR2_PACKAGE_MESA3D_RUSTICL),y)
+MESA3D_PROVIDES += libopencl
 MESA3D_DEPENDENCIES += \
+	clang \
+	libclc \
 	host-rustc \
 	host-rust-bindgen \
 	spirv-tools \
diff --git a/support/testing/tests/package/test_mesa3d.py b/support/testing/tests/package/test_mesa3d.py
index 24fc6df59e..193aa7a373 100644
--- a/support/testing/tests/package/test_mesa3d.py
+++ b/support/testing/tests/package/test_mesa3d.py
@@ -17,7 +17,6 @@ class TestMesa3DRusticl(infra.basetest.BRTest):
         BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
         BR2_PACKAGE_MESA3D=y
         BR2_PACKAGE_MESA3D_LLVM=y
-        BR2_PACKAGE_MESA3D_OPENCL=y
         BR2_PACKAGE_MESA3D_RUSTICL=y
         BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LLVMPIPE=y
         BR2_PACKAGE_CLINFO=y
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v3 2/5] package/mesa3d: precomp-compiler does not need target llvm
  2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
@ 2026-10-23 21:16 ` Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 3/5] package/mesa3d: crocus Gallium driver needs precomp-compiler Bernd Kuhls
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2026-10-23 21:16 UTC (permalink / raw)
  To: buildroot; +Cc: El Mehdi YOUNES, Joseph Kogut, Romain Naour

Inspired by and fixes
https://gitlab.com/buildroot.org/buildroot/-/work_items/180

To build binaries provided by the host-mesa3d package we do not need to
build llvm packages for the target arch.

Added configure options for rtti support to fix build error when
BR2_PACKAGE_LLVM_RTTI is not enabled:

output/build/host-mesa3d-26.2.3/meson.build:2042:8: ERROR: Problem
 encountered: LLVM was built without RTTI, so Mesa must also disable
 RTTI. Use an LLVM built with LLVM_ENABLE_RTTI or add cpp_rtti=false.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v3: no changes
v2: added note about new rtti configure options (Romain)

 package/mesa3d/Config.in | 46 +++++++++++++++++++++++-----------------
 package/mesa3d/mesa3d.mk |  8 ++++++-
 2 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index cb86e6a2a4..feed6b68fe 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -23,8 +23,7 @@ config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
 
 config BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	bool
-	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
-	select BR2_PACKAGE_SPIRV_TOOLS
+	select BR2_HOST_CMAKE_AT_LEAST_3_20 # host-llvm
 
 config BR2_PACKAGE_MESA3D_LLVM
 	bool "llvm support"
@@ -147,15 +146,17 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	bool "Gallium iris driver"
-	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
 	help
 	  Mesa driver for iris-based Intel GPUs.
 
-comment "iris driver needs llvm"
-	depends on !BR2_PACKAGE_MESA3D_LLVM
+comment "iris driver needs host gcc >= 7"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
+	depends on !BR2_HOST_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
 	bool "Gallium lima driver"
@@ -189,15 +190,17 @@ 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
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
 	help
 	  Mesa driver for ARM Mali Midgard and Bifrost GPUs.
 
-comment "panfrost driver needs llvm"
-	depends on !BR2_PACKAGE_MESA3D_LLVM
+comment "panfrost driver needs host gcc >= 7"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
+	depends on !BR2_HOST_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
 	bool "Gallium Radeon R300 driver"
@@ -360,46 +363,49 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION
 	bool "Vulkan imagination driver"
 	depends on BR2_arm || BR2_aarch64
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
-	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
 	help
 	  Vulkan imagination driver.
 
-comment "imagination vulkan needs llvm"
-	depends on !BR2_PACKAGE_MESA3D_LLVM
+comment "imagination vulkan driver needs host gcc >= 7"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
+	depends on !BR2_HOST_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
 	bool "Vulkan Intel driver"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
 	depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
-	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
 	help
 	  Vulkan driver for Intel hardware from Ivy Bridge onward.
 
-comment "intel vulkan needs llvm"
-	depends on !BR2_PACKAGE_MESA3D_LLVM
-
-comment "intel vulkan needs a glibc toolchain w/ headers >= 3.17"
+comment "intel vulkan driver needs a glibc toolchain w/ headers >= 3.17, host gcc >= 7"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
 	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
-		!BR2_TOOLCHAIN_USES_GLIBC
+		!BR2_TOOLCHAIN_USES_GLIBC || !BR2_HOST_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_PANFROST
 	bool "Vulkan panfrost driver"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
-	depends on BR2_PACKAGE_MESA3D_LLVM
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_LLVM_RTTI if BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
 	help
 	  Vulkan panfrost driver.
 
-comment "panfrost vulkan needs llvm"
-	depends on !BR2_PACKAGE_MESA3D_LLVM
+comment "panfrost vulkan driver needs host gcc >= 7"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
+	depends on !BR2_HOST_GCC_AT_LEAST_7
 
 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_SWRAST
 	bool "Vulkan swrast driver"
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index c103345e86..04112eea8e 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -178,7 +178,7 @@ endif
 
 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
+MESA3D_DEPENDENCIES += host-mesa3d
 endif
 
 ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),)
@@ -347,6 +347,12 @@ HOST_MESA3D_CONF_OPTS = \
 	-Dglx=disabled \
 	-Dvulkan-drivers=""
 
+ifeq ($(BR2_PACKAGE_LLVM_RTTI),y)
+HOST_MESA3D_CONF_OPTS += -Dcpp_rtti=true
+else
+HOST_MESA3D_CONF_OPTS += -Dcpp_rtti=false
+endif
+
 HOST_MESA3D_DEPENDENCIES = \
 	host-libclc \
 	host-libdrm \
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v3 3/5] package/mesa3d: crocus Gallium driver needs precomp-compiler
  2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 2/5] package/mesa3d: precomp-compiler does not need target llvm Bernd Kuhls
@ 2026-10-23 21:16 ` Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 4/5] package/mesa3d: i915 Gallium driver needs llvm Bernd Kuhls
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2026-10-23 21:16 UTC (permalink / raw)
  To: buildroot; +Cc: El Mehdi YOUNES, Joseph Kogut, Romain Naour

Buildroot commit 59ed1137e9bb8c0157be3dc91a1cc462211dd3c7 bumped the
package to 26.0.0 which added upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/b72d347d1c3b9e829971fbdabf993b68776083c1
requiring the precomp-compiler for the crocus driver.

Add the necessary dependencies to fix a configure error:

../output-1/build/mesa3d-26.1.8/meson.build:945:3: ERROR:
 Feature llvm cannot be disabled: CLC requires LLVM

caused by
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-26.1.8/meson.build?ref_type=tags#L945

which checks the value in the variable with_clc.

When the precomp-compiler is not provided by host-mesa3d the meson
configure option mesa-clc does not contain 'system' causing
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-26.1.8/meson.build?ref_type=tags#L939
the variable with_clc to be filled, among others, with the content of with_driver_using_cl:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-26.1.8/meson.build?ref_type=tags#L939

which contains 'true' when the crocus driver is enabled:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-26.1.8/meson.build?ref_type=tags#L925

So we need to provide the precomp-compiler also for the crocus driver.

Fixes:
https://autobuild.buildroot.org/results/baa718e140264a9aa64c3a8f4114ca1b05f740e3/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v3: no changes
v2: no changes

 package/mesa3d/Config.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index feed6b68fe..e18d25eb8e 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -110,10 +110,18 @@ comment "Gallium drivers"
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_CROCUS
 	bool "Gallium crocus driver"
 	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
+	depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
+	select BR2_PACKAGE_MESA3D_RUSTICL_SUPPORTED_DRIVER
 	help
 	  Mesa driver for gen4-7 Intel GPUs.
 
+comment "crocus driver needs host gcc >= 7"
+	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
+	depends on !BR2_HOST_GCC_AT_LEAST_7
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
 	bool "Gallium Etnaviv driver"
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 || !BR2_PACKAGE_XORG7 # libxshmfence
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v3 4/5] package/mesa3d: i915 Gallium driver needs llvm
  2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 2/5] package/mesa3d: precomp-compiler does not need target llvm Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 3/5] package/mesa3d: crocus Gallium driver needs precomp-compiler Bernd Kuhls
@ 2026-10-23 21:16 ` Bernd Kuhls
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 5/5] package/{mesa3d, mesa3d-headers}: bump version to 26.2.5 Bernd Kuhls
  2026-10-24 17:54 ` [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Julien Olivain via buildroot
  4 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2026-10-23 21:16 UTC (permalink / raw)
  To: buildroot; +Cc: El Mehdi YOUNES, Joseph Kogut, Romain Naour

Buildroot commit 3e296a151195f9d32dbfd62d6c75d08b822be6dd bumped the
package to 25.3.0 which includes upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/b8b38d38b1c14b60de0324ac2f98ff7f1f4cc3c5
that enforces llvm for the i915 gallium driver causing configure errors
in buildroot:

../output-1/build/mesa3d-26.1.6/meson.build:241:3: ERROR: Feature llvm
cannot be disabled: i915 Gallium driver requires LLVM for vertex shaders

Please note that
https://gitlab.freedesktop.org/mesa/mesa/-/commit/4235c39a9a8378f1e2dc0899dd4c3c941f27b887
later removed the llvm dependency for the r300 driver introduced by the
commit mentioned above so we only need to add the dependency to the i915
driver.
The configure option draw-use-llvm is disabled by default when llvm is
not available:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/37c7d19e46a4863c120186a99ac0344c2dd31260

Fixes:
https://autobuild.buildroot.org/results/acd9039901cf4168e6318c62252ddae6ea0ec93d/

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
v3: no changes
v2: no changes

 package/mesa3d/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index e18d25eb8e..f45a675445 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -147,11 +147,15 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
 	bool "Gallium i915 driver"
 	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_PACKAGE_MESA3D_LLVM
 	select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
 	select BR2_PACKAGE_LIBDRM_INTEL
 	help
 	  Support for i915-based Intel GPUs.
 
+comment "i915 driver needs llvm"
+	depends on !BR2_PACKAGE_MESA3D_LLVM
+
 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
 	bool "Gallium iris driver"
 	depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # host-llvm
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Buildroot] [PATCH v3 5/5] package/{mesa3d, mesa3d-headers}: bump version to 26.2.5
  2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
                   ` (2 preceding siblings ...)
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 4/5] package/mesa3d: i915 Gallium driver needs llvm Bernd Kuhls
@ 2026-10-23 21:16 ` Bernd Kuhls
  2026-10-24 17:54 ` [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Julien Olivain via buildroot
  4 siblings, 0 replies; 6+ messages in thread
From: Bernd Kuhls @ 2026-10-23 21:16 UTC (permalink / raw)
  To: buildroot; +Cc: El Mehdi YOUNES, Joseph Kogut, Romain Naour

https://lists.freedesktop.org/archives/mesa-announce/2026-October/000871.html
https://lists.freedesktop.org/archives/mesa-announce/2026-October/000870.html
https://lists.freedesktop.org/archives/mesa-announce/2026-September/000869.html
https://lists.freedesktop.org/archives/mesa-announce/2026-September/000868.html
https://lists.freedesktop.org/archives/mesa-announce/2026-August/000867.html
https://lists.freedesktop.org/archives/mesa-announce/2026-August/000863.html

Removed patch which was applied to fix a build error with gcc < 13 seen
with mesa 26.1.x.

Renumbered remaining patches.

Rebased patches 0005-0007 by replacing them with non-rebased versions
of the upstream commits. The rebase was only needed for the mesa's
26.1.x branch.

Added patch 0008 to fix a build error which would be introduced by this
bump due to upstream commit:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/6351df29e2d99a982dbfed931b23a76defca0132

Upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/3f9451b54c42a37b41246de3ceea991111389c37
added rusticl to the variable with_driver_using_cl which creates a new
dependency to the precomp-compiler:
https://gitlab.freedesktop.org/mesa/mesa/-/blob/mesa-26.2.5/meson.build?ref_type=tags#L973

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
Please note that this series does not pass all Gitlab pipelines:
https://gitlab.com/bkuhls/buildroot/-/commits/1eefcb30f86c653755ecfd95f3d32417b6e23830

The only broken target is
bootlin-m68k-68040-uclibc/build/mesa3d-26.2.5/.stamp_built:

../src/compiler/nir/nir_opt_varyings.c:3207:1: error: static assertion
 failed: "dedup_entry layout changed"

The assert was added to 26.2.0 with upstream commit
https://gitlab.freedesktop.org/mesa/mesa/-/commit/136596668e09431605d5cbac79243fb935da4520

but neither do I understand it nor do I have an idea about how to fix
the build error.

v3:
- bumped to 26.2.5
- renumbered and rebased rusticl patch set
- added patch 0008
v2: bumped to 26.2.3

 package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
 ...o-not-compare-sys_path-against-NULL.patch} | 68 +++++++--------
 ...er-jay-jay_ir.h-do-not-used-typed-en.patch | 41 ---------
 ..._libclc-turn-sys_path-into-an-array.patch} | 68 +++++++--------
 ...oad_libclc-add-llvm-23-libclc-paths.patch} |  4 +-
 ...-floating-point-exception-flags-with.patch | 84 +++++++++++++++++++
 package/mesa3d/Config.in                      |  1 +
 package/mesa3d/mesa3d.hash                    |  6 +-
 package/mesa3d/mesa3d.mk                      |  2 +-
 9 files changed, 156 insertions(+), 120 deletions(-)
 rename package/mesa3d/{0006-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch => 0005-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch} (75%)
 delete mode 100644 package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
 rename package/mesa3d/{0007-nir-load_libclc-turn-sys_path-into-an-array.patch => 0006-nir-load_libclc-turn-sys_path-into-an-array.patch} (71%)
 rename package/mesa3d/{0008-nir-load_libclc-add-llvm-23-libclc-paths.patch => 0007-nir-load_libclc-add-llvm-23-libclc-paths.patch} (93%)
 create mode 100644 package/mesa3d/0008-nir-fix-build-of-floating-point-exception-flags-with.patch

diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index fd715b5f84..d42e7c7a0a 100644
--- a/package/mesa3d-headers/mesa3d-headers.mk
+++ b/package/mesa3d-headers/mesa3d-headers.mk
@@ -12,7 +12,7 @@ endif
 
 # Not possible to directly refer to mesa3d variables, because of
 # first/second expansion trickery...
-MESA3D_HEADERS_VERSION = 26.1.8
+MESA3D_HEADERS_VERSION = 26.2.5
 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
 MESA3D_HEADERS_SITE = https://archive.mesa3d.org
 MESA3D_HEADERS_DL_SUBDIR = mesa3d
diff --git a/package/mesa3d/0006-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch b/package/mesa3d/0005-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch
similarity index 75%
rename from package/mesa3d/0006-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch
rename to package/mesa3d/0005-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch
index 21cfe54e80..6883031951 100644
--- a/package/mesa3d/0006-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch
+++ b/package/mesa3d/0005-nir-load_libclc-do-not-compare-sys_path-against-NULL.patch
@@ -1,4 +1,4 @@
-From f5011f50a7e9c3f8dc208e16a4bd3aadbd6fdae8 Mon Sep 17 00:00:00 2001
+From 1219dc3f7fe83b1f7f200190bf02a86ab57b3d4f Mon Sep 17 00:00:00 2001
 From: Karol Herbst <kherbst@redhat.com>
 Date: Tue, 22 Sep 2026 13:53:43 +0200
 Subject: [PATCH] nir/load_libclc: do not compare sys_path against NULL
@@ -11,14 +11,13 @@ Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/44624>
 
 Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/commit/1219dc3f7fe83b1f7f200190bf02a86ab57b3d4f
 
-[Bernd: backported to 26.1.8]
 Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
 ---
- src/compiler/clc/nir_load_libclc.c | 84 ++++++++++++++----------------
- 1 file changed, 39 insertions(+), 45 deletions(-)
+ src/compiler/clc/nir_load_libclc.c | 76 ++++++++++++++----------------
+ 1 file changed, 35 insertions(+), 41 deletions(-)
 
 diff --git a/src/compiler/clc/nir_load_libclc.c b/src/compiler/clc/nir_load_libclc.c
-index 4cb92bdb257..46beaf51cdf 100644
+index edcd13b3b26..913dd8ff7a7 100644
 --- a/src/compiler/clc/nir_load_libclc.c
 +++ b/src/compiler/clc/nir_load_libclc.c
 @@ -145,20 +145,18 @@ map_clc_data(struct clc_data *clc)
@@ -69,7 +68,7 @@ index 4cb92bdb257..46beaf51cdf 100644
  #endif
  }
  
-@@ -198,33 +194,31 @@ open_clc_data(struct clc_data *clc, unsigned ptr_bit_size)
+@@ -198,34 +194,32 @@ open_clc_data(struct clc_data *clc, unsigned ptr_bit_size)
     }
  
  #ifdef DYNAMIC_LIBCLC_PATH
@@ -77,7 +76,10 @@ index 4cb92bdb257..46beaf51cdf 100644
 -      int fd = open(clc->file->sys_path, O_RDONLY);
 -      if (fd < 0)
 -         return false;
--
++   int fd = open(clc->file->sys_path, O_RDONLY);
++   if (fd < 0)
++      return false;
+ 
 -      struct stat stat;
 -      int ret = fstat(fd, &stat);
 -      if (ret < 0) {
@@ -85,46 +87,40 @@ index 4cb92bdb257..46beaf51cdf 100644
 -         close(fd);
 -         return false;
 -      }
--
++   struct stat stat;
++   int ret = fstat(fd, &stat);
++   if (ret < 0) {
++      fprintf(stderr, "fstat failed on %s: %m\n", clc->file->sys_path);
++      close(fd);
++      return false;
++   }
+ 
 -      clc->fd = fd;
 -      clc->size = stat.st_size;
--
++   clc->fd = fd;
++   clc->size = stat.st_size;
+ 
 -      if (!map_clc_data(clc)) {
+-         close_clc_data(clc);
 -         return false;
 -      }
--
++   if (!map_clc_data(clc)) {
++      close_clc_data(clc);
++      return false;
++   }
+ 
 -      blake3_hasher ctx;
 -      _mesa_blake3_init(&ctx);
 -      _mesa_blake3_update(&ctx, clc->data, clc->size);
 -      _mesa_blake3_final(&ctx, clc->cache_key);
--
++   blake3_hasher ctx;
++   _mesa_blake3_init(&ctx);
++   _mesa_blake3_update(&ctx, clc->data, clc->size);
++   _mesa_blake3_final(&ctx, clc->cache_key);
+ 
 -      return true;
 -   }
-+  int fd = open(clc->file->sys_path, O_RDONLY);
-+  if (fd < 0)
-+     return false;
-+
-+  struct stat stat;
-+  int ret = fstat(fd, &stat);
-+  if (ret < 0) {
-+     fprintf(stderr, "fstat failed on %s: %m\n", clc->file->sys_path);
-+     close(fd);
-+     return false;
-+  }
-+
-+  clc->fd = fd;
-+  clc->size = stat.st_size;
-+
-+  if (!map_clc_data(clc)) {
-+     return false;
-+  }
-+
-+  blake3_hasher ctx;
-+  _mesa_blake3_init(&ctx);
-+  _mesa_blake3_update(&ctx, clc->data, clc->size);
-+  _mesa_blake3_final(&ctx, clc->cache_key);
-+
-+  return true;
++   return true;
  #endif
  
     return false;
diff --git a/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch b/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
deleted file mode 100644
index af066287e2..0000000000
--- a/package/mesa3d/0005-src-intel-compiler-jay-jay_ir.h-do-not-used-typed-en.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 345ccf93e9d00dfd0f71085832a7df0170b74f74 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Sun, 14 Jun 2026 17:42:19 +0200
-Subject: [PATCH] src/intel/compiler/jay/jay_ir.h: do not used typed enum
-
-This is a C23 feature and not supported by gcc < 13, which
-many host distros still have (e.g. Debian 12).
-
-Upstream-Status: Inappropriate [yocto host distro requirements]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-Upstream: N/A, code completely changed upstream
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- src/intel/compiler/jay/jay_ir.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/intel/compiler/jay/jay_ir.h b/src/intel/compiler/jay/jay_ir.h
-index 8307044ef8a..abf175a71bf 100644
---- a/src/intel/compiler/jay/jay_ir.h
-+++ b/src/intel/compiler/jay/jay_ir.h
-@@ -579,7 +579,7 @@ jay_type_is_any_float(enum jay_type t)
-    return jay_base_type(t) == JAY_TYPE_F || jay_base_type(t) == JAY_TYPE_BF;
- }
- 
--enum jay_predication : uint8_t {
-+enum jay_predication {
-    /** No predication. */
-    JAY_NOT_PREDICATED = 0,
- 
-@@ -634,7 +634,7 @@ typedef struct jay_inst {
-    bool decrement_dep:1;
-    unsigned padding  :12;
- 
--   enum jay_predication predication;
-+   uint8_t predication;
-    enum jay_conditional_mod conditional_mod;
- 
-    jay_def cond_flag; /**< conditional flag */
--- 
-2.55.0
-
diff --git a/package/mesa3d/0007-nir-load_libclc-turn-sys_path-into-an-array.patch b/package/mesa3d/0006-nir-load_libclc-turn-sys_path-into-an-array.patch
similarity index 71%
rename from package/mesa3d/0007-nir-load_libclc-turn-sys_path-into-an-array.patch
rename to package/mesa3d/0006-nir-load_libclc-turn-sys_path-into-an-array.patch
index ff53b68f19..916af6547d 100644
--- a/package/mesa3d/0007-nir-load_libclc-turn-sys_path-into-an-array.patch
+++ b/package/mesa3d/0006-nir-load_libclc-turn-sys_path-into-an-array.patch
@@ -1,4 +1,4 @@
-From 9d4685ec168e28bec7c25859f8d9162865c14284 Mon Sep 17 00:00:00 2001
+From 62ee563fd398169005906245831db680f813b19f Mon Sep 17 00:00:00 2001
 From: Karol Herbst <kherbst@redhat.com>
 Date: Tue, 22 Sep 2026 14:11:09 +0200
 Subject: [PATCH] nir/load_libclc: turn sys_path into an array
@@ -7,14 +7,13 @@ Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/44624>
 
 Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/commit/62ee563fd398169005906245831db680f813b19f
 
-[Bernd: backported to 26.1.8]
 Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
 ---
- src/compiler/clc/nir_load_libclc.c | 63 +++++++++++++++++-------------
- 1 file changed, 35 insertions(+), 28 deletions(-)
+ src/compiler/clc/nir_load_libclc.c | 55 +++++++++++++++++-------------
+ 1 file changed, 31 insertions(+), 24 deletions(-)
 
 diff --git a/src/compiler/clc/nir_load_libclc.c b/src/compiler/clc/nir_load_libclc.c
-index 46beaf51cdf..54b45ad7808 100644
+index 913dd8ff7a7..17b901db47c 100644
 --- a/src/compiler/clc/nir_load_libclc.c
 +++ b/src/compiler/clc/nir_load_libclc.c
 @@ -52,7 +52,7 @@ struct clc_file {
@@ -48,41 +47,26 @@ index 46beaf51cdf..54b45ad7808 100644
  #endif
     },
  };
-@@ -194,31 +198,34 @@ open_clc_data(struct clc_data *clc, unsigned ptr_bit_size)
+@@ -194,32 +198,35 @@ open_clc_data(struct clc_data *clc, unsigned ptr_bit_size)
     }
  
  #ifdef DYNAMIC_LIBCLC_PATH
--  int fd = open(clc->file->sys_path, O_RDONLY);
--  if (fd < 0)
--     return false;
--
--  struct stat stat;
--  int ret = fstat(fd, &stat);
--  if (ret < 0) {
--     fprintf(stderr, "fstat failed on %s: %m\n", clc->file->sys_path);
--     close(fd);
--     return false;
--  }
--
--  clc->fd = fd;
--  clc->size = stat.st_size;
--
--  if (!map_clc_data(clc)) {
--     return false;
--  }
--
--  blake3_hasher ctx;
--  _mesa_blake3_init(&ctx);
--  _mesa_blake3_update(&ctx, clc->data, clc->size);
--  _mesa_blake3_final(&ctx, clc->cache_key);
--
--  return true;
+-   int fd = open(clc->file->sys_path, O_RDONLY);
+-   if (fd < 0)
+-      return false;
 +   for (unsigned i = 0; i < ARRAY_SIZE(clc->file->sys_paths); i++) {
 +      const char *sys_path = clc->file->sys_paths[i];
 +      int fd = open(sys_path, O_RDONLY);
 +      if (fd < 0)
 +         continue;
-+
+ 
+-   struct stat stat;
+-   int ret = fstat(fd, &stat);
+-   if (ret < 0) {
+-      fprintf(stderr, "fstat failed on %s: %m\n", clc->file->sys_path);
+-      close(fd);
+-      return false;
+-   }
 +      struct stat stat;
 +      int ret = fstat(fd, &stat);
 +      if (ret < 0) {
@@ -90,19 +74,31 @@ index 46beaf51cdf..54b45ad7808 100644
 +         close(fd);
 +         continue;
 +      }
-+
+ 
+-   clc->fd = fd;
+-   clc->size = stat.st_size;
 +      clc->fd = fd;
 +      clc->size = stat.st_size;
-+
+ 
+-   if (!map_clc_data(clc)) {
+-      close_clc_data(clc);
+-      return false;
+-   }
 +      if (!map_clc_data(clc)) {
++         close_clc_data(clc);
 +         continue;
 +      }
-+
+ 
+-   blake3_hasher ctx;
+-   _mesa_blake3_init(&ctx);
+-   _mesa_blake3_update(&ctx, clc->data, clc->size);
+-   _mesa_blake3_final(&ctx, clc->cache_key);
 +      blake3_hasher ctx;
 +      _mesa_blake3_init(&ctx);
 +      _mesa_blake3_update(&ctx, clc->data, clc->size);
 +      _mesa_blake3_final(&ctx, clc->cache_key);
-+
+ 
+-   return true;
 +      return true;
 +   }
  #endif
diff --git a/package/mesa3d/0008-nir-load_libclc-add-llvm-23-libclc-paths.patch b/package/mesa3d/0007-nir-load_libclc-add-llvm-23-libclc-paths.patch
similarity index 93%
rename from package/mesa3d/0008-nir-load_libclc-add-llvm-23-libclc-paths.patch
rename to package/mesa3d/0007-nir-load_libclc-add-llvm-23-libclc-paths.patch
index bfef0c50ba..f43b7b7260 100644
--- a/package/mesa3d/0008-nir-load_libclc-add-llvm-23-libclc-paths.patch
+++ b/package/mesa3d/0007-nir-load_libclc-add-llvm-23-libclc-paths.patch
@@ -1,4 +1,4 @@
-From c86bf6e6b9fbc9cfb02eeed3d798ffbdd3dc0252 Mon Sep 17 00:00:00 2001
+From 6b9cd5ab9cc3bfd0c79d9500a07a5e74351c72d1 Mon Sep 17 00:00:00 2001
 From: Karol Herbst <kherbst@redhat.com>
 Date: Tue, 22 Sep 2026 14:13:28 +0200
 Subject: [PATCH] nir/load_libclc: add llvm-23 libclc paths
@@ -13,7 +13,7 @@ Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/src/compiler/clc/nir_load_libclc.c b/src/compiler/clc/nir_load_libclc.c
-index 54b45ad7808..bb1efd0ce57 100644
+index 17b901db47c..889bde610a3 100644
 --- a/src/compiler/clc/nir_load_libclc.c
 +++ b/src/compiler/clc/nir_load_libclc.c
 @@ -52,7 +52,7 @@ struct clc_file {
diff --git a/package/mesa3d/0008-nir-fix-build-of-floating-point-exception-flags-with.patch b/package/mesa3d/0008-nir-fix-build-of-floating-point-exception-flags-with.patch
new file mode 100644
index 0000000000..7130588206
--- /dev/null
+++ b/package/mesa3d/0008-nir-fix-build-of-floating-point-exception-flags-with.patch
@@ -0,0 +1,84 @@
+From 0c567be6b8782b1fe3ed6f1e7499856bf6af9f6a Mon Sep 17 00:00:00 2001
+From: Bernd Kuhls <bernd@kuhls.net>
+Date: Fri, 23 Oct 2026 21:33:52 +0200
+Subject: [PATCH] nir: fix build of floating point exception flags with
+ toolchains lacking fenv support
+
+uClibc-ng supports C99 Floating-point on a restricted set of platforms:
+https://github.com/wbx-github/uclibc-ng/blob/v1.0.59/extra/Configs/Config.in.arch#L163
+
+causing build errors on the other supported platforms:
+
+src/compiler/nir/nir_constant_expressions.c:24:10: fatal error:
+ fenv.h: No such file or directory
+
+Check for fenv.h and guard the fenv code added by commit
+https://gitlab.freedesktop.org/mesa/mesa/-/commit/6351df29e2d99a982dbfed931b23a76defca0132
+with ifdef's.
+
+Upstream: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/45569
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ meson.build                                  | 2 +-
+ src/compiler/nir/nir_constant_expressions.py | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 5f19ef921a6..9c57445edb6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1613,7 +1613,7 @@ endif
+ 
+ foreach h : ['xlocale.h', 'linux/futex.h', 'endian.h', 'dlfcn.h', 'sys/shm.h',
+              'cet.h', 'pthread_np.h', 'poll.h', 'sys/inotify.h',
+-             'linux/udmabuf.h']
++             'linux/udmabuf.h', 'fenv.h']
+   if cc.check_header(h)
+     pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify())
+   endif
+diff --git a/src/compiler/nir/nir_constant_expressions.py b/src/compiler/nir/nir_constant_expressions.py
+index c4ae87db1a7..23f4aa6adbb 100644
+--- a/src/compiler/nir/nir_constant_expressions.py
++++ b/src/compiler/nir/nir_constant_expressions.py
+@@ -55,7 +55,9 @@ template = """\
+  * IN THE SOFTWARE.
+  */
+ 
++#ifdef HAVE_FENV_H
+ #include <fenv.h>
++#endif
+ #include <math.h>
+ #include "util/rounding.h" /* for _mesa_roundeven */
+ #include "util/half_float.h"
+@@ -660,6 +662,7 @@ nir_eval_const_opcode(nir_op op, nir_const_value *dest, nir_component_mask_t *ou
+                       nir_const_value **src,
+                       unsigned float_controls_execution_mode)
+ {
++#ifdef HAVE_FENV_H
+    /* Temporarily disable floating point exception flags while we
+     * evaluate shader constants. This avoids games unexpectedly crashing while
+     * we evalute shader math on the cpu if they have the exeption flags turn
+@@ -673,6 +676,7 @@ nir_eval_const_opcode(nir_op op, nir_const_value *dest, nir_component_mask_t *ou
+ #endif
+    if (unlikely(had_flags))
+       feholdexcept(&__nir_const_fenv);
++#endif
+ 
+    nir_component_mask_t poison;
+ 
+@@ -689,9 +693,11 @@ nir_eval_const_opcode(nir_op op, nir_const_value *dest, nir_component_mask_t *ou
+    if (out_poison)
+       *out_poison = poison;
+ 
++#ifdef HAVE_FENV_H
+    /* Restore floating point exception flags */
+    if (unlikely(had_flags))
+       fesetenv(&__nir_const_fenv);
++#endif
+ }"""
+ 
+ from mako.template import Template
+-- 
+2.47.3
+
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index f45a675445..d1b6a38858 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -64,6 +64,7 @@ config BR2_PACKAGE_MESA3D_RUSTICL
 	select BR2_PACKAGE_LLVM_RTTI
 	select BR2_PACKAGE_CLANG
 	select BR2_PACKAGE_LIBCLC
+	select BR2_PACKAGE_MESA3D_NEEDS_PRECOMP_COMPILER
 	select BR2_PACKAGE_SPIRV_TOOLS
 	select BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR
 	select BR2_PACKAGE_OPENCL_ICD_LOADER
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index dc7776488a..fdcc345896 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -1,6 +1,6 @@
-# From https://lists.freedesktop.org/archives/mesa-announce/2026-August/000865.html
-sha256  b320f65874fd9653ac6c0bd1616605387344e1247411a50c797b5f3fb9dc0b55  mesa-26.1.8.tar.xz
-sha512  eb3d46ae9aaba70fdd908486cef24041fec9264ddf586eaebbba65ce55e716d306ef9e91be83e742dfaec4dfc94105a5cd3a36b29bf56614febcbcf6c1f8b516  mesa-26.1.8.tar.xz
+# From https://lists.freedesktop.org/archives/mesa-announce/2026-October/000871.html
+sha256  794b3d1729075dae7ebd47c7283b7ca0cdb5dec668f7f11cc0a5d82f6138a0a5  mesa-26.2.5.tar.xz
+sha512  08c7d7ea426ddfb0f7bc51b06e18c363a4d31cf1a8b203828bb455eda0189e41d2215eb9f627585ed11e0d0f231a6a8c9f0c7176238760cd76b62e20c35ccd6a  mesa-26.2.5.tar.xz
 # License
 sha256  0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615  docs/license.rst
 sha256  323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f  licenses/MIT
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 04112eea8e..f20f02190a 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -5,7 +5,7 @@
 ################################################################################
 
 # When updating the version, please also update mesa3d-headers
-MESA3D_VERSION = 26.1.8
+MESA3D_VERSION = 26.2.5
 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz
 MESA3D_SITE = https://archive.mesa3d.org
 MESA3D_LICENSE = MIT, SGI, Khronos
-- 
2.47.3

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling
  2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
                   ` (3 preceding siblings ...)
  2026-10-23 21:16 ` [Buildroot] [PATCH v3 5/5] package/{mesa3d, mesa3d-headers}: bump version to 26.2.5 Bernd Kuhls
@ 2026-10-24 17:54 ` Julien Olivain via buildroot
  4 siblings, 0 replies; 6+ messages in thread
From: Julien Olivain via buildroot @ 2026-10-24 17:54 UTC (permalink / raw)
  To: Bernd Kuhls; +Cc: buildroot, El Mehdi YOUNES, Joseph Kogut, Romain Naour

On 23/10/2026 23:16, Bernd Kuhls wrote:
> Mesa3D removed the old Clover OpenCL implementation in version 25.2.0
> and kept only RustiCL:
> 
> https://lists.freedesktop.org/archives/mesa-announce/2025-August/000815.html
> "[...] the Clover OpenCL implementation has been deleted. RustiCL is 
> now
>  the only OpenCL implementation available [...]"
> 
> Since then the option BR2_PACKAGE_MESA3D_OPENCL served no other purpose
> than allowing access to the RustiCL sub-option. This commit merges both
> options and their dependencies.
> 
> Fixes 
> https://gitlab.com/buildroot.org/buildroot/-/work_items/180#note_3501740032
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>

Series applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-24 17:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-23 21:16 [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Bernd Kuhls
2026-10-23 21:16 ` [Buildroot] [PATCH v3 2/5] package/mesa3d: precomp-compiler does not need target llvm Bernd Kuhls
2026-10-23 21:16 ` [Buildroot] [PATCH v3 3/5] package/mesa3d: crocus Gallium driver needs precomp-compiler Bernd Kuhls
2026-10-23 21:16 ` [Buildroot] [PATCH v3 4/5] package/mesa3d: i915 Gallium driver needs llvm Bernd Kuhls
2026-10-23 21:16 ` [Buildroot] [PATCH v3 5/5] package/{mesa3d, mesa3d-headers}: bump version to 26.2.5 Bernd Kuhls
2026-10-24 17:54 ` [Buildroot] [PATCH v3 1/5] package/mesa3d: rework OpenCL handling Julien Olivain via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox