diff options
author | Ilia Mirkin <[email protected]> | 2014-05-23 11:31:39 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2014-05-26 14:53:26 -0400 |
commit | 0d699530ff9fe68a1898f875b889422536bfc8e5 (patch) | |
tree | b355ca0ac4fa77101dff7de8b4f8c0ab8e602402 | |
parent | ab7bd7093dfd18778ece4ed9098666c9ebc68d51 (diff) |
nvc0: revert mistaken logic to collapse color outputs to the beginning
In commit af38ef907, I added a "fix" to color outputs not being assigned
correctly when sample mask was being output. This was totally wrong --
the color indices (i.e. "si" values) were the ones that were wrong. Undo
that hunk.
Signed-off-by: Ilia Mirkin <[email protected]>
Acked-by: Emil Velikov <[email protected]>
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index 8724cc57d67..1c82a9acffb 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c @@ -133,17 +133,12 @@ static int nvc0_fp_assign_output_slots(struct nv50_ir_prog_info *info) { unsigned count = info->prop.fp.numColourResults * 4; - unsigned i, c, ci; + unsigned i, c; - for (i = 0, ci = 0; i < info->numOutputs; ++i) { - if (info->out[i].sn == TGSI_SEMANTIC_COLOR) { + for (i = 0; i < info->numOutputs; ++i) + if (info->out[i].sn == TGSI_SEMANTIC_COLOR) for (c = 0; c < 4; ++c) - info->out[i].slot[c] = ci * 4 + c; - ci++; - } - } - - assert(ci == info->prop.fp.numColourResults); + info->out[i].slot[c] = info->out[i].si * 4 + c; if (info->io.sampleMask < PIPE_MAX_SHADER_OUTPUTS) info->out[info->io.sampleMask].slot[0] = count++; |