[PATCH 1/3] exa/mixed: avoid copying back pixmap data when no migration took place

Michel Dänzer michel at daenzer.net
Thu Nov 12 10:24:10 PST 2009


On Sat, 2009-11-07 at 13:32 +0100, Maarten Maathuis wrote: 
> - When the driver handles the prepare access no copying is needed.
> - Delayed pixmap creation should be fine, because it's handled by the
>   first prepare access, but the exaPixmapIsOffscreen check in finish access
>   will return FALSE without a driver pixmap.
> 
> Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
> ---
>  exa/exa_migration_mixed.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
> index 6065d75..7458e3c 100644
> --- a/exa/exa_migration_mixed.c
> +++ b/exa/exa_migration_mixed.c
> @@ -210,7 +210,8 @@ void exaFinishAccess_mixed(PixmapPtr pPixmap, int index)
>  {
>      ExaPixmapPriv(pPixmap);
>  
> -    if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap)) {
> +    if (pExaPixmap->pDamage && exaPixmapIsOffscreen(pPixmap) &&
> +	    !pExaPixmap->offscreen) {
>  	DamageRegionProcessPending(&pPixmap->drawable);
>  
>  	if (index == EXA_PREPARE_DEST || index == EXA_PREPARE_AUX_DEST) {

The exaPixmapIsOffscreen() call should be after the boolean tests. With
that changed:

Acked-by: Michel Dänzer <michel at daenzer.net>


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the xorg-devel mailing list