summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Biermann <tbier@posteo.de>2022-12-30 08:41:21 +0000
committerTim Biermann <tbier@posteo.de>2022-12-30 08:41:21 +0000
commit509d8fa11be2480461ac007cadb74a939e424a37 (patch)
tree89984b7abc94ff9cd6b2eba57c8869cb0598b5a6
parentf6d91468c55290fdaa030dda6038c10453d28be6 (diff)
downloadxorg-509d8fa11be2480461ac007cadb74a939e424a37.tar.gz
xorg-509d8fa11be2480461ac007cadb74a939e424a37.tar.xz
mesa: 22.3.1 -> 22.3.2
-rw-r--r--mesa/.signature7
-rw-r--r--mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch52
-rw-r--r--mesa/Pkgfile8
3 files changed, 62 insertions, 5 deletions
diff --git a/mesa/.signature b/mesa/.signature
index 8a5da1c2..9883866f 100644
--- a/mesa/.signature
+++ b/mesa/.signature
@@ -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
diff --git a/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch b/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
new file mode 100644
index 00000000..aa8f3167
--- /dev/null
+++ b/mesa/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
@@ -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+]":
+ *
diff --git a/mesa/Pkgfile b/mesa/Pkgfile
index 0cd2d5ea..cf75fede 100644
--- a/mesa/Pkgfile
+++ b/mesa/Pkgfile
@@ -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 \

Generated by cgit