aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/main/api_arrayelt.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-11-18 09:21:27 +0100
committermarha <marha@users.sourceforge.net>2013-11-18 09:21:27 +0100
commit7c20de6c7fb53ed404d4df0d975328318810ce01 (patch)
tree8f837042966482fd961444153eabbc46cb9141eb /mesalib/src/mesa/main/api_arrayelt.c
parentaa095d69b3874eb179cb77f033109a7f8f351041 (diff)
downloadvcxsrv-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.c22
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.
*/