diff options
author | Keith Whitwell <keithw@vmware.com> | 2009-03-04 15:15:43 +0000 |
---|---|---|
committer | Keith Whitwell <keithw@vmware.com> | 2009-03-04 15:17:16 +0000 |
commit | f9ce417aaf14c00e72e92307b910de5dbed1bb6d (patch) | |
tree | f51a384cf89555cf4898f89483cff8a3ed45fba2 /src | |
parent | 945dcbfca62b9b57340caccc1b8286b2f3e743bc (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.c | 10 |
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; } |