[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