Around 18 o'clock on Mar 29, Vladimir Dergachev wrote:
> As for Radeon colorkeying the reason we use RGB values is because Radeon
> no longer supports keying on the value of graphics pixel,
Well, I just experimentally determined that (at least on my M6 LY), this
is not true. For the component video modes (DirectColor/TrueColor), it
expects you to decompose the RGB pre-LUT values and store them in the
"color key" registers, but for pseudo color modes, it wants the pixel
value replicated across all three bytes stored in the "color key"
registers. So much for believing the manufacturers documentation.
I tested this at 16bpp by using xgamma to frob the LUT -- pixel values 0
and 0xffff always worked for "color key", but all other pixel values
worked only with a gamma of 1.0. Switching to pre-LUT values made it work
correctly with an arbitrary gamma value.
(The gamma value has no effect on the brightness of the overlay, the
overlay has separate controls to adjust the brightness curve).
I tested this at 8bpp to note that the post-LUT values didn't work, so I
tried replicating the pixel value across all three components of the
"color key" registers; that works just fine. (I didn't try using just the
pixel value, I have a feeling that won't work though).
Video plays just fine now at 8bpp, but the rest of my UI is really ugly.
Diffs at
http://keithp.com/~keithp/download/radeon_xv-2002-03-29-19.diff
Keith Packard XFree86 Core Team Compaq Cambridge Research Lab
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert