glx: do not pick sRGB config for 32-bit RGBA visual

This fixes blending issues seen with kwin and gnome-shell when
32bit visual has sRGB capability set.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
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
This commit is contained in:
Tapani Pälli 2017-11-28 09:23:29 +02:00 committed by Adam Jackson
parent cf7517675d
commit c2954b16c8

View File

@ -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;