glx: Only assign 8 bpc fbconfigs for composite visuals.

Commit 91c42093b2 ("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: 91c42093b2 ("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>
This commit is contained in:
Mario Kleiner 2018-02-05 11:20:41 +01:00 committed by Adam Jackson
parent 98edb9a35e
commit bebcc8477c
1 changed files with 3 additions and 0 deletions

View File

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