diff options
author | Timothy Arceri <[email protected]> | 2017-06-07 12:19:13 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2017-06-09 09:13:46 +1000 |
commit | f77740f14b9057de09e61e1abf086f08a68c5a1b (patch) | |
tree | 5ceb8833e435180d8f6850b98879c0ca0b370f1d /src/mesa/drivers/osmesa | |
parent | f627ac6e355a5eeb9618a0e4fff0ec26bd3c63ba (diff) |
mesa: stop passing state bitfield to UpdateState()
The code comment which seems to have been added in cab974cf6c2db
(from year 2000) says:
"Set ctx->NewState to zero to avoid recursion if
Driver.UpdateState() has to call FLUSH_VERTICES(). (fixed?)"
As far as I can tell nothing in any of the UpdateState() calls
should cause it to be called recursively.
V2: add a wrapper around the osmesa update function so it can still
be used internally.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/drivers/osmesa')
-rw-r--r-- | src/mesa/drivers/osmesa/osmesa.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index a3d4facdea0..ed69353743a 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -117,7 +117,7 @@ get_string( struct gl_context *ctx, GLenum name ) static void -osmesa_update_state( struct gl_context *ctx, GLuint new_state ) +osmesa_update_state(struct gl_context *ctx, GLuint new_state) { /* easy - just propogate */ _swrast_InvalidateState( ctx, new_state ); @@ -126,6 +126,11 @@ osmesa_update_state( struct gl_context *ctx, GLuint new_state ) _vbo_InvalidateState( ctx, new_state ); } +static void +osmesa_update_state_wrapper(struct gl_context *ctx) +{ + osmesa_update_state(ctx, ctx->NewState); +} /** @@ -828,7 +833,7 @@ OSMesaCreateContextAttribs(const int *attribList, OSMesaContext sharelist) _mesa_init_driver_functions(&functions); /* override with our functions */ functions.GetString = get_string; - functions.UpdateState = osmesa_update_state; + functions.UpdateState = osmesa_update_state_wrapper; if (!_mesa_initialize_context(&osmesa->mesa, api_profile, |