radeonsi: use EXP_NULL for pixel shaders without outputs
This never happens currently. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
677c65968b
commit
0ffe3d3772
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue