On Dienstag, 15. November 2005 21:34, Mark Adams wrote: > > I guess that the changes to unichrome/uc_overlay.c will break > > softdevice. For VIA I have currently the following special code: > > > > if (isVIAUnichrome) > > videoLayer->SetLevel(1); > > You could be right. I assume softdevice wants the primary layer on top? >
I want the video layer alpha blended with surface from primary layer. OSD is drawn on that. > Unfortunately, the existing implementation of levels was broken > because it had a positive value as being below the primary. The > documentation for SetLevel is clear that it should be the other way > around. > > You'll now need videoLayer->SetLevel(-1). And check that (+1 vs. -1) at compile time against what ? It would be best if no SetLevel() call would be required at all. If there is a different behaviour of some hardware, the DirectFB API should make that behaviour uniform. Alpha handling on VIA is stange too, as that chipset doesn't seem to support ARGB (only AiRGB = (255-A)RGB). > > You'll also need to set DLOP_ALPHACHANNEL on the primary layer to get > the behaviour you want. This is necessary in order to support OPACITY > as an alternative. These options will fail on earlier versions > (assuming you weren't setting DFB_CLE266_UNDERLAY) so you will need to > check the primary's capabilities for DLCAPS_ALPHACHANNEL. Setting of DLOP_ALPHACHANNEL is already checked for DLCAPS_ALPHACHANNEL and DFB_CLE266_UNDERLAY wasn't used. Never heard about that enviroment variable before you mentioned that. > > > Lets see what will happen if pubilc cvs access is back. > > You can always get a tarball from the web site if it's not: > http://www.directfb.org/cgi-bin/viewcvs.cgi/DirectFB/gfxdrivers/unichrome/unichrome.tar.gz?tarball=1 > -- Stefan Lucke _______________________________________________ directfb-dev mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
