summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2018-01-18 16:04:15 +0100
committerNicolai Hähnle <[email protected]>2018-04-11 12:44:24 +0200
commit0630e52c9eba4af9b1e96705248bad03a0cb951e (patch)
tree85e41a334fd23d87b502879e761531183bb4a8b5 /src
parent69f447553c6cd8c9004b80c099630ce7167a0a28 (diff)
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/amd/common/ac_debug.c2
-rw-r--r--src/gallium/drivers/radeonsi/si_debug.c4
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);
}
}