summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2014-05-23 11:31:39 -0400
committerIlia Mirkin <[email protected]>2014-05-26 14:53:26 -0400
commit0d699530ff9fe68a1898f875b889422536bfc8e5 (patch)
treeb355ca0ac4fa77101dff7de8b4f8c0ab8e602402
parentab7bd7093dfd18778ece4ed9098666c9ebc68d51 (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.c13
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++;