summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.velikov@collabora.com>2018-09-05 17:09:10 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2018-10-03 13:38:05 +0100
commitfa9df82f67c7dda41bd3c9aab1487ec10fadca96 (patch)
treee4da8cd3baee6c27675dd51374f18d7ea4412f05
parentd081ad2aa25c5673ec1927fca81e6ac65de4b1b1 (diff)
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 <eric@anholt.net> Cc: Brian Paul <brianp@vmware.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r--src/mesa/drivers/dri/swrast/swrast.c2
-rw-r--r--src/mesa/drivers/osmesa/osmesa.c6
-rw-r--r--src/mesa/drivers/x11/xm_api.c5
-rw-r--r--src/mesa/main/context.c5
-rw-r--r--src/mesa/state_tracker/st_manager.c2
5 files changed, 4 insertions, 16 deletions
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,