]>
Commit | Line | Data |
---|---|---|
0a7b103d | 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) || |