mesa: 22.3.1 -> 22.3.2

This commit is contained in:
Tim Biermann 2022-12-30 08:41:21 +00:00
parent f6d91468c5
commit 509d8fa11b
Signed by: tb
GPG Key ID: 42F8B4E30B673606
3 changed files with 62 additions and 5 deletions

View File

@ -1,5 +1,6 @@
untrusted comment: verify with /etc/ports/xorg.pub
RWTSGWF5Q7TndJl5Cfi3WLDwC8ASKTWZsw6hEqVH7xFC10DdbUq6tpFn3k9Y/0lHxhnZX3B0kLyot2+pUnDObv4wtCGkCnMbpgg=
SHA256 (Pkgfile) = 9cb7eceeb60f636993fc784d34729bde47eca9064809b2729b42cc530c441f19
RWTSGWF5Q7TndHYMuvTEH2a2b5pTJ1Uq6VNCVjzgWgqIl4sxe/17bH5KLk52w4YHSjsDslfC4W4JPzKnLmg+xwQ8wElZgRY1yQM=
SHA256 (Pkgfile) = d9e221d1496a0c59f6c256c9e3a23ea31883c1bd8c75a545e10b20b59e977c53
SHA256 (.footprint) = 0a096e4a6066d23884d972266fbb66a32fe44c44877cebc2b82d4a9c694ece1e
SHA256 (mesa-22.3.1.tar.xz) = 3c9cd611c0859d307aba0659833386abdca4c86162d3c275ba5be62d16cf31eb
SHA256 (mesa-22.3.2.tar.xz) = c15df758a8795f53e57f2a228eb4593c22b16dffd9b38f83901f76cd9533140b
SHA256 (0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch) = 384868758a6d80924a21647f6892ba3d5ecad7d641cb3940d087d001f67aefeb

View File

@ -0,0 +1,52 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
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 <lionel.g.landwerlin@intel.com>
---
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 d56f9037fde1..e03dc16c1fc5 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -6001,6 +6001,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
+
/* From "BXML » GT » MI » vol1a GPU Overview » [Instruction]
* PIPELINE_SELECT [DevBWR+]":
*

View File

@ -5,9 +5,10 @@
# Optional: libva libvdpau wayland-protocols
name=mesa
version=22.3.1
version=22.3.2
release=1
source=(https://archive.mesa3d.org/$name-$version.tar.xz)
source=(https://archive.mesa3d.org/$name-$version.tar.xz
0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch)
build() {
prt-get isinst vulkan-loader && PKGMK_MESA_GALLIUM+='zink,'
@ -20,11 +21,14 @@ build() {
CFLAGS+=' -mtls-dialect=gnu'
CXXFLAGS+=' -mtls-dialect=gnu'
patch -Np1 -d mesa-$version -i $SRC/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
meson setup build mesa-$version $PKGMK_MESA \
--prefix=/usr \
--sysconfdir=/etc \
--buildtype=plain \
--wrap-mode nodownload \
-D b_lto=false \
-D b_pie=true \
-D dri3=enabled \
-D egl=enabled \