diff --git a/.gitignore b/.gitignore index 7150d62..0d8a1c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/mesa-21.3.4.tar.xz +SOURCES/mesa-22.1.1.tar.xz diff --git a/.mesa.metadata b/.mesa.metadata index 3b1dfce..d34ad95 100644 --- a/.mesa.metadata +++ b/.mesa.metadata @@ -1 +1 @@ -c18255897b353f259c64e7a864d8505d8b5bf024 SOURCES/mesa-21.3.4.tar.xz +d926d6fbcc545b7b9673ffd756f8cdf5bb47915c SOURCES/mesa-22.1.1.tar.xz diff --git a/SOURCES/0001-iris-implement-inter-context-busy-tracking.patch b/SOURCES/0001-iris-implement-inter-context-busy-tracking.patch deleted file mode 100644 index cc50a4b..0000000 --- a/SOURCES/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/SOURCES/Makefile b/SOURCES/Makefile index 2ff7214..8086fde 100644 --- a/SOURCES/Makefile +++ b/SOURCES/Makefile @@ -1,4 +1,4 @@ -VERSION ?= 21.3.4 +VERSION ?= 22.1.1 SANITIZE ?= 1 DIRNAME = mesa-${VERSION} diff --git a/SPECS/mesa.spec b/SPECS/mesa.spec index 8db05f8..eed3737 100644 --- a/SPECS/mesa.spec +++ b/SPECS/mesa.spec @@ -9,10 +9,10 @@ %endif %ifarch %{ix86} x86_64 -%define platform_drivers i965 %define with_vmware 1 %define with_xa 1 %define with_iris 1 +%define with_crocus 1 %endif %ifarch %{ix86} x86_64 @@ -25,8 +25,6 @@ %define with_xa 1 %endif -%global dri_drivers %{?platform_drivers} - %if 0%{?with_vulkan_hw} %define vulkan_drivers swrast,intel,amd %else @@ -39,8 +37,8 @@ Name: mesa Summary: Mesa graphics libraries -Version: 21.3.4 -Release: 1.0.1%{?rctag:.%{rctag}}%{?dist} +Version: 22.1.1 +Release: 1%{?rctag:.%{rctag}}%{?dist} License: MIT URL: http://www.mesa3d.org @@ -56,12 +54,6 @@ Source4: Mesa-MLAA-License-Clarification-Email.txt Patch0: lavapipe-disable-env-var.patch -# 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: gcc BuildRequires: gcc-c++ @@ -328,10 +320,9 @@ export ASFLAGS="--generate-missing-build-notes=yes" -Db_ndebug=true \ -Dplatforms=x11,wayland \ -Ddri3=enabled \ - -Ddri-drivers=%{?dri_drivers} \ -Dosmesa=true \ %if 0%{?with_hardware} - -Dgallium-drivers=swrast%{?with_iris:,iris},virgl,nouveau%{?with_vmware:,svga},radeonsi,r600%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_kmsro:,kmsro} \ + -Dgallium-drivers=swrast%{?with_crocus:,crocus}%{?with_iris:,iris},virgl,nouveau%{?with_vmware:,svga},radeonsi,r600%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_kmsro:,kmsro} \ %else -Dgallium-drivers=swrast,virgl \ %endif @@ -491,7 +482,7 @@ done %{_libdir}/dri/r600_dri.so %{_libdir}/dri/radeonsi_dri.so %ifarch %{ix86} x86_64 -%{_libdir}/dri/i965_dri.so +%{_libdir}/dri/crocus_dri.so %{_libdir}/dri/iris_dri.so %endif %if 0%{?with_vc4} @@ -534,6 +525,7 @@ done %if 0%{?with_vulkan_hw} %{_libdir}/libvulkan_intel.so %{_libdir}/libvulkan_radeon.so +%{_datadir}/drirc.d/00-radv-defaults.conf %ifarch x86_64 %{_datadir}/vulkan/icd.d/intel_icd.x86_64.json %{_datadir}/vulkan/icd.d/radeon_icd.x86_64.json @@ -552,6 +544,9 @@ done %endif %changelog +* Mon Jun 06 2022 Dave Airlie - 22.1.1-1 +- Update to 22.1.1 - switch to crocus, drop legacy unused i965 driver. + * Tue Jan 25 2022 Dave Airlie - 21.3.4-1 - Update to 23.1.4 for gbm and leak fixes, add iris regression fix