mesa: Handle zero-stride arrays in _mesa_update_array_max_element()
[mesa.git] / src / mesa / main / varray.h
index a75cb7db8ea38e9a64b6c29869f4869129d6512b..8a9487c6e6cd40156ac4c0c30de769ae751d8da1 100644 (file)
@@ -51,8 +51,10 @@ _mesa_update_array_max_element(struct gl_client_array *array)
       GLsizeiptrARB bufSize = (GLsizeiptrARB) array->BufferObj->Size;
 
       if (offset < bufSize) {
-        array->_MaxElement = (bufSize - offset + array->StrideB
-                               - array->_ElementSize) / array->StrideB;
+         const GLuint stride = array->StrideB ?
+                                 array->StrideB : array->_ElementSize;
+         array->_MaxElement = (bufSize - offset + stride
+                                  - array->_ElementSize) / stride;
       }
       else {
         array->_MaxElement = 0;