diff options
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/dd.h | 2 | ||||
-rw-r--r-- | src/mesa/main/state.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 3f3102546df..0b262d0b466 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -93,7 +93,7 @@ struct dd_function_table { * This is in addition to any state change callbacks Mesa may already have * made. */ - void (*UpdateState)( struct gl_context *ctx, GLbitfield new_state ); + void (*UpdateState)(struct gl_context *ctx); /** * This is called whenever glFinish() is called. diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index d534f554bad..04dafa983c5 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -415,13 +415,10 @@ _mesa_update_state_locked( struct gl_context *ctx ) * The driver might plug in different span functions, for example. * Also, this is where the driver can invalidate the state of any * active modules (such as swrast_setup, swrast, tnl, etc). - * - * Set ctx->NewState to zero to avoid recursion if - * Driver.UpdateState() has to call FLUSH_VERTICES(). (fixed?) */ - new_state = ctx->NewState | new_prog_state; + ctx->NewState |= new_prog_state; + ctx->Driver.UpdateState(ctx); ctx->NewState = 0; - ctx->Driver.UpdateState(ctx, new_state); ctx->Array.VAO->NewArrays = 0x0; } |