radv: ignore BB labels when splitting the disassembly string
[mesa.git] / src / amd / vulkan / radv_sqtt.c
index 1935c990255354e61992a78e01fb06f18866cad1..669c6fb197b3927cea0060d92d5d8be13a5f606a 100644 (file)
@@ -401,15 +401,19 @@ static void
 radv_thread_trace_init_cs(struct radv_device *device)
 {
        struct radeon_winsys *ws = device->ws;
+       VkResult result;
 
        /* Thread trace start CS. */
        for (int family = 0; family < 2; ++family) {
                device->thread_trace_start_cs[family] = ws->cs_create(ws, family);
+               if (!device->thread_trace_start_cs[family])
+                       return;
+
                switch (family) {
                case RADV_QUEUE_GENERAL:
                        radeon_emit(device->thread_trace_start_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0));
-                       radeon_emit(device->thread_trace_start_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1));
-                       radeon_emit(device->thread_trace_start_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1));
+                       radeon_emit(device->thread_trace_start_cs[family], CC0_UPDATE_LOAD_ENABLES(1));
+                       radeon_emit(device->thread_trace_start_cs[family], CC1_UPDATE_SHADOW_ENABLES(1));
                        break;
                case RADV_QUEUE_COMPUTE:
                        radeon_emit(device->thread_trace_start_cs[family], PKT3(PKT3_NOP, 0, 0));
@@ -434,17 +438,22 @@ radv_thread_trace_init_cs(struct radv_device *device)
                                             device->thread_trace_start_cs[family],
                                             family);
 
-               ws->cs_finalize(device->thread_trace_start_cs[family]);
+               result = ws->cs_finalize(device->thread_trace_start_cs[family]);
+               if (result != VK_SUCCESS)
+                       return;
        }
 
        /* Thread trace stop CS. */
        for (int family = 0; family < 2; ++family) {
                device->thread_trace_stop_cs[family] = ws->cs_create(ws, family);
+               if (!device->thread_trace_stop_cs[family])
+                       return;
+
                switch (family) {
                case RADV_QUEUE_GENERAL:
                        radeon_emit(device->thread_trace_stop_cs[family], PKT3(PKT3_CONTEXT_CONTROL, 1, 0));
-                       radeon_emit(device->thread_trace_stop_cs[family], CONTEXT_CONTROL_LOAD_ENABLE(1));
-                       radeon_emit(device->thread_trace_stop_cs[family], CONTEXT_CONTROL_SHADOW_ENABLE(1));
+                       radeon_emit(device->thread_trace_stop_cs[family], CC0_UPDATE_LOAD_ENABLES(1));
+                       radeon_emit(device->thread_trace_stop_cs[family], CC1_UPDATE_SHADOW_ENABLES(1));
                        break;
                case RADV_QUEUE_COMPUTE:
                        radeon_emit(device->thread_trace_stop_cs[family], PKT3(PKT3_NOP, 0, 0));
@@ -469,7 +478,9 @@ radv_thread_trace_init_cs(struct radv_device *device)
                                          device->thread_trace_stop_cs[family],
                                          false);
 
-               ws->cs_finalize(device->thread_trace_stop_cs[family]);
+               result = ws->cs_finalize(device->thread_trace_stop_cs[family]);
+               if (result != VK_SUCCESS)
+                       return;
        }
 }