diff options
| author | Andre Maasikas <amaasikas@gmail.com> | 2010-08-26 15:22:21 +0300 | 
|---|---|---|
| committer | Andre Maasikas <amaasikas@gmail.com> | 2010-08-26 16:55:21 +0300 | 
| commit | 0599509fc4e21a69bcbf121deacbc631c38ccfa2 (patch) | |
| tree | dcf87e0b3bba8b32d1793d121d05c055039de70e /src/mesa/drivers | |
| parent | 90437330e2886fcd351dd11ee0e5aa3e8b523fdc (diff) | |
r600: fix vertex buffer size calculation
when we dont know max_index we cannot calculate vb size from count
anymore - just use the bo size.
Also added an assert to remind that we dont handle GL_INT GL_DOUBLE
upload when we dont' know max_index - will fix later
Diffstat (limited to 'src/mesa/drivers')
| -rw-r--r-- | src/mesa/drivers/dri/r600/r700_chip.c | 13 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/r600/r700_render.c | 1 | 
2 files changed, 2 insertions, 12 deletions
| diff --git a/src/mesa/drivers/dri/r600/r700_chip.c b/src/mesa/drivers/dri/r600/r700_chip.c index d17884f722..71f1af7562 100644 --- a/src/mesa/drivers/dri/r600/r700_chip.c +++ b/src/mesa/drivers/dri/r600/r700_chip.c @@ -173,7 +173,6 @@ static void r700SetupVTXConstants(GLcontext  * ctx,  {      context_t *context = R700_CONTEXT(ctx);      struct radeon_aos * paos = (struct radeon_aos *)pAos; -    unsigned int nVBsize;      BATCH_LOCALS(&context->radeon);      unsigned int uSQ_VTX_CONSTANT_WORD0_0; @@ -194,18 +193,8 @@ static void r700SetupVTXConstants(GLcontext  * ctx,      else  	    r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, VC_ACTION_ENA_bit); -    if(0 == pStreamDesc->stride) -    { -        nVBsize = paos->count * pStreamDesc->size * getTypeSize(pStreamDesc->type); -    } -    else -    { -        nVBsize = (paos->count - 1) * pStreamDesc->stride -                  + pStreamDesc->size * getTypeSize(pStreamDesc->type); -    } -      uSQ_VTX_CONSTANT_WORD0_0 = paos->offset; -    uSQ_VTX_CONSTANT_WORD1_0 = nVBsize - 1; +    uSQ_VTX_CONSTANT_WORD1_0 = paos->bo->size - paos->offset - 1;      SETfield(uSQ_VTX_CONSTANT_WORD2_0, 0, BASE_ADDRESS_HI_shift, BASE_ADDRESS_HI_mask); /* TODO */      SETfield(uSQ_VTX_CONSTANT_WORD2_0, pStreamDesc->stride, SQ_VTX_CONSTANT_WORD2_0__STRIDE_shift, diff --git a/src/mesa/drivers/dri/r600/r700_render.c b/src/mesa/drivers/dri/r600/r700_render.c index c5771f9fd0..f90c69c416 100644 --- a/src/mesa/drivers/dri/r600/r700_render.c +++ b/src/mesa/drivers/dri/r600/r700_render.c @@ -644,6 +644,7 @@ static void r700SetupStreams(GLcontext *ctx, const struct gl_client_array *input  #endif              )           { +            assert(count);              r700ConvertAttrib(ctx, count, input[i], &context->stream_desc[index]);          }           else  | 
