diff options
author | Marek Olšák <[email protected]> | 2015-12-27 19:36:33 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-01-07 18:26:06 +0100 |
commit | 0ffe3d3772eaa5f14890a2fd2b77b173cb669f3f (patch) | |
tree | d64bed571a58116e045abd12a41917f8e488c133 /src/gallium | |
parent | 677c65968b636793bc5e928615fdd12491066ded (diff) |
radeonsi: use EXP_NULL for pixel shaders without outputs
This never happens currently.
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 2 | ||||
-rw-r--r-- | 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 13e5140d4db..4204db02128 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 68ba7ec00b4..af21f3e054c 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; } |