diff options
author | Roland Scheidegger <[email protected]> | 2007-03-27 21:03:32 +0200 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2007-03-27 21:03:32 +0200 |
commit | cda32360925d84072a69c6fc0bfebbfe07d90ebc (patch) | |
tree | 782a8f5320248a5976a62d5dd91d49aa95484eed /src/mesa/main/varray.c | |
parent | 9b9e056615bc63d5498feb6999bd4df431170022 (diff) |
fix incorrect _MaxElement calculation
The calculation of _MaxElement was wrong if the stride was larger than
elementSize, which lead to rejection of every DrawElements call which accessed
the maximum element if CheckArrayBounds was enabled.
Diffstat (limited to 'src/mesa/main/varray.c')
-rw-r--r-- | src/mesa/main/varray.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index a048509e515..bf1ad0165e6 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -76,7 +76,8 @@ update_array(GLcontext *ctx, struct gl_client_array *array, */ if (ctx->Array.ArrayBufferObj->Name) array->_MaxElement = ((GLsizeiptrARB) ctx->Array.ArrayBufferObj->Size - - (GLsizeiptrARB) array->Ptr) / array->StrideB; + - (GLsizeiptrARB) array->Ptr + array->StrideB + - elementSize) / array->StrideB; else #endif array->_MaxElement = 2 * 1000 * 1000 * 1000; /* just a big number */ |