[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