[PATCH xserver 3/3] render: Fix default picture format initialization
Adam Jackson
ajax at redhat.com
Fri Feb 23 16:15:55 UTC 2018
On Fri, 2018-02-23 at 10:51 +0100, Michel Dänzer wrote:
> On 2018-02-22 10:53 PM, Adam Jackson wrote:
> > "depth" for a picture format is the sum of bits of a/r/g/b, and not x.
> > The default format list was creating an x8r8g8b8 format at depth 32,
> > which is wrong. Likewise, servers supporting depth 30 would get an
> > x8r8g8b8 format at depth 30, which is nonsense.
>
> Actually, the former isn't wrong, and the latter might not be either, I
> think. These are the constraints:
>
> * The sizes of a/x+r+g+b must equal bpp
> * The sizes of a+r+g+b must be <= depth (or == ?)
Okay, let's make this concrete. Xvfb at depth 30 gives me these
formats:
pict format:
format id: 0x2b
type: Direct
depth: 30
alpha: 0 mask 0x0
red: 16 mask 0xff
green: 8 mask 0xff
blue: 0 mask 0xff
pict format:
format id: 0x2c
type: Direct
depth: 30
alpha: 0 mask 0x0
red: 0 mask 0xff
green: 8 mask 0xff
blue: 16 mask 0xff
What would this mean? If I point this picture at a depth-30 pixmap, is
the intent really "draw into this as though it was x8r8g8b8"? Is there
a world where that's useful?
All the 16bpp formats say they have "depth 16", regardless of a/x.
- ajax
More information about the xorg-devel
mailing list