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.
This commit is contained in:
Richard Li 2009-07-15 17:00:42 -04:00 committed by Alex Deucher
parent 1e8a6068ee
commit 01b793ec7d

View 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);
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++;
}
/* 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++;
}
}