Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> --- src/amd/vulkan/radv_debug.c | 4 ++-- src/amd/vulkan/radv_shader.c | 37 +++++++++++++++++++++++++++--------- src/amd/vulkan/radv_shader.h | 3 ++- 3 files changed, 32 insertions(+), 12 deletions(-)
diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c index 42296745543..49b7417e988 100644 --- a/src/amd/vulkan/radv_debug.c +++ b/src/amd/vulkan/radv_debug.c @@ -406,7 +406,7 @@ radv_dump_annotated_shader(struct radv_shader_variant *shader, start_addr, &num_inst, instructions); fprintf(f, COLOR_YELLOW "%s - annotated disassembly:" COLOR_RESET "\n", - radv_get_shader_name(shader, stage)); + radv_get_shader_name(&shader->info, stage)); /* Print instructions with annotations. */ for (i = 0; i < num_inst; i++) { @@ -490,7 +490,7 @@ radv_dump_shader(struct radv_pipeline *pipeline, if (!shader) return; - fprintf(f, "%s:\n\n", radv_get_shader_name(shader, stage)); + fprintf(f, "%s:\n\n", radv_get_shader_name(&shader->info, stage)); if (shader->spirv) { unsigned char sha1[21]; diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 4ec4e88349d..8f37c2bfb67 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -1152,15 +1152,34 @@ radv_shader_variant_destroy(struct radv_device *device, } const char * -radv_get_shader_name(struct radv_shader_variant *var, gl_shader_stage stage) +radv_get_shader_name(struct radv_shader_variant_info *info, + gl_shader_stage stage) { switch (stage) { - case MESA_SHADER_VERTEX: return var->info.vs.as_ls ? "Vertex Shader as LS" : var->info.vs.as_es ? "Vertex Shader as ES" : "Vertex Shader as VS"; - case MESA_SHADER_GEOMETRY: return "Geometry Shader"; - case MESA_SHADER_FRAGMENT: return "Pixel Shader"; - case MESA_SHADER_COMPUTE: return "Compute Shader"; - case MESA_SHADER_TESS_CTRL: return "Tessellation Control Shader"; - case MESA_SHADER_TESS_EVAL: return var->info.tes.as_es ? "Tessellation Evaluation Shader as ES" : "Tessellation Evaluation Shader as VS"; + case MESA_SHADER_VERTEX: + if (info->vs.as_ls) + return "Vertex Shader as LS"; + else if (info->vs.as_es) + return "Vertex Shader as ES"; + else if (info->is_ngg) + return "Vertex Shader as ESGS"; + else + return "Vertex Shader as VS"; + case MESA_SHADER_TESS_CTRL: + return "Tessellation Control Shader"; + case MESA_SHADER_TESS_EVAL: + if (info->tes.as_es) + return "Tessellation Evaluation Shader as ES"; + else if (info->is_ngg) + return "Tessellation Evaluation Shader as ESGS"; + else + return "Tessellation Evaluation Shader as VS"; + case MESA_SHADER_GEOMETRY: + return "Geometry Shader"; + case MESA_SHADER_FRAGMENT: + return "Pixel Shader"; + case MESA_SHADER_COMPUTE: + return "Compute Shader"; default: return "Unknown shader"; }; @@ -1244,7 +1263,7 @@ radv_shader_dump_stats(struct radv_device *device, generate_shader_stats(device, variant, stage, buf); - fprintf(file, "\n%s:\n", radv_get_shader_name(variant, stage)); + fprintf(file, "\n%s:\n", radv_get_shader_name(&variant->info, stage)); fprintf(file, "%s", buf->buf); _mesa_string_buffer_destroy(buf); @@ -1317,7 +1336,7 @@ radv_GetShaderInfoAMD(VkDevice _device, case VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD: buf = _mesa_string_buffer_create(NULL, 1024); - _mesa_string_buffer_printf(buf, "%s:\n", radv_get_shader_name(variant, stage)); + _mesa_string_buffer_printf(buf, "%s:\n", radv_get_shader_name(&variant->info, stage)); _mesa_string_buffer_printf(buf, "%s\n\n", variant->llvm_ir_string); _mesa_string_buffer_printf(buf, "%s\n\n", variant->disasm_string); generate_shader_stats(device, variant, stage, buf); diff --git a/src/amd/vulkan/radv_shader.h b/src/amd/vulkan/radv_shader.h index 8506aa1d9f0..360591349a8 100644 --- a/src/amd/vulkan/radv_shader.h +++ b/src/amd/vulkan/radv_shader.h @@ -421,7 +421,8 @@ radv_shader_variant_destroy(struct radv_device *device, struct radv_shader_variant *variant); const char * -radv_get_shader_name(struct radv_shader_variant *var, gl_shader_stage stage); +radv_get_shader_name(struct radv_shader_variant_info *info, + gl_shader_stage stage); void radv_shader_dump_stats(struct radv_device *device, -- 2.22.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev