From: Nicolai Hähnle Date: Thu, 18 Jan 2018 15:04:15 +0000 (+0100) Subject: radeonsi: pass -O halt_waves to umr for hang debugging X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0630e52c9eba4af9b1e96705248bad03a0cb951e;p=mesa.git radeonsi: pass -O halt_waves to umr for hang debugging 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 --- 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); } }