summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorTapani Pälli <tapani.palli@intel.com>2017-11-28 09:23:29 +0200
committerAdam Jackson <ajax@redhat.com>2018-01-17 12:40:52 -0500
commita13271f2feb6e480b2e698d4efa3b94150a6808b (patch)
tree3dacc1d03437c770cbe30733cfdc112d91203703 /glx
parentebfb06b11955a6c32500b7086be912ab96b753a7 (diff)
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 (cherry picked from commit c2954b16c8730c7ed8441fd8dba25900f3aed265)
Diffstat (limited to 'glx')
-rw-r--r--glx/glxscreens.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index 29bacd988..62d66bc54 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -275,6 +275,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;