package/mesa3d: bump version to 25.1.1

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

Note: Mesa3d depends on spirv-tools >= 2024.1
fe8a0d3548
which translates to spirv-tools version 1.3.280.0.

Note: AMD drivers depend on llvm >= 18:
82047fa82f

Removed patch 0001, not needed anymore due to upstream commit
e4eb5e80c3
which removes the libclc headers include.

Renumbered remaining patches.

Rebased patch 0002 due to upstream commit
6652eb0ec3
which renamed meson_options.txt to meson.options.

Panfrost driver depends on llvm:
20970bcd96
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:
6d5375017a

OSMesa was removed upstream:
027ccd963b
Also remove optional osmesa support from mesa3d-demos and wine.
Regarding wine please see this discussion:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33836#note_2805850

Configure option shared-glapi was removed upstream:
e5c76088e9
fefb1a6fb3

Removed deprecated and unused configure options gallium-opencl & power8:
a0b457aca6
c4b305079d

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[Bernd v3: - bump to 25.1.1, rebase on -next branch, added note about
             impact of osmesa removal on wine]
Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
[Mehdi v2: - removed 0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch
           from .checkpackageignore.
           - removed OSMesa from mesa-demos and wine packages.]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Bernd Kuhls
2025-05-24 10:03:55 +02:00
committed by Julien Olivain
parent e29dae109a
commit 2f7bcc7dfc
12 changed files with 50 additions and 96 deletions

View File

@@ -796,7 +796,6 @@ package/memstat/0001-PATH_MAX.patch lib_patch.Upstream
package/mender-connect/S43mender-connect Shellcheck
package/menu-cache/0001-Support-gcc10-compilation.patch lib_patch.Upstream
package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch lib_patch.Upstream
package/mesa3d/0001-meson-Set-proper-value-for-LIBCLC_INCLUDEDIR.patch lib_patch.Upstream
package/meson-tools/0001-amlbootenc-gxl-remove-non-std-C-convention-in-for.patch lib_patch.Upstream
package/meson/0001-Prefer-ext-static-libs-when-default-library-static.patch lib_patch.Upstream
package/meson/0002-mesonbuild-dependencies-base.py-add-pkg_config_stati.patch lib_patch.Upstream

View File

@@ -146,6 +146,12 @@ endif
comment "Legacy options removed in 2025.08"
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_ALSA_LIB_ALISP
bool "alsa-lib alisp support removed"
select BR2_LEGACY

View File

@@ -11,7 +11,8 @@ MESA3D_DEMOS_DEPENDENCIES = host-pkgconf
MESA3D_DEMOS_LICENSE = MIT
MESA3D_DEMOS_CONF_OPTS += \
-Dgles1=disabled
-Dgles1=disabled \
-Dosmesa=disabled # BR2_PACKAGE_MESA3D_OSMESA_GALLIUM removed in mesa 25.1
ifeq ($(BR2_PACKAGE_XORG7)$(BR2_PACKAGE_HAS_LIBGL),yy)
MESA3D_DEMOS_DEPENDENCIES += libgl libglew libglu xlib_libX11 xlib_libXext
@@ -52,14 +53,6 @@ endif
ifeq ($(BR2_PACKAGE_LIBFREEGLUT),y)
MESA3D_DEMOS_DEPENDENCIES += libfreeglut
MESA3D_DEMOS_CONF_OPTS += -Dwith-glut=$(STAGING_DIR)/usr
# osmesa support depends on glut
ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y)
MESA3D_DEMOS_CONF_OPTS += -Dosmesa=enabled
else
MESA3D_DEMOS_CONF_OPTS += -Dosmesa=disabled
endif
else
MESA3D_DEMOS_CONF_OPTS += -Dosmesa=disabled
endif
ifeq ($(BR2_PACKAGE_LIBDECOR)$(BR2_PACKAGE_WAYLAND),yy)

View File

@@ -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.1
MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz
MESA3D_HEADERS_SITE = https://archive.mesa3d.org
MESA3D_HEADERS_DL_SUBDIR = mesa3d

View File

@@ -1,41 +0,0 @@
From 7b46756a99aca7f27a45c3b99460f088570f6f53 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@smile.fr>
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 <romain.naour@smile.fr>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[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

View File

@@ -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 <ps.report@gmx.net>
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.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 <ps.report@gmx.net>
[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.',
)

View File

@@ -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"

View File

@@ -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/000804.html
sha256 cf942a18b7b9e9b88524dcbf0b31fed3cde18e6d52b3375b0ab6587a14415bce mesa-25.1.1.tar.xz
sha512 8000fec61da3b7c0355b74458c52f8faeb562398a1882d68cd31a253848edd3333072521ec52f8c5c1a62d909afd6667803d43cb54027d0af3d944f1add27aae mesa-25.1.1.tar.xz
# License
sha256 0d1a0472ecc81830e75c20d59b0ea02841e3db21255e0ebad97ab682c54d6615 docs/license.rst
sha256 323c587d0ccf10e376f8bf9a7f31fb4ca6078105194b42e0b1e0ee2bc9bde71f licenses/MIT

View File

@@ -5,7 +5,7 @@
################################################################################
# When updating the version, please also update mesa3d-headers
MESA3D_VERSION = 25.0.6
MESA3D_VERSION = 25.1.1
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))

View File

@@ -33,7 +33,8 @@ WINE_CONF_OPTS = \
--without-mingw \
--without-opencl \
--without-oss \
--without-vulkan
--without-vulkan \
--without-osmesa # BR2_PACKAGE_MESA3D_OSMESA_GALLIUM removed in mesa 25.1
# Wine uses a wrapper around gcc, and uses the value of --host to
# construct the filename of the gcc to call. But for external
@@ -143,13 +144,6 @@ else
WINE_CONF_OPTS += --without-v4l2
endif
ifeq ($(BR2_PACKAGE_MESA3D_OSMESA_GALLIUM),y)
WINE_CONF_OPTS += --with-osmesa
WINE_DEPENDENCIES += mesa3d
else
WINE_CONF_OPTS += --without-osmesa
endif
ifeq ($(BR2_PACKAGE_PCSC_LITE),y)
WINE_CONF_OPTS += --with-pcsclite
WINE_DEPENDENCIES += pcsc-lite