From: Brian Paul Date: Thu, 2 May 2013 01:15:32 +0000 (-0600) Subject: mesa: change _mesa_inside_dlist_begin_end() to handle PRIM_UNKNOWN X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=84e62b735883b10249995c70dd72f3a275953d71;p=mesa.git 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 --- 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"); }