[Mesa-dev] [PATCH 2/2] anv/cmd_buffer: Enable a CS stall workaround for Sky Lake gt4

Jason Ekstrand jason at jlekstrand.net
Thu Nov 10 22:27:28 UTC 2016


This fixes hangs in Dota2

Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
---
 src/intel/vulkan/genX_cmd_buffer.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 35f5dd6..2bc7e74 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -1880,6 +1880,9 @@ emit_ps_depth_count(struct anv_cmd_buffer *cmd_buffer,
       pc.PostSyncOperation       = WritePSDepthCount;
       pc.DepthStallEnable        = true;
       pc.Address                 = (struct anv_address) { bo, offset };
+
+      if (GEN_GEN == 9 && cmd_buffer->device->info.gt == 4)
+         pc.CommandStreamerStallEnable = true;
    }
 }
 
@@ -1985,6 +1988,9 @@ void genX(CmdWriteTimestamp)(
          pc.DestinationAddressType  = DAT_PPGTT;
          pc.PostSyncOperation       = WriteTimestamp;
          pc.Address = (struct anv_address) { &pool->bo, offset };
+
+         if (GEN_GEN == 9 && cmd_buffer->device->info.gt == 4)
+            pc.CommandStreamerStallEnable = true;
       }
       break;
    }
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list