upgpkg: sbcl 2.2.11-1
[arch-packages.git] / mesa / repos / extra-x86_64 / 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
blob11efcb8c011c65c56a19e802d79c86f0b17f27f2
1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
3 Date: Sun, 12 Jun 2022 23:59:05 +0300
4 Subject: [PATCH] anv: force MEDIA_INTERFACE_DESCRIPTOR_LOAD reemit after
5 3D->GPGPU switch
7 Seems to fix a hang in Age of Empire 4 where the HW is hung on a
8 PIPE_CONTROL after a GPGPU_WALKER but no
9 MEDIA_INTERFACE_DESCRIPTOR_LOAD was emitted since the switch from 3D
10 to GPGPU.
12 This would happen in the following case :
14 vkCmdBindPipeline(COMPUTE, cs_pipeline);
15 vkCmdDispatch(...);
16 vkCmdBindPipeline(GRAPHICS, gfx_pipeline);
17 vkCmdDraw(...);
18 vkCmdDispatch(...);
20 Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
21 ---
22 src/intel/vulkan/genX_cmd_buffer.c | 5 +++++
23 1 file changed, 5 insertions(+)
25 diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
26 index 240630d84124..77822ec89404 100644
27 --- a/src/intel/vulkan/genX_cmd_buffer.c
28 +++ b/src/intel/vulkan/genX_cmd_buffer.c
29 @@ -5917,6 +5917,11 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer,
31 #endif
33 +#if GFX_VERx10 == 120
34 + if (pipeline == _3D)
35 + cmd_buffer->state.compute.pipeline_dirty = true;
36 +#endif
38 /* From "BXML » GT » MI » vol1a GPU Overview » [Instruction]
39 * PIPELINE_SELECT [DevBWR+]":