Mesa (master): radv: do not allow to capture SQTT on the compute queue

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 17 16:16:40 UTC 2021


Module: Mesa
Branch: master
Commit: 8e97fc3a2910ac3dae9312014f6c7f7b79d24db7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8e97fc3a2910ac3dae9312014f6c7f7b79d24db7

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Feb 17 11:12:13 2021 +0100

radv: do not allow to capture SQTT on the compute queue

This currently hangs and I don't know why. It looks better to
print a message instead of hanging the whole system.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9097>

---

 src/amd/vulkan/layers/radv_sqtt_layer.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c
index a2651a9133c..a005eca78ef 100644
--- a/src/amd/vulkan/layers/radv_sqtt_layer.c
+++ b/src/amd/vulkan/layers/radv_sqtt_layer.c
@@ -346,6 +346,15 @@ radv_handle_thread_trace(VkQueue _queue)
 #endif
 
 		if (frame_trigger || file_trigger) {
+			/* FIXME: SQTT on compute hangs. */
+			if (queue->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;



More information about the mesa-commit mailing list