From: Dmitry Baryshkov Date: Wed, 10 Dec 2025 17:58:49 +0000 (+0200) Subject: mesa: upgrade 25.2.5 -> 25.3.1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88e26a937549b253ab2b312450f1220b9b6f7d3c;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git mesa: upgrade 25.2.5 -> 25.3.1 Upgrade Mesa to the latest release. Drop VDPAU tracker (dropped upstream). Add support for ethosu and rocket Gallium drivers. Signed-off-by: Dmitry Baryshkov Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-graphics/mesa/files/0001-ethosu-drop-file-names-from-the-generated-file.patch b/meta/recipes-graphics/mesa/files/0001-ethosu-drop-file-names-from-the-generated-file.patch new file mode 100644 index 00000000000..aab17384d2b --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0001-ethosu-drop-file-names-from-the-generated-file.patch @@ -0,0 +1,45 @@ +From 4c3fad710c5bc702e28ae2bcc3c73b0547c4954d Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 19 Nov 2025 14:19:36 +0200 +Subject: [PATCH 1/2] ethosu: drop file names from the generated file + +Having file names and dates in the generated file affects +reproducibility. Build systems (like OE) error out on the gen_header.py +output, because it can contain full paths. Drop file list from the +generated file. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/cdb6468c53ef486f237f3d3276013febbbabba14] +--- + src/gallium/drivers/ethosu/gen_header.py | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/src/gallium/drivers/ethosu/gen_header.py b/src/gallium/drivers/ethosu/gen_header.py +index b54516a812c7..44471893594b 100644 +--- a/src/gallium/drivers/ethosu/gen_header.py ++++ b/src/gallium/drivers/ethosu/gen_header.py +@@ -29,21 +29,9 @@ def dump_c(args, guard, func): + This file was generated by the rules-ng-ng gen_header.py tool in this git repository: + http://gitlab.freedesktop.org/mesa/mesa/ + git clone https://gitlab.freedesktop.org/mesa/mesa.git +- +-The rules-ng-ng source files this header was generated from are: + """) +- maxlen = 0 +- for filepath in p.xml_files: +- maxlen = max(maxlen, len(filepath)) +- for filepath in p.xml_files: +- pad = " " * (maxlen - len(filepath)) +- 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 + ")") + if p.copyright_year: + current_year = str(datetime.date.today().year) +- print() + print("Copyright (C) %s-%s by the following authors:" % (p.copyright_year, current_year)) + for author in p.authors: + print("- " + author) +-- +2.51.0 + diff --git a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch index 136ed8623bc..6948abe4395 100644 --- a/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch +++ b/meta/recipes-graphics/mesa/files/0001-freedreno-don-t-encode-build-path-into-binaries.patch @@ -84,27 +84,6 @@ index 98e49b8fcf0e..145e72597eb9 100644 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 diff --git a/meta/recipes-graphics/mesa/files/0002-rocket-drop-file-names-from-the-generated-file.patch b/meta/recipes-graphics/mesa/files/0002-rocket-drop-file-names-from-the-generated-file.patch new file mode 100644 index 00000000000..3e9edc411f5 --- /dev/null +++ b/meta/recipes-graphics/mesa/files/0002-rocket-drop-file-names-from-the-generated-file.patch @@ -0,0 +1,45 @@ +From d5462c852d30fc41a223730848550db4f9675517 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Wed, 19 Nov 2025 14:19:36 +0200 +Subject: [PATCH 2/2] rocket: drop file names from the generated file + +Having file names and dates in the generated file affects +reproducibility. Build systems (like OE) error out on the gen_header.py +output, because it can contain full paths. Drop file list from the +generated file. + +Signed-off-by: Dmitry Baryshkov +Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/7a3bfd1f7913819db315e6db8b42520a2d862690] +--- + src/gallium/drivers/rocket/gen_header.py | 12 ------------ + 1 file changed, 12 deletions(-) + +diff --git a/src/gallium/drivers/rocket/gen_header.py b/src/gallium/drivers/rocket/gen_header.py +index f3c6615dcb42..5457ef71d595 100644 +--- a/src/gallium/drivers/rocket/gen_header.py ++++ b/src/gallium/drivers/rocket/gen_header.py +@@ -29,21 +29,9 @@ def dump_c(args, guard, func): + This file was generated by the rules-ng-ng gen_header.py tool in this git repository: + http://gitlab.freedesktop.org/mesa/mesa/ + git clone https://gitlab.freedesktop.org/mesa/mesa.git +- +-The rules-ng-ng source files this header was generated from are: + """) +- maxlen = 0 +- for filepath in p.xml_files: +- maxlen = max(maxlen, len(filepath)) +- for filepath in p.xml_files: +- pad = " " * (maxlen - len(filepath)) +- 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 + ")") + if p.copyright_year: + current_year = str(datetime.date.today().year) +- print() + print("Copyright (C) %s-%s by the following authors:" % (p.copyright_year, current_year)) + for author in p.authors: + print("- " + author) +-- +2.51.0 + diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 6edbcb7da5c..835e4d46ead 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -18,10 +18,12 @@ SRC_URI = "https://archive.mesa3d.org/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-gfxstream-don-t-dump-genvk.py-args-to-generated-file.patch \ + file://0001-ethosu-drop-file-names-from-the-generated-file.patch \ + file://0002-rocket-drop-file-names-from-the-generated-file.patch \ " -SRC_URI[sha256sum] = "097842f3e49d996868b38688db87b006f7d4541e93ce86d2f341d8b3e7be7c93" -PV = "25.2.8" +SRC_URI[sha256sum] = "059d0d985622f49588f01aa29152804f4da8ffe6add046e00a52923379c2d8da" +PV = "25.3.1" UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P\d+(\.\d+)+)" @@ -104,12 +106,14 @@ PACKAGECONFIG[amd] = "" PACKAGECONFIG[asahi] = "" PACKAGECONFIG[broadcom] = "" PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" +PACKAGECONFIG[ethosu] = "" PACKAGECONFIG[freedreno] = "" PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" PACKAGECONFIG[intel] = "" PACKAGECONFIG[lima] = "" PACKAGECONFIG[nouveau] = "" PACKAGECONFIG[panfrost] = "" +PACKAGECONFIG[rocket] = "" PACKAGECONFIG[svga] = "" PACKAGECONFIG[tegra] = "" PACKAGECONFIG[v3d] = "" @@ -134,7 +138,7 @@ VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-l VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}" VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'virtio', ',gfxstream', '', d)}" -VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}" +VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}" VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',intel', '', d)}" VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',intel_hasvk', '', d)}" VULKAN_DRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',panfrost', '', d)}" @@ -172,6 +176,7 @@ GALLIUMDRIVERS = "" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc gallium-llvm', ',asahi', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',crocus', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}" +GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'ethosu', ',ethosu', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc gallium-llvm', ',iris', '', d)}" @@ -182,6 +187,7 @@ GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'panfrost libclc', ',pa GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',r300', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'amd gallium-llvm', ',radeonsi', '', d)}" +GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'rocket', ',rocket', '', d)}" GALLIUMDRIVERS .= "${GALLIUMDRIVERS_SOFTPIPE}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'svga gallium-llvm', ',svga', '', d)}" GALLIUMDRIVERS .= "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra', '', d)}" @@ -202,7 +208,6 @@ MESA_NATIVE:class-native = "" PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" -PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"