[PATCH 2/2] exa/mixed: devKind doesn't have to be set before calling ExaCopyDirty*

Michel Dänzer michel at daenzer.net
Tue Dec 1 23:42:42 PST 2009


On Wed, 2009-12-02 at 00:16 +0100, Maarten Maathuis wrote: 
> Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
> ---
>  exa/exa_migration_mixed.c |    6 +-----
>  1 files changed, 1 insertions(+), 5 deletions(-)
> 
> diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
> index a7fdf63..36afc86 100644
> --- a/exa/exa_migration_mixed.c
> +++ b/exa/exa_migration_mixed.c
> @@ -101,7 +101,6 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
>  	if (pExaPixmap->pDamage && exaPixmapHasGpuCopy(pPixmap)) {
>  	    ExaScreenPriv(pPixmap->drawable.pScreen);
>  
> -	    pPixmap->devKind = pExaPixmap->fb_pitch;
>  	    exaCopyDirtyToFb(pixmaps + i);
>  
>  	    if (pExaScr->deferred_mixed_pixmap == pPixmap)
> @@ -183,17 +182,14 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
>  		    pixmaps[0].as_src = TRUE;
>  		    pixmaps[0].pReg = NULL;
>  		}
> -		pPixmap->devKind = pExaPixmap->fb_pitch;
>  		exaCopyDirtyToSys(pixmaps);
>  	    }
>  
>  	    if (as_dst)
>  		exaPixmapDirty(pPixmap, 0, 0, pPixmap->drawable.width,
>  			       pPixmap->drawable.height);
> -	} else if (has_gpu_copy) {
> -	    pPixmap->devKind = pExaPixmap->fb_pitch;
> +	} else if (has_gpu_copy)
>  	    exaCopyDirtyToSys(pixmaps);
> -	}
>  
>  	pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
>  	pPixmap->devKind = pExaPixmap->sys_pitch;

NACK. Driver UploadTo/DownloadFromScreen hooks need to know the GPU copy
pitch, and they typically use exaGetPixmapPitch() or just the pixmap
devKind field directly for this.

Also, you didn't specify any problem that this was supposed to solve, or
otherwise provide justification for the change.


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


More information about the xorg-devel mailing list