R6xx/r7xx: fix missing vertex stream
authorRichard Li <richardradeon@gmail.com>
Wed, 15 Jul 2009 21:00:42 +0000 (17:00 -0400)
committerAlex Deucher <alexdeucher@gmail.com>
Wed, 15 Jul 2009 21:00:42 +0000 (17:00 -0400)
Somehow context->radeon.tcl.aos[j].bo is not null sometimes,
but it is safe for now because it is only a pointer to
dma.current so overwriting it would not hurt anything.

src/mesa/drivers/dri/r600/r700_chip.c

index 9bd892a4394d01a6052f602b029a3228b809a857..b40550d68327db460921222c5b9db3d0ab1ca393 100644 (file)
@@ -374,23 +374,21 @@ int r700SetupStreams(GLcontext * ctx)
                unBit = 1 << i;
                if(vpc->mesa_program.Base.InputsRead & unBit)
                {
-                       if (!context->radeon.tcl.aos[j].bo) {
-                               rcommon_emit_vector(ctx,
-                                                   &context->radeon.tcl.aos[j],
-                                                   vb->AttribPtr[i]->data,
-                                                   vb->AttribPtr[i]->size,
-                                                   vb->AttribPtr[i]->stride,
-                                                   vb->Count);
-
-                               /* currently aos are packed */
-                               r700SetupVTXConstants(ctx,
-                                                     j,
-                                                     (void*)(&context->radeon.tcl.aos[j]),
-                                                     (unsigned int)context->radeon.tcl.aos[j].components,
-                                                     (unsigned int)context->radeon.tcl.aos[j].stride * 4,
-                                                     (unsigned int)context->radeon.tcl.aos[j].count);
-                               j++;
-                       }
+                       rcommon_emit_vector(ctx,
+                                           &context->radeon.tcl.aos[j],
+                                           vb->AttribPtr[i]->data,
+                                           vb->AttribPtr[i]->size,
+                                           vb->AttribPtr[i]->stride,
+                                           vb->Count);
+
+                       /* currently aos are packed */
+                       r700SetupVTXConstants(ctx,
+                                             j,
+                                             (void*)(&context->radeon.tcl.aos[j]),
+                                             (unsigned int)context->radeon.tcl.aos[j].components,
+                                             (unsigned int)context->radeon.tcl.aos[j].stride * 4,
+                                             (unsigned int)context->radeon.tcl.aos[j].count);
+                       j++;
                        context->radeon.tcl.aos_count++;
                }
        }