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)) <
vabs (screen->fb[0].depth - vesaDepth (b)))
return TRUE;
if (a->BitsPerPixel == 32 && b->BitsPerPixel == 24)
return TRUE;
return FALSE;
}
@ -845,7 +847,6 @@ vesaSetShadow (ScreenPtr pScreen)
window = vesaWindowWindowed;
break;
case VESA_PLANAR:
pScreen->CreateColormap = vesaCreateColormap16;
if (pScreenPriv->screen->fb[0].bitsPerPixel == 8)
update = shadowUpdatePlanar4x8;
else
@ -909,7 +910,7 @@ vesaComputeFramebufferMapping (KdScreenInfo *screen)
while (depth && !(allbits & (1 << (depth - 1))))
depth--;
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,
screen->fb[0].redMask,
screen->fb[0].greenMask,
@ -1302,6 +1303,13 @@ vesaRandRInit (ScreenPtr pScreen)
Bool
vesaInitScreen(ScreenPtr pScreen)
{
KdScreenPriv(pScreen);
VesaScreenPrivPtr pscr = pScreenPriv->screen->driver;
switch (pscr->mapping) {
case VESA_PLANAR:
pScreen->CreateColormap = vesaCreateColormap16;
break;
}
return TRUE;
}