nvc0: revert mistaken logic to collapse color outputs to the beginning
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 23 May 2014 15:31:39 +0000 (11:31 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Mon, 26 May 2014 18:53:26 +0000 (14:53 -0400)
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 <imirkin@alum.mit.edu>
Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
src/gallium/drivers/nouveau/nvc0/nvc0_program.c

index 8724cc57d67ec09f0726842e1db80c29feebd89c..1c82a9acffb15c6c4ce8cbafa7901b97fe05e146 100644 (file)
@@ -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++;