[Mesa-dev] [PATCH 3/3] egl/x11: Handle both depth 30 formats for eglCreateImage().

Daniel Stone daniel at fooishbar.org
Tue Mar 27 17:53:48 UTC 2018


Hi Mario,

On 12 March 2018 at 20:45, Mario Kleiner <mario.kleiner.de at gmail.com> wrote:
> We need to distinguish if a backing pixmap of a window is
> XRGB2101010 or XBGR2101010, as different gpu hw supports
> different formats. NVidia hw prefers XBGR, whereas AMD and
> Intel are happy with XRGB.
>
> We use the red channel mask of the visual to distinguish at
> depth 30, but because we can't easily get the associated
> visual of a Pixmap, we use the visual of the x-screens root
> window instead as a proxy.
>
> This fixes desktop composition of color depth 30 windows
> when the X11 compositor uses EGL.

I have no reason to doubt your testing, so this patch is:
Acked-by: Daniel Stone <daniels at collabora.com>

But it does rather fill me with trepidation, given that X11 Pixmaps
are supposed to be a dumb 'bag of bits', doing nothing else than
providing the same number and size of channels to the actual client
data for the Visual associated with the Window. I worry that this
isn't generically 'doing BGR correctly', but instead just detecting
how xf86-video-nouveau implements things and compensating for that.
I'd be much more comfortable if Michel could review this before it
landed.

Cheers,
Daniel


More information about the mesa-dev mailing list