diff options
author | Richard Li <richardradeon@gmail.com> | 2009-07-15 17:00:42 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-07-15 17:00:42 -0400 |
commit | 01b793ec7d1ecba53fb0620f07a928872b0ce033 (patch) | |
tree | 6a6834636dacdf1da2dbe7fbf825b3d3af572265 | |
parent | 1e8a6068ee8b914bc601613c5e1655184c1cc05b (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.c | 32 |
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++; } } |