From: Emil Velikov Date: Wed, 5 Sep 2018 16:09:10 +0000 (+0100) Subject: mesa: fold _glapi_check_multithread() back into _mesa_make_current X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa9df82f67c7dda41bd3c9aab1487ec10fadca96;p=mesa.git mesa: fold _glapi_check_multithread() back into _mesa_make_current With commit c6c0f947142, back in 2006 Brian removed the _glapi_check_multithread() call from core mesa - _mesa_make_current. It was done to remove fairly awkward #ifdef guard which caused subtle differences in core mesa. Since that guard is long gone, we can drop the duplication and reintroduce the call in core. Note that the function is was missing when using EGL + classic dri HW drivers. Yet on TLS builds it's a no-op, so we're safe. Any non TLS users - more or less anything !Linux (or even musl on Linux up-to semi-recently) may have experienced problems. v2: don't remove the call from swrast - move it to core (Eric) Cc: Eric Anholt Cc: Brian Paul Signed-off-by: Emil Velikov Reviewed-by: Brian Paul --- diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c index 524f9b17c6d..94758e60862 100644 --- a/src/mesa/drivers/dri/swrast/swrast.c +++ b/src/mesa/drivers/dri/swrast/swrast.c @@ -885,8 +885,6 @@ dri_make_current(__DRIcontext * cPriv, return GL_TRUE; } - _glapi_check_multithread(); - swrast_check_and_update_window_size(mesaCtx, mesaDraw); if (mesaRead != mesaDraw) swrast_check_and_update_window_size(mesaCtx, mesaRead); diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index be683d4583e..44374a2e917 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1019,12 +1019,6 @@ OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type, osmesa_update_state( &osmesa->mesa, 0 ); - /* Call this periodically to detect when the user has begun using - * GL rendering from multiple threads. - */ - _glapi_check_multithread(); - - /* Create a front/left color buffer which wraps the user-provided buffer. * There is no back color buffer. * If the user tries to use a 8, 16 or 32-bit/channel buffer that diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index cb8b58b8d96..e8405950656 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -1222,11 +1222,6 @@ GLboolean XMesaMakeCurrent2( XMesaContext c, XMesaBuffer drawBuffer, c->xm_buffer = drawBuffer; - /* Call this periodically to detect when the user has begun using - * GL rendering from multiple threads. - */ - _glapi_check_multithread(); - xmesa_check_and_update_buffer_size(c, drawBuffer); if (readBuffer != drawBuffer) xmesa_check_and_update_buffer_size(c, readBuffer); diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index d82015dc936..492f01de957 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -1698,7 +1698,10 @@ _mesa_make_current( struct gl_context *newCtx, _mesa_flush(curCtx); } - /* We used to call _glapi_check_multithread() here. Now do it in drivers */ + /* Call this periodically to detect when the user has begun using + * GL rendering from multiple threads. + */ + _glapi_check_multithread(); if (!newCtx) { _glapi_set_dispatch(NULL); /* none current */ diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c index 400af939b29..ceb48dd4903 100644 --- a/src/mesa/state_tracker/st_manager.c +++ b/src/mesa/state_tracker/st_manager.c @@ -1030,8 +1030,6 @@ st_api_make_current(struct st_api *stapi, struct st_context_iface *stctxi, struct st_framebuffer *stdraw, *stread; boolean ret; - _glapi_check_multithread(); - if (st) { /* reuse or create the draw fb */ stdraw = st_framebuffer_reuse_or_create(st,