[Mesa-dev] [PATCH 6/6] vbo: add comments, const qualifiers
Brian Paul
brianp at vmware.com
Thu May 2 15:28:12 PDT 2013
---
src/mesa/vbo/vbo_save.h | 8 ++++----
src/mesa/vbo/vbo_save_api.c | 25 ++++++++++++++++++++-----
2 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/src/mesa/vbo/vbo_save.h b/src/mesa/vbo/vbo_save.h
index c1108ca..aa075bb 100644
--- a/src/mesa/vbo/vbo_save.h
+++ b/src/mesa/vbo/vbo_save.h
@@ -126,10 +126,10 @@ struct vbo_save_context {
struct gl_client_array arrays[VBO_ATTRIB_MAX];
const struct gl_client_array *inputs[VBO_ATTRIB_MAX];
- GLubyte attrsz[VBO_ATTRIB_MAX];
- GLenum attrtype[VBO_ATTRIB_MAX];
- GLubyte active_sz[VBO_ATTRIB_MAX];
- GLuint vertex_size;
+ GLubyte attrsz[VBO_ATTRIB_MAX]; /**< 1, 2, 3 or 4 */
+ GLenum attrtype[VBO_ATTRIB_MAX]; /**< GL_FLOAT, GL_INT, etc */
+ GLubyte active_sz[VBO_ATTRIB_MAX]; /**< 1, 2, 3 or 4 */
+ GLuint vertex_size; /**< size in GLfloats */
GLboolean out_of_memory; /**< True if last VBO allocation failed */
diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c
index 0562af7..78a2217 100644
--- a/src/mesa/vbo/vbo_save_api.c
+++ b/src/mesa/vbo/vbo_save_api.c
@@ -473,6 +473,8 @@ _save_compile_vertex_list(struct gl_context *ctx)
/**
+ * This is called when we fill a vertex buffer before we hit a glEnd().
+ * We
* TODO -- If no new vertices have been stored, don't bother saving it.
*/
static void
@@ -581,7 +583,11 @@ _save_copy_from_current(struct gl_context *ctx)
}
-/* Flush existing data, set new attrib size, replay copied vertices.
+/**
+ * Called when we increase the size of a vertex attribute. For example,
+ * if we've seen one or more glTexCoord2f() calls and now we get a
+ * glTexCoord3f() call.
+ * Flush existing data, set new attrib size, replay copied vertices.
*/
static void
_save_upgrade_vertex(struct gl_context *ctx, GLuint attr, GLuint newsz)
@@ -638,7 +644,7 @@ _save_upgrade_vertex(struct gl_context *ctx, GLuint attr, GLuint newsz)
* and will need fixup at runtime.
*/
if (save->copied.nr) {
- GLfloat *data = save->copied.buffer;
+ const GLfloat *data = save->copied.buffer;
GLfloat *dest = save->buffer;
GLuint j;
@@ -680,6 +686,11 @@ _save_upgrade_vertex(struct gl_context *ctx, GLuint attr, GLuint newsz)
}
+/**
+ * This is called when the size of a vertex attribute changes.
+ * For example, after seeing one or more glTexCoord2f() calls we
+ * get a glTexCoord4f() or glTexCoord1f() call.
+ */
static void
save_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint sz)
{
@@ -706,6 +717,11 @@ save_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint sz)
}
+/**
+ * Reset the current size of all vertex attributes to the default
+ * value of 0. This signals that we haven't yet seen any per-vertex
+ * commands such as glNormal3f() or glTexCoord2f().
+ */
static void
_save_reset_vertex(struct gl_context *ctx)
{
@@ -937,8 +953,7 @@ GLboolean
vbo_save_NotifyBegin(struct gl_context *ctx, GLenum mode)
{
struct vbo_save_context *save = &vbo_context(ctx)->save;
-
- GLuint i = save->prim_count++;
+ const GLuint i = save->prim_count++;
assert(i < save->prim_max);
save->prim[i].mode = mode & VBO_SAVE_PRIM_MODE_MASK;
@@ -975,7 +990,7 @@ _save_End(void)
{
GET_CURRENT_CONTEXT(ctx);
struct vbo_save_context *save = &vbo_context(ctx)->save;
- GLint i = save->prim_count - 1;
+ const GLint i = save->prim_count - 1;
ctx->Driver.CurrentSavePrimitive = PRIM_OUTSIDE_BEGIN_END;
save->prim[i].end = 1;
--
1.7.3.4
More information about the mesa-dev
mailing list