diff mbox series

[5/6] package/{mesa3d, mesa3d-headers}: bump version to 24.2.6

Message ID 20241031200501.1107802-5-bernd@kuhls.net
State Superseded
Headers show
Series [1/6] package/libdrm: add host variant | expand

Commit Message

Bernd Kuhls Oct. 31, 2024, 8:05 p.m. UTC
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

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
 package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
 ...tion-to-disable-optional-neon-suppor.patch | 14 ++---
 package/mesa3d/Config.in                      | 11 +++-
 package/mesa3d/mesa3d.hash                    |  6 +--
 package/mesa3d/mesa3d.mk                      | 52 +++++++++++++++----
 5 files changed, 64 insertions(+), 21 deletions(-)

Comments

Julien Olivain Nov. 1, 2024, 4:45 p.m. UTC | #1
Hi Bernd, All,

Thanks for the patch!

On 31/10/2024 21:05, Bernd Kuhls wrote:
> 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
> 
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
>  package/mesa3d-headers/mesa3d-headers.mk      |  2 +-
>  ...tion-to-disable-optional-neon-suppor.patch | 14 ++---
>  package/mesa3d/Config.in                      | 11 +++-
>  package/mesa3d/mesa3d.hash                    |  6 +--
>  package/mesa3d/mesa3d.mk                      | 52 +++++++++++++++----
>  5 files changed, 64 insertions(+), 21 deletions(-)
> 
> diff --git a/package/mesa3d-headers/mesa3d-headers.mk 
> b/package/mesa3d-headers/mesa3d-headers.mk
> index 33c60b285f..2cb69c9c67 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 = 24.0.9
> +MESA3D_HEADERS_VERSION = 24.2.6

I started to quickly smoke-test this series. While doing so,
I've seen the test_glxinfo runtime test was failing to build
with those patches. When using the command:

     utils/docker-run support/testing/run-tests
         -k -d dl -o output_folder \
         tests.package.test_glxinfo

mesa3d configuration fails with the output:

     output_folder/TestGlxinfo/build/mesa3d-24.2.6/meson.build:1852:2:
     ERROR: Problem encountered: llvmpipe requires LLVM and is enabled, 
but LLVM is disabled.

Looking at the meson log in file:
output_folder/TestGlxinfo/build/mesa3d-24.2.6/build/meson-logs/meson-log.txt
There is a warning:

     output_folder/TestGlxinfo/build/mesa3d-24.2.6/meson.build:171:
     WARNING: `gallium-drivers=swrast` is a deprecated alias for 
`gallium-drivers=softpipe,llvmpipe` and will be removed in version 25.0

This seems linked to the upstream commit:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/010b2f9497ab256d9e8041207902948331af5b4b
included in mesa3d 24.2.0.

Since "swrast" became an alias for "softpipe,llvmpipe", I believe
the Buildroot Config.in needs to reflect that change. Because
"swrast" in the Buildroot recipe now imply llvmpipe for mesa,
while the Buildroot recipe also disable LLVM, ending up in this
incompatible configuration.

Could you have a look please?

>  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/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch 
> b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> index f3919478a6..cda792b9db 100644
> --- 
> a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> +++ 
> b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
> @@ -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'
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 7761b0a650..3586451bc6 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -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
> diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
> index d506d398b8..0040019345 100644
> --- a/package/mesa3d/mesa3d.hash
> +++ b/package/mesa3d/mesa3d.hash
> @@ -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
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index ce460c4475..dc316fb2e1 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 = 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)
> @@ -126,6 +126,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 +264,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))
> --
> 2.39.5
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

Best regards,

Julien.
Bernd Kuhls Nov. 1, 2024, 7 p.m. UTC | #2
Am Fri, 01 Nov 2024 17:45:13 +0100 schrieb Julien Olivain:

> Since "swrast" became an alias for "softpipe,llvmpipe", I believe the
> Buildroot Config.in needs to reflect that change. Because "swrast" in
> the Buildroot recipe now imply llvmpipe for mesa,
> while the Buildroot recipe also disable LLVM, ending up in this
> incompatible configuration.

Hi Julien,

thanks for the review, sent v2:
https://patchwork.ozlabs.org/project/buildroot/list/?series=430859

Regards, Bernd
diff mbox series

Patch

diff --git a/package/mesa3d-headers/mesa3d-headers.mk b/package/mesa3d-headers/mesa3d-headers.mk
index 33c60b285f..2cb69c9c67 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 = 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
diff --git a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
index f3919478a6..cda792b9db 100644
--- a/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
+++ b/package/mesa3d/0002-vc4-add-meson-option-to-disable-optional-neon-suppor.patch
@@ -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'
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 7761b0a650..3586451bc6 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -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
diff --git a/package/mesa3d/mesa3d.hash b/package/mesa3d/mesa3d.hash
index d506d398b8..0040019345 100644
--- a/package/mesa3d/mesa3d.hash
+++ b/package/mesa3d/mesa3d.hash
@@ -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
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index ce460c4475..dc316fb2e1 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 = 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)
@@ -126,6 +126,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 +264,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))