diff options
author | Nicolai Hähnle <[email protected]> | 2018-01-18 16:04:15 +0100 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2018-04-11 12:44:24 +0200 |
commit | 0630e52c9eba4af9b1e96705248bad03a0cb951e (patch) | |
tree | 85e41a334fd23d87b502879e761531183bb4a8b5 /src | |
parent | 69f447553c6cd8c9004b80c099630ce7167a0a28 (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.c | 2 | ||||
-rw-r--r-- | 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); } } |