Prefer 32bpp to 24bpp. Fix 16 color planar mode (!)

This commit is contained in:
Keith Packard 2005-01-19 06:35:28 +00:00
parent cbcdae5a3f
commit ff433adba3

View File

@ -403,6 +403,8 @@ vesaModeBetter (KdScreenInfo *screen,
if (vabs (screen->fb[0].depth - vesaDepth (a)) < if (vabs (screen->fb[0].depth - vesaDepth (a)) <
vabs (screen->fb[0].depth - vesaDepth (b))) vabs (screen->fb[0].depth - vesaDepth (b)))
return TRUE; return TRUE;
if (a->BitsPerPixel == 32 && b->BitsPerPixel == 24)
return TRUE;
return FALSE; return FALSE;
} }
@ -845,7 +847,6 @@ vesaSetShadow (ScreenPtr pScreen)
window = vesaWindowWindowed; window = vesaWindowWindowed;
break; break;
case VESA_PLANAR: case VESA_PLANAR:
pScreen->CreateColormap = vesaCreateColormap16;
if (pScreenPriv->screen->fb[0].bitsPerPixel == 8) if (pScreenPriv->screen->fb[0].bitsPerPixel == 8)
update = shadowUpdatePlanar4x8; update = shadowUpdatePlanar4x8;
else else
@ -909,7 +910,7 @@ vesaComputeFramebufferMapping (KdScreenInfo *screen)
while (depth && !(allbits & (1 << (depth - 1)))) while (depth && !(allbits & (1 << (depth - 1))))
depth--; depth--;
if (vesa_verbose) if (vesa_verbose)
ErrorF ("\tTrue Color red 0x%x green 0x%x blue 0x%x\n", ErrorF ("\tTrue Color %d/%d red 0x%x green 0x%x blue 0x%x\n",
bpp, depth, bpp, depth,
screen->fb[0].redMask, screen->fb[0].redMask,
screen->fb[0].greenMask, screen->fb[0].greenMask,
@ -1302,6 +1303,13 @@ vesaRandRInit (ScreenPtr pScreen)
Bool Bool
vesaInitScreen(ScreenPtr pScreen) vesaInitScreen(ScreenPtr pScreen)
{ {
KdScreenPriv(pScreen);
VesaScreenPrivPtr pscr = pScreenPriv->screen->driver;
switch (pscr->mapping) {
case VESA_PLANAR:
pScreen->CreateColormap = vesaCreateColormap16;
break;
}
return TRUE; return TRUE;
} }