]> git.pld-linux.org Git - packages/X11.git/blob - X11-compositefastpath.patch
- orphaned, outdated
[packages/X11.git] / X11-compositefastpath.patch
1 --- xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c        3 Jul 2005 08:53:49 -0000       1.10
2 +++ xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c        2 Feb 2006 17:33:58 -0000
3 @@ -506,12 +506,21 @@ XAAComposite (CARD8      op,
4      XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
5      XAA_RENDER_PROLOGUE(pScreen, Composite);
6  
7 -    if((op == PictOpSrc) && !pMask && infoRec->pScrn->vtSema &&
8 -       infoRec->ScreenToScreenBitBlt &&
9 -        pSrc->pDrawable &&
10 -       DRAWABLE_IS_ON_CARD(pSrc->pDrawable) &&
11 -       DRAWABLE_IS_ON_CARD(pDst->pDrawable) &&
12 -       !pSrc->transform && !pSrc->repeat && (pSrc->format == pDst->format))
13 +    if(!pMask && infoRec->pScrn->vtSema &&
14 +       infoRec->ScreenToScreenBitBlt &&
15 +       pSrc->pDrawable &&
16 +       DRAWABLE_IS_ON_CARD(pSrc->pDrawable) &&
17 +       DRAWABLE_IS_ON_CARD(pDst->pDrawable) &&
18 +       !pSrc->transform &&
19 +       (!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 &&
20 +                         xSrc+width<=pSrc->pDrawable->width &&
21 +                         ySrc+height<=pSrc->pDrawable->height)) &&
22 +       ((op == PictOpSrc && pSrc->format == pDst->format) ||
23 +       (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap &&
24 +        ((pSrc->format==PICT_x8r8g8b8 &&
25 +          (pDst->format==PICT_x8r8g8b8 || pDst->format==PICT_a8r8g8b8)) ||
26 +         (pSrc->format==PICT_x8b8g8r8 &&
27 +          (pDst->format==PICT_x8b8g8r8 || pDst->format==PICT_a8b8g8r8))))))
28      {
29         XAACompositeSrcCopy(pSrc, pDst, xSrc, ySrc, xDst, yDst, width, height);
30      } else if(!pSrc->pDrawable || (pMask && !pMask->pDrawable) ||
This page took 0.035994 seconds and 3 git commands to generate.