Hi, I have added Overlay support the the i810 gfxdriver that I wrote. I noticed that rendering to the backbuffer is not supported. Significant 'tearing' effects can be seen when playing video using 'mplayer -vo directfb'. Mplayer, by default, blits or memcopies to the frontbuffer directly which causes the 'tearing' effects.
I traced this to allocate_surface() which creates a surface with a DSCAPS_FRONTONLY capability. Is is possible that it also passes a DSCAPS_FLIPPING if config->buffermode == DLBM_BACKVIDEO aside from writing a gfxdriver-specific xxxAllocateSurface? Because I wanted to eliminte this 'tearing' effect, I modified allocate_surface() so it also passes DSCAPS_FLIPPING depending on the buffermode. I also experimented with mplayer and modified it so it renders to the backbuffer then calls layer->Flip() afterwards. The tearing effects disappear this way. Also, flipping, instead of blitting, effectively bypasses the YV12 blit problem. Another thing I noticed is that all of the gfxdriver's xxxTestConfiguration() will not fail if config->flags == DLCONF_BUFFERMODE and config->buffermode == DLBM_BACKVIDEO. This might confuse the client that buffer flipping is supported when it is actually not. Tony -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe directfb-dev" as subject.
