mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-19 08:50:25 +01:00
mesa: use new _mesa_inside_dlist_begin_end() function
Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
976b529b7c
commit
f74da3e988
3 changed files with 14 additions and 4 deletions
|
|
@ -200,6 +200,17 @@ _mesa_inside_begin_end(const struct gl_context *ctx)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Are we currently between glBegin and glEnd in a display list?
|
||||
*/
|
||||
static inline GLboolean
|
||||
_mesa_inside_dlist_begin_end(const struct gl_context *ctx)
|
||||
{
|
||||
return ctx->Driver.CurrentSavePrimitive != PRIM_OUTSIDE_BEGIN_END;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \name Macros for flushing buffered rendering commands before state changes,
|
||||
* checking if inside glBegin/glEnd, etc.
|
||||
|
|
|
|||
|
|
@ -3777,7 +3777,7 @@ save_ShadeModel(GLenum mode)
|
|||
|
||||
/* Only save the value if we know the statechange will take effect:
|
||||
*/
|
||||
if (ctx->Driver.CurrentSavePrimitive == PRIM_OUTSIDE_BEGIN_END)
|
||||
if (!_mesa_inside_dlist_begin_end(ctx))
|
||||
ctx->ListState.Current.ShadeModel = mode;
|
||||
|
||||
n = alloc_instruction(ctx, OPCODE_SHADE_MODEL, 1);
|
||||
|
|
@ -5657,7 +5657,7 @@ save_Begin(GLenum mode)
|
|||
*/
|
||||
ctx->Driver.CurrentSavePrimitive = PRIM_INSIDE_UNKNOWN_PRIM;
|
||||
}
|
||||
else if (ctx->Driver.CurrentSavePrimitive == PRIM_OUTSIDE_BEGIN_END) {
|
||||
else if (!_mesa_inside_dlist_begin_end(ctx)) {
|
||||
ctx->Driver.CurrentSavePrimitive = mode;
|
||||
}
|
||||
else {
|
||||
|
|
|
|||
|
|
@ -1558,8 +1558,7 @@ vbo_save_EndList(struct gl_context *ctx)
|
|||
|
||||
/* EndList called inside a (saved) Begin/End pair?
|
||||
*/
|
||||
if (ctx->Driver.CurrentSavePrimitive != PRIM_OUTSIDE_BEGIN_END) {
|
||||
|
||||
if (_mesa_inside_dlist_begin_end(ctx)) {
|
||||
if (save->prim_count > 0) {
|
||||
GLint i = save->prim_count - 1;
|
||||
ctx->Driver.CurrentSavePrimitive = PRIM_OUTSIDE_BEGIN_END;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue