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
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to