summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/api_arrayelt.c
diff options
context:
space:
mode:
authorFredrik Höglund <fredrik@kde.org>2013-04-09 20:54:25 +0200
committerFredrik Höglund <fredrik@kde.org>2013-11-07 16:20:45 +0100
commit59b01ca252bd6706f08cd80a864819d71dfe741c (patch)
tree7531a6193ef44fad1555998c5ff6346f22ca1641 /src/mesa/main/api_arrayelt.c
parentbb2d02c7b53d2bcbdddcbe4e82a912e5183fdb8c (diff)
downloadexternal_mesa3d-59b01ca252bd6706f08cd80a864819d71dfe741c.zip
external_mesa3d-59b01ca252bd6706f08cd80a864819d71dfe741c.tar.gz
external_mesa3d-59b01ca252bd6706f08cd80a864819d71dfe741c.tar.bz2
mesa: Add ARB_vertex_attrib_binding
update_array() and update_array_format() are changed to update the new attrib and binding states, and the client arrays become derived state. Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa/main/api_arrayelt.c')
-rw-r--r--src/mesa/main/api_arrayelt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index 5a316f0..6822465 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -35,6 +35,7 @@
*/
#include "glheader.h"
+#include "arrayobj.h"
#include "api_arrayelt.h"
#include "bufferobj.h"
#include "context.h"
@@ -1485,6 +1486,12 @@ _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];