[PATCH xserver v2] xf86cmap: Use old palette system for pseudocolour.

Keith Packard keithp at keithp.com
Thu Feb 10 23:56:28 PST 2011


On Thu, 10 Feb 2011 15:23:27 -0800, Keith Packard <keithp at keithp.com> wrote:

> I'm taking a look at this stuff to see if I can't at least figure out
> how it's supposed to work. I don't want to ship half-a-fix when we know
> it's broken, just not precisely how badly.

Ok, upon further review, it seems that this patch:

        Author: Maarten Maathuis <madman2003 at gmail.com>  2008-12-17 07:56:26
        Committer: Maarten Maathuis <madman2003 at gmail.com>  2008-12-17 08:03:12
        Parent: 1556815d34cecb4b4b62d2a4ce813b1435a937ec (Cygwin/X: Initialize native HWND atom when built !XWIN_MULTIWINDOWEXTWM)
        Child:  bf65523ab0b39774f07a7ae478ff3f5653fad469 (Cygwin/X: Fix for mis-aligned icon data creates bad background masks (#4491))
        Branches: many (259)
        Follows: xorg-server-1.5.99.1
        Precedes: xorg-server-1.6.99.900

            randr: Improve per-crtc gamma support.
            
            - The Gamma values from the monitor section are now used during initial config.
            - The old colormap system is disabled when gamma set hook is available.
            - Gamma values are now persistent for the lifetime of the xserver.
            - This requires no driver changes and should be driver ABI compatible.

might have benefitted from further review. This patch completely
disables all colormaps for any driver supporting the CRTC-based gamma
functions.

This means that no visuals other than TrueColor will work
correctly with the current code.

Your patch will disable the RandR gamma code for pseudo-color screens,
which isn't optimal either (although, probably better than the current
situation).

A 'correct' solution would merge the current colormap data with the
per-crtc gamma data and store that using the new gamma LUT writing
function (gamma_set). All of that code exists, in the old colormap code,
except it uses the screen gamma table instead of the per-crtc one.

That seems like a couple of hours of typing to me, at least.

However, armed with this knowledge, I would suggest that a better
short-term fix would be to re-enable the old colormap code for any
hardware which is using something other than true color for the default
visual. This will leave direct color visuals on 15/16/24 bit hardware
broken, but at least it will let 8-bit hardware work again.

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20110210/0cf91256/attachment.pgp>


More information about the xorg-devel mailing list