st: call _glapi_check_multithread from st_make_current
authorKeith Whitwell <keithw@vmware.com>
Wed, 18 Mar 2009 19:14:45 +0000 (19:14 +0000)
committerKeith Whitwell <keithw@vmware.com>
Wed, 18 Mar 2009 19:14:45 +0000 (19:14 +0000)
This function is called from many OS-dependent versions of MakeCurrent.

Move the check for multithreading to this central location to avoid
having to make this check from all the callers.

src/gallium/state_trackers/glx/xlib/xm_api.c
src/mesa/state_tracker/st_context.c

index 75a4efd823e408a6b46364bc5ff0f6f728a6929c..a3d16516531a76e4d16849c9e5d29eba8ea030bf 100644 (file)
@@ -1058,11 +1058,6 @@ GLboolean XMesaMakeCurrent2( XMesaContext c, XMesaBuffer drawBuffer,
       c->xm_buffer = drawBuffer;
       c->xm_read_buffer = readBuffer;
 
-      /* Call this periodically to detect when the user has begun using
-       * GL rendering from multiple threads.
-       */
-      _glapi_check_multithread();
-
       st_make_current(c->st, drawBuffer->stfb, readBuffer->stfb);
 
       xmesa_check_and_update_buffer_size(c, drawBuffer);
index 2e1f6d4bcf81a03cbafffd0cc8df632920a684ec..b27274725fc9e66153788eb9e339252e4ffcb94d 100644 (file)
@@ -254,6 +254,11 @@ void st_make_current(struct st_context *st,
                      struct st_framebuffer *draw,
                      struct st_framebuffer *read)
 {
+   /* Call this periodically to detect when the user has begun using
+    * GL rendering from multiple threads.
+    */
+   _glapi_check_multithread();
+
    if (st) {
       GLboolean firstTime = st->ctx->FirstTimeCurrent;
       _mesa_make_current(st->ctx, &draw->Base, &read->Base);