diff --git a/0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch b/0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch new file mode 100644 index 0000000..810acf3 --- /dev/null +++ b/0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch @@ -0,0 +1,82 @@ +From 917e7e7df07b4523f1160e2a32d5e3ece3d74287 Mon Sep 17 00:00:00 2001 +From: Benjamin Herrenschmidt +Date: Mon, 4 Nov 2024 17:45:45 +1100 +Subject: [PATCH] dril: Fixup order of pixel formats in drilConfigs + +Having the RGB* formats before the BGR* formats in the table causes +problems where under some circumstances, some applications end up +with the wrong colors. + +The repro case for me is: Xvnc + mutter + chromium + +There was an existing comment in dri_fill_in_modes() which explained +the problem. This was lost when dril_target.c was created. + +Fixes: ec7afd2c24c ("dril: rework config creation") +Fixes: 3de62b2f9a6 ("gallium/dril: Compatibility stub for the legacy DRI loader interface") + +Signed-off-by: Benjamin Herrenschmidt +--- + src/gallium/targets/dril/dril_target.c | 36 +++++++++++++++++++------- + 1 file changed, 27 insertions(+), 9 deletions(-) + +diff --git a/src/gallium/targets/dril/dril_target.c b/src/gallium/targets/dril/dril_target.c +index 672d50a4182..583728e4093 100644 +--- a/src/gallium/targets/dril/dril_target.c ++++ b/src/gallium/targets/dril/dril_target.c +@@ -47,25 +47,43 @@ + CONFIG_ZS(color, PIPE_FORMAT_Z16_UNORM), \ + CONFIG_ZS(color, PIPE_FORMAT_NONE) \ + ++/* ++ * (copy of a comment in dri_screen.c:dri_fill_in_modes()) ++ * ++ * The 32-bit RGBA format must not precede the 32-bit BGRA format. ++ * Likewise for RGBX and BGRX. Otherwise, the GLX client and the GLX ++ * server may disagree on which format the GLXFBConfig represents, ++ * resulting in swapped color channels. ++ * ++ * The problem, as of 2017-05-30: ++ * When matching a GLXFBConfig to a __DRIconfig, GLX ignores the channel ++ * order and chooses the first __DRIconfig with the expected channel ++ * sizes. Specifically, GLX compares the GLXFBConfig's and __DRIconfig's ++ * __DRI_ATTRIB_{CHANNEL}_SIZE but ignores __DRI_ATTRIB_{CHANNEL}_MASK. ++ * ++ * EGL does not suffer from this problem. It correctly compares the ++ * channel masks when matching EGLConfig to __DRIconfig. ++ */ ++ + static const struct gl_config drilConfigs[] = { +- CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), +- CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), + CONFIG(PIPE_FORMAT_B8G8R8A8_UNORM), + CONFIG(PIPE_FORMAT_B8G8R8X8_UNORM), +- CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), +- CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), ++ CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), ++ CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), + CONFIG(PIPE_FORMAT_B10G10R10A2_UNORM), + CONFIG(PIPE_FORMAT_B10G10R10X2_UNORM), +- CONFIG(PIPE_FORMAT_R5G6B5_UNORM), +- CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), +- CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), +- CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), +- CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), ++ CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), ++ CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), + CONFIG(PIPE_FORMAT_B5G6R5_UNORM), + CONFIG(PIPE_FORMAT_B5G5R5A1_UNORM), + CONFIG(PIPE_FORMAT_B5G5R5X1_UNORM), + CONFIG(PIPE_FORMAT_B4G4R4A4_UNORM), + CONFIG(PIPE_FORMAT_B4G4R4X4_UNORM), ++ CONFIG(PIPE_FORMAT_R5G6B5_UNORM), ++ CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), ++ CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), ++ CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), ++ CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), + }; + + #define RGB UTIL_FORMAT_COLORSPACE_RGB +-- +2.43.0 + diff --git a/Mesa.changes b/Mesa.changes index 8741012..36aae33 100644 --- a/Mesa.changes +++ b/Mesa.changes @@ -1,3 +1,110 @@ +------------------------------------------------------------------- +Wed Nov 6 17:34:15 UTC 2024 - Stefan Dirsch + +- 0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch + * fixes colors for 'swrast' driver (boo#1230637, gitlab issue#11840) + +------------------------------------------------------------------- +Thu Oct 31 19:35:20 UTC 2024 - Marcus Rueckert + +- Update to release 24.2.6 + --> https://docs.mesa3d.org/relnotes/24.2.6 + +------------------------------------------------------------------- +Thu Oct 31 19:15:10 UTC 2024 - Stefan Dirsch + +- added -32bit package for Mesa-libva since it's needed by Steam; + reported on packman ML: + https://lists.links2linux.de/pipermail/packman/2024-October/017985.html + +------------------------------------------------------------------- +Fri Oct 18 11:00:17 UTC 2024 - Andreas Färber + +- Enable intel Vulkan backends on riscv64 (boo#1231756) +- Enable iris Gallium backend on riscv64, Power and on Arm, too + +------------------------------------------------------------------- +Thu Oct 17 10:16:01 UTC 2024 - Marcus Rueckert + +- Update to release 24.2.5 + --> https://docs.mesa3d.org/relnotes/24.2.5 +- drop u_fix-llvm19-build.patch + included in upstream + +------------------------------------------------------------------- +Thu Oct 3 19:00:29 UTC 2024 - Marcus Rueckert + +- Update to release 24.2.4 + --> https://docs.mesa3d.org/relnotes/24.2.4 + +------------------------------------------------------------------- +Tue Oct 1 11:08:36 UTC 2024 - Stefan Dirsch + +- u_mesa-CVE-2023-45913.patch + * NULL pointer dereference via dri2GetGlxDrawableFromXDrawableId() + (CVE-2023-45913, bsc#1222040) +- u_mesa-CVE-2023-45919.patch + * buffer over-read in glXQueryServerString() + (CVE-2023-45919, bsc#1222041) +- u_mesa-CVE-2023-45922.patch + * segmentation violation in __glXGetDrawableAttribute() + (CVE-2023-45922, bsc#1222042) + +------------------------------------------------------------------- +Mon Sep 23 16:56:40 UTC 2024 - Marcus Rueckert + +- libvdpau_gallium was linked directly into libgallium-*.so.*. + Drop the subpackage and provides/obsolete it via Mesa-dri which + ships libgallium-*.so.*. + +------------------------------------------------------------------- +Mon Sep 23 16:37:33 UTC 2024 - Marcus Rueckert + +- drop u_fix_rust_bindgen.patch + included in update + +------------------------------------------------------------------- +Mon Sep 23 16:32:05 UTC 2024 - Marcus Rueckert + +- Update to release 24.2.3 + --> https://docs.mesa3d.org/relnotes/24.2.3 + +------------------------------------------------------------------- +Mon Sep 23 10:58:19 UTC 2024 - Stefan Dirsch + +- disable build of rusticl on sle15; meson is just too old ... + +------------------------------------------------------------------- +Mon Sep 23 10:51:31 UTC 2024 - Stefan Dirsch + +- buildrequires: rusticl needs mesa >= 1.4.0 + +------------------------------------------------------------------- +Mon Sep 23 10:40:35 UTC 2024 - Stefan Dirsch + +- tlsdesc_test.patch: disable LTO in tlsdesc_test to suppress TLS + relaxation (patch by Andreas Schwab ); see also + https://gitlab.freedesktop.org/mesa/mesa/-/issues/11929 + +------------------------------------------------------------------- +Mon Sep 23 10:36:35 UTC 2024 - Stefan Dirsch + +- buildrequire llvm19-devel/clang19-devel on sle15-sp7 + +------------------------------------------------------------------- +Sun Sep 22 12:02:17 UTC 2024 - Aaron Puchert + +- Add u_fix-llvm19-build.patch to fix build with LLVM 19 on ARM. +- Update minimum version requirements based on meson.build. +- Fix build on s390x: apparently we don't have libvdpau_gallium.so. + +------------------------------------------------------------------- +Fri Sep 13 17:39:59 UTC 2024 - Marcus Rueckert + +- drop U_egl-x11-sw-fix-partial-image-uploads.patch: + the code in the function saw further fixes later on in the 24.2 + branch. + ------------------------------------------------------------------- Fri Sep 13 15:42:12 UTC 2024 - Stefan Dirsch @@ -5,6 +112,47 @@ Fri Sep 13 15:42:12 UTC 2024 - Stefan Dirsch * culprit for the regression in 24.1.4; reverse apply this for now (boo#1228164) +------------------------------------------------------------------- +Tue Sep 10 14:35:00 UTC 2024 - Stefan Dirsch + +- integrated changes by Andreas Schwab + * enable glamor also for driver build + * update rust crates + + syn 2.0.39 + + proc_macro2 1.0.86 + * enable valgrind also on riscv64 + * added libvdpau_gallium package for generic VDPAU state tracker + * switch from "swrast" to "softpipe,llvmpipe" drivers + * use "-Dllvm-orcjit=true" for riscv64 build + * added libgallium to Mesa-dri package + +------------------------------------------------------------------- +Tue Sep 10 13:38:59 UTC 2024 - Stefan Dirsch + +- re-disable llvm for non-driver build by switching from "swrast" + to "softpipe" for gallium drivers in that case +- make previous changelog a bit nicer + +------------------------------------------------------------------- +Sun Sep 8 17:39:10 UTC 2024 - Marcus Rueckert + +- Update to release 24.2.2 + --> https://docs.mesa3d.org/relnotes/24.2.2 + --> https://docs.mesa3d.org/relnotes/24.2.1 + --> https://docs.mesa3d.org/relnotes/24.2.0 + +- refreshed the following patches with quilt: + * U_fix-mpeg1_2-decode-mesa-20.2.patch + * n_add-Mesa-headers-again.patch + * n_stop-iris-flicker.patch + * u_dep_xcb.patch + * u_fix_rust_bindgen.patch +- dropped U_radeonsi-vcn-Add-decode-DPB-buffers-as-CS-dependency.patch +- New BuildRequires: + * python3-PyYAML +- enable llvm also for non-driver build to fix: + "llvmpipe requires LLVM and is enabled, but LLVM is disabled". + ------------------------------------------------------------------- Thu Sep 5 19:20:59 UTC 2024 - Bjørn Lie diff --git a/Mesa.spec b/Mesa.spec index 0192f09..36160fe 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -42,7 +42,7 @@ %define glamor 1 %define _name_archive mesa -%define _version 24.1.7 +%define _version 24.2.6 %define with_opencl 0 %define with_rusticl 0 %define with_vulkan 0 @@ -92,7 +92,7 @@ %endif %ifarch riscv64 %define with_vulkan 1 - %define vulkan_drivers swrast,amd + %define vulkan_drivers swrast,amd,intel,intel_hasvk %endif %endif @@ -107,8 +107,8 @@ %endif %if "%{flavor}" == "drivers" - %define glamor 0 -%if ((0%{?suse_version} >= 1550) || (0%{?sle_version} >= 150600)) && 0%{with_opencl} + %define glamor 1 +%if 0%{?suse_version} >= 1550 && 0%{with_opencl} %define with_rusticl 1 %endif %else @@ -139,13 +139,13 @@ # NVK aka Vulkan Nouveau dependencies %global _unicode_ident_crate_ver 1.0.12 -%global _syn_crate_ver 2.0.39 +%global _syn_crate_ver 2.0.68 %global _quote_crate_ver 1.0.33 -%global _proc_macro2_ver 1.0.70 +%global _proc_macro2_ver 1.0.86 %global _paste_crate_ver 1.0.14 Name: Mesa%{psuffix} -Version: 24.1.7 +Version: 24.2.6 Release: 0 Summary: System for rendering 3-D graphics License: MIT @@ -178,15 +178,19 @@ Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patc Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch Patch13: python36-buildfix1.patch Patch14: python36-buildfix2.patch -Patch15: u_fix_rust_bindgen.patch +Patch17: tlsdesc_test.patch # never to be upstreamed Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch Patch58: u_dep_xcb.patch Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch Patch400: n_stop-iris-flicker.patch -Patch500: U_egl-x11-sw-fix-partial-image-uploads.patch +Patch500: 0001-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch +Patch1222040: u_mesa-CVE-2023-45913.patch +Patch1222041: u_mesa-CVE-2023-45919.patch +Patch1222042: u_mesa-CVE-2023-45922.patch + %ifarch %{ix86} x86_64 -BuildRequires: DirectX-Headers +BuildRequires: DirectX-Headers >= 1.613.0 %endif BuildRequires: bison BuildRequires: cmake @@ -201,7 +205,11 @@ BuildRequires: glslang-devel BuildRequires: imake BuildRequires: libtool BuildRequires: memory-constraints -BuildRequires: meson >= 0.60 +%if 0%{with_rusticl} +BuildRequires: meson >= 1.4.0 +%else +BuildRequires: meson >= 1.1.0 +%endif BuildRequires: pkgconfig BuildRequires: python3-base # dataclasses is in standard library of python >= 3.7 @@ -209,23 +217,24 @@ BuildRequires: python3-base BuildRequires: python3-dataclasses %endif BuildRequires: python3-Mako +BuildRequires: python3-PyYAML BuildRequires: python3-xml BuildRequires: pkgconfig(dri2proto) BuildRequires: pkgconfig(dri3proto) BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(glproto) -BuildRequires: pkgconfig(libdrm) >= 2.4.75 -BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.95 +BuildRequires: pkgconfig(libdrm) >= 2.4.109 +BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.121 BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.66 BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.71 -BuildRequires: pkgconfig(libglvnd) >= 0.1.0 -%ifarch aarch64 x86_64 ppc64le s390x +BuildRequires: pkgconfig(libglvnd) >= 1.3.2 +%ifarch aarch64 x86_64 ppc64le s390x riscv64 BuildRequires: pkgconfig(valgrind) %endif BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(presentproto) %if "%{flavor}" == "drivers" -BuildRequires: pkgconfig(vdpau) >= 1.1 +BuildRequires: pkgconfig(vdpau) >= 1.5 %ifarch %{ix86} x86_64 BuildRequires: pkgconfig(vulkan) %endif @@ -267,7 +276,7 @@ BuildRequires: pkgconfig(libdrm_etnaviv) >= 2.4.89 BuildRequires: pkgconfig(libdrm_freedreno) >= 2.4.74 BuildRequires: pkgconfig(libelf) %endif -%ifarch x86_64 %{ix86} aarch64 %{arm} +%ifarch x86_64 %{ix86} aarch64 %{arm} riscv64 BuildRequires: libelf-devel BuildRequires: pkgconfig(libdrm_intel) >= 2.4.75 %else @@ -281,10 +290,10 @@ BuildRequires: pkgconfig(wayland-protocols) >= 1.8 BuildRequires: pkgconfig(wayland-server) >= 1.11 %if 0%{with_llvm} %if 0%{?suse_version} >= 1550 -BuildRequires: llvm-devel +BuildRequires: llvm-devel >= 15 %else -%if 0%{?sle_version} >= 150500 -BuildRequires: llvm18-devel +%if 0%{?sle_version} >= 150700 +BuildRequires: llvm19-devel %endif %endif %endif @@ -293,8 +302,8 @@ BuildRequires: llvm18-devel %if 0%{?suse_version} >= 1550 BuildRequires: clang-devel %else -%if 0%{?sle_version} >= 150500 -BuildRequires: clang18-devel +%if 0%{?sle_version} >= 150700 +BuildRequires: clang19-devel %endif %endif BuildRequires: libclc @@ -553,6 +562,9 @@ Group: System/Libraries Requires: Mesa = %{version} Requires: libvulkan1 Supplements: Mesa +# merged into libgallium in 24.2.3 +Provides: libvdpau_gallium = %{version}-%{release} +Obsoletes: libvdpau_gallium < %{version}-%{release} %description -n Mesa-dri This package contains Mesa DRI drivers for 3D acceleration. @@ -832,7 +844,7 @@ cp %{SOURCE6} subprojects/packagecache/ %if 0%{?suse_version} < 1550 %patch -P 14 -p1 %endif -%patch -P 15 -p1 +%patch -P 17 -p1 # no longer needed since gstreamer-plugins-vaapi 1.18.4 %if 0%{?suse_version} < 1550 %patch -P 54 -p1 @@ -840,8 +852,10 @@ cp %{SOURCE6} subprojects/packagecache/ %patch -P 58 -p1 %patch -P 100 -p1 %patch -P 400 -p1 -%patch -P 500 -p1 -R - +%patch -P 500 -p1 +%patch -P 1222040 -p1 +%patch -P 1222041 -p1 +%patch -P 1222042 -p1 # Remove requires to vulkan libs from baselibs.conf on platforms # where vulkan build is disabled; ugly ... %if 0%{?with_vulkan} == 0 @@ -929,24 +943,27 @@ egl_platforms=x11,wayland -Dvulkan-drivers= \ %endif %ifarch %{ix86} x86_64 - -Dgallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga,virgl,iris,crocus,i915,d3d12,zink \ + -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,svga,virgl,iris,crocus,i915,d3d12,zink \ -Dgallium-d3d12-video=enabled \ -Dgallium-d3d12-graphics=enabled \ %else %ifarch %{arm} aarch64 - -Dgallium-drivers=r300,r600,radeonsi,nouveau,swrast,virgl,freedreno,vc4,etnaviv,lima,panfrost,v3d,svga,tegra,zink \ + -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,freedreno,vc4,etnaviv,lima,panfrost,v3d,svga,tegra,zink \ %else %ifarch ppc64 ppc64le riscv64 - -Dgallium-drivers=r300,r600,radeonsi,nouveau,swrast,virgl,zink \ + -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,zink \ %else - -Dgallium-drivers=swrast \ + -Dgallium-drivers=softpipe,llvmpipe \ %endif %endif %endif -%else - -Dgallium-drivers=swrast \ +%ifarch riscv64 + -Dllvm-orcjit=true \ %endif -%ifarch aarch64 x86_64 ppc64le s390x +%else + -Dgallium-drivers=softpipe \ +%endif +%ifarch aarch64 x86_64 ppc64le s390x riscv64 -Dvalgrind=enabled \ %endif -Db_ndebug=true \ @@ -1009,14 +1026,17 @@ rm %{buildroot}/%{_libdir}/pkgconfig/dri.pc # in KHR-devel rm -rf %{buildroot}/%{_includedir}/KHR -# workaround needed since Mesa 19.0.2 -rm -f %{buildroot}/%{_libdir}/vdpau/libvdpau_gallium.so +# in libgbm-devel +rm -f %{buildroot}%{_includedir}/gbm.h +rm -f %{buildroot}%{_libdir}/libgbm.so* +rm -f %{buildroot}%{_libdir}/pkgconfig/gbm.pc %else # package in Mesa-dri rm -rf %{buildroot}/%{_datadir}/drirc.d rm -f %{buildroot}/%{_libdir}/dri/*_dri.so +rm -f %{buildroot}%{_libdir}/libgallium-*.so rm -f %{buildroot}%{_libdir}/libGLES* # glvnd needs a default provider for indirect rendering where it cannot @@ -1143,6 +1163,7 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %{_includedir}/xa_*.h %{_libdir}/libxatracker.so %{_libdir}/pkgconfig/xatracker.pc + %endif %if %{vdpau_nouveau} @@ -1204,6 +1225,7 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %ifarch %{arm} aarch64 %exclude %{_libdir}/dri/vc4_dri.so %endif +%{_libdir}/libgallium-%{_version}.so %if 0%{with_opencl} # only built with opencl @@ -1283,7 +1305,7 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen %endif %if 0%{with_vulkan} -%ifarch %{ix86} x86_64 aarch64 %{arm} +%ifarch %{ix86} x86_64 aarch64 %{arm} riscv64 %files -n libvulkan_intel %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d diff --git a/U_egl-x11-sw-fix-partial-image-uploads.patch b/U_egl-x11-sw-fix-partial-image-uploads.patch deleted file mode 100644 index 86ee546..0000000 --- a/U_egl-x11-sw-fix-partial-image-uploads.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5903c215ab5b4c5d3bb1c952c0c784b78a0412fc Mon Sep 17 00:00:00 2001 -From: Mike Blumenkrantz -Date: Tue, 13 Feb 2024 13:10:30 -0500 -Subject: [PATCH] egl/x11/sw: fix partial image uploads - -* swrast allocates images aligned to 64x64 tiles, which results in images - that are larger than the window. PutImage requests must be clamped on - the y-axis to avoid uploading/damaging out-of-bounds regions -* winsys coords are y-inverted - -cc: mesa-stable - -Reviewed-by: Adam Jackson -Part-of: -(cherry picked from commit 6088a0bf51dd6bdfe39d9160a748bdde016f2c96) ---- - .pick_status.json | 2 +- - src/egl/drivers/dri2/platform_x11.c | 5 +++++ - 2 files changed, 6 insertions(+), 1 deletion(-) - -diff --git a/.pick_status.json b/.pick_status.json -index cc044e5e788..802f9799d23 100644 ---- a/.pick_status.json -+++ b/.pick_status.json -@@ -164,7 +164,7 @@ - "description": "egl/x11/sw: fix partial image uploads", - "nominated": true, - "nomination_type": 0, -- "resolution": 0, -+ "resolution": 1, - "main_sha": null, - "because_sha": null, - "notes": null -diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c -index 97436a0254b..e0d9ddb343e 100644 ---- a/src/egl/drivers/dri2/platform_x11.c -+++ b/src/egl/drivers/dri2/platform_x11.c -@@ -174,6 +174,11 @@ swrastPutImage(__DRIdrawable *draw, int op, int x, int y, int w, int h, - return; - } - -+ /* clamp to drawable size */ -+ if (y + h > dri2_surf->base.Height) -+ h = dri2_surf->base.Height - y; -+ /* y-invert */ -+ y = dri2_surf->base.Height - y - h; - if (size < max_req_len) { - cookie = xcb_put_image( - dri2_dpy->conn, XCB_IMAGE_FORMAT_Z_PIXMAP, dri2_surf->drawable, gc, w, --- -2.43.0 - diff --git a/U_fix-mpeg1_2-decode-mesa-20.2.patch b/U_fix-mpeg1_2-decode-mesa-20.2.patch index 2ad8e13..21a4ee8 100644 --- a/U_fix-mpeg1_2-decode-mesa-20.2.patch +++ b/U_fix-mpeg1_2-decode-mesa-20.2.patch @@ -3,10 +3,10 @@ src/gallium/drivers/r600/evergreen_state.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -Index: mesa-24.1.7/src/gallium/drivers/r600/evergreen_state.c +Index: mesa-24.2.2/src/gallium/drivers/r600/evergreen_state.c =================================================================== ---- mesa-24.1.7.orig/src/gallium/drivers/r600/evergreen_state.c -+++ mesa-24.1.7/src/gallium/drivers/r600/evergreen_state.c +--- mesa-24.2.2.orig/src/gallium/drivers/r600/evergreen_state.c ++++ mesa-24.2.2/src/gallium/drivers/r600/evergreen_state.c @@ -584,7 +584,8 @@ static void *evergreen_create_sampler_st : state->max_anisotropy; unsigned max_aniso_ratio = r600_tex_aniso_filter(max_aniso); diff --git a/baselibs.conf b/baselibs.conf index 0f17ae4..9fac6a0 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -107,3 +107,4 @@ Mesa-dri supplements "Mesa- = " Mesa-gallium supplements "Mesa- = " +Mesa-libva diff --git a/mesa-24.1.7.tar.xz b/mesa-24.1.7.tar.xz deleted file mode 100644 index 699d7c9..0000000 --- a/mesa-24.1.7.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ecd2e7b1c73998f4103542f39c6b8c968d251637ccc8caa42641aecb86cd2566 -size 29206724 diff --git a/mesa-24.1.7.tar.xz.sig b/mesa-24.1.7.tar.xz.sig deleted file mode 100644 index 844f578..0000000 Binary files a/mesa-24.1.7.tar.xz.sig and /dev/null differ diff --git a/mesa-24.2.6.tar.xz b/mesa-24.2.6.tar.xz new file mode 100644 index 0000000..da43bdb --- /dev/null +++ b/mesa-24.2.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b68c4a6f204c1999815a457299f81c41ba7bf48c4674b0b2d1d8864f41f3709 +size 29568568 diff --git a/mesa-24.2.6.tar.xz.sig b/mesa-24.2.6.tar.xz.sig new file mode 100644 index 0000000..4c0e092 Binary files /dev/null and b/mesa-24.2.6.tar.xz.sig differ diff --git a/n_add-Mesa-headers-again.patch b/n_add-Mesa-headers-again.patch index 27dba92..37adcef 100644 --- a/n_add-Mesa-headers-again.patch +++ b/n_add-Mesa-headers-again.patch @@ -1,8 +1,8 @@ -Index: mesa-24.1.7/include/meson.build +Index: mesa-24.2.2/include/meson.build =================================================================== ---- mesa-24.1.7.orig/include/meson.build -+++ mesa-24.1.7/include/meson.build -@@ -29,7 +29,6 @@ if with_android_stub +--- mesa-24.2.2.orig/include/meson.build ++++ mesa-24.2.2/include/meson.build +@@ -12,7 +12,6 @@ if with_android_stub inc_include += [include_directories('android_stub')] endif @@ -10,7 +10,7 @@ Index: mesa-24.1.7/include/meson.build if with_gles1 or with_gles2 or with_opengl or with_egl install_headers('KHR/khrplatform.h', subdir : 'KHR') endif -@@ -85,7 +84,6 @@ if not with_glvnd and host_machine.syste +@@ -68,7 +67,6 @@ if not with_glvnd and host_machine.syste subdir : 'EGL', ) endif diff --git a/n_stop-iris-flicker.patch b/n_stop-iris-flicker.patch index e41664a..a974300 100644 --- a/n_stop-iris-flicker.patch +++ b/n_stop-iris-flicker.patch @@ -4,11 +4,11 @@ Date: Tue May 24 14:47:53 2022 -0400 Adjusting 'iris_batch.c' per 'https://gitlab.freedesktop.org/mesa/mesa/-/issues/5731'. -Index: mesa-24.1.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c +Index: mesa-24.2.2/src/gallium/drivers/iris/i915/iris_kmd_backend.c =================================================================== ---- mesa-24.1.0.orig/src/gallium/drivers/iris/i915/iris_kmd_backend.c -+++ mesa-24.1.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c -@@ -317,7 +317,6 @@ i915_batch_submit(struct iris_batch *bat +--- mesa-24.2.2.orig/src/gallium/drivers/iris/i915/iris_kmd_backend.c ++++ mesa-24.2.2/src/gallium/drivers/iris/i915/iris_kmd_backend.c +@@ -318,7 +318,6 @@ i915_batch_submit(struct iris_batch *bat uint32_t flags = EXEC_OBJECT_SUPPORTS_48B_ADDRESS | EXEC_OBJECT_PINNED; flags |= bo->real.capture ? EXEC_OBJECT_CAPTURE : 0; flags |= bo == batch->screen->workaround_bo ? EXEC_OBJECT_ASYNC : 0; diff --git a/proc-macro2-1.0.70.tar.gz b/proc-macro2-1.0.70.tar.gz deleted file mode 100644 index 4ea00dd..0000000 --- a/proc-macro2-1.0.70.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b -size 44343 diff --git a/proc-macro2-1.0.86.tar.gz b/proc-macro2-1.0.86.tar.gz new file mode 100644 index 0000000..c0a872b --- /dev/null +++ b/proc-macro2-1.0.86.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 +size 48958 diff --git a/syn-2.0.39.tar.gz b/syn-2.0.39.tar.gz deleted file mode 100644 index 30e4b20..0000000 --- a/syn-2.0.39.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a -size 244129 diff --git a/syn-2.0.68.tar.gz b/syn-2.0.68.tar.gz new file mode 100644 index 0000000..e30e948 --- /dev/null +++ b/syn-2.0.68.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9 +size 265035 diff --git a/tlsdesc_test.patch b/tlsdesc_test.patch new file mode 100644 index 0000000..4164460 --- /dev/null +++ b/tlsdesc_test.patch @@ -0,0 +1,15 @@ +LTO defeats the -fpic workaround and enables TLS relaxation anyway + +Index: mesa-24.2.2/meson.build +=================================================================== +--- mesa-24.2.2.orig/meson.build ++++ mesa-24.2.2/meson.build +@@ -507,7 +507,7 @@ if not have_mtls_dialect + foreach tlsdesc_arg : ['-mtls-dialect=gnu2', '-mtls-dialect=desc'] + # -fpic to force dynamic tls, otherwise TLS relaxation defeats check + tlsdesc_test = cc.run('int __thread x; int main() { return x; }', +- args: [tlsdesc_arg, '-fpic'], ++ args: [tlsdesc_arg, '-fpic', '-fno-lto'], + name: tlsdesc_arg) + if tlsdesc_test.returncode() == 0 and ( + # check for lld 13 bug: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5665 diff --git a/u_dep_xcb.patch b/u_dep_xcb.patch index 2a63c3f..d8ee42b 100644 --- a/u_dep_xcb.patch +++ b/u_dep_xcb.patch @@ -1,8 +1,8 @@ -Index: mesa-24.1.7/meson.build +Index: mesa-24.2.2/meson.build =================================================================== ---- mesa-24.1.7.orig/meson.build -+++ mesa-24.1.7/meson.build -@@ -2114,9 +2114,11 @@ if with_platform_x11 +--- mesa-24.2.2.orig/meson.build ++++ mesa-24.2.2/meson.build +@@ -2145,9 +2145,11 @@ if with_platform_x11 endif endif if with_any_vk or with_egl or (with_glx == 'dri' and with_dri_platform == 'drm') diff --git a/u_fix_rust_bindgen.patch b/u_fix_rust_bindgen.patch deleted file mode 100644 index 3a39b3d..0000000 --- a/u_fix_rust_bindgen.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 93e96da9458c9d0348f2390dc0bea67cf140b1a0 Mon Sep 17 00:00:00 2001 -From: Karol Herbst -Date: Sun, 18 Aug 2024 00:08:50 +0200 -Subject: [PATCH] rusticl: do not use CL vector types in bindings and code - -Bindgen seems to miscompile them and I kinda thought I've done this -already in the past, but apparently not. - -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/11722 -Part-of: ---- - src/gallium/frontends/rusticl/api/device.rs | 2 +- - src/gallium/frontends/rusticl/meson.build | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -Index: mesa-24.1.3/src/gallium/frontends/rusticl/api/device.rs -=================================================================== ---- mesa-24.1.3.orig/src/gallium/frontends/rusticl/api/device.rs -+++ mesa-24.1.3/src/gallium/frontends/rusticl/api/device.rs -@@ -198,7 +198,7 @@ impl CLInfo for cl_devic - // TODO proper retrival from devices - CL_DEVICE_MEM_BASE_ADDR_ALIGN => cl_prop::(0x1000), - CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE => { -- cl_prop::(size_of::() as cl_uint) -+ cl_prop::(16 * size_of::() as cl_uint) - } - CL_DEVICE_NAME => cl_prop::<&str>(&dev.screen().name()), - CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR => cl_prop::(1), -Index: mesa-24.1.3/src/gallium/frontends/rusticl/meson.build -=================================================================== ---- mesa-24.1.3.orig/src/gallium/frontends/rusticl/meson.build -+++ mesa-24.1.3/src/gallium/frontends/rusticl/meson.build -@@ -179,6 +179,7 @@ rusticl_opencl_bindings_rs = rust.bindge - '--raw-line', 'unsafe impl std::marker::Send for _cl_image_desc {}', - '--raw-line', 'unsafe impl std::marker::Sync for _cl_image_desc {}', - '--allowlist-type', 'cl_.*', -+ '--blocklist-type', '(__)?cl_.*[2348(16)]', - '--allowlist-var', 'CL_.*', - # needed for gl_sharing extension - '--allowlist-var', 'GL_.*', diff --git a/u_mesa-CVE-2023-45913.patch b/u_mesa-CVE-2023-45913.patch new file mode 100644 index 0000000..d438e0a --- /dev/null +++ b/u_mesa-CVE-2023-45913.patch @@ -0,0 +1,13 @@ + src/glx/dri2_glx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +--- a/src/glx/dri2_glx.c ++++ b/src/glx/dri2_glx.c +@@ -1399,7 +1399,7 @@ dri2GetGlxDrawableFromXDrawableId(Displa + struct dri2_display *pdp = (struct dri2_display *) d->dri2Display; + __GLXDRIdrawable *pdraw; + +- if (__glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0) ++ if (pdp && __glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0) + return pdraw; + + return NULL; diff --git a/u_mesa-CVE-2023-45919.patch b/u_mesa-CVE-2023-45919.patch new file mode 100644 index 0000000..f2a1d77 --- /dev/null +++ b/u_mesa-CVE-2023-45919.patch @@ -0,0 +1,31 @@ + src/glx/glx_query.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) +--- a/src/glx/glx_query.c ++++ b/src/glx/glx_query.c +@@ -53,6 +53,13 @@ __glXQueryServerString(Display * dpy, in + /* The spec doesn't mention this, but the Xorg server replies with + * a string already terminated with '\0'. */ + uint32_t len = xcb_glx_query_server_string_string_length(reply); ++ /* Allow a max of 64kb string length */ ++ size_t reply_len = strnlen(xcb_glx_query_server_string_string(reply), 64*1024); ++ if (reply_len + 1 != len) ++ { ++ free(reply); ++ return(NULL); ++ } + char *buf = malloc(len); + memcpy(buf, xcb_glx_query_server_string_string(reply), len); + free(reply); +@@ -77,6 +84,12 @@ __glXGetString(Display * dpy, int opcode + /* The spec doesn't mention this, but the Xorg server replies with + * a string already terminated with '\0'. */ + uint32_t len = xcb_glx_get_string_string_length(reply); ++ size_t reply_len = strnlen(xcb_glx_get_string_string(reply), 64*1024); ++ if (reply_len + 1 != len) ++ { ++ free(reply); ++ return(NULL); ++ } + char *buf = malloc(len); + memcpy(buf, xcb_glx_get_string_string(reply), len); + free(reply); diff --git a/u_mesa-CVE-2023-45922.patch b/u_mesa-CVE-2023-45922.patch new file mode 100644 index 0000000..125be9f --- /dev/null +++ b/u_mesa-CVE-2023-45922.patch @@ -0,0 +1,15 @@ + src/glx/glx_pbuffer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) +Index: mesa-24.2.3/src/glx/glx_pbuffer.c +=================================================================== +--- mesa-24.2.3.orig/src/glx/glx_pbuffer.c ++++ mesa-24.2.3/src/glx/glx_pbuffer.c +@@ -329,7 +329,7 @@ __glXGetDrawableAttribute(Display * dpy, + /* Search the set of returned attributes for the attribute requested by + * the caller. + */ +- for (i = 0; i < num_attributes; i++) { ++ for (i = 0; i < num_attributes && i * 2 + 1 < length; i++) { + if (data[i * 2] == attribute) { + found = 1; + *value = data[(i * 2) + 1];