egl_dri2: Match X11 visuals using rgba masks instead of depth
authorKristian Høgsberg <krh@bitplanet.net>
Sun, 15 Sep 2013 06:06:36 +0000 (23:06 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Wed, 16 Oct 2013 05:06:46 +0000 (22:06 -0700)
commite3d0a0eac7a742de9ef427b86d2ca0051a957bf7
tree414e1a3b9f6de194b9ac05106de87d9df0ef4948
parente2620c1a745a02c75a45ebe0725c500f441f4ac4
egl_dri2: Match X11 visuals using rgba masks instead of depth

Matching on visual depth to buffer size makes 8 bpc RGBA look similar to
10 bit RGB with 2 bit alphs - both have buffer size 32.  Instead, build
the rgba masks from the visual data and use that for finding matching
DRI configs.

We need to keep the special case that allows us to match 24 bit visuals
to DRI configs with buffer size 32.  We do that by creating an alpha
mask of "all the non-rgb bits" for 24 bit visuals and matching a second
time with that.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
src/egl/drivers/dri2/platform_x11.c