Xfbdev: Reject unsupported frame buffer types

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Geert Uytterhoeven 2013-03-10 17:17:26 +01:00
parent cfd1057681
commit 0e808110df

View File

@ -402,6 +402,8 @@ fbdevSetShadow(ScreenPtr pScreen)
window = fbdevWindowLinear;
update = 0;
switch (priv->fix.type) {
case FB_TYPE_PACKED_PIXELS:
if (scrpriv->randr)
if (priv->var.bits_per_pixel == 16) {
switch (scrpriv->randr) {
@ -429,6 +431,29 @@ fbdevSetShadow(ScreenPtr pScreen)
update = shadowUpdateRotatePacked;
else
update = shadowUpdatePacked;
break;
case FB_TYPE_PLANES:
FatalError("Bitplanes are not yet supported\n");
break;
case FB_TYPE_INTERLEAVED_PLANES:
FatalError("Interleaved bitplanes are not yet supported\n");
break;
case FB_TYPE_TEXT:
FatalError("Text frame buffers are not yet supported\n");
break;
case FB_TYPE_VGA_PLANES:
FatalError("VGA planes are not yet supported\n");
break;
default:
FatalError("Unsupported frame buffer type %u\n", priv->fix.type);
break;
}
return KdShadowSet(pScreen, scrpriv->randr, update, window);
}