rpms/xorg-x11-server/devel xorg-x11-server-1.0.1-composite-fastpath-fdo4320.patch, NONE, 1.1

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Feb 6 22:18:43 UTC 2006


Author: mharris

Update of /cvs/dist/rpms/xorg-x11-server/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv3681

Added Files:
	xorg-x11-server-1.0.1-composite-fastpath-fdo4320.patch 
Log Message:
Adding xorg-x11-server-1.0.1-composite-fastpath-fdo4320.patch

xorg-x11-server-1.0.1-composite-fastpath-fdo4320.patch:
 xaaPict.c |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

--- NEW FILE xorg-x11-server-1.0.1-composite-fastpath-fdo4320.patch ---
Patch is based on comment #11 in fdo bug #4320, but taking into account
anholt's comment #25.  Adam Jackson suggested modifying the patch with:

<ajax> so basically s/ || pDst->format==PICT_a8.*)/)/g

So I've modified the patch, commenting out the code suggested bya ajax.

  -- mharris


Index: hw/xfree86/xaa/xaaPict.c
===================================================================
RCS file: /cvs/xorg/xserver/xorg/hw/xfree86/xaa/xaaPict.c,v
retrieving revision 1.10
diff -u -p -u -r1.10 xaaPict.c
--- hw/xfree86/xaa/xaaPict.c	3 Jul 2005 08:53:49 -0000	1.10
+++ 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) ||




More information about the fedora-cvs-commits mailing list