diff options
author | Brian Paul <[email protected]> | 2013-05-01 19:15:32 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-05-02 09:03:15 -0600 |
commit | 84e62b735883b10249995c70dd72f3a275953d71 (patch) | |
tree | 604899285e7520cb6bf7216a16bf7044c9915507 /src/mesa | |
parent | daf19f28c6fca130cd3c786cc0763f7f753d9008 (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')
-rw-r--r-- | src/mesa/main/context.h | 2 | ||||
-rw-r--r-- | src/mesa/main/dlist.c | 6 |
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"); } |