}
+static inline void
+update_derived_client_arrays(struct gl_context *ctx)
+{
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
+
+ if (arrayObj->NewArrays) {
+ _mesa_update_array_object_client_arrays(ctx, arrayObj);
+ arrayObj->NewArrays = 0;
+ }
+}
+
+
/**
* Make a list of per-vertex functions to call for each glArrayElement call.
* These functions access the array data (i.e. glVertex, glColor, glNormal,
actx->nr_vbos = 0;
- if (arrayObj->NewArrays) {
- /* update the derived client arrays */
- _mesa_update_array_object_client_arrays(ctx, arrayObj);
- arrayObj->NewArrays = 0;
- }
-
/* conventional vertex arrays */
if (arrayObj->_VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) {
aa->array = &arrayObj->_VertexAttrib[VERT_ATTRIB_COLOR_INDEX];
if (actx->mapped_vbos)
return;
+ update_derived_client_arrays(ctx);
+
if (actx->NewState)
_ae_update_state(ctx);
const struct _glapi_table * const disp = GET_DISPATCH();
GLboolean do_map;
+ update_derived_client_arrays(ctx);
+
/* If PrimitiveRestart is enabled and the index is the RestartIndex
* then we call PrimitiveRestartNV and return.
*/