diff options
author | Samuel Pitoiset <[email protected]> | 2019-07-11 18:03:56 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-07-12 08:19:53 +0200 |
commit | 958ee4c21aed4d08778b7de9e350ae38fb0bcedc (patch) | |
tree | 2f651456fc94c3dcd74dd820d16cb0a61b12e289 /src/amd | |
parent | 2b6a08981391f3dd65e6aacd5296ca6b1edddaf5 (diff) |
radv: report shader stage name when dumping LLVM IR
For debugging purposes.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r-- | src/amd/vulkan/radv_nir_to_llvm.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 32548857b57..e4ab5847729 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -4434,8 +4434,13 @@ LLVMModuleRef ac_translate_nir_to_llvm(struct ac_llvm_compiler *ac_llvm, LLVMBuildRetVoid(ctx.ac.builder); - if (options->dump_preoptir) + if (options->dump_preoptir) { + fprintf(stderr, "%s LLVM IR:\n\n", + radv_get_shader_name(shader_info, + shaders[shader_count - 1]->info.stage)); ac_dump_module(ctx.ac.module); + fprintf(stderr, "\n"); + } ac_llvm_finalize_module(&ctx, ac_llvm->passmgr, options); @@ -4489,13 +4494,18 @@ static void ac_compile_llvm_module(struct ac_llvm_compiler *ac_llvm, struct radv_shader_binary **rbinary, struct radv_shader_variant_info *shader_info, gl_shader_stage stage, + const char *name, const struct radv_nir_compiler_options *options) { char *elf_buffer = NULL; size_t elf_size = 0; char *llvm_ir_string = NULL; - if (options->dump_shader) + + if (options->dump_shader) { + fprintf(stderr, "%s LLVM IR:\n\n", name); ac_dump_module(llvm_module); + fprintf(stderr, "\n"); + } if (options->record_llvm_ir) { char *llvm_ir = LLVMPrintModuleToString(llvm_module); @@ -4585,7 +4595,10 @@ radv_compile_nir_shader(struct ac_llvm_compiler *ac_llvm, options); ac_compile_llvm_module(ac_llvm, llvm_module, rbinary, shader_info, - nir[nir_count - 1]->info.stage, options); + nir[nir_count - 1]->info.stage, + radv_get_shader_name(shader_info, + nir[nir_count - 1]->info.stage), + options); for (int i = 0; i < nir_count; ++i) ac_fill_shader_info(shader_info, nir[i], options); @@ -4737,7 +4750,7 @@ radv_compile_gs_copy_shader(struct ac_llvm_compiler *ac_llvm, ac_llvm_finalize_module(&ctx, ac_llvm->passmgr, options); ac_compile_llvm_module(ac_llvm, ctx.ac.module, rbinary, shader_info, - MESA_SHADER_VERTEX, options); + MESA_SHADER_VERTEX, "GS Copy Shader", options); (*rbinary)->is_gs_copy_shader = true; } |