xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 4 09:56:55 UTC 2021


 hw/xwayland/xwayland-glamor.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit b656b0aa5d41270fe60be245582f1ff6f1dbbb9c
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Nov 1 13:05:56 2021 +0100

    xwayland: Store EGLContext pointer in lastGLContext
    
    We were storing the pointer to struct glamor_context. However, glamor
    itself is storing the EGLContext pointer since the commit below. Since
    the two values could never be equal, this resulted in constant
    superfluous eglMakeCurrent calls. The implicit glFlush triggered by
    those couldn't be good for performance.
    
    Fixes: 7c88977d338a "glamor: Store the actual EGL/GLX context pointer in lastGLContext"
    Reviewed-by: Olivier Fourdan <ofourdan at redhat.com>

diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
index 2729e8747..55a41fae1 100644
--- a/hw/xwayland/xwayland-glamor.c
+++ b/hw/xwayland/xwayland-glamor.c
@@ -58,10 +58,12 @@ glamor_egl_make_current(struct glamor_context *glamor_ctx)
 void
 xwl_glamor_egl_make_current(struct xwl_screen *xwl_screen)
 {
-    if (lastGLContext == xwl_screen->glamor_ctx)
+    EGLContext ctx = xwl_screen->glamor_ctx->ctx;
+    
+    if (lastGLContext == ctx)
         return;
 
-    lastGLContext = xwl_screen->glamor_ctx;
+    lastGLContext = ctx;
     xwl_screen->glamor_ctx->make_current(xwl_screen->glamor_ctx);
 }
 


More information about the xorg-commit mailing list