Mesa (13.0): anv/cmd_buffer: Enable a CS stall workaround for Sky Lake gt4

Emil Velikov evelikov at kemper.freedesktop.org
Mon Nov 14 11:10:34 UTC 2016


Module: Mesa
Branch: 13.0
Commit: 1a47251da48adee162be752b9a7ca2699f98a30b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a47251da48adee162be752b9a7ca2699f98a30b

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 10 14:09:08 2016 -0800

anv/cmd_buffer: Enable a CS stall workaround for Sky Lake gt4

This fixes hangs in Dota2

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: "12.0 13.0" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit a6c3d0f92b754e11e74cea9d6bd5ac329c73a8ba)

---

 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;
    }




More information about the mesa-commit mailing list