From 6d957a86ff90378be5832feddc880eb10fac1c78 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 5 Sep 2017 15:36:59 +0200 Subject: [PATCH] radv: dump shader stats when a hang occured Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_debug.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c index 45dbe2b08dc..ee4c86e7ed3 100644 --- a/src/amd/vulkan/radv_debug.c +++ b/src/amd/vulkan/radv_debug.c @@ -82,7 +82,8 @@ radv_dump_trace(struct radv_device *device, struct radeon_winsys_cs *cs) } static void -radv_dump_shader(struct radv_shader_variant *shader, gl_shader_stage stage, +radv_dump_shader(struct radv_pipeline *pipeline, + struct radv_shader_variant *shader, gl_shader_stage stage, FILE *f) { if (!shader) @@ -90,6 +91,8 @@ radv_dump_shader(struct radv_shader_variant *shader, gl_shader_stage stage, fprintf(f, "%s:\n%s\n\n", radv_get_shader_name(shader, stage), shader->disasm_string); + + radv_shader_dump_stats(pipeline->device, shader, stage, f); } static void @@ -103,10 +106,10 @@ radv_dump_shaders(struct radv_pipeline *pipeline, while (mask) { int stage = u_bit_scan(&mask); - radv_dump_shader(pipeline->shaders[stage], stage, f); + radv_dump_shader(pipeline, pipeline->shaders[stage], stage, f); } - radv_dump_shader(compute_shader, MESA_SHADER_COMPUTE, f); + radv_dump_shader(pipeline, compute_shader, MESA_SHADER_COMPUTE, f); } static void -- 2.30.2