From 707726b155a2a086d12e0a6abef7f1e59def5370 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 4 Apr 2014 07:03:46 +0100 Subject: [PATCH] glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Eric Anholt Reviewed-by: Michel Dänzer Reviewed-by: Adam Jackson --- glamor/glamor_glx.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/glamor/glamor_glx.c b/glamor/glamor_glx.c index db8e66165..7107c7c17 100644 --- a/glamor/glamor_glx.c +++ b/glamor/glamor_glx.c @@ -36,6 +36,14 @@ static void glamor_glx_make_current(struct glamor_context *glamor_ctx) { + /* There's only a single global dispatch table in Mesa. EGL, GLX, + * and AIGLX's direct dispatch table manipulation don't talk to + * each other. We need to set the context to NULL first to avoid + * GLX's no-op context change fast path when switching back to + * GLX. + */ + glXMakeCurrent(glamor_ctx->display, None, None); + glXMakeCurrent(glamor_ctx->display, glamor_ctx->drawable_xid, glamor_ctx->ctx); }