summaryrefslogtreecommitdiff
path: root/glx
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2018-02-05 11:20:41 +0100
committerAdam Jackson <ajax@redhat.com>2018-02-06 14:03:52 -0500
commitbebcc8477c8070ade9dd4be7299c718baeab3d7a (patch)
tree1a2d29f1af48b88dcd49a37e5752489eeb1a19f7 /glx
parent98edb9a35e2cdd61355656b82975d7f2b6a9f0e6 (diff)
glx: Only assign 8 bpc fbconfigs for composite visuals.
Commit 91c42093b248 ("glx: Duplicate relevant fbconfigs for compositing visuals") adds many new depth 32 fbconfigs as composite visuals. On a X-Screen running at depth 24, this also adds bgra 10-10-10-2 fbconigs, as they also have config.rgbBits == 32, but these are not displayable on a depth 24 screen, leading to visually corrupted desktops under some compositors, e.g., fdo bug 104597 "Compton weird colors" when running compton with "compton --backend glx". Be more conservative for now and only select fbconfigs with 8 bpc red, green, blue components for composite visuals. Fixes: 91c42093b248 ("glx: Duplicate relevant fbconfigs for compositing visuals") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'glx')
-rw-r--r--glx/glxdricommon.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/glx/glxdricommon.c b/glx/glxdricommon.c
index 1879bfcd8..a16e72849 100644
--- a/glx/glxdricommon.c
+++ b/glx/glxdricommon.c
@@ -195,6 +195,9 @@ createModeFromConfig(const __DRIcoreExtension * core,
if (duplicateForComp &&
(render_type_is_pbuffer_only(renderType) ||
config->config.rgbBits != 32 ||
+ config->config.redBits != 8 ||
+ config->config.greenBits != 8 ||
+ config->config.blueBits != 8 ||
config->config.visualRating != GLX_NONE ||
config->config.sampleBuffers != 0)) {
free(config);