[Mesa-dev] [PATCH] radv: only emit ZPASS_DONE for timestamp queries on gfx queues

Andres Rodriguez andresx7 at gmail.com
Tue Sep 25 06:36:19 UTC 2018


A ZPASS_DONE packet doesn't make sense for the compute queue. It will
result in a gpu hang.

This change resolves a gpu hang for SteamVR+Vega.

Cc: mesa-stable at lists.freedesktop.org
Fixes: 1f616a840eac02241c585d28e9dac8f19a297f39 "radv: emit a dummy ..."
Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/vulkan/si_cmd_buffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c
index 7ff1717022d..e5bc151f64b 100644
--- a/src/amd/vulkan/si_cmd_buffer.c
+++ b/src/amd/vulkan/si_cmd_buffer.c
@@ -683,7 +683,7 @@ void si_cs_emit_write_event_eop(struct radeon_cmdbuf *cs,
 		 * counters) must immediately precede every timestamp event to
 		 * prevent a GPU hang on GFX9.
 		 */
-		if (chip_class == GFX9) {
+		if (chip_class == GFX9 && !is_mec) {
 			radeon_emit(cs, PKT3(PKT3_EVENT_WRITE, 2, 0));
 			radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_ZPASS_DONE) | EVENT_INDEX(1));
 			radeon_emit(cs, gfx9_eop_bug_va);
-- 
2.17.1



More information about the mesa-dev mailing list