[Mesa-dev] [PATCH 24/26] mesa: Enable glthread on non-core contexts as well.

Marek Olšák maraeo at gmail.com
Wed Feb 8 18:03:38 UTC 2017


From: Eric Anholt <eric at anholt.net>

I think I've fixed the last issue preventing trying glthread from being a
reasonable thing to do on compat contexts.
---
 src/mesa/main/glthread.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/src/mesa/main/glthread.c b/src/mesa/main/glthread.c
index 3a7c753..27f011e 100644
--- a/src/mesa/main/glthread.c
+++ b/src/mesa/main/glthread.c
@@ -112,29 +112,20 @@ glthread_worker(void *data)
 }
 
 void
 _mesa_glthread_init(struct gl_context *ctx)
 {
    struct glthread_state *glthread = calloc(1, sizeof(*glthread));
 
    if (!glthread)
       return;
 
-   /* The marshalling dispatch table isn't integrated with the Begin/End
-    * dispatch table for desktop OpenGL, and the drawing functions are
-    * synchronous to support user vertex arrays on everything but GL core
-    * (even GLES 2/3) anyway, which means you'll end up with too much overhead
-    * from threading.
-    */
-   if (ctx->API != API_OPENGL_CORE)
-      return;
-
    ctx->MarshalExec = _mesa_create_marshal_table(ctx);
    if (!ctx->MarshalExec) {
       free(glthread);
       return;
    }
 
    ctx->CurrentClientDispatch = ctx->MarshalExec;
 
    pthread_mutex_init(&glthread->mutex, NULL);
    pthread_cond_init(&glthread->new_work, NULL);
-- 
2.7.4



More information about the mesa-dev mailing list