From d26ea2f474c48afa7d3c261572da5d85b7b62bd8 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 23 Apr 2014 22:41:48 +0200 Subject: fontconfig mesa xserver xkeyboard-config pixman git update 23 Apr 2014 xserver commit 99f0365b1fbdfd9238b9f5cc28491e4e6c7324f1 xkeyboard-config commit b5eb5418e5a9d76b172faadf6901bc9c83f2ddad pixman commit 5f661ee719be25c3aa0eb0d45e0db23a37e76468 fontconfig commit 81664fe54f117e4781fda5a30429b51858302e91 mesa commit fd92346c53ed32709c7b56ce58fb9c9bf43ce9a8 --- xorg-server/glamor/glamor_glx.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'xorg-server/glamor/glamor_glx.c') diff --git a/xorg-server/glamor/glamor_glx.c b/xorg-server/glamor/glamor_glx.c index 8f47c3d2c..7107c7c17 100644 --- a/xorg-server/glamor/glamor_glx.c +++ b/xorg-server/glamor/glamor_glx.c @@ -34,28 +34,21 @@ */ static void -glamor_glx_get_context(struct glamor_context *glamor_ctx) +glamor_glx_make_current(struct glamor_context *glamor_ctx) { - GLXContext old_ctx; - - if (glamor_ctx->get_count++) - return; - - old_ctx = glXGetCurrentContext(); - if (old_ctx == glamor_ctx->ctx) - return; + /* 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); } -static void -glamor_glx_put_context(struct glamor_context *glamor_ctx) -{ - --glamor_ctx->get_count; -} - Bool glamor_glx_screen_init(struct glamor_context *glamor_ctx) { @@ -69,8 +62,7 @@ glamor_glx_screen_init(struct glamor_context *glamor_ctx) glamor_ctx->drawable_xid = glXGetCurrentDrawable(); - glamor_ctx->get_context = glamor_glx_get_context; - glamor_ctx->put_context = glamor_glx_put_context; + glamor_ctx->make_current = glamor_glx_make_current; return True; } -- cgit v1.2.3