diff options
author | Reza Jahanbakhshi | 2022-12-08 12:58:21 +0100 |
---|---|---|
committer | Reza Jahanbakhshi | 2022-12-08 12:58:21 +0100 |
commit | 7bfd186021e68844ac629ddfc6b67a3658f82f3f (patch) | |
tree | 10f276c177572b09944778fefc095832aad79e47 /0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch | |
parent | 6c139e6095a30fb7a876c3718587043d24603e79 (diff) | |
download | aur-7bfd186021e68844ac629ddfc6b67a3658f82f3f.tar.gz |
added i915 intel gallium driver
added patches to fix a hang where the HW is hung on a PIPE_CONTROL after a GPGPU_WALKER
Diffstat (limited to '0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch')
-rw-r--r-- | 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch b/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch new file mode 100644 index 000000000000..19c21a04115e --- /dev/null +++ b/0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch @@ -0,0 +1,40 @@ +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 Age of Empire 4 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 | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c +index 1aa997f2ade2..2e9979c8f63e 100644 +--- a/src/intel/vulkan/genX_cmd_buffer.c ++++ b/src/intel/vulkan/genX_cmd_buffer.c +@@ -5955,6 +5955,11 @@ genX(flush_pipeline_select)(struct anv_cmd_buffer *cmd_buffer, + } + #endif + ++#if GFX_VERx10 == 120 ++ if (pipeline == _3D) ++ cmd_buffer->state.compute.pipeline_dirty = true; ++#endif ++ + /* From "BXML » GT » MI » vol1a GPU Overview » [Instruction] + * PIPELINE_SELECT [DevBWR+]": + * |