[Xquartz-changes] xserver: Branch 'master' - 2 commits

Jeremy Huddleston jeremyhu at freedesktop.org
Thu Aug 16 12:55:29 PDT 2012


 glx/glxscreens.c |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit ad5fe2d9614959b68bf71e23abf7e5abac9c2734
Merge: 16d8da5 99b94af
Author: Keith Packard <keithp at keithp.com>
Date:   Wed Aug 15 13:29:17 2012 -0700

    Merge remote-tracking branch 'jeremyhu/master'

commit 16d8da5ca99211bd180f532d78d7c5943d38c8ad
Author: Paul Berry <stereotype441 at gmail.com>
Date:   Tue Jul 31 15:15:56 2012 -0700

    glx: Skip multisampled configs when matching pre-existing X visuals.
    
    In __glXScreenInit() we generate the set of GLX visuals in two steps:
    first we match each pre-existing X visual with a corresponding
    FBConfig, then we generate a new X visual to correspond to all the
    remaining FBConfigs.
    
    The first step is used for the two default 24-bit visuals (true color
    and direct color) and for the 32-bit visual.  If windowsystem
    multisampling is enabled in Mesa, we need to ensure that none of these
    three visuals gets matched to a multisampled config.
    
    Fixes a bug with windowsystem multisampling in gnome-shell.  If the X
    server happens to match up a multisampled FBConfig to the 32-bit
    visual, gnome-shell will try to use it to read pixels from
    alpha-blended windows (such as gnome-terminal), resulting in no window
    appearing on screen.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index 037b037..61d590c 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -288,6 +288,9 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual)
             continue;
         if (config->visualRating != GLX_NONE)
             continue;
+        /* Ignore multisampled configs */
+        if (config->sampleBuffers)
+            continue;
         if (glxConvertToXVisualType(config->visualType) != visual->class)
             continue;
         /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */


More information about the Xquartz-changes mailing list