From e27deed2ab44f5ed2281e343e3b0c5ff79ccea8a Mon Sep 17 00:00:00 2001 From: Konstantin Date: Mon, 15 Apr 2024 12:44:50 +0200 Subject: [PATCH] radv/debug: Try to find unbound shaders Use radv_find_shader to correlate shaders to PCs. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_debug.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c index 57706d79d68..87e1e80212e 100644 --- a/src/amd/vulkan/radv_debug.c +++ b/src/amd/vulkan/radv_debug.c @@ -542,6 +542,14 @@ radv_dump_queue_state(struct radv_queue *queue, const char *dump_dir, FILE *f) fprintf(f, COLOR_CYAN "Waves not executing currently-bound shaders:" COLOR_RESET "\n"); found = true; } + + struct radv_shader *shader = radv_find_shader(device, waves[0].pc); + if (shader) { + radv_dump_annotated_shader(shader, shader->info.stage, waves, num_waves, f); + if (waves[i].matched) + continue; + } + fprintf(f, " SE%u SH%u CU%u SIMD%u WAVE%u EXEC=%016" PRIx64 " INST=%08X %08X PC=%" PRIx64 "\n", waves[i].se, waves[i].sh, waves[i].cu, waves[i].simd, waves[i].wave, waves[i].exec, waves[i].inst_dw0, waves[i].inst_dw1, waves[i].pc);