[Savage40] Long-Standing Bug
Tim Roberts
timr at probo.com
Tue Feb 1 09:17:52 PST 2005
Alex Deucher wrote:
>--- Tim Roberts <timr at probo.com> wrote:
>
>
>
>>The problem happens when you try to display a gradient background
>>with a window manager. When you do so, you see obvious striping in the
>>colors -- striping that you should not see at depth 24. It looks as bad or
>>worse than depth 16.
>>
>I looked into this a little this weekend, but I didn't have much luck.
>It looks like the savages only have a 6 bit DAC, but I don't really see
>anything else that looks too out of place. I did notice that lots of
>other drivers set a mem RAC for colormap setup, I don't know if the
>savages needs one too or not. I've never really messed with the
>xf86colormap* stuff, so any pointers would be welcome. Tim, do you
>have a old copy of savage_driver.c prior to the break? I'd be curious
>to check it out.
>
>
The Savages support a 6-bit CLUT mode for compatibility with the VGA,
but it should be set to 8-bit CLUT mode for the modes we use. The 6-bit
mode uses the LOW-order 6-bits of the palette values; if that were set,
the colors would be way too dim.
The attached zip contains my archive of 1.1.23t and 1.1.25t. I believe
the problem was introduced between those two. There are two relevant
changes: first, I set the number of palette bits to 8 instead of 6, but
that only affects depth 8. Next, I set CMAP_PALETTED_TRUECOLOR when
calling xf86HandleColormaps. That turns on the xgamma extension and
allows the colormap to be programmed.
I'm guessing that's the key, but you'd have to breakpoint in
SavageLoadPalette to see what is going on.
--
- Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.
More information about the Savage40
mailing list