diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2013-03-12 18:10:40 +0100 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2013-04-18 13:10:25 +0200 |
commit | 4ee2566c3e420a717be36f79126a14e15edac30f (patch) | |
tree | 361dfe4e640fdaf221b17dda66ed76138e279275 | |
parent | 6dfb94a891ed445f47832ba1364fcbf1de018f4a (diff) |
Xfbdev: Treat 1 bpp pseudocolor as monochrome
miCreateDefColormap() only preallocates black and white pixels if
depth > 1.
Hence override the visual, so fbdevCreateColormap() takes care of it.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | hw/kdrive/fbdev/fbdev.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/hw/kdrive/fbdev/fbdev.c b/hw/kdrive/fbdev/fbdev.c index 0082575bf..ebbfeb9ca 100644 --- a/hw/kdrive/fbdev/fbdev.c +++ b/hw/kdrive/fbdev/fbdev.c @@ -216,11 +216,13 @@ fbdevScreenInitialize(KdScreenInfo * screen, FbdevScrPriv * scrpriv) screen->fb.visuals = (1 << StaticGray); break; case FB_VISUAL_PSEUDOCOLOR: - if (gray) { - screen->fb.visuals = (1 << StaticGray); + screen->fb.visuals = (1 << StaticGray); + if (priv->var.bits_per_pixel == 1) { + /* Override to monochrome, to have preallocated black/white */ + priv->fix.visual = FB_VISUAL_MONO01; + } else if (gray) { /* could also support GrayScale, but what's the point? */ - } - else { + } else { screen->fb.visuals = ((1 << StaticGray) | (1 << GrayScale) | (1 << StaticColor) | |