Commit 436fd7e8 authored by Adam Jackson's avatar Adam Jackson 🎧 Committed by Adam Jackson
Browse files

render: Break PICT_a4

The Render protocol requires this format, but it is wrong to do so. We
are not aware of any hardware with a real 4bpp implementation of this
format. Some GL hardware may have GL_LUMINANCE4_ALPHA4_EXT, and may also
be able to wire L to 1, but that would win you none of memory, quality,
or (likely) performance over A8. Any attempt to use this format is
therefore likely a (painful) software fallback.

Pleasantly (and given the above, unsurprisingly) it seems to be unused
in the wild. None of the major toolkits will try to use it, and
rendercheck does not in fact validate that all of the "standard" picture
formats exist.

Drop the explicit A4 setup from picture format initialization. Note that
the DDXes are not changed and still expose a depth-4 pixmap format, but
we only add picture formats for True/DirectColor-credible depths (i.e.
depth >= 15).

Implements: xorg/proto/xorgproto!1

Signed-off-by: Adam Jackson's avatarAdam Jackson <>
parent 0c5179c2
......@@ -188,10 +188,6 @@ PictureCreateDefaultFormats(ScreenPtr pScreen, int *nformatp)
PICT_TYPE_A, 8, 0, 0, 0);
formats[nformats].depth = 8;
formats[nformats].format = PICT_FORMAT(BitsPerPixel(4),
PICT_TYPE_A, 4, 0, 0, 0);
formats[nformats].depth = 4;
formats[nformats].format = PICT_a8r8g8b8;
formats[nformats].depth = 32;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment