[Mesa-dev] [PATCH 09/23] radeonsi: use EXP_NULL for pixel shaders without outputs

Marek Olšák maraeo at gmail.com
Wed Jan 6 04:41:31 PST 2016


From: Marek Olšák <marek.olsak at amd.com>

This never happens currently.
---
 src/gallium/drivers/radeonsi/si_shader.c        | 2 +-
 src/gallium/drivers/radeonsi/si_state_shaders.c | 7 ++-----
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 13e5140..4204db0 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -2153,7 +2153,7 @@ static void si_llvm_emit_fs_epilogue(struct lp_build_tgsi_context * bld_base)
 		args[0] = lp_build_const_int32(base->gallivm, 0x0); /* enabled channels */
 		args[1] = uint->one; /* whether the EXEC mask is valid */
 		args[2] = uint->one; /* DONE bit */
-		args[3] = lp_build_const_int32(base->gallivm, V_008DFC_SQ_EXP_MRT);
+		args[3] = lp_build_const_int32(base->gallivm, V_008DFC_SQ_EXP_NULL);
 		args[4] = uint->zero; /* COMPR flag (0 = 32-bit export) */
 		args[5] = uint->undef; /* R */
 		args[6] = uint->undef; /* G */
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 68ba7ec..af21f3e 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -428,11 +428,8 @@ static void si_shader_ps(struct si_shader *shader)
 	colors_written = info->colors_written;
 	export_16bpc = shader->key.ps.export_16bpc;
 
-	if (!info->num_outputs) {
-		colors_written = 0x1; /* dummy export */
-		export_16bpc = 0;
-	} else if (info->colors_written == 0x1 &&
-		   info->properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS]) {
+	if (info->colors_written == 0x1 &&
+	    info->properties[TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS]) {
 		colors_written |= (1 << (shader->key.ps.last_cbuf + 1)) - 1;
 	}
 
-- 
2.1.4



More information about the mesa-dev mailing list