Quoting [EMAIL PROTECTED]:
> Hi,
> 
> Thanks for that tip - I'll try that tonight.
> 
> I'm rather puzzled by the fact that the primary layer isn't disappearing in my case. 
> If I create a surface on the primary layer (setting it to format ARGB) and draw to 
> it - e.g. using FillRectangle then my rectangle appears, and per pixel alpha 
> blending works, with video displayed beneath.

So you are having an alpha blended OSD on top of the video layer using the primary
layer exclusively in DSPF_ARGB? The correct format would be DSPF_AiRGB, otherwise
the alpha channel is behaving "inverted".

> The problem seems to occur only when using windows. If I create a window then it 
> displays fine on screen. The window pixel format is ARGB. As soon as the call to 
> GetDisplayLayer is made then the window disappears. I'm wondering therefore if there 
> is something funny about the alpha channel. The code uses SetOpacity to determine 
> whether to display the window, but I'm not sure if this has perhaps changed recently 
> in the CLE266 driver.

Maybe you are not using "pixelformat = AiRGB", but RGB16?
This option sets the pixel format of the primary layer.

Of course, the driver shouldn't allow other formats than DSPF_AiRGB
when DFB_CLE266_UNDERLAY is set.

One last note:

If alpha blending is enabled for the primary layer, you should deactivate
the alpha blending of the window onto the layer, otherwise the blending between
the window and the video layer is done twice. Also, DSPF_AiRGB is not accelerated
and you get a significant speedup turning off the window's blending.

So you'd have to call "window->SetOptions(window, DWOP_NONE)" to deactivate
blending after creating a window with DWCAPS_ALPHACHANNEL.

Sorry, if this lot of information is too confusing.
I have a long TODO list today ;)

-- 
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