diff --git a/extra/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch b/extra/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch deleted file mode 100644 index 663140c7e..000000000 --- a/extra/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lionel Landwerlin -Date: Sun, 12 Jun 2022 23:59:05 +0300 -Subject: [PATCH] anv: force MEDIA_INTERFACE_DESCRIPTOR_LOAD reemit after - 3D->GPGPU switch - -Seems to fix a hang in the following titles : - - Age of Empire 4 - - Monster Hunter Rise - -where the HW is hung on a PIPE_CONTROL after a GPGPU_WALKER but no -MEDIA_INTERFACE_DESCRIPTOR_LOAD was emitted since the switch from 3D -to GPGPU. - -This would happen in the following case : - - vkCmdBindPipeline(COMPUTE, cs_pipeline); - vkCmdDispatch(...); - vkCmdBindPipeline(GRAPHICS, gfx_pipeline); - vkCmdDraw(...); - vkCmdDispatch(...); - -Signed-off-by: Lionel Landwerlin -Reviewed-by: Ivan Briano -Cc: mesa-stable -Part-of: ---- - src/intel/vulkan/genX_cmd_buffer.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c -index 25d337945896..1b382cae49a1 100644 ---- a/src/intel/vulkan/genX_cmd_buffer.c -+++ b/src/intel/vulkan/genX_cmd_buffer.c -@@ -6383,6 +6383,20 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer, - } - #endif - -+#if GFX_VERx10 == 120 -+ /* Undocumented workaround to force the re-emission of -+ * MEDIA_INTERFACE_DESCRIPTOR_LOAD when switching from 3D to Compute -+ * pipeline without rebinding a pipeline : -+ * vkCmdBindPipeline(COMPUTE, cs_pipeline); -+ * vkCmdDispatch(...); -+ * vkCmdBindPipeline(GRAPHICS, gfx_pipeline); -+ * vkCmdDraw(...); -+ * vkCmdDispatch(...); -+ */ -+ if (pipeline == _3D) -+ cmd_buffer->state.compute.pipeline_dirty = true; -+#endif -+ - #if GFX_VER >= 12 - /* From Tigerlake PRM, Volume 2a, PIPELINE_SELECT: - * diff --git a/extra/mesa/0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch b/extra/mesa/0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch similarity index 100% rename from extra/mesa/0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch rename to extra/mesa/0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch diff --git a/extra/mesa/0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch b/extra/mesa/0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch similarity index 100% rename from extra/mesa/0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch rename to extra/mesa/0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD index 81251b575..0a372f3e2 100644 --- a/extra/mesa/PKGBUILD +++ b/extra/mesa/PKGBUILD @@ -14,8 +14,8 @@ highmem=1 pkgbase=mesa pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-virtio' 'vulkan-broadcom' 'vulkan-panfrost' 'libva-mesa-driver' 'mesa-vdpau' 'mesa') pkgdesc="An open-source implementation of the OpenGL specification" -pkgver=23.0.0 -pkgrel=3 +pkgver=23.0.1 +pkgrel=1 arch=('x86_64') makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm' @@ -25,16 +25,19 @@ makedepends+=('rust' 'rust-bindgen' 'spirv-tools' 'spirv-llvm-translator') # ru url="https://www.mesa3d.org/" license=('custom') source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} - 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch - 0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch - 0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch + 0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch + 0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch LICENSE) -sha512sums=('127e2759a2a31cacd65a0891719ab7bb4a9188844022b4bccaebbedce9c550b9ccb160ad519178ea0d851c4bcb8f0f56febda248ed2ba82b5ddf804855e4694b' +sha256sums=('e8e586856b55893abae9bdcdb98b41c081d909bb1faf372e6e7262307bf34adf' 'SKIP' - 'c7832724bad137461fcdffc3db8ba653ea25c56b5980d7c45955844a543ce57ec4360e88e73ab48f7cb69717a2f467a03aca13ede3591f27e36e20409f8982e8' - 'b089a84333743f2f69889f99903616a9dab28e45edf2de7b1f64d29bbb321daaf898aa05bf60fea6d2feec6b5ff072b807d76bb21efe122ff1a15e275d8acc97' - 'ac4f1f98c5f1d0c2f875c2cf964fe60f41385b18a3507fea77f899f0cbbbea0baee92d313936f2d325c2301a7d0dfe3294bf881722fb22fa41defd4e4fbd0f98' - 'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7') + '99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2' + 'd6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a' + '7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537') +b2sums=('50d358e393037381d0d848f868ac3439b0851809c3533432dc428bd77e81bc71bbfd2b598e221b6e8c4c2528ef32e5624aec4fe2e552e01ee98abbcf96a1f5b7' + 'SKIP' + 'a90bfc47fb3a46eff1ef2455c7aa18c2bb515ec217b423d0a87cc5f3b824a77c0381e1378498464418644108142022dcd3c289e157877c6ae7584beaec1d9987' + 'bd52994305fc0fa2f12c46ea3208bbb24f97495d9bad73120d83a6cdcf7e48f5ff0d14ac0055765516b70caacdf024fca4159b70b054e85f2783c78c9218aefe' + '1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov '946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez 'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) @@ -45,15 +48,10 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov