summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/dd.h2
-rw-r--r--src/mesa/main/state.c7
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;
}