[Xorg-driver-geode] [PATCH 1/7] Prevent the pixmap migration if the geode GP can not do the acceleration.

Michel Dänzer michel at daenzer.net
Mon Jun 14 03:05:24 PDT 2010


On Mon, 2010-06-14 at 01:50 +0300, Mart Raudsepp wrote: 
> On P, 2010-06-13 at 18:47 +0800, Huang, FrankR wrote:
> 
> > @@ -583,21 +586,23 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
> >  	return FALSE;
> >  
> >      if (pMsk && op != PictOpClear) {
> > +	struct blend_ops_t *opPtr = &lx_alpha_ops[op * 2];
> > +	int direction = (opPtr->channel == CIMGP_CHANNEL_A_SOURCE) ? 0 : 1;
> > +
> > +	/* Direction 0 indicates src->dst, 1 indiates dst->src */
> > +	if (((direction == 0) && (pSrc->pDrawable->bitsPerPixel < 16)) ||
> > +	    ((direction == 1) && (pDst->pDrawable->bitsPerPixel < 16))) {
> > +	    ErrorF("Can't do mask blending with less then 16bpp\n");
> > +	    return FALSE;
> > +	}
> <snip> 
> > -	/* Direction 0 indicates src->dst, 1 indiates dst->src */
> > -
> > -	if (((direction == 0) && (pxSrc->drawable.bitsPerPixel < 16)) ||
> > -	    ((direction == 1) && (pxDst->drawable.bitsPerPixel < 16))) {
> > -	    ErrorF("Can't do mask blending with less then 16bpp\n");
> > -	    return FALSE;
> > -	}
> > -
> 
> 
> Are you sure this can be moved so easily? Is there any guarantee that if
> the src/dst Picture drawable is 16bpp, that then the src/dst pixmap
> drawable will be too? I'm not sure we know that absolutely surely, do
> we?

Yes, they have to match: pSrc/Dst->pDrawable is either pxSrc/Dst itself
or a window backed by it.


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


More information about the Xorg-driver-geode mailing list