diff options
| author | Roland Scheidegger <sroland@tungstengraphics.com> | 2007-03-27 21:03:32 +0200 | 
|---|---|---|
| committer | Roland Scheidegger <sroland@tungstengraphics.com> | 2007-03-27 21:03:32 +0200 | 
| commit | cda32360925d84072a69c6fc0bfebbfe07d90ebc (patch) | |
| tree | 782a8f5320248a5976a62d5dd91d49aa95484eed /src | |
| 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')
| -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 a048509e51..bf1ad0165e 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 */ | 
