r300: fix bug with maniadrive rendering
authorDave Airlie <airlied@linux.ie>
Tue, 1 Jan 2008 15:19:23 +0000 (01:19 +1000)
committerDave Airlie <airlied@linux.ie>
Tue, 1 Jan 2008 15:19:23 +0000 (01:19 +1000)
I've no idea why I added this so I'll have to spend time tracking it down

src/mesa/drivers/dri/r300/r300_emit.c

index 424bf44e595159dbe48d59d733bc2f1ca087cc93..6efcf5aeed10e0044f14e2ff0bb0eacbaf29a7bb 100644 (file)
@@ -394,20 +394,20 @@ int r300EmitArrays(GLcontext * ctx)
                                inputs[i] = -1;
                        }
                }
-
                /* Fixed, apply to vir0 only */
-               memcpy(vir_inputs, inputs, VERT_ATTRIB_MAX * sizeof(int));
-               inputs = vir_inputs;
-               if (InputsRead & VERT_ATTRIB_POS)
-                       inputs[VERT_ATTRIB_POS] = 0;
-               if (InputsRead & (1 << VERT_ATTRIB_COLOR0))
-                       inputs[VERT_ATTRIB_COLOR0] = 2;
-               if (InputsRead & (1 << VERT_ATTRIB_COLOR1))
-                       inputs[VERT_ATTRIB_COLOR1] = 3;
-               for (i = VERT_ATTRIB_TEX0; i <= VERT_ATTRIB_TEX7; i++)
-                       if (InputsRead & (1 << i))
-                               inputs[i] = 6 + (i - VERT_ATTRIB_TEX0);
-
+               if (!(rmesa->radeon.radeonScreen->chip_flags & RADEON_CHIPSET_TCL)) {
+                       memcpy(vir_inputs, inputs, VERT_ATTRIB_MAX * sizeof(int));
+                       inputs = vir_inputs;
+                       if (InputsRead & VERT_ATTRIB_POS)
+                               inputs[VERT_ATTRIB_POS] = 0;
+                       if (InputsRead & (1 << VERT_ATTRIB_COLOR0))
+                               inputs[VERT_ATTRIB_COLOR0] = 2;
+                       if (InputsRead & (1 << VERT_ATTRIB_COLOR1))
+                               inputs[VERT_ATTRIB_COLOR1] = 3;
+                       for (i = VERT_ATTRIB_TEX0; i <= VERT_ATTRIB_TEX7; i++)
+                               if (InputsRead & (1 << i))
+                                       inputs[i] = 6 + (i - VERT_ATTRIB_TEX0);
+               }
                RENDERINPUTS_COPY(rmesa->state.render_inputs_bitset, render_inputs_bitset);
        }