From: freetz Date: Wed, 8 Feb 2006 15:45:34 +0000 (+0000) Subject: - xaa/composite fix from modular tree X-Git-Tag: auto/ac/X11-6_9_0-5~1 X-Git-Url: https://git.pld-linux.org/?p=packages%2FX11.git;a=commitdiff_plain;h=0a7b103d7996a81b676fb687c8a14ae9bc807918 - xaa/composite fix from modular tree Changed files: X11-compositefastpath.patch -> 1.1 --- diff --git a/X11-compositefastpath.patch b/X11-compositefastpath.patch new file mode 100644 index 0000000..78a12a4 --- /dev/null +++ b/X11-compositefastpath.patch @@ -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) ||