From 818f7a0daf0ab166c35178d09d8e5fc252c699e8 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 12 Jun 2025 12:36:21 +0300 Subject: [PATCH 1/9] scripts/build-deb: support preparing sources via the script In order to build upstream mesa snapshot we need to manually prepare source directory. Add support for using the external script instead of just fetching the dsc from Debian. Signed-off-by: Dmitry Baryshkov --- scripts/build-deb.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scripts/build-deb.py b/scripts/build-deb.py index 415cc77..2be0732 100644 --- a/scripts/build-deb.py +++ b/scripts/build-deb.py @@ -59,8 +59,24 @@ ) print("✅ Checksum of original source package matched.") - # Unpack the source package - subprocess.run(['dpkg-source', '-x', dsc_file], cwd=temp_dir, check=True) + script = config.get('script') + if script: + if not os.path.isabs(script): + config_dir = os.path.dirname(args.config) + script = os.path.abspath(os.path.join(config_dir, script)) + + env = os.environ.copy() + env['DSC_FILE'] = dsc_file + env.update(config.get('env', {})) + + subprocess.run(script, cwd=temp_dir, check=True, env=env) + + print("✅ Successfully executed the script.") + else: + # Unpack the source package + subprocess.run(['dpkg-source', '-x', dsc_file], + cwd=temp_dir, + check=True) # Find the unpacked directory unpacked_dirs = [ From 4f2aafc03d39319a3290d7aae263d7850e7bce76 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 12 Jun 2025 12:48:37 +0300 Subject: [PATCH 2/9] overlay-debs: add Mesa snapshot In order to evaluate upstream Mesa on the RB1 board, package the snapshot of the Mesa development tree. This package will go away once Mesa 25.2 gets released and enters Debian experimental or unstable. Signed-off-by: Dmitry Baryshkov --- overlay-debs/mesa-snapshot/mesa-snapshot.sh | 52 ++ overlay-debs/mesa-snapshot/mesa-snapshot.yaml | 7 + .../mesa-snapshot/mesa_25.2.0.debdiff | 501 ++++++++++++++++++ 3 files changed, 560 insertions(+) create mode 100755 overlay-debs/mesa-snapshot/mesa-snapshot.sh create mode 100644 overlay-debs/mesa-snapshot/mesa-snapshot.yaml create mode 100644 overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.sh b/overlay-debs/mesa-snapshot/mesa-snapshot.sh new file mode 100755 index 0000000..a168b2a --- /dev/null +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.sh @@ -0,0 +1,52 @@ +#! /bin/sh +# +# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. +# SPDX-License-Identifier: BSD-3-Clause + +COMMIT=${COMMIT:-origin/main} + +set -e + +DEB_FILE=${DSC_FILE%%.dsc}.debian.tar.xz +ORIG_FILE=$(echo ${DSC_FILE} | sed -e 's/-.*/.orig.tar.xz/') + +rm -rf mesa +git clone --depth 1 https://gitlab.freedesktop.org/mesa/mesa + +cd mesa +git fetch --depth 1 origin ${COMMIT##origin/} + +date=$(git log -1 --format=%cd --date=format:%Y%m%d ${COMMIT}) +subject=$(git log -1 --format="%h (\"%s\")" ${COMMIT}) +version=25.2.0~git${date} + +rm -rf ../mesa-${version} +mkdir ../mesa-${version} +git archive --format=tar HEAD | tar x -C ../mesa-${version} + +cd ../mesa-${version} + +rm -rf debian +tar xJf ${DEB_FILE} + +cat >> debian/changelog.tmp << EOF +mesa (${version}-0) experimental; urgency=medium + + * Build git version from ${date}, commit ${subject} + + -- Dmitry Baryshkov Wed, 11 Jun 2025 14:58:50 +0300 + +EOF +cat debian/changelog >> debian/changelog.tmp +mv debian/changelog.tmp debian/changelog + +# orig.tar.xz generation skips all .git* files, drop them from the source dir too. +rm -rf .git* + +debian/rules regen_control +debian/rules clean +debian/rules gentarball + +rm -rf ../mesa + +rm ${DSC_FILE} ${DEB_FILE} ${ORIG_FILE}* diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.yaml b/overlay-debs/mesa-snapshot/mesa-snapshot.yaml new file mode 100644 index 0000000..cdb5df5 --- /dev/null +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.yaml @@ -0,0 +1,7 @@ +dsc_url: "https://snapshot.debian.org/archive/debian/20250519T203618Z/pool/main/m/mesa/mesa_25.1.0-1.dsc" +dsc_sha256sum: "d06c1b0ee300f096de2ac59a2e9583349ca79322612f4502baa5e78ff0be4290" +debdiff_file: "mesa_25.2.0.debdiff" +script: mesa-snapshot.sh +suite: trixie +env: + COMMIT: 8d13fc447e346477bab7e1b587c55fe0451ee654 diff --git a/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff new file mode 100644 index 0000000..9fb60f3 --- /dev/null +++ b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff @@ -0,0 +1,501 @@ +diff -Nru mesa-25.2.0-orig/debian/control mesa-25.2.0/debian/control +--- mesa-25.2.0-orig/debian/control 2025-06-17 14:44:27.640693699 +0300 ++++ mesa-25.2.0/debian/control 2025-06-17 14:56:54.236499287 +0300 +@@ -48,11 +48,11 @@ + libelf-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + libwayland-dev (>= 1.15.0) [linux-any], + libwayland-egl-backend-dev (>= 1.15.0) [linux-any], +- llvm-20-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], +- libclang-20-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], +- libclang-cpp20-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], +- libclc-20-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], +- libclc-20 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ llvm-19-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ libclang-19-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ libclang-cpp19-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ libclc-19-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ libclc-19 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + wayland-protocols (>= 1.34), + zlib1g-dev, + libglvnd-core-dev (>= 1.3.2), +@@ -61,75 +61,18 @@ + rustfmt [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + bindgen (>= 0.66.1~) [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], + cbindgen [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], +- llvm-spirv-20 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], +- libllvmspirvlib-20-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], ++ llvm-spirv-19 [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x x32], ++ libllvmspirvlib-19-dev [amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32], + librust-paste-dev [amd64 arm64 armhf i386 ppc64 riscv64 x32], ++ librust-rustc-hash-2-dev [amd64 arm64 armhf i386 ppc64 riscv64 x32], + librust-syn-dev (>= 2.0.48) [amd64 arm64 armhf i386 ppc64 riscv64 x32], ++Build-Conflicts: ++ librust-rustc-hash-dev (<< 2.0) [amd64 arm64 armhf i386 ppc64 riscv64 x32], + Rules-Requires-Root: no + Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git + Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa + Homepage: https://mesa3d.org/ + +-Package: libxatracker2 +-Section: libs +-Architecture: amd64 i386 x32 +-Depends: +- ${shlibs:Depends}, +- ${misc:Depends}, +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: X acceleration library -- runtime +- This package contains the XA (X acceleration) library. It is used exclusively +- by the X server to do render, copy and video acceleration. +- . +- XA is intended to be used by the vmware driver for virtualized X acceleration. +- +-Package: libxatracker-dev +-Section: libdevel +-Architecture: amd64 i386 x32 +-Depends: +- libxatracker2 (= ${binary:Version}), +- ${misc:Depends}, +-Multi-Arch: same +-Description: X acceleration library -- development files +- This package contains the XA (X acceleration) library. It is used exclusively +- by the X server to do render, copy and video acceleration. +- . +- XA is intended to be used by the vmware driver for virtualized X acceleration. +- . +- This package provides the development environment for compiling programs +- against the xatracker library. +- +-Package: libd3dadapter9-mesa +-Section: libs +-Architecture: amd64 arm64 armel armhf i386 +-Depends: +- ${shlibs:Depends}, +- ${misc:Depends}, +- libudev1 [linux-any], +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: state-tracker for Direct3D9 +- This package contains a Gallium3D state tracker that implements the Direct3D9 +- API. Combined with the gallium-nine branch of Wine, programs using D3D9 can +- achieve native (or better) graphics performance. +- +-Package: libd3dadapter9-mesa-dev +-Section: libdevel +-Architecture: amd64 arm64 armel armhf i386 +-Depends: +- libd3dadapter9-mesa (= ${binary:Version}), +- libudev1 [linux-any], +- ${misc:Depends}, +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: state-tracker for Direct3D9 -- development files +- This package contains a Gallium3D state tracker that implements the Direct3D9 +- API. Combined with the gallium-nine branch of Wine, programs using D3D9 can +- achieve native (or better) graphics performance. +- . +- Development files +- + Package: libgbm1 + Section: libs + Architecture: linux-any +@@ -374,7 +317,7 @@ + Architecture: amd64 arm64 armel armhf i386 loong64 mips64el powerpc ppc64 ppc64el riscv64 s390x sparc64 x32 + Pre-Depends: ${misc:Pre-Depends} + Depends: +- libclc-20, ++ libclc-19, + ocl-icd-libopencl1 | libopencl1, + ${shlibs:Depends}, + ${misc:Depends}, +diff -Nru mesa-25.2.0-orig/debian/control.in mesa-25.2.0/debian/control.in +--- mesa-25.2.0-orig/debian/control.in 2025-06-17 14:40:24.097165626 +0300 ++++ mesa-25.2.0/debian/control.in 2025-06-12 13:16:26.413310455 +0300 +@@ -64,72 +64,15 @@ + llvm-spirv-@LLVM_VERSION@ [@RUSTICL_ARCHS@], + libllvmspirvlib-@LLVM_VERSION@-dev [@LLVM_ARCHS@], + librust-paste-dev [@NVK_ARCHS@], ++ librust-rustc-hash-2-dev [@NVK_ARCHS@], + librust-syn-dev (>= 2.0.48) [@NVK_ARCHS@], ++Build-Conflicts: ++ librust-rustc-hash-dev (<< 2.0) [@NVK_ARCHS@], + Rules-Requires-Root: no + Vcs-Git: https://salsa.debian.org/xorg-team/lib/mesa.git + Vcs-Browser: https://salsa.debian.org/xorg-team/lib/mesa + Homepage: https://mesa3d.org/ + +-Package: libxatracker2 +-Section: libs +-Architecture: amd64 i386 x32 +-Depends: +- ${shlibs:Depends}, +- ${misc:Depends}, +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: X acceleration library -- runtime +- This package contains the XA (X acceleration) library. It is used exclusively +- by the X server to do render, copy and video acceleration. +- . +- XA is intended to be used by the vmware driver for virtualized X acceleration. +- +-Package: libxatracker-dev +-Section: libdevel +-Architecture: amd64 i386 x32 +-Depends: +- libxatracker2 (= ${binary:Version}), +- ${misc:Depends}, +-Multi-Arch: same +-Description: X acceleration library -- development files +- This package contains the XA (X acceleration) library. It is used exclusively +- by the X server to do render, copy and video acceleration. +- . +- XA is intended to be used by the vmware driver for virtualized X acceleration. +- . +- This package provides the development environment for compiling programs +- against the xatracker library. +- +-Package: libd3dadapter9-mesa +-Section: libs +-Architecture: @WINE_ARCHS@ +-Depends: +- ${shlibs:Depends}, +- ${misc:Depends}, +- libudev1 [linux-any], +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: state-tracker for Direct3D9 +- This package contains a Gallium3D state tracker that implements the Direct3D9 +- API. Combined with the gallium-nine branch of Wine, programs using D3D9 can +- achieve native (or better) graphics performance. +- +-Package: libd3dadapter9-mesa-dev +-Section: libdevel +-Architecture: @WINE_ARCHS@ +-Depends: +- libd3dadapter9-mesa (= ${binary:Version}), +- libudev1 [linux-any], +- ${misc:Depends}, +-Pre-Depends: ${misc:Pre-Depends} +-Multi-Arch: same +-Description: state-tracker for Direct3D9 -- development files +- This package contains a Gallium3D state tracker that implements the Direct3D9 +- API. Combined with the gallium-nine branch of Wine, programs using D3D9 can +- achieve native (or better) graphics performance. +- . +- Development files +- + Package: libgbm1 + Section: libs + Architecture: linux-any +diff -Nru mesa-25.2.0-orig/debian/libd3dadapter9-mesa-dev.install mesa-25.2.0/debian/libd3dadapter9-mesa-dev.install +--- mesa-25.2.0-orig/debian/libd3dadapter9-mesa-dev.install 2025-06-17 14:40:24.097196561 +0300 ++++ mesa-25.2.0/debian/libd3dadapter9-mesa-dev.install 1970-01-01 02:00:00.000000000 +0200 +@@ -1,5 +0,0 @@ +-usr/lib/*/pkgconfig/d3d.pc +-usr/include/d3dadapter/d3dadapter9.h +-usr/include/d3dadapter/drm.h +-usr/include/d3dadapter/present.h +- +diff -Nru mesa-25.2.0-orig/debian/libd3dadapter9-mesa.install mesa-25.2.0/debian/libd3dadapter9-mesa.install +--- mesa-25.2.0-orig/debian/libd3dadapter9-mesa.install 2025-06-17 14:40:24.097203227 +0300 ++++ mesa-25.2.0/debian/libd3dadapter9-mesa.install 1970-01-01 02:00:00.000000000 +0200 +@@ -1 +0,0 @@ +-usr/lib/*/d3d/d3dadapter9.so* +diff -Nru mesa-25.2.0-orig/debian/libegl-mesa0.symbols mesa-25.2.0/debian/libegl-mesa0.symbols +--- mesa-25.2.0-orig/debian/libegl-mesa0.symbols 2025-06-17 14:40:24.097217601 +0300 ++++ mesa-25.2.0/debian/libegl-mesa0.symbols 2025-06-12 13:16:26.413310455 +0300 +@@ -1,2 +1,5 @@ + libEGL_mesa.so.0 libegl-mesa0 #MINVER# + __egl_Main@Base 17.0.0~ ++ MesaGLInteropEGLExportObject@Base 25.2.0~ ++ MesaGLInteropEGLFlushObjects@Base 25.2.0~ ++ MesaGLInteropEGLQueryDeviceInfo@Base 25.2.0~ +diff -Nru mesa-25.2.0-orig/debian/libxatracker2.install mesa-25.2.0/debian/libxatracker2.install +--- mesa-25.2.0-orig/debian/libxatracker2.install 2025-06-17 14:40:24.097313948 +0300 ++++ mesa-25.2.0/debian/libxatracker2.install 1970-01-01 02:00:00.000000000 +0200 +@@ -1 +0,0 @@ +-usr/lib/*/libxatracker.so.2* +diff -Nru mesa-25.2.0-orig/debian/libxatracker2.symbols mesa-25.2.0/debian/libxatracker2.symbols +--- mesa-25.2.0-orig/debian/libxatracker2.symbols 2025-06-17 14:40:24.097323635 +0300 ++++ mesa-25.2.0/debian/libxatracker2.symbols 1970-01-01 02:00:00.000000000 +0200 +@@ -1,35 +0,0 @@ +-libxatracker.so.2 libxatracker2 #MINVER# +- xa_composite_allocation@Base 0 +- xa_composite_check_accelerated@Base 0 +- xa_composite_done@Base 0 +- xa_composite_prepare@Base 0 +- xa_composite_rect@Base 0 +- xa_context_create@Base 0 +- xa_context_default@Base 0 +- xa_context_destroy@Base 0 +- xa_context_flush@Base 0 +- xa_copy@Base 0 +- xa_copy_done@Base 0 +- xa_copy_prepare@Base 0 +- xa_fence_destroy@Base 0 +- xa_fence_get@Base 0 +- xa_fence_wait@Base 0 +- xa_format_check_supported@Base 0 +- xa_solid@Base 0 +- xa_solid_done@Base 0 +- xa_solid_prepare@Base 0 +- xa_surface_create@Base 0 +- xa_surface_dma@Base 0 +- xa_surface_format@Base 0 +- xa_surface_from_handle2@Base 11.1.0~ +- xa_surface_from_handle@Base 0 +- xa_surface_handle@Base 0 +- xa_surface_map@Base 0 +- xa_surface_redefine@Base 0 +- xa_surface_ref@Base 0 +- xa_surface_unmap@Base 0 +- xa_surface_unref@Base 0 +- xa_tracker_create@Base 0 +- xa_tracker_destroy@Base 0 +- xa_tracker_version@Base 0 +- xa_yuv_planar_blit@Base 0 +diff -Nru mesa-25.2.0-orig/debian/libxatracker-dev.install mesa-25.2.0/debian/libxatracker-dev.install +--- mesa-25.2.0-orig/debian/libxatracker-dev.install 2025-06-17 14:40:24.097307074 +0300 ++++ mesa-25.2.0/debian/libxatracker-dev.install 1970-01-01 02:00:00.000000000 +0200 +@@ -1,5 +0,0 @@ +-usr/lib/*/libxatracker.so +-usr/lib/*/pkgconfig/xatracker.pc +-usr/include/xa_composite.h +-usr/include/xa_context.h +-usr/include/xa_tracker.h +diff -Nru mesa-25.2.0-orig/debian/mesa-opencl-icd.install mesa-25.2.0/debian/mesa-opencl-icd.install +--- mesa-25.2.0-orig/debian/mesa-opencl-icd.install 2025-06-17 14:40:24.097406806 +0300 ++++ mesa-25.2.0/debian/mesa-opencl-icd.install 2025-06-12 13:16:26.415262201 +0300 +@@ -1,3 +0,0 @@ +-etc/OpenCL/vendors/mesa.icd +-usr/lib/*/gallium-pipe/*.so +-usr/lib/*/libMesaOpenCL* +diff -Nru mesa-25.2.0-orig/debian/rules mesa-25.2.0/debian/rules +--- mesa-25.2.0-orig/debian/rules 2025-06-17 14:40:24.097509038 +0300 ++++ mesa-25.2.0/debian/rules 2025-06-12 13:16:26.415262201 +0300 +@@ -13,7 +13,7 @@ + DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) + + # for finding the correct llvm-config when meson doesn't know about it yet +-LLVM_VERSION = 20 ++LLVM_VERSION = 19 + export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH) + + export DEB_BUILD_MAINT_OPTIONS=optimize=-lto +@@ -92,8 +92,6 @@ + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) + GALLIUM_DRIVERS += crocus i915 iris svga + VULKAN_DRIVERS += intel intel_hasvk +- # svga needs xa state tracker +- confflags_GALLIUM += -Dgallium-xa=enabled + endif + + ifneq (,$(filter $(DEB_HOST_ARCH), amd64)) +@@ -129,7 +127,6 @@ + + VULKAN_LAYERS += device-select intel-nullhw overlay + confflags_GALLIUM += -Dllvm=enabled +- confflags_GALLIUM += -Dgallium-opencl=icd + + # Build rusticl for archs where rustc is available + ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS))) +@@ -141,11 +138,6 @@ + VULKAN_DRIVERS += nouveau + endif + +- # nine makes sense only on archs that build wine +- ifneq (,$(filter $(DEB_HOST_ARCH), $(WINE_ARCHS))) +- confflags_GALLIUM += -Dgallium-nine=true +- endif +- + # gfxstream only builds on 64bit + ifeq ($(DEB_HOST_ARCH_BITS),64) + VULKAN_DRIVERS += gfxstream +@@ -205,7 +197,7 @@ + + rewrite_wrap_files: + cp -r subprojects subprojects-save +- for crate in paste proc-macro2 quote syn unicode-ident; \ ++ for crate in paste rustc-hash proc-macro2 quote syn unicode-ident; \ + do \ + export crate_namever=`basename $$MESON_PACKAGE_CACHE_DIR/$$crate-*`; \ + sed -e"/source.*/d" -e"s,$${crate}-.*,$${crate_namever}," -i subprojects/$${crate}.wrap; \ +@@ -263,10 +255,6 @@ + # use -f to ensure we notice disappearing files: + rm debian/tmp/usr/lib/*/libEGL_mesa.so + rm debian/tmp/usr/lib/*/libGLX_mesa.so +- ifneq (,$(filter $(DEB_HOST_ARCH), $(NVK_ARCHS))) +- rm debian/tmp/usr/bin/mme_fermi_sim_hw_test +- rm debian/tmp/usr/bin/mme_tu104_sim_hw_test +- endif + # use -f here though + rm -f debian/tmp/usr/lib/*/libgrl.a + +diff -Nru mesa-25.2.0-orig/debian/patches/etnaviv-add-support-for-texelfetch.patch mesa-25.2.0/debian/patches/etnaviv-add-support-for-texelfetch.patch +--- mesa-25.2.0-orig/debian/patches/etnaviv-add-support-for-texelfetch.patch 2025-06-17 14:44:27.640952430 +0300 ++++ mesa-25.2.0/debian/patches/etnaviv-add-support-for-texelfetch.patch 1970-01-01 02:00:00.000000000 +0200 +@@ -1,144 +0,0 @@ +-From da90fca6093dd58cc351b0ac624ea8c0d83a81f9 Mon Sep 17 00:00:00 2001 +-From: Christian Gmeiner +-Date: Fri, 18 Apr 2025 23:35:20 +0200 +-Subject: [PATCH 1/3] etnaviv: isa: Add txf instruction +- +-This instruction is used to implement texelfetch. +- +-Blob generates such txf's for +-dEQP-GLES3.functional.shaders.texture_functions.texelfetch.+ +- +-Signed-off-by: Christian Gmeiner +-Part-of: +---- +- src/etnaviv/isa/etnaviv.xml | 5 +++++ +- src/etnaviv/isa/tests/disasm.cpp | 1 + +- 2 files changed, 6 insertions(+) +- +-diff --git a/src/etnaviv/isa/etnaviv.xml b/src/etnaviv/isa/etnaviv.xml +-index a337c1e9d0762..42f551238bf1b 100644 +---- a/src/etnaviv/isa/etnaviv.xml +-+++ b/src/etnaviv/isa/etnaviv.xml +-@@ -1359,6 +1359,11 @@ SPDX-License-Identifier: MIT +- 1 +- +- +-+ +-+ 001001 +-+ 1 +-+ +-+ +- +- 001100 +- 1 +-diff --git a/src/etnaviv/isa/tests/disasm.cpp b/src/etnaviv/isa/tests/disasm.cpp +-index aa027618aa40a..3d4ebec8a49be 100644 +---- a/src/etnaviv/isa/tests/disasm.cpp +-+++ b/src/etnaviv/isa/tests/disasm.cpp +-@@ -166,6 +166,7 @@ INSTANTIATE_TEST_SUITE_P(Opcodes, DisasmTest, +- disasm_state{ {0x00801036, 0x15400804, 0x01540050, 0x00000002}, "clamp0_max t0.x___, u0.yyyy, u0.zzzz, void\n"}, +- disasm_state{ {0x0080103b, 0x00001804, 0x40000000, 0x00400028}, "iaddsat.s32 t0.x___, t1.xxxx, void, -t2.xxxx\n"}, +- disasm_state{ {0x01001008, 0x15400804, 0xd00100c0, 0x00000007}, "imod.u16 t0._y__, t0.yyyy, 1, void\n"}, +-+ disasm_state{ {0x07811009, 0x15001f20, 0x01ff00c0, 0x78021008}, "txf t1, tex0.xyzw, t1.xyyy, t1.wwww, 4352\n", FLAG_FAILING_ASM}, +- disasm_state{ {0x0080103c, 0x00001804, 0x40000140, 0x00000000}, "imullo0.s32 t0.x___, t1.xxxx, t2.xxxx, void\n"}, +- disasm_state{ {0x00801000, 0x00001804, 0x40010140, 0x00000000}, "imulhi0.s32 t0.x___, t1.xxxx, t2.xxxx, void\n"}, +- disasm_state{ {0x00801004, 0x00201804, 0x40010040, 0x00000000}, "idiv0.s16 t0.x___, t1.xxxx, t0.xxxx, void\n"}, +--- +-GitLab +- +- +-From eefe486533eb58d3d1e81daa5abd16e63ee4c7a9 Mon Sep 17 00:00:00 2001 +-From: Christian Gmeiner +-Date: Fri, 18 Apr 2025 23:37:19 +0200 +-Subject: [PATCH 2/3] etnaviv: nir: Legalize txf lod src +- +-The LOD must be a float, unlike the GLSL function, which expects an integer. +- +-Signed-off-by: Christian Gmeiner +-Reviewed-by: Faith Ekstrand +-Part-of: +---- +- .../etnaviv/etnaviv_nir_lower_texture.c | 25 +++++++++++++++++++ +- 1 file changed, 25 insertions(+) +- +-diff --git a/src/gallium/drivers/etnaviv/etnaviv_nir_lower_texture.c b/src/gallium/drivers/etnaviv/etnaviv_nir_lower_texture.c +-index d0462ead016dc..d20d175da79a8 100644 +---- a/src/gallium/drivers/etnaviv/etnaviv_nir_lower_texture.c +-+++ b/src/gallium/drivers/etnaviv/etnaviv_nir_lower_texture.c +-@@ -26,6 +26,28 @@ lower_txs(nir_builder *b, nir_instr *instr, UNUSED void *data) +- return true; +- } +- +-+static bool +-+legalize_txf_lod(nir_builder *b, nir_instr *instr, UNUSED void *data) +-+{ +-+ if (instr->type != nir_instr_type_tex) +-+ return false; +-+ +-+ nir_tex_instr *tex = nir_instr_as_tex(instr); +-+ +-+ if (tex->op != nir_texop_txf) +-+ return false; +-+ +-+ b->cursor = nir_before_instr(instr); +-+ +-+ int lod_index = nir_tex_instr_src_index(tex, nir_tex_src_lod); +-+ assert(lod_index >= 0); +-+ nir_def *lod = tex->src[lod_index].src.ssa; +-+ +-+ nir_src_rewrite(&tex->src[lod_index].src, nir_i2f32(b, lod)); +-+ +-+ return true; +-+} +-+ +- bool +- etna_nir_lower_texture(nir_shader *s, struct etna_shader_key *key) +- { +-@@ -48,5 +70,8 @@ etna_nir_lower_texture(nir_shader *s, struct etna_shader_key *key) +- NIR_PASS(progress, s, nir_shader_instructions_pass, lower_txs, +- nir_metadata_control_flow, NULL); +- +-+ NIR_PASS(progress, s, nir_shader_instructions_pass, legalize_txf_lod, +-+ nir_metadata_control_flow, NULL); +-+ +- return progress; +- } +--- +-GitLab +- +- +-From 614b66529de2832575cdb0c97581d0d5f791ed72 Mon Sep 17 00:00:00 2001 +-From: Christian Gmeiner +-Date: Fri, 18 Apr 2025 23:42:14 +0200 +-Subject: [PATCH 3/3] etnaviv: nir: Add support for txf texture operation +- +-The src[2] value 0x1100 is set based on observed behavior of the blob driver, +-though its exact meaning remains to be documented. +- +-Passes all dEQP-GLES3.functional.shaders.texture_functions.texelfetch.* +-tests on GC7000. +- +-Signed-off-by: Christian Gmeiner +-Part-of: +---- +- src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c | 4 ++++ +- 1 file changed, 4 insertions(+) +- +-diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +-index 08a5ab5fb7bc3..708f0788b580d 100644 +---- a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +-+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +-@@ -212,6 +212,10 @@ etna_emit_tex(struct etna_compile *c, nir_texop op, unsigned texid, unsigned dst +- case nir_texop_txb: inst.opcode = ISA_OPC_TEXLDB; break; +- case nir_texop_txd: inst.opcode = ISA_OPC_TEXLDD; break; +- case nir_texop_txl: inst.opcode = ISA_OPC_TEXLDL; break; +-+ case nir_texop_txf: +-+ inst.opcode = ISA_OPC_TXF; +-+ inst.src[2] = etna_immediate_int(0x1100); +-+ break; +- default: +- compile_error(c, "Unhandled NIR tex type: %d\n", op); +- } +--- +-GitLab +- +diff -Nru mesa-25.2.0-orig/debian/patches/path_max.diff mesa-25.2.0/debian/patches/path_max.diff +--- mesa-25.2.0-orig/debian/patches/path_max.diff 2025-06-17 14:44:27.640961231 +0300 ++++ mesa-25.2.0/debian/patches/path_max.diff 2025-06-17 14:44:55.205596046 +0300 +@@ -34,6 +34,6 @@ + +#define PATH_MAX (4096) + +#endif + + +- #define MODULE_PREFIX "pipe_" +- + static int (*backends[])(struct pipe_loader_device **, int) = { ++ #ifdef HAVE_LIBDRM ++ &pipe_loader_drm_probe, +diff -Nru mesa-25.2.0-orig/debian/patches/series mesa-25.2.0/debian/patches/series +--- mesa-25.2.0-orig/debian/patches/series 2025-06-17 14:44:27.640967846 +0300 ++++ mesa-25.2.0/debian/patches/series 2025-06-17 14:45:04.690440415 +0300 +@@ -2,4 +2,3 @@ + src_glx_dri_common.h.diff + disable_ppc64el_assembly.diff + drisw-Avoid-crashing-when-swrast_loader-NULL.patch +-etnaviv-add-support-for-texelfetch.patch From 53e17b8beab92ffd30d2049651fc12117c0dc36d Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Thu, 12 Jun 2025 12:51:51 +0300 Subject: [PATCH 3/9] overlay-debs/mesa-snapshot: import patchset implementing RGB888 support Import patchset from Mesa MR 35316, implementing 24-bit texture formats support. Signed-off-by: Dmitry Baryshkov --- .../mesa-snapshot/mesa_25.2.0.debdiff | 484 ++++++++++++++++++ 1 file changed, 484 insertions(+) diff --git a/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff index 9fb60f3..2a478ff 100644 --- a/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff +++ b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff @@ -491,6 +491,489 @@ diff -Nru mesa-25.2.0-orig/debian/patches/path_max.diff mesa-25.2.0/debian/patch static int (*backends[])(struct pipe_loader_device **, int) = { + #ifdef HAVE_LIBDRM + &pipe_loader_drm_probe, +--- mesa-25.2.0-orig/debian/patches/35316.patch 2025-06-17 11:40:36.606796770 +0300 ++++ mesa-25.2.0/debian/patches/35316.patch 2025-06-17 15:02:11.471138105 +0300 +@@ -0,0 +1,480 @@ ++From: Lakshman Chandu Kondreddy ++Subject: freedreno: Add sampling support for RGB/BGR 24-bit component texture formats ++Origin: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35316 ++ ++From 4dad7976fa994be0edf9e15fda269610e7fd2895 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 16:56:38 +0530 ++Subject: [PATCH 01/10] egl/dri2: Add R8G8B8/B8G8R8 pipe formats for pbuffer ++ configs ++ ++Extend the list of pipe_format by adding R8G8B8/B8G8R8 pipe formats ++which helps in enabling support for RGB888/BGR888 DRM formats. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/egl/drivers/dri2/egl_dri2.c | 2 ++ ++ 1 file changed, 2 insertions(+) ++ ++diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c ++index 2489a87f90849..51530e8ce52e9 100644 ++--- a/src/egl/drivers/dri2/egl_dri2.c +++++ b/src/egl/drivers/dri2/egl_dri2.c ++@@ -86,6 +86,8 @@ static const enum pipe_format dri2_pbuffer_visuals[] = { ++ PIPE_FORMAT_B10G10R10X2_UNORM, ++ PIPE_FORMAT_BGRA8888_UNORM, ++ PIPE_FORMAT_BGRX8888_UNORM, +++ PIPE_FORMAT_B8G8R8_UNORM, +++ PIPE_FORMAT_R8G8B8_UNORM, ++ PIPE_FORMAT_B5G6R5_UNORM, ++ }; ++ ++-- ++GitLab ++ ++ ++From bcefd8376bfcfd4682aa23eedbaa43617e84c379 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 17:11:26 +0530 ++Subject: [PATCH 02/10] egl/wayland: Add support for RGB888/BGR888 DRM formats ++ ++Add the WL_DRM_FORMAT_* and other respective fields for these ++2 formats to dri2_wl_visual config. ++This helps in enabling support to the wayland plaform as the index ++of this struct used in tracking formats supported by wayland server. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/egl/drivers/dri2/platform_wayland.c | 12 ++++++++++++ ++ 1 file changed, 12 insertions(+) ++ ++diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c ++index 4a760c17d1337..2930cb396e050 100644 ++--- a/src/egl/drivers/dri2/platform_wayland.c +++++ b/src/egl/drivers/dri2/platform_wayland.c ++@@ -139,6 +139,18 @@ static const struct dri2_wl_visual { ++ PIPE_FORMAT_NONE, ++ WL_DRM_FORMAT_XBGR8888, ++ }, +++ { +++ WL_DRM_FORMAT_RGB888, +++ PIPE_FORMAT_B8G8R8_UNORM, +++ PIPE_FORMAT_NONE, +++ WL_DRM_FORMAT_RGB888, +++ }, +++ { +++ WL_DRM_FORMAT_BGR888, +++ PIPE_FORMAT_R8G8B8_UNORM, +++ PIPE_FORMAT_NONE, +++ WL_DRM_FORMAT_BGR888, +++ }, ++ { ++ WL_DRM_FORMAT_RGB565, ++ PIPE_FORMAT_B5G6R5_UNORM, ++-- ++GitLab ++ ++ ++From 6d2a400116cf08e1e94489f2b7add9681e77991e Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 17:48:45 +0530 ++Subject: [PATCH 03/10] wayland-drm: Extend wayland-drm to support ++ RGB888/BGR888 formats ++ ++For usecases on wayland platform can't create drm buffers ++with RGB/BGR 24bit formats without this commit. ++Check above wl_drm formats are valid or not before creating buffers. ++Also, add wl_resource_post_event() for both wl_drm formats, ++wayland clients can query EGL for RGB888/BGR888 format ++buffers and attach those buffers to wayland compositor. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/egl/wayland/wayland-drm/wayland-drm.c | 4 ++++ ++ 1 file changed, 4 insertions(+) ++ ++diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c ++index e4751fd83e567..9eed3b6ca121b 100644 ++--- a/src/egl/wayland/wayland-drm/wayland-drm.c +++++ b/src/egl/wayland/wayland-drm/wayland-drm.c ++@@ -114,6 +114,8 @@ drm_create_buffer(struct wl_client *client, struct wl_resource *resource, ++ case WL_DRM_FORMAT_XRGB2101010: ++ case WL_DRM_FORMAT_ARGB8888: ++ case WL_DRM_FORMAT_XRGB8888: +++ case WL_DRM_FORMAT_RGB888: +++ case WL_DRM_FORMAT_BGR888: ++ case WL_DRM_FORMAT_YUYV: ++ case WL_DRM_FORMAT_RGB565: ++ break; ++@@ -230,6 +232,8 @@ bind_drm(struct wl_client *client, void *data, uint32_t version, uint32_t id) ++ ++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_ARGB8888); ++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_XRGB8888); +++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_RGB888); +++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_BGR888); ++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_RGB565); ++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_YUV410); ++ wl_resource_post_event(resource, WL_DRM_FORMAT, WL_DRM_FORMAT_YUV411); ++-- ++GitLab ++ ++ ++From 985b81d7e2c51c3c962ea773a6bc75adf743cb99 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Sat, 10 May 2025 01:04:49 +0530 ++Subject: [PATCH 04/10] freedreno/fdl: Add support for RGB888/BGR888 pipe ++ formats in render buffer creation ++ ++This enables the rendering of RGB/BGR 24-bit format buffers directly ++onto the framebuffer. For RGB888, support already exists for vertex and ++texture formats, so render buffer format support has been added. For ++BGR888, support for vertex, texture and render buffer formats has been ++added. The internal format chosen for both RGB888 and BGR888 is GL_RGB8. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/freedreno/fdl/fd6_format_table.c | 12 ++++++++---- ++ 1 file changed, 8 insertions(+), 4 deletions(-) ++ ++diff --git a/src/freedreno/fdl/fd6_format_table.c b/src/freedreno/fdl/fd6_format_table.c ++index 653f0547bc4f1..969f15682cd98 100644 ++--- a/src/freedreno/fdl/fd6_format_table.c +++++ b/src/freedreno/fdl/fd6_format_table.c ++@@ -119,12 +119,16 @@ static const struct fd6_format formats[PIPE_FORMAT_COUNT] = { ++ _TC(A4B4G4R4_UNORM, 4_4_4_4_UNORM, XYZW), ++ ++ /* 24-bit */ ++- VT_(R8G8B8_UNORM, 8_8_8_UNORM, WZYX), ++- VT_(R8G8B8_SNORM, 8_8_8_SNORM, WZYX), ++- VT_(R8G8B8_UINT, 8_8_8_UINT, WZYX), ++- VT_(R8G8B8_SINT, 8_8_8_SINT, WZYX), +++ VTC(R8G8B8_UNORM, 8_8_8_UNORM, WZYX), +++ VTC(R8G8B8_SNORM, 8_8_8_SNORM, WZYX), +++ VTC(R8G8B8_UINT, 8_8_8_UINT, WZYX), +++ VTC(R8G8B8_SINT, 8_8_8_SINT, WZYX), ++ V__(R8G8B8_USCALED, 8_8_8_UINT, WZYX), ++ V__(R8G8B8_SSCALED, 8_8_8_SINT, WZYX), +++ VTC(B8G8R8_UNORM, 8_8_8_UNORM, WXYZ), +++ VTC(B8G8R8_SNORM, 8_8_8_SNORM, WXYZ), +++ VTC(B8G8R8_UINT, 8_8_8_UINT, WXYZ), +++ VTC(B8G8R8_SINT, 8_8_8_SINT, WXYZ), ++ ++ /* 32-bit */ ++ V__(R32_UNORM, 32_UNORM, WZYX), ++-- ++GitLab ++ ++ ++From 3551214d6d34ceb355d84b4db03cae486d11272c Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Sat, 10 May 2025 01:11:24 +0530 ++Subject: [PATCH 05/10] freedreno/a6xx: Add support for some NPOT block size ++ formats ++ ++This enables support for sampler view and shader image for ++non power of two formats such as RGB888/BGR888. ++As the above mentioned formats are of 24 bit, block size ++for each format is 3. So added condition to check this ++for PIPE_BIND_SHADER_IMAGE. ++For sampler view, dropped PIPE_BUFFER check as ++PIPE_BIND_SAMPLER_VIEW is solely used for texture sampling. ++ ++Co-Developed-by: Lakshman Chandu Kondreddy ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/gallium/drivers/freedreno/a6xx/fd6_screen.cc | 13 ++++++++----- ++ 1 file changed, 8 insertions(+), 5 deletions(-) ++ ++diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_screen.cc b/src/gallium/drivers/freedreno/a6xx/fd6_screen.cc ++index 1b8ad6add2619..efd9a9899d431 100644 ++--- a/src/gallium/drivers/freedreno/a6xx/fd6_screen.cc +++++ b/src/gallium/drivers/freedreno/a6xx/fd6_screen.cc ++@@ -66,11 +66,14 @@ fd6_screen_is_format_supported(struct pipe_screen *pscreen, ++ bool has_color = fd6_color_format(format, TILE6_LINEAR) != FMT6_NONE; ++ bool has_tex = fd6_texture_format_supported(screen->info, format, TILE6_LINEAR, false); ++ ++- if ((usage & (PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_SHADER_IMAGE)) && ++- has_tex && ++- (target == PIPE_BUFFER || ++- util_is_power_of_two_or_zero(util_format_get_blocksize(format)))) { ++- retval |= usage & (PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_SHADER_IMAGE); +++ if ((usage & PIPE_BIND_SHADER_IMAGE) && has_tex && +++ (target == PIPE_BUFFER || (util_format_get_blocksize(format) == 3) +++ || util_is_power_of_two_or_zero(util_format_get_blocksize(format)))) { +++ retval |= usage & PIPE_BIND_SHADER_IMAGE; +++ } +++ +++ if ((usage & PIPE_BIND_SAMPLER_VIEW) && has_tex) { +++ retval |= usage & PIPE_BIND_SAMPLER_VIEW; ++ } ++ ++ if (usage & PIPE_BIND_SHADER_IMAGE) { ++-- ++GitLab ++ ++ ++From 1f471864d7ef0cb5ee012dba820acea2de2fb754 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 10:46:17 +0530 ++Subject: [PATCH 06/10] loader/dri: Add support for RGB888 and BGR888 image ++ formats ++ ++Added support for RGB888/BGR888 DRI image formats. ++also, mapped DRI image format with the fourcc format ++for buffer allocations for above mentioned formats ++while image creation. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/loader/loader_dri_helper.c | 4 ++++ ++ src/loader/loader_dri_helper.h | 2 ++ ++ 2 files changed, 6 insertions(+) ++ ++diff --git a/src/loader/loader_dri_helper.c b/src/loader/loader_dri_helper.c ++index ff224b0210442..16cc691c3b684 100644 ++--- a/src/loader/loader_dri_helper.c +++++ b/src/loader/loader_dri_helper.c ++@@ -45,6 +45,8 @@ loader_fourcc_to_image_format(int fourcc) ++ case __DRI_IMAGE_FOURCC_SABGR8888: return __DRI_IMAGE_FORMAT_SABGR8; ++ case __DRI_IMAGE_FOURCC_SXRGB8888: return __DRI_IMAGE_FORMAT_SXRGB8; ++ case DRM_FORMAT_RGB565: return __DRI_IMAGE_FORMAT_RGB565; +++ case DRM_FORMAT_RGB888: return __DRI_IMAGE_FORMAT_RGB888; +++ case DRM_FORMAT_BGR888: return __DRI_IMAGE_FORMAT_BGR888; ++ case DRM_FORMAT_ARGB1555: return __DRI_IMAGE_FORMAT_ARGB1555; ++ case DRM_FORMAT_XRGB8888: return __DRI_IMAGE_FORMAT_XRGB8888; ++ case DRM_FORMAT_ARGB8888: return __DRI_IMAGE_FORMAT_ARGB8888; ++@@ -71,6 +73,8 @@ loader_image_format_to_fourcc(int format) ++ case __DRI_IMAGE_FORMAT_SABGR8: return __DRI_IMAGE_FOURCC_SABGR8888; ++ case __DRI_IMAGE_FORMAT_SXRGB8: return __DRI_IMAGE_FOURCC_SXRGB8888; ++ case __DRI_IMAGE_FORMAT_RGB565: return DRM_FORMAT_RGB565; +++ case __DRI_IMAGE_FORMAT_RGB888: return DRM_FORMAT_RGB888; +++ case __DRI_IMAGE_FORMAT_BGR888: return DRM_FORMAT_BGR888; ++ case __DRI_IMAGE_FORMAT_XRGB8888: return DRM_FORMAT_XRGB8888; ++ case __DRI_IMAGE_FORMAT_ARGB8888: return DRM_FORMAT_ARGB8888; ++ case __DRI_IMAGE_FORMAT_ABGR8888: return DRM_FORMAT_ABGR8888; ++diff --git a/src/loader/loader_dri_helper.h b/src/loader/loader_dri_helper.h ++index c0a11f374ecd7..f92d1fdacf5e1 100644 ++--- a/src/loader/loader_dri_helper.h +++++ b/src/loader/loader_dri_helper.h ++@@ -79,6 +79,8 @@ struct loader_screen_resources { ++ #define __DRI_IMAGE_FORMAT_ARGB8888 PIPE_FORMAT_BGRA8888_UNORM ++ #define __DRI_IMAGE_FORMAT_ABGR8888 PIPE_FORMAT_RGBA8888_UNORM ++ #define __DRI_IMAGE_FORMAT_XBGR8888 PIPE_FORMAT_RGBX8888_UNORM +++#define __DRI_IMAGE_FORMAT_RGB888 PIPE_FORMAT_B8G8R8_UNORM +++#define __DRI_IMAGE_FORMAT_BGR888 PIPE_FORMAT_R8G8B8_UNORM ++ #define __DRI_IMAGE_FORMAT_R8 PIPE_FORMAT_R8_UNORM ++ #define __DRI_IMAGE_FORMAT_GR88 PIPE_FORMAT_RG88_UNORM ++ #define __DRI_IMAGE_FORMAT_NONE PIPE_FORMAT_NONE ++-- ++GitLab ++ ++ ++From 4e61acba2283ac89d8170db96488876818483737 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Fri, 16 May 2025 23:51:48 +0530 ++Subject: [PATCH 07/10] frontends/dri: Add format and DRI image mapping for ++ RGB888/BGR888 ++ ++Add mapping for RGB888/BGR888 DRM formats with the ++respective fields in dri2_format_mapping config. ++also, Add mapping for DRI image with internal GL format. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/gallium/frontends/dri/dri_helpers.c | 6 ++++++ ++ src/gallium/frontends/dri/dri_util.c | 8 ++++++++ ++ 2 files changed, 14 insertions(+) ++ ++diff --git a/src/gallium/frontends/dri/dri_helpers.c b/src/gallium/frontends/dri/dri_helpers.c ++index 1d2ba6a627cf8..7613221204db2 100644 ++--- a/src/gallium/frontends/dri/dri_helpers.c +++++ b/src/gallium/frontends/dri/dri_helpers.c ++@@ -461,6 +461,12 @@ static const struct dri2_format_mapping dri2_format_table[] = { ++ { DRM_FORMAT_XBGR8888, __DRI_IMAGE_FORMAT_XBGR8888, ++ __DRI_IMAGE_COMPONENTS_RGB, PIPE_FORMAT_RGBX8888_UNORM, 1, ++ { { 0, 0, 0, __DRI_IMAGE_FORMAT_XBGR8888 } } }, +++ { DRM_FORMAT_RGB888, __DRI_IMAGE_FORMAT_RGB888, +++ __DRI_IMAGE_COMPONENTS_RGB, PIPE_FORMAT_B8G8R8_UNORM, 1, +++ { { 0, 0, 0, __DRI_IMAGE_FORMAT_RGB888 } } }, +++ { DRM_FORMAT_BGR888, __DRI_IMAGE_FORMAT_BGR888, +++ __DRI_IMAGE_COMPONENTS_RGB, PIPE_FORMAT_R8G8B8_UNORM, 1, +++ { { 0, 0, 0, __DRI_IMAGE_FORMAT_BGR888 } } }, ++ { DRM_FORMAT_ARGB1555, __DRI_IMAGE_FORMAT_ARGB1555, ++ __DRI_IMAGE_COMPONENTS_RGBA, PIPE_FORMAT_B5G5R5A1_UNORM, 1, ++ { { 0, 0, 0, __DRI_IMAGE_FORMAT_ARGB1555 } } }, ++diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c ++index 9ee8c1156c796..44817eb75e396 100644 ++--- a/src/gallium/frontends/dri/dri_util.c +++++ b/src/gallium/frontends/dri/dri_util.c ++@@ -872,6 +872,14 @@ static const struct { ++ uint32_t image_format; ++ GLenum internal_format; ++ } format_mapping[] = { +++ { +++ .image_format = __DRI_IMAGE_FORMAT_RGB888, +++ .internal_format = GL_RGB8, +++ }, +++ { +++ .image_format = __DRI_IMAGE_FORMAT_BGR888, +++ .internal_format = GL_RGB8, +++ }, ++ { ++ .image_format = __DRI_IMAGE_FORMAT_RGB565, ++ .internal_format = GL_RGB565, ++-- ++GitLab ++ ++ ++From 13c115fa1baa9a7dcd3449ca2c9abda47ceeec2a Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 09:42:49 +0530 ++Subject: [PATCH 08/10] gbm/dri: Map RGB888/BGR888 GBM formats with pipe ++ formats ++ ++Add mappings for GBM formats to pipe formats in gbm_dri_visual config. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/gbm/backends/dri/gbm_dri.c | 2 ++ ++ 1 file changed, 2 insertions(+) ++ ++diff --git a/src/gbm/backends/dri/gbm_dri.c b/src/gbm/backends/dri/gbm_dri.c ++index 99c37bad75ca0..8669d30c5af19 100644 ++--- a/src/gbm/backends/dri/gbm_dri.c +++++ b/src/gbm/backends/dri/gbm_dri.c ++@@ -314,6 +314,8 @@ static const struct gbm_dri_visual gbm_dri_visuals_table[] = { ++ { GBM_FORMAT_GR1616, PIPE_FORMAT_R16G16_UNORM }, ++ { GBM_FORMAT_ARGB1555, PIPE_FORMAT_B5G5R5A1_UNORM }, ++ { GBM_FORMAT_RGB565, PIPE_FORMAT_B5G6R5_UNORM }, +++ { GBM_FORMAT_RGB888, PIPE_FORMAT_B8G8R8_UNORM }, +++ { GBM_FORMAT_BGR888, PIPE_FORMAT_R8G8B8_UNORM }, ++ { GBM_FORMAT_BGRX8888, PIPE_FORMAT_X8R8G8B8_UNORM }, ++ { GBM_FORMAT_BGRA8888, PIPE_FORMAT_A8R8G8B8_UNORM }, ++ { GBM_FORMAT_RGBX8888, PIPE_FORMAT_X8B8G8R8_UNORM }, ++-- ++GitLab ++ ++ ++From d8e3c2b7c5acf3674a814757daa0cc98d83ae54b Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 11:13:16 +0530 ++Subject: [PATCH 09/10] mesa/st: Add support for R8G8B8/B8G8R8 pipe formats ++ ++Defined R8G8B8/B8G8R8 pipe formats. ++also mapped these pipe formats to the GL internal format. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/mesa/state_tracker/st_format.c | 4 +++- ++ src/mesa/state_tracker/st_manager.c | 1 + ++ 2 files changed, 4 insertions(+), 1 deletion(-) ++ ++diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c ++index 938c4d0048082..236e32d7633af 100644 ++--- a/src/mesa/state_tracker/st_format.c +++++ b/src/mesa/state_tracker/st_format.c ++@@ -190,7 +190,7 @@ st_pipe_format_to_mesa_format(enum pipe_format format) ++ struct format_mapping ++ { ++ GLenum glFormats[18]; /**< list of GLenum formats, 0-terminated */ ++- enum pipe_format pipeFormats[14]; /**< list of pipe formats, 0-terminated */ +++ enum pipe_format pipeFormats[16]; /**< list of pipe formats, 0-terminated */ ++ }; ++ ++ ++@@ -206,6 +206,8 @@ struct format_mapping ++ PIPE_FORMAT_B8G8R8X8_UNORM, \ ++ PIPE_FORMAT_X8R8G8B8_UNORM, \ ++ PIPE_FORMAT_X8B8G8R8_UNORM, \ +++ PIPE_FORMAT_R8G8B8_UNORM, \ +++ PIPE_FORMAT_B8G8R8_UNORM, \ ++ PIPE_FORMAT_B5G6R5_UNORM, \ ++ DEFAULT_RGBA_FORMATS ++ ++diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c ++index 62ffc317054b4..6bdf1ea766919 100644 ++--- a/src/mesa/state_tracker/st_manager.c +++++ b/src/mesa/state_tracker/st_manager.c ++@@ -368,6 +368,7 @@ st_new_renderbuffer_fb(enum pipe_format format, unsigned samples, bool sw) ++ case PIPE_FORMAT_B8G8R8X8_UNORM: ++ case PIPE_FORMAT_X8R8G8B8_UNORM: ++ case PIPE_FORMAT_R8G8B8_UNORM: +++ case PIPE_FORMAT_B8G8R8_UNORM: ++ rb->InternalFormat = GL_RGB8; ++ break; ++ case PIPE_FORMAT_R8G8B8A8_SRGB: ++-- ++GitLab ++ ++ ++From 98e2436c49e2cec67d37e89d2d4e9988b9843ba7 Mon Sep 17 00:00:00 2001 ++From: "Petar G. Georgiev" ++Date: Mon, 12 May 2025 11:49:06 +0530 ++Subject: [PATCH 10/10] util: Add pack and unpack for R8G8B8/B8G8R8 ++ ++This helps in packing and unpacking the R8G8B8/B8G8R8 ++pipe formats which are of uint8 type. ++ ++Signed-off-by: Petar G. Georgiev ++Signed-off-by: Lakshman Chandu Kondreddy ++--- ++ src/util/u_pack_color.h | 27 +++++++++++++++++++++++++++ ++ 1 file changed, 27 insertions(+) ++ ++diff --git a/src/util/u_pack_color.h b/src/util/u_pack_color.h ++index 7d5bf7f35457f..b646729fda540 100644 ++--- a/src/util/u_pack_color.h +++++ b/src/util/u_pack_color.h ++@@ -94,6 +94,16 @@ util_pack_color_ub(uint8_t r, uint8_t g, uint8_t b, uint8_t a, ++ uc->ui[0] = (b << 24) | (g << 16) | (r << 8) | 0xff; ++ } ++ return; +++ case PIPE_FORMAT_R8G8B8_UNORM: +++ { +++ uc->ui[0] = (b << 16) | (g << 8) | r; +++ } +++ return; +++ case PIPE_FORMAT_B8G8R8_UNORM: +++ { +++ uc->ui[0] = (r << 16) | (g << 8) | b; +++ } +++ return; ++ case PIPE_FORMAT_B5G6R5_UNORM: ++ { ++ uc->us = ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | (b >> 3); ++@@ -219,6 +229,23 @@ util_unpack_color_ub(enum pipe_format format, union util_color *uc, ++ *a = (uint8_t) 0xff; ++ } ++ return; +++ case PIPE_FORMAT_R8G8B8_UNORM: +++ { +++ uint32_t p = uc->ui[0]; +++ *r = (uint8_t) (p & 0xff); +++ *g = (uint8_t) ((p >> 8) & 0xff); +++ *b = (uint8_t) ((p >> 16) & 0xff); +++ *a = (uint8_t) 0xff; +++ } +++ return; +++ case PIPE_FORMAT_B8G8R8_UNORM: +++ { +++ uint32_t p = uc->ui[0]; +++ *r = (uint8_t) ((p >> 16) & 0xff); +++ *g = (uint8_t) ((p >> 8) & 0xff); +++ *b = (uint8_t) (p & 0xff); +++ *a = (uint8_t) 0xff; +++ } ++ case PIPE_FORMAT_B5G6R5_UNORM: ++ { ++ uint16_t p = uc->us; ++-- ++GitLab ++ diff -Nru mesa-25.2.0-orig/debian/patches/series mesa-25.2.0/debian/patches/series --- mesa-25.2.0-orig/debian/patches/series 2025-06-17 14:44:27.640967846 +0300 +++ mesa-25.2.0/debian/patches/series 2025-06-17 14:45:04.690440415 +0300 @@ -499,3 +982,4 @@ diff -Nru mesa-25.2.0-orig/debian/patches/series mesa-25.2.0/debian/patches/seri disable_ppc64el_assembly.diff drisw-Avoid-crashing-when-swrast_loader-NULL.patch -etnaviv-add-support-for-texelfetch.patch ++35316.patch From 87c113213e9653ef83835e6db24cbb2e89fa8a3f Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Mon, 23 Jun 2025 13:26:48 +0300 Subject: [PATCH 4/9] overlay-debs/mesa-snapshot: pull in FP16 fixes Update commit ID to a recent one, which, among other changes, pulls in FP16 fixes in the freedreno driver. Signed-off-by: Dmitry Baryshkov --- overlay-debs/mesa-snapshot/mesa-snapshot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.yaml b/overlay-debs/mesa-snapshot/mesa-snapshot.yaml index cdb5df5..eff0d8c 100644 --- a/overlay-debs/mesa-snapshot/mesa-snapshot.yaml +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.yaml @@ -4,4 +4,4 @@ debdiff_file: "mesa_25.2.0.debdiff" script: mesa-snapshot.sh suite: trixie env: - COMMIT: 8d13fc447e346477bab7e1b587c55fe0451ee654 + COMMIT: de1ce0f75e98f6fcdc8b7a7b495f54a2060a5896 From ca86dfe9d2faf55724a758fd961b05692da89200 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Mon, 23 Jun 2025 13:28:45 +0300 Subject: [PATCH 5/9] overlay-debs/mesa-snapshot: enable relevant OpenCL drivers by default Opt-in and use the gallium-rusticl-enable-drivers in order to enable RustiCL drivers which can be enabled by default: asahi, freedreno and radeonsi. The rest of the drivers still need an explicit RUSTICL_ENABLE environment variable. Signed-off-by: Dmitry Baryshkov --- .../mesa-snapshot/mesa_25.2.0.debdiff | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff index 2a478ff..c7d2712 100644 --- a/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff +++ b/overlay-debs/mesa-snapshot/mesa_25.2.0.debdiff @@ -282,6 +282,22 @@ diff -Nru mesa-25.2.0-orig/debian/rules mesa-25.2.0/debian/rules export PATH:=/usr/lib/llvm-$(LLVM_VERSION)/bin/:$(PATH) export DEB_BUILD_MAINT_OPTIONS=optimize=-lto +@@ -46,6 +46,7 @@ + GALLIUM_DRIVERS = softpipe + VULKAN_DRIVERS = + VULKAN_LAYERS = ++RUSTICL_ENABLE = + + confflags_SSE2 = -Dsse2=true + confflags_TEFLON = -Dteflon=false +@@ -76,6 +77,7 @@ + # Freedreno requires arm in addition + ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU))) + GALLIUM_DRIVERS += freedreno ++ RUSTICL_ENABLE += freedreno + endif + + # etnaviv, tegra, vc4 and v3d kernel support are only available on armhf and arm64 @@ -92,8 +92,6 @@ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) GALLIUM_DRIVERS += crocus i915 iris svga @@ -291,6 +307,21 @@ diff -Nru mesa-25.2.0-orig/debian/rules mesa-25.2.0/debian/rules endif ifneq (,$(filter $(DEB_HOST_ARCH), amd64)) +@@ -111,12 +113,14 @@ + ifneq (,$(filter $(DEB_HOST_ARCH), arm64 amd64 i386)) + GALLIUM_DRIVERS += asahi + VULKAN_DRIVERS += asahi ++ RUSTICL_ENABLE += asahi + endif + + # LLVM is required for building r300g, radeonsi and llvmpipe drivers. + # It's also required for building OpenCL support. + ifneq (,$(filter $(DEB_HOST_ARCH), $(LLVM_ARCHS))) + GALLIUM_DRIVERS += radeonsi zink llvmpipe ++ RUSTICL_ENABLE += radeonsi + + # drop virtio from armel, it doesn't build + ifneq (,$(filter $(DEB_HOST_ARCH), armel)) @@ -129,7 +127,6 @@ VULKAN_LAYERS += device-select intel-nullhw overlay @@ -311,6 +342,18 @@ diff -Nru mesa-25.2.0-orig/debian/rules mesa-25.2.0/debian/rules # gfxstream only builds on 64bit ifeq ($(DEB_HOST_ARCH_BITS),64) VULKAN_DRIVERS += gfxstream +@@ -172,6 +176,11 @@ + VULKAN_DRIVERS_LIST := $(subst $(space),$(comma),$(VULKAN_DRIVERS)) + VULKAN_LAYERS := $(patsubst %,'%',$(VULKAN_LAYERS)) + VULKAN_LAYERS_LIST := $(subst $(space),$(comma),$(VULKAN_LAYERS)) ++RUSTICL_ENABLE := $(patsubst %,'%',$(RUSTICL_ENABLE)) ++RUSTICL_ENABLE_LIST := $(subst $(space),$(comma),$(RUSTICL_ENABLE)) ++ifneq (,$(filter $(DEB_HOST_ARCH), $(RUSTICL_ARCHS))) ++confflags_GALLIUM += -Dgallium-rusticl-enable-drivers="[$(RUSTICL_ENABLE_LIST)]" ++endif + + confflags_GLES = -Dgles1=disabled -Dgles2=enabled + confflags_GALLIUM += -Dgallium-drivers="[$(GALLIUM_DRIVERS_LIST)]" @@ -205,7 +197,7 @@ rewrite_wrap_files: From ba0c2a3267f98845b03950ad1a65d2ad7aa2ef43 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshkov Date: Mon, 23 Jun 2025 16:27:49 +0300 Subject: [PATCH 6/9] overlay-debs/mesa-snapshot: use qcom-specific version Specify debian revision as -0qcom1 instead of just -0 in order to point out that it is a Qualcomm-specific build. Signed-off-by: Dmitry Baryshkov --- overlay-debs/mesa-snapshot/mesa-snapshot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.sh b/overlay-debs/mesa-snapshot/mesa-snapshot.sh index a168b2a..0fbc490 100755 --- a/overlay-debs/mesa-snapshot/mesa-snapshot.sh +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.sh @@ -30,7 +30,7 @@ rm -rf debian tar xJf ${DEB_FILE} cat >> debian/changelog.tmp << EOF -mesa (${version}-0) experimental; urgency=medium +mesa (${version}-0qcom1) experimental; urgency=medium * Build git version from ${date}, commit ${subject} From 76162c86d92842b09c0762637997ad1dc8a36186 Mon Sep 17 00:00:00 2001 From: Robie Basak Date: Wed, 25 Jun 2025 14:29:44 +0100 Subject: [PATCH 7/9] mesa-snapshot.sh: quote shell variables This fixes shellcheck "SC2086 (info): Double quote to prevent globbing and word splitting." Signed-off-by: Robie Basak --- overlay-debs/mesa-snapshot/mesa-snapshot.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.sh b/overlay-debs/mesa-snapshot/mesa-snapshot.sh index 0fbc490..2921d62 100755 --- a/overlay-debs/mesa-snapshot/mesa-snapshot.sh +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.sh @@ -8,26 +8,26 @@ COMMIT=${COMMIT:-origin/main} set -e DEB_FILE=${DSC_FILE%%.dsc}.debian.tar.xz -ORIG_FILE=$(echo ${DSC_FILE} | sed -e 's/-.*/.orig.tar.xz/') +ORIG_FILE=$(echo "${DSC_FILE}" | sed -e 's/-.*/.orig.tar.xz/') rm -rf mesa git clone --depth 1 https://gitlab.freedesktop.org/mesa/mesa cd mesa -git fetch --depth 1 origin ${COMMIT##origin/} +git fetch --depth 1 origin "${COMMIT##origin/}" -date=$(git log -1 --format=%cd --date=format:%Y%m%d ${COMMIT}) -subject=$(git log -1 --format="%h (\"%s\")" ${COMMIT}) +date=$(git log -1 --format=%cd --date=format:%Y%m%d "${COMMIT}") +subject=$(git log -1 --format="%h (\"%s\")" "${COMMIT}") version=25.2.0~git${date} -rm -rf ../mesa-${version} -mkdir ../mesa-${version} -git archive --format=tar HEAD | tar x -C ../mesa-${version} +rm -rf ../mesa-"${version}" +mkdir ../mesa-"${version}" +git archive --format=tar HEAD | tar x -C ../mesa-"${version}" -cd ../mesa-${version} +cd ../mesa-"${version}" rm -rf debian -tar xJf ${DEB_FILE} +tar xJf "${DEB_FILE}" cat >> debian/changelog.tmp << EOF mesa (${version}-0qcom1) experimental; urgency=medium @@ -49,4 +49,4 @@ debian/rules gentarball rm -rf ../mesa -rm ${DSC_FILE} ${DEB_FILE} ${ORIG_FILE}* +rm "${DSC_FILE}" "${DEB_FILE}" "${ORIG_FILE}"* From 801a273dc8d67917c9381a9d66a53afccf55a92f Mon Sep 17 00:00:00 2001 From: Robie Basak Date: Wed, 25 Jun 2025 14:48:02 +0100 Subject: [PATCH 8/9] mesa-snapshot.sh: ignore shellcheck false positive DSC_FILE is guaranteed to be defined as part of the call API from build-deb.py here. Signed-off-by: Robie Basak --- overlay-debs/mesa-snapshot/mesa-snapshot.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/overlay-debs/mesa-snapshot/mesa-snapshot.sh b/overlay-debs/mesa-snapshot/mesa-snapshot.sh index 2921d62..3834609 100755 --- a/overlay-debs/mesa-snapshot/mesa-snapshot.sh +++ b/overlay-debs/mesa-snapshot/mesa-snapshot.sh @@ -7,6 +7,11 @@ COMMIT=${COMMIT:-origin/main} set -e +# Reported by shellcheck: SC2153 (info): Possible misspelling: DSC_FILE may not +# be assigned. Did you mean DEB_FILE? +# +# DSC_FILE is guaranteed to be defined as part of the call API from build-deb.py +# shellcheck disable=SC2153 DEB_FILE=${DSC_FILE%%.dsc}.debian.tar.xz ORIG_FILE=$(echo "${DSC_FILE}" | sed -e 's/-.*/.orig.tar.xz/') From 37bd828f62e3dcea8f3d2c5078133ec96e5708ce Mon Sep 17 00:00:00 2001 From: Robie Basak Date: Wed, 25 Jun 2025 15:54:08 +0100 Subject: [PATCH 9/9] mesa-snapshot: add README.md delta description Signed-off-by: Robie Basak --- overlay-debs/mesa-snapshot/README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 overlay-debs/mesa-snapshot/README.md diff --git a/overlay-debs/mesa-snapshot/README.md b/overlay-debs/mesa-snapshot/README.md new file mode 100644 index 0000000..f72f820 --- /dev/null +++ b/overlay-debs/mesa-snapshot/README.md @@ -0,0 +1,25 @@ +The following changes are being made as our delta against the base packaging +(in `debian/changelog` format): + +``` + [ Dmitry Baryshkov ] + * New upstream snapshot to evaluate upstream Mesa on the RB1 board. + * Backport to trixie: + - Revert to building with LLVM 19 since 20 is not in trixie. + - Drop packages: libxatracker2, libxatracker-dev, + libd3dadapter9-mesa, libd3dadapter9-mesa-dev. + - Build against librust-rustc-hash-2-dev, not librust-rustc-hash-dev. + - Update libegl-mesa0.symbols. + - d/mesa-opencl-icd.install: drop some files. + - d/p/35316.patch: freedreno: Add sampling support for RGB/BGR + 24-bit component texture formats. + - d/p/etnaviv-add-support-for-texelfetch.patch: drop. + - debian/patches/path_max.diff: refresh for context only. + - debian/rules: + + enable relevant OpenCL drivers by default. Opt-in and use the + gallium-rusticl-enable-drivers in order to enable RustiCL drivers which + can be enabled by default: asahi, freedreno and radeonsi. + + Disable gallium-xa and gallium-opencl=icd. + + No longer need to remove mme_{fermi,tu104}_sim_hw_test + - debian/control regenerated from debian/control.in. +```