summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/glthread.c6
-rw-r--r--src/mesa/main/glthread.h7
2 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c
index 8ee7d8dadac..623266f484b 100644
--- a/src/mesa/main/glthread.c
+++ b/src/mesa/main/glthread.c
@@ -173,6 +173,12 @@ _mesa_glthread_destroy(struct gl_context *ctx)
free(glthread);
ctx->GLThread = NULL;
+ _mesa_glthread_restore_dispatch(ctx);
+}
+
+void
+_mesa_glthread_restore_dispatch(struct gl_context *ctx)
+{
/* Remove ourselves from the dispatch table except if another ctx/thread
* already installed a new dispatch table.
*
diff --git a/src/mesa/main/glthread.h b/src/mesa/main/glthread.h
index 04eb5ffabc4..327c549858c 100644
--- a/src/mesa/main/glthread.h
+++ b/src/mesa/main/glthread.h
@@ -119,6 +119,7 @@ struct glthread_batch
void _mesa_glthread_init(struct gl_context *ctx);
void _mesa_glthread_destroy(struct gl_context *ctx);
+void _mesa_glthread_restore_dispatch(struct gl_context *ctx);
void _mesa_glthread_flush_batch(struct gl_context *ctx);
void _mesa_glthread_finish(struct gl_context *ctx);
@@ -138,5 +139,11 @@ static inline void
_mesa_glthread_finish(struct gl_context *ctx)
{
}
+
+static inline void
+_mesa_glthread_restore_dispatch(struct gl_context *ctx);
+{
+}
+
#endif /* !HAVE_PTHREAD */
#endif /* _GLTHREAD_H*/