xserver: Branch 'master'

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Mon Jun 11 12:28:57 PDT 2007


 fb/fbcopy.c   |   20 ++++++++++----------
 fb/fbfill.c   |   14 +++++++-------
 fb/fbwindow.c |   27 ++++++++++++++-------------
 3 files changed, 31 insertions(+), 30 deletions(-)

New commits:
diff-tree 3f9adb18f127318d054f30a57e3a77176e14c692 (from d06099b38e8445e6e31f5178ffefcc31a71080ef)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Mon Jun 11 15:19:27 2007 -0400

    Port a few forgotten fbSolidFillmmx()'es to fbFillmmx(). Use pixman_blt() instead of fbBltmmx()
    in fbCopyNToN().

diff --git a/fb/fbcopy.c b/fb/fbcopy.c
index 74ff358..a430203 100644
--- a/fb/fbcopy.c
+++ b/fb/fbcopy.c
@@ -60,17 +60,17 @@ fbCopyNtoN (DrawablePtr	pSrcDrawable,
 
     while (nbox--)
     {
-#ifdef USE_MMX
+#ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */
 	if (pm == FB_ALLONES && alu == GXcopy && !reverse &&
-	    !upsidedown && fbHaveMMX())
+	    !upsidedown)
 	{
-	    if (!fbBltmmx (src, dst, srcStride, dstStride, srcBpp, dstBpp,
-			   (pbox->x1 + dx + srcXoff),
-			   (pbox->y1 + dy + srcYoff),
-			   (pbox->x1 + srcXoff),
-			   (pbox->y1 + srcYoff),
-			   (pbox->x2 - pbox->x1),
-			   (pbox->y2 - pbox->y1)))
+	    if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp,
+			     (pbox->x1 + dx + srcXoff),
+			     (pbox->y1 + dy + srcYoff),
+			     (pbox->x1 + srcXoff),
+			     (pbox->y1 + srcYoff),
+			     (pbox->x2 - pbox->x1),
+			     (pbox->y2 - pbox->y1)))
 		goto fallback;
 	    else
 		goto next;
@@ -94,7 +94,7 @@ fbCopyNtoN (DrawablePtr	pSrcDrawable,
 	       
 	       reverse,
 	       upsidedown);
-#ifdef USE_MMX
+#ifndef FB_ACCESS_WRAPPER
     next:
 #endif
 	pbox++;
diff --git a/fb/fbfill.c b/fb/fbfill.c
index 35e4427..4f13a02 100644
--- a/fb/fbfill.c
+++ b/fb/fbfill.c
@@ -221,13 +221,13 @@ fbSolidBoxClipped (DrawablePtr	pDrawable
 #ifdef USE_MMX
 	if (!and && fbHaveMMX())
 	{
-		if (fbSolidFillmmx (pDrawable,
-		                    partX1, partY1,
-				    (partX2 - partX1), (partY2 - partY1),
-				    xor)) {
-			fbFinishAccess (pDrawable);
-			return;
-		}
+	    if (fbFillmmx (dst, dstStride, dstBpp,
+			   partX1 + dstXoff, partX2 + dstYoff, (partX2 - partX1), (partY2 - partY1),
+			   xor))
+	    {
+		fbFinishAccess (pDrawable);
+		return;
+	    }
 	}
 #endif
 	fbSolid (dst + (partY1 + dstYoff) * dstStride,
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index cac662c..5b3f446 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -233,26 +233,27 @@ fbFillRegionSolid (DrawablePtr	pDrawable
     while (n--)
     {
 #ifdef USE_MMX
-        if (!has_mmx || !fbSolidFillmmx (pDrawable,
-	                                pbox->x1,
-					pbox->y1,
-					(pbox->x2 - pbox->x1),
-					(pbox->y2 - pbox->y1), xor)) {
+	if (!has_mmx || !fbFillmmx (dst, dstStride, dstBpp,
+				    pbox->x1 + dstXoff, pbox->y1 + dstYoff,
+				    (pbox->x2 - pbox->x1),
+				    (pbox->y2 - pbox->y1),
+				    xor))
+	{
 #endif
-	fbSolid (dst + (pbox->y1 + dstYoff) * dstStride,
-		 dstStride,
-		 (pbox->x1 + dstXoff) * dstBpp,
-		 dstBpp,
-		 (pbox->x2 - pbox->x1) * dstBpp,
-		 pbox->y2 - pbox->y1,
-		 and, xor);
+	    fbSolid (dst + (pbox->y1 + dstYoff) * dstStride,
+		     dstStride,
+		     (pbox->x1 + dstXoff) * dstBpp,
+		     dstBpp,
+		     (pbox->x2 - pbox->x1) * dstBpp,
+		     pbox->y2 - pbox->y1,
+		     and, xor);
 #ifdef USE_MMX
 	}
 #endif
 	fbValidateDrawable (pDrawable);
 	pbox++;
     }
-
+    
     fbFinishAccess (pDrawable);
 }
 


More information about the xorg-commit mailing list