It seems that when you compile the server with Composite, the color tables are
sometimes incorrectly initialized. Go through several server generations and
you should easily see this problem.
I have tracked this down to the changes in dix/colormap.c. When I compile with
-UCOMPOSITE on that file alone, the problems go away. I suspect this has to do
with alphaMask (and offsetAlpha) not being initialized. I see that there are
some cases where they are initialized in the composite/compinit.c but that code
only affects the alternate visuals.
Where should alphaMask/offsetAlpha initialized for the standard visuals? And
what should they be initialized to?
I suspect this will cause problems on other drivers as well.
There's one hunk of diff missing for fb/fbcmap.c for COMPOSITE, but that wasn't
enough. I'll take a look at this when I get back (monday) if nobody beats me.
I've eliminated the core colormap changes for Composite. That should fix this bug.
Yes, that fixed the problem.