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

Emil Velikov evelikov at kemper.freedesktop.org
Fri Dec 2 19:58:34 UTC 2016


Module: Mesa
Branch: 12.0
Commit: 68dd6ad4332adb72039f721b0348d67bf263d496
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=68dd6ad4332adb72039f721b0348d67bf263d496

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 e3721b9..18cb063 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -1202,6 +1202,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;
    }
 }
 
@@ -1307,6 +1310,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