> "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.
> formats[nformats].format = PICT_x8r8g8b8;
> - formats[nformats].depth = 32;
> + formats[nformats].depth = 24;
The RENDER extension forces a depth 32 pixmap format. It does not force depth
24. So with a 16bpp root window, there may not be a depth 24 pixmap format, and
this picture format would not be usable at all (BadMatch with every possible
drawable). Also, d32 x8r8g8b8 is used in the wild (eg. it looks like gtk2
sometimes uses it to avoid manually filling the alpha channel with 0xFF). I
suspect we want to keep this one as-is.
A "depth 30 x8r8g8b8" probably isn't useful most of the time, but maybe it
makes sense for PutImage-then-convert-in-the-server an x8r8g8b8 image to
x2r10g10b10 without needing a second (not-depth-30) pixmap?
firstname.lastname@example.org: X.Org development