mesa: Update some comments relating to VAOs.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 2 Feb 2014 04:17:06 +0000 (20:17 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 3 Feb 2014 08:53:13 +0000 (00:53 -0800)
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/arrayobj.c
src/mesa/main/mtypes.h

index 46ccbdc085c360db4c66dae4d035dec0a2cd71dc..0b9592f7712c2bd069ee02a2ae49ea000da3ec0a 100644 (file)
 
 /**
  * \file arrayobj.c
- * Functions for the GL_APPLE_vertex_array_object extension.
+ *
+ * Implementation of Vertex Array Objects (VAOs), from OpenGL 3.1+,
+ * the GL_ARB_vertex_array_object extension, or the older
+ * GL_APPLE_vertex_array_object extension.
  *
  * \todo
  * The code in this file borrows a lot from bufferobj.c.  There's a certain
index 609c63f3617bef850b0e09c8a4a21d1765b6faba..5fc15af2d62d2729a1b9e45b9ab363057fcde5d8 100644 (file)
@@ -1551,12 +1551,13 @@ struct gl_vertex_buffer_binding
 
 
 /**
- * Collection of vertex arrays.  Defined by the GL_APPLE_vertex_array_object
- * extension, but a nice encapsulation in any case.
+ * A representation of "Vertex Array Objects" (VAOs) from OpenGL 3.1+,
+ * GL_ARB_vertex_array_object, or the original GL_APPLE_vertex_array_object
+ * extension.
  */
 struct gl_vertex_array_object
 {
-   /** Name of the array object as received from glGenVertexArrayAPPLE. */
+   /** Name of the VAO as received from glGenVertexArray. */
    GLuint Name;
    GLchar *Label;       /**< GL_KHR_debug */
 
@@ -1584,7 +1585,12 @@ struct gl_vertex_array_object
     */
    GLboolean EverBound;
 
-   /** Derived vertex attribute arrays */
+   /**
+    * Derived vertex attribute arrays
+    *
+    * This is a legacy data structure created from gl_vertex_attrib_array and
+    * gl_vertex_buffer_binding, for compatibility with existing driver code.
+    */
    struct gl_client_array _VertexAttrib[VERT_ATTRIB_MAX];
 
    /** Vertex attribute arrays */
@@ -1605,6 +1611,7 @@ struct gl_vertex_array_object
     */
    GLuint _MaxElement;
 
+   /** The index buffer (also known as the element array buffer in OpenGL). */
    struct gl_buffer_object *IndexBufferObj;
 };