Mesa (master): anv/cmd_buffer: Enable a CS stall workaround for Sky Lake gt4
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Thu Nov 10 23:21:28 UTC 2016
Module: Mesa
Branch: master
Commit: a6c3d0f92b754e11e74cea9d6bd5ac329c73a8ba
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6c3d0f92b754e11e74cea9d6bd5ac329c73a8ba
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>
---
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