From 8bda0f1f4feec3bc4625c505feed48c49afaf0b6 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 1 Jul 2009 14:41:57 -0400 Subject: [PATCH] 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. --- src/mesa/drivers/dri/r600/r700_chip.c | 8 ++++---- 1 file 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 66827287cb8..4ace9c946b8 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++; } -- 2.30.2