[PATCH 1/4] Add subWindowMode parameter to SourceValidate

Keith Packard keithp at keithp.com
Wed Dec 29 12:47:49 PST 2010


On Wed, 29 Dec 2010 15:04:28 +0200, ville.syrjala at nokia.com wrote:
> From: Ville Syrjälä <ville.syrjala at nokia.com>

> --- a/hw/xfree86/xaa/xaaBitBlt.c
> +++ b/hw/xfree86/xaa/xaaBitBlt.c
> @@ -57,7 +57,8 @@ XAABitBlt(
>      if((pSrcDrawable != pDstDrawable) && 
>  			pSrcDrawable->pScreen->SourceValidate) {
>  	(*pSrcDrawable->pScreen->SourceValidate) (
> -			pSrcDrawable, srcx, srcy, width, height);
> +			pSrcDrawable, srcx, srcy, width, height,
> +			pGC->subWindowMode);
>      }

> --- a/mi/micopy.c
> +++ b/mi/micopy.c
> @@ -186,7 +186,8 @@ miDoCopy (DrawablePtr	pSrcDrawable,
>      if ((pSrcDrawable != pDstDrawable) &&
>  	pSrcDrawable->pScreen->SourceValidate)
>      {
> -	(*pSrcDrawable->pScreen->SourceValidate) (pSrcDrawable, xIn, yIn, widthSrc, heightSrc);
> +	(*pSrcDrawable->pScreen->SourceValidate) (pSrcDrawable, xIn, yIn, widthSrc, heightSrc,
> +						  pGC->subWindowMode);
>      }
>  
>      /* Compute source clip region */

> --- a/miext/damage/damage.c
> +++ b/miext/damage/damage.c
> @@ -898,7 +898,8 @@ damageCopyArea(DrawablePtr   pSrc,
>  	pSrc->type == DRAWABLE_WINDOW &&
>  	((WindowPtr)pSrc)->viewable)
>      {
> -	(*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height);
> +	(*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height,
> +					  pGC->subWindowMode);
>      }
>      
>      if (checkGCDamage (pDst, pGC))
> @@ -944,7 +945,8 @@ damageCopyPlane(DrawablePtr	pSrc,
>  	pSrc->type == DRAWABLE_WINDOW &&
>  	((WindowPtr)pSrc)->viewable)
>      {
> -        (*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height);
> +	(*pSrc->pScreen->SourceValidate) (pSrc, srcx, srcy, width, height,
> +					  pGC->subWindowMode);
>      }
>  
>      if (checkGCDamage (pDst, pGC))

So, one of the changes I suggested might be useful was to remove the
check for src != dst here (and in the other places this function is
called). That will ensure that intra-drawable copies also get
fixed. That would eliminate the call from damage.c here.

That change seems useful independently from the other changes
you've proposed here.

This patch looks correct (fortunately, the compiler will catch any
mistakes here).

Reviewed-by: Keith Packard <keithp at keithp.com>

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20101229/898ad4d2/attachment.pgp>


More information about the xorg-devel mailing list