summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/radeonsi_shader.c
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-07-12 10:40:47 -0400
committerTom Stellard <[email protected]>2012-07-12 13:53:22 -0400
commit185fc9a5efc85d8eadf14d38399e43efea3388d0 (patch)
treebd91c8492bba3bee2ec285840cafdc2d798303c8 /src/gallium/drivers/radeonsi/radeonsi_shader.c
parentb546aebae922214dced54c75e6f64830aabd5d1c (diff)
radeonsi: Dump TGSI code prior to doing TGSI->LLVM conversion.
This way if the conversion fails, we know what the TGSI shader looks like.
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_shader.c')
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_shader.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index d0820b80302..7b805b59948 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -574,13 +574,18 @@ int si_pipe_shader_create(
shader->shader.nr_cbufs = rctx->nr_cbufs;
+ /* Dump TGSI code before doing TGSI->LLVM conversion in case the
+ * conversion fails. */
+ if (dump) {
+ tgsi_dump(shader->tokens, 0);
+ }
+
lp_build_tgsi_llvm(bld_base, shader->tokens);
radeon_llvm_finalize_module(&si_shader_ctx.radeon_bld);
mod = bld_base->base.gallivm->module;
if (dump) {
- tgsi_dump(shader->tokens, 0);
LLVMDumpModule(mod);
}
radeon_llvm_compile(mod, &inst_bytes, &inst_byte_count, "SI", dump);