xserver/hw/xgl xglcopy.c,1.3,1.4

David Reveman xserver-commit at pdx.freedesktop.org
Tue Mar 8 01:27:11 PST 2005


Committed by: davidr

Update of /cvs/xserver/xserver/hw/xgl
In directory gabe:/tmp/cvs-serv16424/hw/xgl

Modified Files:
	xglcopy.c 
Log Message:
Return early from xglCopy if fall-back is more efficient

Index: xglcopy.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/xgl/xglcopy.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- xglcopy.c	26 Jan 2005 10:58:52 -0000	1.3
+++ xglcopy.c	8 Mar 2005 09:27:09 -0000	1.4
@@ -38,9 +38,19 @@
     int		    srcXoff, srcYoff;
     int		    dstXoff, dstYoff;
 
+    XGL_DRAWABLE_PIXMAP_PRIV (pSrc);
+
     if (!nBox)
 	return TRUE;
 
+    /* source is all in software and damaged, fall-back is probably more
+       efficient */
+    if (pPixmapPriv->allBits &&
+	pPixmapPriv->pDamage &&
+	REGION_NOTEMPTY (pDrawable->pScreen,
+			 DamageRegion (pPixmapPriv->pDamage)))
+	return FALSE;
+
     if (xglPrepareTarget (pDst))
     {
 	XGL_SCREEN_PRIV (pDst->pScreen);
@@ -52,11 +62,7 @@
 
 	/* blit to screen */
 	if (dst == pScreenPriv->surface)
-	{
-	    XGL_DRAWABLE_PIXMAP_PRIV (pSrc);
-	    
 	    XGL_INCREMENT_PIXMAP_SCORE (pPixmapPriv, 5000);
-	}
     }
     else
     {



More information about the xserver-commit mailing list