vfb: Fix depth setup.

Initialize the depth corresponding to the root window before the
pixmap-only depths.  Otherwise you end up with the root window depth in
the depth list twice, which is mildly confusing for clients and
catastrophically confusing for PanoramiXConsolidate().
This commit is contained in:
Adam Jackson 2009-05-29 18:07:48 -04:00
parent 5c8540d8cf
commit 45530d1609

View File

@ -863,8 +863,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
pbits = vfbAllocateFramebufferMemory(pvfb);
if (!pbits) return FALSE;
miSetPixmapDepths ();
switch (pvfb->depth) {
case 8:
miSetVisualTypesAndMasks (8,
@ -876,20 +874,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
(1 << DirectColor)),
8, PseudoColor, 0, 0, 0);
break;
#if 0
/* 12bit PseudoColor with 12bit color resolution
* (to simulate SGI hardware and the 12bit PseudoColor emulation layer) */
case 12:
miSetVisualTypesAndMasks (12,
((1 << StaticGray) |
(1 << GrayScale) |
(1 << StaticColor) |
(1 << PseudoColor) |
(1 << TrueColor) |
(1 << DirectColor)),
12, PseudoColor, 0, 0, 0);
break;
#endif
case 15:
miSetVisualTypesAndMasks (15,
((1 << TrueColor) |
@ -908,18 +892,10 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
(1 << DirectColor)),
8, TrueColor, 0xff0000, 0x00ff00, 0x0000ff);
break;
#if 0
/* 30bit TrueColor (to simulate Sun's XVR-1000/-4000 high quality
* framebuffer series) */
case 30:
miSetVisualTypesAndMasks (30,
((1 << TrueColor) |
(1 << DirectColor)),
10, TrueColor, 0x3ff00000, 0x000ffc00, 0x000003ff);
break;
#endif
}
miSetPixmapDepths ();
ret = fbScreenInit(pScreen, pbits, pvfb->width, pvfb->height,
dpix, dpiy, pvfb->paddedWidth,pvfb->bitsPerPixel);
#ifdef RENDER