DirectFB - Home of the pragmatist Roadmap

[directfb-dev] Re: Flipping troubles - videolayer, crtc2
Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[directfb-dev] Re: Flipping troubles - videolayer, crtc2

Quoting Jiri Svoboda (
> > Setting backbuffer to main memory disregards the FlipBuffer() 
> > command, but instead calls dfb_back_to_front_copy(), which is 
> > essentially a blit command.  Is the blit for YUV planars 
> > fixed in 0.9.11?  Maybe this is the reason why flipping from 
> > a system backbuffer does not work.
> > 
> After upgrading to latest CVS with YV12 BitBlt support the "new"
> implementation with backbuffer in system memory works OK.
> So let me summarize (all is for videolayer):
> 1) front buffer & back buffer in video memory, frame written directly to
> back buffer by sw -> has big troubles, looks like wrong buffer is
> obtained or displayed

The flip on the BES will take effect during the next vertical retrace.
Please try dfb->WaitForSync(dfb) after flipping or DSFLIP_WAITFORSYNC
as a flag for Flip().

The vsync handling during flipping (before/after) should be cleaned up.
There should be a unique API for the different behaviours with different
hardware. DSFLIP_ONSYNC_WAITING (waits until flip is executed on vsync),
DSFLIP_ONSYNC_SCHEDULED (returns immediately but flips on vsync) and
DSFLIP_IMMEDIATE (default?) may be more useful.

> 3) front buffer & back buffer in video memory, frame written into
> temporary surface (in system memory) than blit to back buffer -> works
> OK

Are you doing a flip after the blit to the back buffer?
Maybe you are locking the surface without the DSLF_WRITE flag (case 1)?

Best regards,
  Denis Oliver Kropp

| DirectFB - Hardware accelerated graphics |
|                 |

                            Convergence GmbH

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

Home | Main Index | Thread Index / Development / Old Archives