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

Reply via email to