summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-03-04 15:15:43 +0000
committerKeith Whitwell <keithw@vmware.com>2009-03-04 15:17:16 +0000
commitf9ce417aaf14c00e72e92307b910de5dbed1bb6d (patch)
treef51a384cf89555cf4898f89483cff8a3ed45fba2 /src
parent945dcbfca62b9b57340caccc1b8286b2f3e743bc (diff)
vbo: use FLUSH_UPDATE_CURRENT flag to indicate whether the vbo module is active
Add asserts for expected values on wakeup and flush. Remove cases where this flag is set or cleared except when waking up and flushing vbo module.
Diffstat (limited to 'src')
-rw-r--r--src/mesa/vbo/vbo_exec_api.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c
index c0ffdb55e4..9c2d065913 100644
--- a/src/mesa/vbo/vbo_exec_api.c
+++ b/src/mesa/vbo/vbo_exec_api.c
@@ -183,8 +183,6 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec )
_mesa_update_color_material(ctx,
ctx->Current.Attrib[VBO_ATTRIB_COLOR0]);
}
-
- ctx->Driver.NeedFlush &= ~FLUSH_UPDATE_CURRENT;
}
@@ -204,8 +202,6 @@ static void vbo_exec_copy_from_current( struct vbo_exec_context *exec )
break;
}
}
-
- ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT;
}
@@ -346,8 +342,6 @@ static void vbo_exec_fixup_vertex( GLcontext *ctx,
*/
if (attr == 0)
exec->ctx->Driver.NeedFlush |= FLUSH_STORED_VERTICES;
- else
- exec->ctx->Driver.NeedFlush |= FLUSH_UPDATE_CURRENT;
}
@@ -750,6 +744,9 @@ void vbo_exec_BeginVertices( GLcontext *ctx )
struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
if (0) _mesa_printf("%s\n", __FUNCTION__);
vbo_exec_vtx_map( exec );
+
+ assert(exec->ctx->Driver.NeedFlush == 0);
+ exec->ctx->Driver.NeedFlush = FLUSH_UPDATE_CURRENT;
}
void vbo_exec_FlushVertices_internal( GLcontext *ctx, GLboolean unmap )
@@ -785,6 +782,7 @@ void vbo_exec_FlushVertices( GLcontext *ctx, GLuint flags )
*/
_mesa_restore_exec_vtxfmt( ctx );
+ assert(exec->ctx->Driver.NeedFlush & FLUSH_UPDATE_CURRENT);
exec->ctx->Driver.NeedFlush = 0;
}