summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-03-04 15:15:43 +0000
committerKeith Whitwell <[email protected]>2009-03-04 15:17:16 +0000
commitf9ce417aaf14c00e72e92307b910de5dbed1bb6d (patch)
treef51a384cf89555cf4898f89483cff8a3ed45fba2
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.
-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 c0ffdb55e47..9c2d0659139 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;
}