diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index 05ea8b831f8..2b9623a811f 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -389,15 +389,6 @@ radv_handle_thread_trace(VkQueue _queue) #endif if (frame_trigger || file_trigger || resize_trigger) { - /* FIXME: SQTT on compute hangs. */ - if (queue->vk.queue_family_index == RADV_QUEUE_COMPUTE) { - fprintf(stderr, "RADV: Capturing a SQTT trace on the compute " - "queue is currently broken and might hang! " - "Please, disable presenting on compute if " - "you can.\n"); - return; - } - radv_begin_thread_trace(queue); assert(!thread_trace_enabled); thread_trace_enabled = true; diff --git a/src/amd/vulkan/radv_sqtt.c b/src/amd/vulkan/radv_sqtt.c index 7acd904baaa..f7a996f500c 100644 --- a/src/amd/vulkan/radv_sqtt.c +++ b/src/amd/vulkan/radv_sqtt.c @@ -269,7 +269,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs radeon_emit(cs, R_008D20_SQ_THREAD_TRACE_STATUS >> 2); /* register */ radeon_emit(cs, 0); radeon_emit(cs, 0); /* reference value */ - radeon_emit(cs, S_008D20_FINISH_DONE(1)); /* mask */ + radeon_emit(cs, ~C_008D20_FINISH_DONE); radeon_emit(cs, 4); /* poll interval */ /* Disable the thread trace mode. */ @@ -283,7 +283,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs radeon_emit(cs, R_008D20_SQ_THREAD_TRACE_STATUS >> 2); /* register */ radeon_emit(cs, 0); radeon_emit(cs, 0); /* reference value */ - radeon_emit(cs, S_008D20_BUSY(1)); /* mask */ + radeon_emit(cs, ~C_008D20_BUSY); /* mask */ radeon_emit(cs, 4); /* poll interval */ } else { /* Disable the thread trace mode. */ @@ -296,7 +296,7 @@ radv_emit_thread_trace_stop(struct radv_device *device, struct radeon_cmdbuf *cs radeon_emit(cs, R_030CE8_SQ_THREAD_TRACE_STATUS >> 2); /* register */ radeon_emit(cs, 0); radeon_emit(cs, 0); /* reference value */ - radeon_emit(cs, S_030CE8_BUSY(1)); /* mask */ + radeon_emit(cs, ~C_030CE8_BUSY); /* mask */ radeon_emit(cs, 4); /* poll interval */ }