Behrmann,
        You said the Gamma ramps have 8, 10, 12-bit, but each of the entries 
are made up of corrections for R/G/B. Within the DWORD, the red correction is 
in b[23:16], green in b[15:8] and blue in b[7:0]. For 24 bit graphics, each 
color (R, G, and B) are comprised of one byte. The Gamma Correction RAM has a 
256 byte block for each color. When the Gamma Correction RAM is enabled for 
graphics use, the data byte of original color is used as an address into the 
Gamma Correction RAM which produces a new byte of data, a new color intensity. 
Then they will be wrote to the Hardware registers.

Thanks,
Hunk Cui

-----Original Message-----
From: Kai-Uwe Behrmann [mailto:k...@gmx.de] 
Sent: Wednesday, May 19, 2010 7:22 PM
To: Cui, Hunk
Cc: xorg-devel@lists.x.org
Subject: RE: Do not display the screensaver

Gamma ramps vary from card to driver. 8,10,12-bit Who knows? A correct 
implementation has to check the gamma ramp size. I thought to have read 
somewhere in the adverticing material that ATI has more then 8-bit ramps.

kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org


Am 19.05.10, 19:01 +0800 schrieb Cui, Hunk:
> Hi, Jackson,
>       First thanks for your explanation, through the debugging, I found when 
> I start the "fade to black", the gamma values will be setup to the default 
> value (1.0), it will be transferred to the XServer. And in XServer, the value 
> will be write into the VidModeSetGamma -> xf86ChangeGamma -> 
> xf86RandR12ChangeGamma -> gamma_to_ramp (calculate the RGB values) -> 
> RRCrtcGammaSet. Now I have some difficulty. In gamma_to_ramp step, I found 
> the type of ramp value is CARD16. Why is not the CARD8? For R,G,B values, it 
> only have 256bytes RAM.
>       Can you tell me the reason?

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to