zink: generically handle matrix types
[mesa.git] / src / mesa / vbo / vbo_private.h
index a70ba0a032c1d932eef7f62da147b52b8b08f536..97cd277640051b0a3acee089a0f9dfd961e666b9 100644 (file)
 
 
 struct _glapi_table;
-struct _mesa_prim;
-
-
-struct vbo_context {
-   struct gl_vertex_buffer_binding binding;
-   struct gl_array_attributes current[VBO_ATTRIB_MAX];
-
-   struct gl_vertex_array_object *VAO;
-
-   struct vbo_exec_context exec;
-   struct vbo_save_context save;
-};
-
 
 static inline struct vbo_context *
 vbo_context(struct gl_context *ctx)
 {
-   return ctx->vbo_context;
+   return &ctx->vbo_context;
 }
 
 
 static inline const struct vbo_context *
 vbo_context_const(const struct gl_context *ctx)
 {
-   return ctx->vbo_context;
+   return &ctx->vbo_context;
 }
 
 
@@ -243,12 +230,7 @@ _vbo_set_attrib_format(struct gl_context *ctx,
       size /= 2;
    _mesa_update_array_format(ctx, vao, attr, size, type, GL_RGBA,
                              GL_FALSE, integer, doubles, offset);
-   /* Ptr for userspace arrays.
-    * For updating the pointer we would need to add the vao->NewArrays flag
-    * to the VAO. But but that is done already unconditionally in
-    * _mesa_update_array_format called above.
-    */
-   assert((vao->NewArrays | ~vao->Enabled) & VERT_BIT(attr));
+   vao->NewArrays |= vao->Enabled & VERT_BIT(attr);
    vao->VertexAttrib[attr].Ptr = ADD_POINTERS(buffer_offset, offset);
 }