summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r600/r700_chip.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-07-01 14:41:57 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-07-01 14:41:57 -0400
commit8bda0f1f4feec3bc4625c505feed48c49afaf0b6 (patch)
treecda894b0562be40ce78078fd1bb3abfb2f57974e /src/mesa/drivers/dri/r600/r700_chip.c
parent65cdf9c561c518a7e2c6b6584382fb2fb902ea40 (diff)
r6xx/r7xx: rework aos setup
In theory this should fix the stride = 0 case, but I can't seem to reproduce that anymore with mesa master.
Diffstat (limited to 'src/mesa/drivers/dri/r600/r700_chip.c')
-rw-r--r--src/mesa/drivers/dri/r600/r700_chip.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c
index 66827287cb..4ace9c946b 100644
--- a/src/mesa/drivers/dri/r600/r700_chip.c
+++ b/src/mesa/drivers/dri/r600/r700_chip.c
@@ -309,7 +309,7 @@ void r700SetupVTXConstants(GLcontext * ctx,
unsigned int uSQ_VTX_CONSTANT_WORD6_0 = 0;
uSQ_VTX_CONSTANT_WORD0_0 = paos->offset;
- uSQ_VTX_CONSTANT_WORD1_0 = count * stride - 1;
+ uSQ_VTX_CONSTANT_WORD1_0 = count * (size * 4) - 1;
uSQ_VTX_CONSTANT_WORD2_0 |= 0 << BASE_ADDRESS_HI_shift /* TODO */
|stride << SQ_VTX_CONSTANT_WORD2_0__STRIDE_shift
@@ -385,9 +385,9 @@ int r700SetupStreams(GLcontext * ctx)
r700SetupVTXConstants(ctx,
i,
(void*)(&context->radeon.tcl.aos[i]),
- (unsigned int)vb->AttribPtr[i]->size,
- (unsigned int)(vb->AttribPtr[i]->size * 4),
- (unsigned int)vb->Count);
+ (unsigned int)context->radeon.tcl.aos[i].components,
+ (unsigned int)context->radeon.tcl.aos[i].stride * 4,
+ (unsigned int)context->radeon.tcl.aos[i].count);
context->radeon.tcl.aos_count++;
}