From 0630e52c9eba4af9b1e96705248bad03a0cb951e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Thu, 18 Jan 2018 16:04:15 +0100 Subject: [PATCH] radeonsi: pass -O halt_waves to umr for hang debugging MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This will give us meaningful wave information in the case of a hang where shaders are still running in an infinite loop. Note that we call umr multiple times for different sections of the ddebug hang dump, and so the wave information will not necessarily match up between sections. Reviewed-by: Marek Olšák --- src/amd/common/ac_debug.c | 2 +- src/gallium/drivers/radeonsi/si_debug.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_debug.c b/src/amd/common/ac_debug.c index 7f43437aa95..3b15398a2a2 100644 --- a/src/amd/common/ac_debug.c +++ b/src/amd/common/ac_debug.c @@ -761,7 +761,7 @@ unsigned ac_get_wave_info(struct ac_wave_info waves[AC_MAX_WAVES_PER_CHIP]) char line[2000]; unsigned num_waves = 0; - FILE *p = popen("umr -wa", "r"); + FILE *p = popen("umr -O halt_waves -wa", "r"); if (!p) return 0; diff --git a/src/gallium/drivers/radeonsi/si_debug.c b/src/gallium/drivers/radeonsi/si_debug.c index 00e0722c821..69d20c1efec 100644 --- a/src/gallium/drivers/radeonsi/si_debug.c +++ b/src/gallium/drivers/radeonsi/si_debug.c @@ -1051,8 +1051,8 @@ static void si_dump_debug_state(struct pipe_context *ctx, FILE *f, si_dump_debug_registers(sctx, f); si_dump_annotated_shaders(sctx, f); - si_dump_command("Active waves (raw data)", "umr -wa | column -t", f); - si_dump_command("Wave information", "umr -O bits -wa", f); + si_dump_command("Active waves (raw data)", "umr -O halt_waves -wa | column -t", f); + si_dump_command("Wave information", "umr -O halt_waves,bits -wa", f); } } -- 2.30.2