Example #1
0
static DFBResult
ovlFlipRegion(  CoreLayer             *layer,
                void                  *driver_data,
                void                  *layer_data,
                void                  *region_data,
                CoreSurface           *surface,
                DFBSurfaceFlipFlags    flags,
                const DFBRegion       *left_update,
                CoreSurfaceBufferLock *left_lock,
                const DFBRegion       *right_update,
                CoreSurfaceBufferLock *right_lock )
{
     I830DriverData       *idrv = driver_data;
     I830DeviceData       *idev = idrv->idev;
     I830OverlayLayerData *iovl = layer_data;

     dfb_surface_flip( surface, false );

     ovl_calc_regs ( idrv, idev, iovl, layer, surface, &iovl->config, true, left_lock );

     update_overlay( idrv, idev );

     if (flags & DSFLIP_WAIT)
          dfb_screen_wait_vsync( dfb_screens_at( DSCID_PRIMARY ) );

     return DFB_OK;
}
DFBResult
IScreen_Real__WaitVSync(
                    CoreScreen                                *obj
)
{
    D_DEBUG_AT( DirectFB_CoreScreen, "%s()\n", __FUNCTION__ );

    return dfb_screen_wait_vsync( obj );
}