radv: dump NIR when a GPU hang is detected

This looks a bit ugly to me, but the existing codepath
is not terribly elegant as well.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Samuel Pitoiset
2017-09-22 16:44:08 +02:00
parent 94d800bfa3
commit a2a350a3be
4 changed files with 27 additions and 11 deletions

View File

@@ -495,8 +495,14 @@ radv_dump_shader(struct radv_pipeline *pipeline,
if (!shader)
return;
fprintf(f, "%s:\n%s\n\n", radv_get_shader_name(shader, stage),
shader->disasm_string);
fprintf(f, "%s:\n\n", radv_get_shader_name(shader, stage));
if (shader->nir) {
fprintf(f, "NIR:\n");
nir_print_shader(shader->nir, f);
}
fprintf(stderr, "DISASM:\n%s\n", shader->disasm_string);
radv_shader_dump_stats(pipeline->device, shader, stage, f);
}