summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Li <richardradeon@gmail.com>2009-07-15 17:00:42 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-07-15 17:00:42 -0400
commit01b793ec7d1ecba53fb0620f07a928872b0ce033 (patch)
tree6a6834636dacdf1da2dbe7fbf825b3d3af572265
parent1e8a6068ee8b914bc601613c5e1655184c1cc05b (diff)
R6xx/r7xx: fix missing vertex stream
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.
-rw-r--r--src/mesa/drivers/dri/r600/r700_chip.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c
index 9bd892a439..b40550d683 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -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++;
}
}