]> git.pld-linux.org Git - packages/X11.git/commitdiff
- xaa/composite fix from modular tree
authorfreetz <freetz@pld-linux.org>
Wed, 8 Feb 2006 15:45:34 +0000 (15:45 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    X11-compositefastpath.patch -> 1.1

X11-compositefastpath.patch [new file with mode: 0644]

diff --git a/X11-compositefastpath.patch b/X11-compositefastpath.patch
new file mode 100644 (file)
index 0000000..78a12a4
--- /dev/null
@@ -0,0 +1,30 @@
+--- xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c       3 Jul 2005 08:53:49 -0000       1.10
++++ xc/programs/Xserver/hw/xfree86/xaa/xaaPict.c       2 Feb 2006 17:33:58 -0000
+@@ -506,12 +506,21 @@ XAAComposite (CARD8      op,
+     XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
+     XAA_RENDER_PROLOGUE(pScreen, Composite);
+-    if((op == PictOpSrc) && !pMask && infoRec->pScrn->vtSema &&
+-      infoRec->ScreenToScreenBitBlt &&
+-        pSrc->pDrawable &&
+-      DRAWABLE_IS_ON_CARD(pSrc->pDrawable) &&
+-      DRAWABLE_IS_ON_CARD(pDst->pDrawable) &&
+-      !pSrc->transform && !pSrc->repeat && (pSrc->format == pDst->format))
++    if(!pMask && infoRec->pScrn->vtSema &&
++       infoRec->ScreenToScreenBitBlt &&
++       pSrc->pDrawable &&
++       DRAWABLE_IS_ON_CARD(pSrc->pDrawable) &&
++       DRAWABLE_IS_ON_CARD(pDst->pDrawable) &&
++       !pSrc->transform &&
++       (!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 &&
++                        xSrc+width<=pSrc->pDrawable->width &&
++                        ySrc+height<=pSrc->pDrawable->height)) &&
++       ((op == PictOpSrc && pSrc->format == pDst->format) ||
++      (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap &&
++       ((pSrc->format==PICT_x8r8g8b8 &&
++         (pDst->format==PICT_x8r8g8b8 || pDst->format==PICT_a8r8g8b8)) ||
++        (pSrc->format==PICT_x8b8g8r8 &&
++         (pDst->format==PICT_x8b8g8r8 || pDst->format==PICT_a8b8g8r8))))))
+     {
+       XAACompositeSrcCopy(pSrc, pDst, xSrc, ySrc, xDst, yDst, width, height);
+     } else if(!pSrc->pDrawable || (pMask && !pMask->pDrawable) ||
This page took 0.037588 seconds and 4 git commands to generate.