glamor: Fix handling of 1-bit pixmaps

Since 8702c938 the pixmap formats are
handled in a single place. In the process of conversion the difference
between pixmap formats that can be uploaded and those that can be
rendered on GL side has been lost. This affects only 1-bit pixmaps: as
they aren't supported on GL, but can be converted to a R8 or A8 format
for rendering (see glamor_get_tex_format_type_from_pictformat()).

To work around this we add a separate flag that specifies whether the
format actually supports rendering in GL, convert all checks to use this
flag and then add 1-bit pixmap formats that don't support rendering in

Fixes: 8702c938
Closes: xorg/xserver#1210
Acked-by: Olivier Fourdan <>
Tested-by: Olivier Fourdan <>
Reviewed-by: Adam Jackson <>
Signed-off-by: Povilas Kanapickas <>
5 jobs for fix-1bit-pixmap-handling in 4 minutes and 30 seconds (queued for 6 seconds)