]> git.pld-linux.org Git - packages/X11.git/blame - X11-compositefastpath.patch
- added x11r6.9.0-mitri.diff (official CVE-2006-1525 fix)
[packages/X11.git] / X11-compositefastpath.patch
CommitLineData
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) ||
This page took 0.02504 seconds and 4 git commands to generate.