diff --git a/0001-iris-implement-inter-context-busy-tracking.patch b/0001-iris-implement-inter-context-busy-tracking.patch deleted file mode 100644 index cc50a4b..0000000 --- a/0001-iris-implement-inter-context-busy-tracking.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 07dc3d4238e57901ccf98e0b506d9aad2c86b9d9 Mon Sep 17 00:00:00 2001 -From: Paulo Zanoni -Date: Mon, 10 Jan 2022 17:18:05 -0800 -Subject: [PATCH] iris: implement inter-context busy-tracking - -Previously, no buffers were ever marked as EXEC_OBJECT_ASYNC so the -Kernel would ensure dependency tracking for us. After we implemented -explicit busy tracking in commit 89a34cb8450a, only the external -objects kept relying on the Kernel's implicit tracking and Iris did -inter-batch busy tracking, meaning we lost inter-screen and -inter-context synchronization. This seemed fine to me since, as far as -I understood, it is the duty of the application to synchronize itself -against multiple screens and contexts. - -The problem here is that applications were actually relying on the old -behavior where the Kernel guarantees synchronization, so 89a34cb8450a -can be seen as a regression. This commit addresses the inter-context -synchronization case. - -Cc: mesa-stable -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5731 -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5812 -Fixes: 89a34cb8450a ("iris: switch to explicit busy tracking") -Tested-by: Konstantin Kharlamov -Signed-off-by: Paulo Zanoni ---- - src/gallium/drivers/iris/iris_batch.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c -index b7bde60aae7..1b0c5896d4f 100644 ---- a/src/gallium/drivers/iris/iris_batch.c -+++ b/src/gallium/drivers/iris/iris_batch.c -@@ -835,6 +835,12 @@ update_bo_syncobjs(struct iris_batch *batch, struct iris_bo *bo, bool write) - move_syncobj_to_batch(batch, &deps->write_syncobjs[other_batch_idx], - I915_EXEC_FENCE_WAIT); - -+ /* If it's being written by our screen, wait on it too. This is relevant -+ * when there are multiple contexts on the same screen. */ -+ if (deps->write_syncobjs[batch_idx]) -+ move_syncobj_to_batch(batch, &deps->write_syncobjs[batch_idx], -+ I915_EXEC_FENCE_WAIT); -+ - struct iris_syncobj *batch_syncobj = iris_batch_get_signal_syncobj(batch); - - if (write) { -@@ -847,6 +853,8 @@ update_bo_syncobjs(struct iris_batch *batch, struct iris_bo *bo, bool write) - - move_syncobj_to_batch(batch, &deps->read_syncobjs[other_batch_idx], - I915_EXEC_FENCE_WAIT); -+ move_syncobj_to_batch(batch, &deps->read_syncobjs[batch_idx], -+ I915_EXEC_FENCE_WAIT); - - } else { - /* If we're reading, replace the other read from our batch index. */ --- -GitLab - diff --git a/mesa.spec b/mesa.spec index 84aa469..7d47abd 100644 --- a/mesa.spec +++ b/mesa.spec @@ -8,15 +8,16 @@ %global with_omx 1 %global with_opencl 1 %endif -%global base_dri nouveau,r100,r200 %global base_vulkan ,amd %endif %ifarch %{ix86} x86_64 %global with_iris 1 +%if !0%{?rhel} +%global with_crocus 1 +%endif %global with_vmware 1 %global with_xa 1 -%global platform_dri ,i915,i965 %global platform_vulkan ,intel %endif @@ -49,16 +50,13 @@ %bcond_with valgrind %endif -%if !0%{?rhel} -%global dri_drivers %{?base_dri}%{?platform_dri} -%endif %global vulkan_drivers swrast%{?base_vulkan}%{?platform_vulkan} Name: mesa Summary: Mesa graphics libraries -%global ver 21.3.4 +%global ver 22.1.1 Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)} -Release: 2%{?dist} +Release: 1%{?dist} License: MIT URL: http://www.mesa3d.org @@ -68,12 +66,6 @@ Source0: https://mesa.freedesktop.org/archive/%{name}-%{ver}.tar.xz # Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD. Source1: Mesa-MLAA-License-Clarification-Email.txt -# Patches to fix Intel blinking, see: -# https://gitlab.freedesktop.org/pzanoni/mesa/-/commit/07dc3d4238e57901ccf98e0b506d9aad2c86b9d9 -# https://bugzilla.redhat.com/show_bug.cgi?id=2036600 -# https://bugzilla.redhat.com/show_bug.cgi?id=2040771 -Patch0001: 0001-iris-implement-inter-context-busy-tracking.patch - BuildRequires: meson >= 0.45 BuildRequires: gcc BuildRequires: gcc-c++ @@ -326,10 +318,9 @@ cp %{SOURCE1} docs/ %meson \ -Dplatforms=x11,wayland \ -Ddri3=enabled \ - -Ddri-drivers=%{?dri_drivers} \ -Dosmesa=true \ %if 0%{?with_hardware} - -Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \ + -Dgallium-drivers=swrast,virgl,nouveau%{?with_r300:,r300}%{?with_crocus:,crocus}%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi}%{?with_r600:,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost}%{?with_vulkan_hw:,zink} \ %else -Dgallium-drivers=swrast,virgl \ %endif @@ -491,9 +482,8 @@ popd %{_libdir}/dri/radeonsi_dri.so %endif %ifarch %{ix86} x86_64 -%if !0%{?rhel} -%{_libdir}/dri/i915_dri.so -%{_libdir}/dri/i965_dri.so +%if 0%{?with_crocus} +%{_libdir}/dri/crocus_dri.so %endif %{_libdir}/dri/iris_dri.so %endif @@ -589,6 +579,7 @@ popd %{_libdir}/libVkLayer_MESA_device_select.so %{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json %if 0%{?with_vulkan_hw} +%{_datadir}/drirc.d/00-radv-defaults.conf %{_libdir}/libvulkan_radeon.so %{_datadir}/vulkan/icd.d/radeon_icd.*.json %ifarch %{ix86} x86_64 @@ -604,6 +595,9 @@ popd %endif %changelog +* Mon Jun 13 2022 Dave Airlie - 22.1.1-1 +- rebase to 22.1.1 + * Tue Jan 25 2022 Dave Airlie - 21.3.4-2 - Add iris regression fix. diff --git a/sources b/sources index e9bee7f..8f0f1ff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mesa-21.3.4.tar.xz) = 7aeea3dba0d39f4ac9f23c54aa0e6853d48000f50c4dd484618c28debe705cdd765ae8fafb5ddea0773976f7189849d9128be3f2282fea74394b59019cb786b9 +SHA512 (mesa-22.1.1.tar.xz) = 4d4ad8b0e9bd0584635153af809bfbc5dc61e1f6994ae2719a3298b5a6e26dee96d28d151483e258a793313d19c54ca365a58a0849b5238964ae48941f423ae4