summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/attrib.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/attrib.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/attrib.c')
-rw-r--r--src/mesa/main/attrib.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 87c7f66..c9332bd 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1369,8 +1369,11 @@ copy_array_object(struct gl_context *ctx,
/* In theory must be the same anyway, but on recreate make sure it matches */
dest->ARBsemantics = src->ARBsemantics;
- for (i = 0; i < Elements(src->_VertexAttrib); i++)
+ for (i = 0; i < Elements(src->_VertexAttrib); i++) {
_mesa_copy_client_array(ctx, &dest->_VertexAttrib[i], &src->_VertexAttrib[i]);
+ _mesa_copy_vertex_attrib_array(ctx, &dest->VertexAttrib[i], &src->VertexAttrib[i]);
+ _mesa_copy_vertex_buffer_binding(ctx, &dest->VertexBinding[i], &src->VertexBinding[i]);
+ }
/* _Enabled must be the same than on push */
dest->_Enabled = src->_Enabled;