Signed-off-by: Jean-Christophe DUBOIS <j...@tribudubois.net> --- gfxdrivers/radeon/radeon_crtc1.c | 5 +++-- gfxdrivers/radeon/radeon_crtc2.c | 15 ++++++++++----- gfxdrivers/radeon/radeon_overlay.c | 16 ++++++++++------ 3 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/gfxdrivers/radeon/radeon_crtc1.c b/gfxdrivers/radeon/radeon_crtc1.c index c4b1610..a754432 100644 --- a/gfxdrivers/radeon/radeon_crtc1.c +++ b/gfxdrivers/radeon/radeon_crtc1.c @@ -147,14 +147,15 @@ crtc1SetRegion( CoreLayer *layer, CoreLayerRegionConfigFlags updated, CoreSurface *surface, CorePalette *palette, - CoreSurfaceBufferLock *lock ) + CoreSurfaceBufferLock *left_lock, + CoreSurfaceBufferLock *right_lock ) { if (updated & ~CLRCF_OPTIONS) { return OldPrimaryLayerFuncs.SetRegion( layer, OldPrimaryLayerDriverData, layer_data, region_data, - config, updated, surface, palette, lock ); + config, updated, surface, palette, left_lock, right_lock ); } return DFB_OK; diff --git a/gfxdrivers/radeon/radeon_crtc2.c b/gfxdrivers/radeon/radeon_crtc2.c index bcae981..21bcf08 100644 --- a/gfxdrivers/radeon/radeon_crtc2.c +++ b/gfxdrivers/radeon/radeon_crtc2.c @@ -408,7 +408,8 @@ crtc2SetRegion( CoreLayer *layer, CoreLayerRegionConfigFlags updated, CoreSurface *surface, CorePalette *palette, - CoreSurfaceBufferLock *lock ) + CoreSurfaceBufferLock *left_lock, + CoreSurfaceBufferLock *right_lock ) { RadeonDriverData *rdrv = (RadeonDriverData*) driver_data; RadeonCrtc2LayerData *rcrtc2 = (RadeonCrtc2LayerData*) layer_data; @@ -420,7 +421,7 @@ crtc2SetRegion( CoreLayer *layer, CLRCF_FORMAT | CLRCF_SURFACE | CLRCF_PALETTE; if (updated & ~CLRCF_PALETTE) { - if (!crtc2_calc_regs( rdrv, rcrtc2, &rcrtc2->config, surface, lock )) + if (!crtc2_calc_regs( rdrv, rcrtc2, &rcrtc2->config, surface, left_lock )) return DFB_UNSUPPORTED; crtc2_set_regs( rdrv, rcrtc2 ); @@ -465,19 +466,23 @@ crtc2FlipRegion( CoreLayer *layer, void *region_data, CoreSurface *surface, DFBSurfaceFlipFlags flags, - CoreSurfaceBufferLock *lock ) + const DFBRegion *left_update, + CoreSurfaceBufferLock *left_lock, + const DFBRegion *right_update, + CoreSurfaceBufferLock *right_lock ) + { RadeonDriverData *rdrv = (RadeonDriverData*) driver_data; RadeonDeviceData *rdev = rdrv->device_data; RadeonCrtc2LayerData *rcrtc2 = (RadeonCrtc2LayerData*) layer_data; volatile u8 *mmio = rdrv->mmio_base; - if (lock->phys - lock->offset == rdev->fb_phys) + if (left_lock->phys - left_lock->offset == rdev->fb_phys) rcrtc2->regs.rCRTC2_BASE_ADDR = rdev->fb_offset; else rcrtc2->regs.rCRTC2_BASE_ADDR = rdev->agp_offset; - rcrtc2->regs.rCRTC2_OFFSET = lock->offset; + rcrtc2->regs.rCRTC2_OFFSET = left_lock->offset; radeon_waitidle( rdrv, rdrv->device_data ); diff --git a/gfxdrivers/radeon/radeon_overlay.c b/gfxdrivers/radeon/radeon_overlay.c index bdcaabe..77e399f 100644 --- a/gfxdrivers/radeon/radeon_overlay.c +++ b/gfxdrivers/radeon/radeon_overlay.c @@ -304,7 +304,8 @@ ovlSetRegion( CoreLayer *layer, CoreLayerRegionConfigFlags updated, CoreSurface *surface, CorePalette *palette, - CoreSurfaceBufferLock *lock ) + CoreSurfaceBufferLock *left_lock, + CoreSurfaceBufferLock *right_lock ) { RadeonDriverData *rdrv = (RadeonDriverData*) driver_data; RadeonOverlayLayerData *rovl = (RadeonOverlayLayerData*) layer_data; @@ -317,14 +318,14 @@ ovlSetRegion( CoreLayer *layer, if (updated & (CLRCF_WIDTH | CLRCF_HEIGHT | CLRCF_FORMAT | CLRCF_SOURCE | CLRCF_DEST | CLRCF_OPTIONS | CLRCF_OPACITY)) { - ovl_calc_regs( rdrv, rovl, surface, &rovl->config, lock ); + ovl_calc_regs( rdrv, rovl, surface, &rovl->config, left_lock ); ovl_set_regs( rdrv, rovl ); } if (updated & (CLRCF_SRCKEY | CLRCF_DSTKEY)) ovl_set_colorkey( rdrv, rovl, &rovl->config ); - rovl->lock = lock; + rovl->lock = left_lock; return DFB_OK; } @@ -336,20 +337,23 @@ ovlFlipRegion( CoreLayer *layer, void *region_data, CoreSurface *surface, DFBSurfaceFlipFlags flags, - CoreSurfaceBufferLock *lock ) + const DFBRegion *left_update, + CoreSurfaceBufferLock *left_lock, + const DFBRegion *right_update, + CoreSurfaceBufferLock *right_lock ) { RadeonDriverData *rdrv = (RadeonDriverData*) driver_data; RadeonOverlayLayerData *rovl = (RadeonOverlayLayerData*) layer_data; dfb_surface_flip( surface, false ); - ovl_calc_buffers( rdrv, rovl, surface, &rovl->config, lock ); + ovl_calc_buffers( rdrv, rovl, surface, &rovl->config, left_lock ); ovl_set_buffers( rdrv, rovl ); if (flags & DSFLIP_WAIT) dfb_layer_wait_vsync( layer ); - rovl->lock = lock; + rovl->lock = left_lock; return DFB_OK; } -- 1.9.1 _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev