Merge branch 'master' into i915-unification
[mesa.git] / src / mesa / vbo / vbo_save_draw.c
index bc59a0d8211c356bc4615f814ef7ee1b9af79da3..8940551d08b1ca416a5bfeccc2a92d197a48c540 100644 (file)
@@ -58,6 +58,8 @@ static void _playback_copy_to_current( GLcontext *ctx,
                                 node->vertex_size * sizeof(GLfloat), 
                                 data, node->vertex_store->bufferobj );
 
+   data += node->attrsz[0]; /* skip vertex position */
+
    for (i = VBO_ATTRIB_POS+1 ; i < VBO_ATTRIB_MAX ; i++) {
       if (node->attrsz[i]) {
         GLfloat *current = (GLfloat *)vbo->currval[i].Ptr;
@@ -203,6 +205,7 @@ void vbo_save_playback_vertex_list( GLcontext *ctx, void *data )
       if (ctx->NewState)
         _mesa_update_state( ctx );
 
+      /* XXX also need to check if shader enabled, but invalid */
       if ((ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) ||
           (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled)) {
          _mesa_error(ctx, GL_INVALID_OPERATION,