From: Roland Scheidegger Date: Tue, 27 Mar 2007 19:03:32 +0000 (+0200) Subject: fix incorrect _MaxElement calculation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cda32360925d84072a69c6fc0bfebbfe07d90ebc;p=mesa.git 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. --- 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 */