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 | |
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.
-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 */ |