Quoting Marcus Gustafsson ([EMAIL PROTECTED]):
> Im running XDirectFB and DirectFB in software mode in ARGB mode on hardware
> where the alpha value in the framebuffer controls the visibility of the
> graphics plane over an video underlay. Ie, a alpha value of 255 in the
> framebuffer will make the graphics pixel fully opaque.

Are you using the CyberPro layering?

> My problem is that when running XDirectFB the X applications are invisible.
> X seems to zero the alpha value. However if I also start another DirectFB
> application that also creates windows on the primary display and blend the
> windows, the X applications is seen though the windows. 

X indeed writes '0' to the alpha channel ;(

I could add a workaround that creates windows in RGB32 if the layer is ARGB
to have them converted to valid ARGB data.

> What I dont really understand is the relation between the alpha values in
> layers(mainly the primary display layer) and the alpha value that is written
> in /dev/fb and how layers are blended together. Is this up to driver to
> decide? Please explain this.

The alpha values of the primary layer are stored in /dev/fb along with
the RGB values. Layers are blended by the hardware using this equation:

dst = src * src.alpha + dst * (1.0 - src.alpha)

Where dst is the layer below src.

-- 
Best regards,
  Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

                            Convergence GmbH


-- 
Info:  To unsubscribe send a mail to [EMAIL PROTECTED] with 
"unsubscribe directfb-dev" as subject.

Reply via email to