summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoland Scheidegger <[email protected]>2007-03-27 21:03:32 +0200
committerRoland Scheidegger <[email protected]>2007-03-27 21:03:32 +0200
commitcda32360925d84072a69c6fc0bfebbfe07d90ebc (patch)
tree782a8f5320248a5976a62d5dd91d49aa95484eed /src
parent9b9e056615bc63d5498feb6999bd4df431170022 (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')
-rw-r--r--src/mesa/main/varray.c3
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 */