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