Sorry, but I think this can be dropped. I have a bigger cleanup of these functions. I should send that soon.
Marek On Thu, Dec 31, 2015 at 3:30 AM, Nicolai Hähnle <nhaeh...@gmail.com> wrote: > From: Nicolai Hähnle <nicolai.haeh...@amd.com> > > Now that the functions gets a context pointer, it can determine IR and ASM > dumping by itself. > > The dump parameter is still required because we cannot easily tell the shader > type at this point (one might argue that the separate enable flags for the > different types offer little value, but that would be a separate change). > --- > src/gallium/drivers/r600/r600_llvm.c | 2 +- > src/gallium/drivers/radeon/radeon_llvm_emit.c | 6 +++--- > src/gallium/drivers/radeon/radeon_llvm_emit.h | 2 +- > src/gallium/drivers/radeonsi/si_shader.c | 7 +++---- > 4 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/src/gallium/drivers/r600/r600_llvm.c > b/src/gallium/drivers/r600/r600_llvm.c > index a68f265..b72401d 100644 > --- a/src/gallium/drivers/r600/r600_llvm.c > +++ b/src/gallium/drivers/r600/r600_llvm.c > @@ -923,7 +923,7 @@ unsigned r600_llvm_compile( > const char * gpu_family = r600_get_llvm_processor_name(family); > > memset(&binary, 0, sizeof(struct radeon_shader_binary)); > - r = radeon_llvm_compile(rctx, mod, &binary, gpu_family, dump, dump, > NULL); > + r = radeon_llvm_compile(rctx, mod, &binary, gpu_family, dump, NULL); > > r = r600_create_shader(bc, &binary, use_kill); > > diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c > b/src/gallium/drivers/radeon/radeon_llvm_emit.c > index 62e06ca..03dd5dd 100644 > --- a/src/gallium/drivers/radeon/radeon_llvm_emit.c > +++ b/src/gallium/drivers/radeon/radeon_llvm_emit.c > @@ -172,7 +172,7 @@ static void radeonDiagnosticHandler(LLVMDiagnosticInfoRef > di, void *context) > */ > unsigned radeon_llvm_compile(struct r600_common_context *rctx, > LLVMModuleRef M, struct radeon_shader_binary > *binary, > - const char *gpu_family, bool dump_ir, bool > dump_asm, > + const char *gpu_family, bool dump, > LLVMTargetMachineRef tm) > { > struct radeon_llvm_diagnostics diag; > @@ -198,14 +198,14 @@ unsigned radeon_llvm_compile(struct r600_common_context > *rctx, > } > strncpy(cpu, gpu_family, CPU_STRING_LEN); > memset(fs, 0, sizeof(fs)); > - if (dump_asm) > + if (dump && !(rctx->screen->debug_flags & DBG_NO_ASM)) > strncpy(fs, "+DumpCode", FS_STRING_LEN); > tm = LLVMCreateTargetMachine(target, triple, cpu, fs, > LLVMCodeGenLevelDefault, LLVMRelocDefault, > LLVMCodeModelDefault); > dispose_tm = true; > } > - if (dump_ir) > + if (dump && !(rctx->screen->debug_flags & DBG_NO_IR)) > LLVMDumpModule(M); > /* Setup Diagnostic Handler*/ > llvm_ctx = LLVMGetModuleContext(M); > diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.h > b/src/gallium/drivers/radeon/radeon_llvm_emit.h > index be72c6b..e15d2f9 100644 > --- a/src/gallium/drivers/radeon/radeon_llvm_emit.h > +++ b/src/gallium/drivers/radeon/radeon_llvm_emit.h > @@ -40,7 +40,7 @@ LLVMTargetRef radeon_llvm_get_r600_target(const char > *triple); > > unsigned radeon_llvm_compile(struct r600_common_context *rctx, > LLVMModuleRef M, struct radeon_shader_binary > *binary, > - const char *gpu_family, bool dump_ir, bool > dump_asm, > + const char *gpu_family, bool dump, > LLVMTargetMachineRef tm); > > #endif /* RADEON_LLVM_EMIT_H */ > diff --git a/src/gallium/drivers/radeonsi/si_shader.c > b/src/gallium/drivers/radeonsi/si_shader.c > index 3f5690e..6102845 100644 > --- a/src/gallium/drivers/radeonsi/si_shader.c > +++ b/src/gallium/drivers/radeonsi/si_shader.c > @@ -3924,17 +3924,16 @@ int si_compile_llvm(struct si_context *sctx, struct > si_shader *shader, > { > struct si_screen *sscreen = sctx->screen; > int r = 0; > - bool dump_asm = r600_can_dump_shader(&sscreen->b, > + bool dump = r600_can_dump_shader(&sscreen->b, > shader->selector ? shader->selector->tokens : > NULL); > - bool dump_ir = dump_asm && !(sscreen->b.debug_flags & DBG_NO_IR); > unsigned count = p_atomic_inc_return(&sscreen->b.num_compilations); > > - if (dump_ir || dump_asm) > + if (dump) > fprintf(stderr, "radeonsi: Compiling shader %d\n", count); > > if (!si_replace_shader(count, &shader->binary)) { > r = radeon_llvm_compile(&sctx->b, mod, &shader->binary, > - r600_get_llvm_processor_name(sscreen->b.family), > dump_ir, dump_asm, tm); > + r600_get_llvm_processor_name(sscreen->b.family), > dump, tm); > if (r) > return r; > } > -- > 2.5.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev