aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian König <[email protected]>2012-07-25 21:58:46 +0200
committerChristian König <[email protected]>2012-07-30 15:01:34 +0200
commitf18fd255cf283cdf4ba9326d437d1543fd38a139 (patch)
tree5c1809c13e8a10acf57ffccb804f71a78c0949ad /src
parentb15e3ae5b423dd8846a35500c0274d1d74f6b836 (diff)
radeonsi: fix dummy export in shaders v2
v2: add assertion for vertex shader Signed-off-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_shader.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index 66050d3fd3e..f90fd1dde30 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -475,6 +475,25 @@ static void si_llvm_emit_epilogue(struct lp_build_tgsi_context * bld_base)
}
}
+ if (!last_args[0]) {
+ assert(si_shader_ctx->type == TGSI_PROCESSOR_FRAGMENT);
+
+ /* Specify which components to enable */
+ last_args[0] = lp_build_const_int32(base->gallivm, 0x0);
+
+ /* Specify the target we are exporting */
+ last_args[3] = lp_build_const_int32(base->gallivm, V_008DFC_SQ_EXP_MRT);
+
+ /* Set COMPR flag to zero to export data as 32-bit */
+ last_args[4] = uint->zero;
+
+ /* dummy bits */
+ last_args[5]= uint->zero;
+ last_args[6]= uint->zero;
+ last_args[7]= uint->zero;
+ last_args[8]= uint->zero;
+ }
+
/* Specify whether the EXEC mask represents the valid mask */
last_args[1] = lp_build_const_int32(base->gallivm,
si_shader_ctx->type == TGSI_PROCESSOR_FRAGMENT);