diff options
author | marha <marha@users.sourceforge.net> | 2013-11-18 09:21:27 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-11-18 09:21:27 +0100 |
commit | 7c20de6c7fb53ed404d4df0d975328318810ce01 (patch) | |
tree | 8f837042966482fd961444153eabbc46cb9141eb /mesalib/src/mesa/main/api_arrayelt.c | |
parent | aa095d69b3874eb179cb77f033109a7f8f351041 (diff) | |
download | vcxsrv-7c20de6c7fb53ed404d4df0d975328318810ce01.tar.gz vcxsrv-7c20de6c7fb53ed404d4df0d975328318810ce01.tar.bz2 vcxsrv-7c20de6c7fb53ed404d4df0d975328318810ce01.zip |
libXext mesa xkeyboard-config pixman 18 nov 2013
xkeyboard-config commit 51ab5c95e48b2a040fc132bb5c1a5e8bbe86c8f4
libXext commit bb24f2970f2e425f4df90c9b73d078ad15a73fbb
pixman commit f473fd1e7553a4e92a0d72bea360f05d005c9a88
mesa commit 2cfbf84dadc915b7075a3f1cbb569daf699d5ff0
Diffstat (limited to 'mesalib/src/mesa/main/api_arrayelt.c')
-rw-r--r-- | mesalib/src/mesa/main/api_arrayelt.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/mesalib/src/mesa/main/api_arrayelt.c b/mesalib/src/mesa/main/api_arrayelt.c index 6822465e8..c9d4d038f 100644 --- a/mesalib/src/mesa/main/api_arrayelt.c +++ b/mesalib/src/mesa/main/api_arrayelt.c @@ -1469,6 +1469,18 @@ check_vbo(AEcontext *actx, struct gl_buffer_object *vbo) } +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, @@ -1486,12 +1498,6 @@ _ae_update_state(struct gl_context *ctx) 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]; @@ -1618,6 +1624,8 @@ _ae_map_vbos(struct gl_context *ctx) if (actx->mapped_vbos) return; + update_derived_client_arrays(ctx); + if (actx->NewState) _ae_update_state(ctx); @@ -1669,6 +1677,8 @@ _ae_ArrayElement(GLint elt) 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. */ |