aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2013-05-01 19:15:32 -0600
committerBrian Paul <[email protected]>2013-05-02 09:03:15 -0600
commit84e62b735883b10249995c70dd72f3a275953d71 (patch)
tree604899285e7520cb6bf7216a16bf7044c9915507 /src/mesa/main
parentdaf19f28c6fca130cd3c786cc0763f7f753d9008 (diff)
mesa: change _mesa_inside_dlist_begin_end() to handle PRIM_UNKNOWN
If the currently compiled primitive state is PRIM_UNKNOWN we should not return true from _mesa_inside_dlist_begin_end(). This lets us simplify the calls to that function. Note, the call to _mesa_inside_dlist_begin_end() in vbo_save_EndList() should have probably been checking for PRIM_UNKNOWN too, but it wasn't. So there's no code change change. Reviewed-by: Jose Fonseca <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/context.h2
-rw-r--r--src/mesa/main/dlist.c6
2 files changed, 3 insertions, 5 deletions
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index 9b2dffb979d..8e0e88a3920 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -207,7 +207,7 @@ _mesa_inside_begin_end(const struct gl_context *ctx)
static inline GLboolean
_mesa_inside_dlist_begin_end(const struct gl_context *ctx)
{
- return ctx->Driver.CurrentSavePrimitive != PRIM_OUTSIDE_BEGIN_END;
+ return ctx->Driver.CurrentSavePrimitive <= PRIM_MAX;
}
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 73d35fe891d..0d12e306656 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -5657,8 +5657,7 @@ save_Begin(GLenum mode)
/* compile this error into the display list */
_mesa_compile_error(ctx, GL_INVALID_ENUM, "glBegin(mode)");
}
- else if (_mesa_inside_dlist_begin_end(ctx) &&
- ctx->Driver.CurrentSavePrimitive != PRIM_UNKNOWN) {
+ else if (_mesa_inside_dlist_begin_end(ctx)) {
/* compile this error into the display list */
_mesa_compile_error(ctx, GL_INVALID_OPERATION, "recursive glBegin");
}
@@ -8659,8 +8658,7 @@ _mesa_EndList(void)
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "glEndList\n");
- if (ctx->ExecuteFlag && _mesa_inside_dlist_begin_end(ctx)
- && ctx->Driver.CurrentSavePrimitive != PRIM_UNKNOWN) {
+ if (ctx->ExecuteFlag && _mesa_inside_dlist_begin_end(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glEndList() called inside glBegin/End");
}