mirror of
https://git.yoctoproject.org/meta-raspberrypi
synced 2026-01-12 03:10:08 +00:00
mesa: Upgrade 24.3.1 -> 25.1.3
Upgrade to release 25.1.3: - A bug fix release which fixes bugs found since the 25.1.2 release - Implements the OpenGL 4.6 API, but the version reported by glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. Some drivers don't support all the features required in OpenGL 4.6. OpenGL 4.6 is only available if requested at context creation. Compatibility contexts may report a lower version depending on each driver. - Implements the Vulkan 1.4 API, but the version reported by the apiVersion property of the VkPhysicalDeviceProperties struct depends on the particular driver being used. For Raspberry Pi this upgrade brings the following fixes: - v3dv: vkcube-wayland crashes on raspberry pi 5 kernel 6.12 This work was sponsored by GOVCERT.LU. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
This commit is contained in:
committed by
Andrei Gherzan
parent
5edde73409
commit
16c5f1d0f2
@@ -0,0 +1,29 @@
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Sun, 19 Mai 2025 15:34:46 +0100
|
||||
Subject: [PATCH] dont build clover frontend
|
||||
|
||||
The clover frontend is deprecated and is always built with opencl, even if
|
||||
using rusticl. Additionally it adds a reproducibility issue.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-specific]
|
||||
Signed-off-by: Markus Volk <f_l_k@t-online.de>
|
||||
|
||||
--- a/src/gallium/meson.build 2025-05-07 18:35:10.000000000 +0200
|
||||
+++ b/src/gallium/meson.build 2025-05-18 17:05:23.677694272 +0200
|
||||
@@ -195,15 +195,11 @@
|
||||
else
|
||||
driver_d3d12 = declare_dependency()
|
||||
endif
|
||||
-if with_gallium_clover or with_tests
|
||||
+if with_tests
|
||||
# At the moment, clover and gallium/tests are the only two consumers
|
||||
# for pipe-loader
|
||||
subdir('targets/pipe-loader')
|
||||
endif
|
||||
-if with_gallium_clover
|
||||
- subdir('frontends/clover')
|
||||
- subdir('targets/opencl')
|
||||
-endif
|
||||
if with_gallium_rusticl
|
||||
subdir('frontends/rusticl')
|
||||
subdir('targets/rusticl')
|
||||
@@ -0,0 +1,110 @@
|
||||
From 027ac36756cc75eea9ed4fee135a351af30b35fd Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
Date: Tue, 16 Jul 2024 12:32:47 +0300
|
||||
Subject: [PATCH] freedreno: don't encode build path into binaries
|
||||
|
||||
Encoding build-specific path into installed binaries is generally
|
||||
frowned upon. It harms the reproducibility of the build and e.g.
|
||||
OpenEmbedded now considers that to be an error.
|
||||
|
||||
Instead of hardcoding rnn_src_path into the RNN_DEF_PATH define specify
|
||||
it manually when running the tests.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30206]
|
||||
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
---
|
||||
src/freedreno/afuc/meson.build | 4 ++++
|
||||
src/freedreno/decode/meson.build | 4 +++-
|
||||
src/freedreno/meson.build | 2 +-
|
||||
3 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/freedreno/afuc/meson.build b/src/freedreno/afuc/meson.build
|
||||
index bb7cebf5a748..351cc31ef2de 100644
|
||||
--- a/src/freedreno/afuc/meson.build
|
||||
+++ b/src/freedreno/afuc/meson.build
|
||||
@@ -56,10 +56,12 @@ if with_tests
|
||||
asm_fw = custom_target('afuc_test.fw',
|
||||
output: 'afuc_test.fw',
|
||||
command: [asm, files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
asm_fw_a7xx = custom_target('afuc_test_a7xx.fw',
|
||||
output: 'afuc_test_a7xx.fw',
|
||||
command: [asm, files('../.gitlab-ci/traces/afuc_test_a7xx.asm'), '@OUTPUT@'],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
test('afuc-asm',
|
||||
diff,
|
||||
@@ -120,11 +122,13 @@ if cc.sizeof('size_t') > 4
|
||||
disasm_fw = custom_target('afuc_test.asm',
|
||||
output: 'afuc_test.asm',
|
||||
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true
|
||||
)
|
||||
disasm_fw_a7xx = custom_target('afuc_test_a7xx.asm',
|
||||
output: 'afuc_test_a7xx.asm',
|
||||
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test_a7xx.fw')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true
|
||||
)
|
||||
test('afuc-disasm',
|
||||
diff --git a/src/freedreno/decode/meson.build b/src/freedreno/decode/meson.build
|
||||
index 469eeb4eb597..dfa1c12d0d9f 100644
|
||||
--- a/src/freedreno/decode/meson.build
|
||||
+++ b/src/freedreno/decode/meson.build
|
||||
@@ -194,6 +194,7 @@ if dep_lua.found() and dep_libarchive.found()
|
||||
log = custom_target(name + '.log',
|
||||
output: name + '.log',
|
||||
command: [cffdump, '--unit-test', args, files('../.gitlab-ci/traces/' + name + '.rd.gz')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true,
|
||||
)
|
||||
test('cffdump-' + name,
|
||||
@@ -247,7 +248,8 @@ if with_tests
|
||||
output: name + '.log',
|
||||
command: [crashdec, args, files('../.gitlab-ci/traces/' + name + '.devcore')],
|
||||
capture: true,
|
||||
- env: {'GALLIUM_DUMP_CPU': 'false'},
|
||||
+ env: {'GALLIUM_DUMP_CPU': 'false',
|
||||
+ 'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
|
||||
test('crashdec-' + name,
|
||||
diff --git a/src/freedreno/meson.build b/src/freedreno/meson.build
|
||||
index 98e49b8fcf0e..145e72597eb9 100644
|
||||
--- a/src/freedreno/meson.build
|
||||
+++ b/src/freedreno/meson.build
|
||||
@@ -6,7 +6,7 @@ inc_freedreno_rnn = include_directories('rnn')
|
||||
|
||||
rnn_src_path = dir_source_root + '/src/freedreno/registers'
|
||||
rnn_install_path = get_option('datadir') + '/freedreno/registers'
|
||||
-rnn_path = rnn_src_path + ':' + get_option('prefix') + '/' + rnn_install_path
|
||||
+rnn_path = get_option('prefix') + '/' + rnn_install_path
|
||||
|
||||
dep_libarchive = dependency('libarchive', allow_fallback: true, required: false)
|
||||
dep_libxml2 = dependency('libxml-2.0', allow_fallback: true, required: false)
|
||||
diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py
|
||||
--- a/src/freedreno/registers/gen_header.py
|
||||
+++ b/src/freedreno/registers/gen_header.py
|
||||
@@ -885,13 +885,14 @@ The rules-ng-ng source files this header
|
||||
""")
|
||||
maxlen = 0
|
||||
for filepath in p.xml_files:
|
||||
- maxlen = max(maxlen, len(filepath))
|
||||
+ maxlen = max(maxlen, len(os.path.basename(filepath)))
|
||||
for filepath in p.xml_files:
|
||||
- pad = " " * (maxlen - len(filepath))
|
||||
+ filename = os.path.basename(filepath)
|
||||
+ pad = " " * (maxlen - len(filename))
|
||||
filesize = str(os.path.getsize(filepath))
|
||||
filesize = " " * (7 - len(filesize)) + filesize
|
||||
filetime = time.ctime(os.path.getmtime(filepath))
|
||||
- print("- " + filepath + pad + " (" + filesize + " bytes, from " + filetime + ")")
|
||||
+ print("- " + filename + pad + " (" + filesize + " bytes, from " + filetime + ")")
|
||||
if p.copyright_year:
|
||||
current_year = str(datetime.date.today().year)
|
||||
print()
|
||||
---
|
||||
2.39.2
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
|
||||
|
||||
PACKAGECONFIG:append:rpi = " gallium gallium-llvm vc4 v3d ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'vulkan broadcom', '', d)}"
|
||||
DRIDRIVERS:class-target:rpi = ""
|
||||
|
||||
# Remove unused patches
|
||||
SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
|
||||
file://0001-dont-build-clover-frontend.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "9c795900449ce5bc7c526ba0ab3532a22c3c951cab7e0dd9de5fcac41b0843af"
|
||||
PV = "24.3.1"
|
||||
SRC_URI[sha256sum] = "ffcb6cadb5fd356d56008e6308641dfe4b2929f30139f6585436ca6e3cddba7f"
|
||||
PV = "25.1.3"
|
||||
|
||||
# -Dglvnd is deprecated from true/false to enabled/disabled
|
||||
PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
|
||||
@@ -17,12 +23,42 @@ PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
|
||||
PACKAGECONFIG:remove = "dri3"
|
||||
unset PACKAGECONFIG[dri3]
|
||||
|
||||
unset VULKAN_DRIVERS
|
||||
VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}"
|
||||
VULKAN_DRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
|
||||
VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}"
|
||||
VULKAN_DRIVERS_SWRAST = ",swrast"
|
||||
# Crashes on x32
|
||||
VULKAN_DRIVERS_SWRAST:x86-x32 = ""
|
||||
VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_ASAHI}${VULKAN_DRIVERS_INTEL}"
|
||||
|
||||
VULKAN_DRIVERS = ""
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
|
||||
|
||||
GALLIUMDRIVERS = "softpipe"
|
||||
|
||||
PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd,-Dgallium-opencl=disabled,"
|
||||
|
||||
DEPENDS += " wayland-protocols llvm python3-pyyaml python3-pyyaml-native"
|
||||
|
||||
RDEPENDS:libgl-mesa += " llvm wayland-protocols"
|
||||
|
||||
FILES:libgbm += " ${libdir}/gbm/dri_gbm*.so"
|
||||
PACKAGES =+ " \
|
||||
libgallium \
|
||||
"
|
||||
|
||||
FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so"
|
||||
FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
|
||||
FILES:libgallium = "${libdir}/libgallium-*.so"
|
||||
|
||||
FILES:libgl-mesa += " ${libdir}/libgallium*.so"
|
||||
|
||||
FILES:libgbm-dev += " ${includedir}/gbm.h"
|
||||
|
||||
# All DRI drivers are symlinks to libdril_dri.so
|
||||
INSANE_SKIP:${PN}-megadriver += "dev-so"
|
||||
|
||||
Reference in New Issue
Block a user