summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2013-03-10 17:17:26 +0100
committerGeert Uytterhoeven <geert@linux-m68k.org>2013-04-18 13:10:26 +0200
commit672bc5bb38918304cf68114a1112cd48651a5e83 (patch)
tree42477cc377ebe237724803d5c0cd3f4ba2db3b86
parent95a3c7536c1a4afe97aaf955980034cc69af9c2f (diff)
Xfbdev: Wire up Atari iplan2p4 and iplan2p8 support
Add support for Atari-style interleaved bitplanes, with 2 bytes interleave and 4 or 8 bits per pixel. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Keith Packard <keithp@keithp.com>
-rw-r--r--hw/kdrive/fbdev/fbdev.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c
index 52dfbf5ba..40747fe8b 100644
--- a/hw/kdrive/fbdev/fbdev.c
+++ b/hw/kdrive/fbdev/fbdev.c
@@ -439,7 +439,24 @@ fbdevSetShadow(ScreenPtr pScreen)
break;
case FB_TYPE_INTERLEAVED_PLANES:
- FatalError("Interleaved bitplanes are not yet supported\n");
+ if (priv->fix.type_aux == 2) {
+ switch (priv->var.bits_per_pixel) {
+ case 4:
+ update = shadowUpdateIplan2p4;
+ break;
+
+ case 8:
+ update = shadowUpdateIplan2p8;
+ break;
+
+ default:
+ FatalError("Atari interleaved bitplanes with bpp %u are not yet supported\n",
+ priv->var.bits_per_pixel);
+ }
+ } else {
+ FatalError("Interleaved bitplanes with interleave %u are not yet supported\n",
+ priv->fix.type_aux);
+ }
break;
case FB_TYPE_TEXT: