nvc0: treat all draws without color0 broadcast as MRT

Per the semi-recently-released NVIDIA docs, when this bit is not
enabled, then the result for RT[0] will be used. So if e.g. only a
single RT is drawn to and it's not RT[2], the results will not be
visible. Fixes
GTF-GL45.gtf33.GL3Tests.explicit_attrib_location.explicit_attrib_location_pipeline
which was failing due to a frag shader outputting only to location=2.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin 2020-01-12 00:07:05 -05:00
parent 3e9aacb139
commit 201b88a93b
1 changed files with 1 additions and 1 deletions

View File

@ -440,7 +440,7 @@ nvc0_fp_gen_header(struct nvc0_program *fp, struct nv50_ir_prog_info *info)
if (info->prop.fp.usesDiscard)
fp->hdr[0] |= 0x8000;
if (info->prop.fp.numColourResults > 1)
if (!info->prop.fp.separateFragData)
fp->hdr[0] |= 0x4000;
if (info->io.sampleMask < PIPE_MAX_SHADER_OUTPUTS)
fp->hdr[19] |= 0x1;