From: Marek Olšák Date: Sun, 27 Dec 2015 18:36:33 +0000 (+0100) Subject: radeonsi: use EXP_NULL for pixel shaders without outputs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0ffe3d3772eaa5f14890a2fd2b77b173cb669f3f;p=mesa.git radeonsi: use EXP_NULL for pixel shaders without outputs This never happens currently. Reviewed-by: Nicolai Hähnle --- 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; }