On Sun, May 07, 2000 at 09:54:19PM +0200, Ove Kaaven wrote:
>
> On Sun, 7 May 2000, Marcus Meissner wrote:
>
> > We are building the colormap with X11DRV_DIB_BuildColorMap, which in turn
> > uses X11DRV_PALETTE_ToPhysical, which appears to use the current X servers
> > colormasks and -shifts to compute colors.
>
> Really? What would line 715 of graphics/x11drv/palette.c do (in
> 15/16bpp-mode), then? Does not appear to use the X server's masks there.
It is only for monochrome DCs? Or does this not change with a DIB section?
if( dc && (dc->w.bitsPerPixel == 1) ) /* <= 1 ? */
{
GDI_HEAP_UNLOCK( hPal );
return (((color >> 16) & 0xff) + /* 715 */
((color >> 8) & 0xff) + (color & 0xff) > 255*3/2) ? 1 : 0;
}
> > And the colors are not off in XingDVD.
> Guess you're one of those who have their X server set to 24/32bpp, then
> (like I said, the problems I experienced are only evident with
> 8/15/16bpp).
No. I have it in 15 bit. And Xing is using a 8 bit palettized DIB section.
Thats why I optimized the 8->15 case ;)
In 24 bit it tries to use DDRAW for display directly but fails with some memory
corruption elsewhere (not in DDRAW apparently).
Ciao, Marcus