aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/osmesa
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2017-06-07 12:19:13 +1000
committerTimothy Arceri <[email protected]>2017-06-09 09:13:46 +1000
commitf77740f14b9057de09e61e1abf086f08a68c5a1b (patch)
tree5ceb8833e435180d8f6850b98879c0ca0b370f1d /src/mesa/drivers/osmesa
parentf627ac6e355a5eeb9618a0e4fff0ec26bd3c63ba (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.c9
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,