[PATCH 09/18] Xfbdev: Treat 1 bpp pseudocolor as monochrome
Geert Uytterhoeven
geert at linux-m68k.org
Wed Mar 27 06:20:42 PDT 2013
miCreateDefColormap() only preallocates black and white pixels if
depth > 1.
Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
---
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 0082575..ebbfeb9 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) |
--
1.7.0.4
More information about the xorg-devel
mailing list