From c2954b16c8730c7ed8441fd8dba25900f3aed265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Tue, 28 Nov 2017 09:23:29 +0200 Subject: glx: do not pick sRGB config for 32-bit RGBA visual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes blending issues seen with kwin and gnome-shell when 32bit visual has sRGB capability set. Reviewed-by: Adam Jackson Signed-off-by: Tapani Pälli Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655 --- glx/glxscreens.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/glx/glxscreens.c b/glx/glxscreens.c index 7344415..596d972 100644 --- a/glx/glxscreens.c +++ b/glx/glxscreens.c @@ -271,6 +271,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual) /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */ if (visual->nplanes == 32 && config->rgbBits != 32) continue; + /* If it's the 32-bit RGBA visual, do not pick sRGB capable config. + * This can cause issues with compositors that are not sRGB aware. + */ + if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE) + continue; /* Can't use the same FBconfig for multiple X visuals. I think. */ if (config->visualID != 0) continue; -- cgit v1.1