diff options
author | Brian Paul <[email protected]> | 2011-04-06 14:16:57 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2011-04-06 16:52:48 -0600 |
commit | 7b8830d81d816c22d5930bec1f0f178cf0d138c6 (patch) | |
tree | b4fb38e18313a214bf95d7396faa951b80dc9b50 /src/mesa/main/arrayobj.c | |
parent | de4cb19a1c3f166a2ffae3369aa95d3f81198b6b (diff) |
mesa: consolidate code in _mesa_update_array_max_element()
Diffstat (limited to 'src/mesa/main/arrayobj.c')
-rw-r--r-- | src/mesa/main/arrayobj.c | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c index d357ffb421d..85a8e0e569b 100644 --- a/src/mesa/main/arrayobj.c +++ b/src/mesa/main/arrayobj.c @@ -50,6 +50,7 @@ #include "arrayobj.h" #include "macros.h" #include "mtypes.h" +#include "varray.h" #include "main/dispatch.h" @@ -280,44 +281,13 @@ remove_array_object( struct gl_context *ctx, struct gl_array_object *obj ) /** - * Compute the index of the last array element that can be safely accessed - * in a vertex array. We can really only do this when the array lives in - * a VBO. - * The array->_MaxElement field will be updated. - * Later in glDrawArrays/Elements/etc we can do some bounds checking. - */ -static void -compute_max_element(struct gl_client_array *array) -{ - if (array->BufferObj->Name) { - /* Compute the max element we can access in the VBO without going - * out of bounds. - */ - array->_MaxElement = ((GLsizeiptrARB) array->BufferObj->Size - - (GLsizeiptrARB) array->Ptr + array->StrideB - - array->_ElementSize) / array->StrideB; - if (0) - printf("%s Object %u Size %u MaxElement %u\n", - __FUNCTION__, - array->BufferObj->Name, - (GLuint) array->BufferObj->Size, - array->_MaxElement); - } - else { - /* user-space array, no idea how big it is */ - array->_MaxElement = 2 * 1000 * 1000 * 1000; /* just a big number */ - } -} - - -/** * Helper for update_arrays(). * \return min(current min, array->_MaxElement). */ static GLuint update_min(GLuint min, struct gl_client_array *array) { - compute_max_element(array); + _mesa_update_array_max_element(array); if (array->Enabled) return MIN2(min, array->_MaxElement); else |