summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-11-10 14:09:08 -0800
committerJason Ekstrand <[email protected]>2016-11-10 15:21:18 -0800
commita6c3d0f92b754e11e74cea9d6bd5ac329c73a8ba (patch)
treed699dacd617ca74dac6b8eb813b32f2efe46b9f8
parent1e3e347fd5d1d55cdb36c39442def31d121ebae5 (diff)
anv/cmd_buffer: Enable a CS stall workaround for Sky Lake gt4
This fixes hangs in Dota2 Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0 13.0" <[email protected]>
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index 35f5dd6e003..2bc7e7473a3 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;
}