pixman: Branch 'master' - 3 commits

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


 pixman/pixman-mmx.c   |   71 ++++++++++++++-------------------------
 pixman/pixman-mmx.h   |    7 ++-
 pixman/pixman-pict.c  |   89 ++++++++++++++++++++------------------------------
 pixman/pixman-utils.c |   22 ++++++++++++
 pixman/pixman.h       |   12 ++++++
 5 files changed, 99 insertions(+), 102 deletions(-)

New commits:
diff-tree cf6b8f63d4dd2d96efcde673696e1703856a3787 (from 02f6129400eda40167e91e0ff4724d7a5ae5a80d)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Mon Jun 11 14:55:31 2007 -0400

    Forgotten fbHaveMMX()

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 097b021..3986cc8 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -878,7 +878,7 @@ extern FbComposeFunctions pixman_compose
 void fbComposeSetupMMX(void)
 {
     /* check if we have MMX support and initialize accordingly */
-    if (fbHaveMMX()) {
+    if (pixman_have_mmx()) {
         pixman_composeFunctions.combineU[PIXMAN_OP_OVER] = mmxCombineOverU;
         pixman_composeFunctions.combineU[PIXMAN_OP_OVER_REVERSE] = mmxCombineOverReverseU;
         pixman_composeFunctions.combineU[PIXMAN_OP_IN] = mmxCombineInU;
diff-tree 02f6129400eda40167e91e0ff4724d7a5ae5a80d (from 105d398c4d061eb102747f824e6c04ab897cb5e1)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Mon Jun 11 14:54:44 2007 -0400

    Rename fbHaveMMX() pixman_have_mmx()
    Guard pixman_blt_mmx() with pixman_have_mmx()

diff --git a/pixman/pixman-mmx.h b/pixman/pixman-mmx.h
index fd888f3..9ea2ad7 100644
--- a/pixman/pixman-mmx.h
+++ b/pixman/pixman-mmx.h
@@ -35,13 +35,13 @@
 #ifdef USE_MMX
 
 #if !defined(__amd64__) && !defined(__x86_64__)
-pixman_bool_t fbHaveMMX(void);
+pixman_bool_t pixman_have_mmx(void);
 #else
-#define fbHaveMMX() TRUE
+#define pixman_have_mmx() TRUE
 #endif
 
 #else
-#define fbHaveMMX() FALSE
+#define pixman_have_mmx() FALSE
 #endif
 
 #ifdef USE_MMX
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index 96431a3..5d5417c 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -1137,7 +1137,7 @@ pixman_image_composite (pixman_op_t     
 			case PIXMAN_r5g6b5:
 			case PIXMAN_b5g6r5:
 #ifdef USE_MMX
-			    if (fbHaveMMX())
+			    if (pixman_have_mmx())
 				func = fbCompositeSolidMask_nx8x0565mmx;
 			    else
 #endif
@@ -1152,7 +1152,7 @@ pixman_image_composite (pixman_op_t     
 			case PIXMAN_a8b8g8r8:
 			case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
-			    if (fbHaveMMX())
+			    if (pixman_have_mmx())
 				func = fbCompositeSolidMask_nx8x8888mmx;
 			    else
 #endif
@@ -1168,7 +1168,7 @@ pixman_image_composite (pixman_op_t     
 			    case PIXMAN_a8r8g8b8:
 			    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSolidMask_nx8888x8888Cmmx;
 				else
 #endif
@@ -1176,7 +1176,7 @@ pixman_image_composite (pixman_op_t     
 				break;
 			    case PIXMAN_r5g6b5:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSolidMask_nx8888x0565Cmmx;
 				else
 #endif
@@ -1193,7 +1193,7 @@ pixman_image_composite (pixman_op_t     
 			    case PIXMAN_a8b8g8r8:
 			    case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSolidMask_nx8888x8888Cmmx;
 				else
 #endif
@@ -1201,7 +1201,7 @@ pixman_image_composite (pixman_op_t     
 				break;
 			    case PIXMAN_b5g6r5:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSolidMask_nx8888x0565Cmmx;
 				else
 #endif
@@ -1261,13 +1261,13 @@ pixman_image_composite (pixman_op_t     
 			    case PIXMAN_a8r8g8b8:
 			    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSrc_8888RevNPx8888mmx;
 #endif
 				break;
 			    case PIXMAN_r5g6b5:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSrc_8888RevNPx0565mmx;
 #endif
 				break;
@@ -1287,13 +1287,13 @@ pixman_image_composite (pixman_op_t     
 			    case PIXMAN_a8b8g8r8:
 			    case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSrc_8888RevNPx8888mmx;
 #endif
 				break;
 			    case PIXMAN_r5g6b5:
 #ifdef USE_MMX
-				if (fbHaveMMX())
+				if (pixman_have_mmx())
 				    func = fbCompositeSrc_8888RevNPx0565mmx;
 #endif
 				break;
@@ -1319,25 +1319,25 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_x8r8g8b8:
 			if ((pDst->bits.format == PIXMAN_a8r8g8b8 ||
 			     pDst->bits.format == PIXMAN_x8r8g8b8) &&
-			    pMask->bits.format == PIXMAN_a8 && fbHaveMMX())
+			    pMask->bits.format == PIXMAN_a8 && pixman_have_mmx())
 			    func = fbCompositeSrc_x888x8x8888mmx;
 			break;
 		    case PIXMAN_x8b8g8r8:
 			if ((pDst->bits.format == PIXMAN_a8b8g8r8 ||
 			     pDst->bits.format == PIXMAN_x8b8g8r8) &&
-			    pMask->bits.format == PIXMAN_a8 && fbHaveMMX())
+			    pMask->bits.format == PIXMAN_a8 && pixman_have_mmx())
 			    func = fbCompositeSrc_x888x8x8888mmx;
 			break;
 		    case PIXMAN_a8r8g8b8:
 			if ((pDst->bits.format == PIXMAN_a8r8g8b8 ||
 			     pDst->bits.format == PIXMAN_x8r8g8b8) &&
-			    pMask->bits.format == PIXMAN_a8 && fbHaveMMX())
+			    pMask->bits.format == PIXMAN_a8 && pixman_have_mmx())
 			    func = fbCompositeSrc_8888x8x8888mmx;
 			break;
 		    case PIXMAN_a8b8g8r8:
 			if ((pDst->bits.format == PIXMAN_a8b8g8r8 ||
 			     pDst->bits.format == PIXMAN_x8b8g8r8) &&
-			    pMask->bits.format == PIXMAN_a8 && fbHaveMMX())
+			    pMask->bits.format == PIXMAN_a8 && pixman_have_mmx())
 			    func = fbCompositeSrc_8888x8x8888mmx;
 			break;
 #endif
@@ -1361,7 +1361,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_a8r8g8b8:
 		    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			{
 			    srcRepeat = FALSE;
 			    func = fbCompositeSolid_nx8888mmx;
@@ -1370,7 +1370,7 @@ pixman_image_composite (pixman_op_t     
 			break;
 		    case PIXMAN_r5g6b5:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			{
 			    srcRepeat = FALSE;
 			    func = fbCompositeSolid_nx0565mmx;
@@ -1393,7 +1393,7 @@ pixman_image_composite (pixman_op_t     
 		if (pSrc->bits.format == pDst->bits.format && !PIXMAN_FORMAT_A(pSrc->bits.format))
 		{
 #ifdef USE_MMX
-		    if (fbHaveMMX() &&
+		    if (pixman_have_mmx() &&
 			(pSrc->bits.format == PIXMAN_x8r8g8b8 || pSrc->bits.format == PIXMAN_x8b8g8r8))
 			func = fbCompositeCopyAreammx;
 		    else
@@ -1410,7 +1410,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_a8r8g8b8:
 		    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeSrc_8888x8888mmx;
 			else
 #endif
@@ -1421,7 +1421,7 @@ pixman_image_composite (pixman_op_t     
 			break;
 		    case PIXMAN_r5g6b5:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeSrc_8888x0565mmx;
 			else
 #endif
@@ -1436,7 +1436,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_a8r8g8b8:
 		    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeCopyAreammx;
 #endif
 			break;
@@ -1448,7 +1448,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_a8b8g8r8:
 		    case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeCopyAreammx;
 #endif
 			break;
@@ -1461,7 +1461,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_a8b8g8r8:
 		    case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeSrc_8888x8888mmx;
 			else
 #endif
@@ -1472,7 +1472,7 @@ pixman_image_composite (pixman_op_t     
 			break;
 		    case PIXMAN_b5g6r5:
 #ifdef USE_MMX
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			    func = fbCompositeSrc_8888x0565mmx;
 			else
 #endif
@@ -1496,7 +1496,7 @@ pixman_image_composite (pixman_op_t     
 		switch (pDst->bits.format) {
 		case PIXMAN_a8r8g8b8:
 #ifdef USE_MMX
-		    if (fbHaveMMX())
+		    if (pixman_have_mmx())
 			func = fbCompositeSrcAdd_8888x8888mmx;
 		    else
 #endif
@@ -1510,7 +1510,7 @@ pixman_image_composite (pixman_op_t     
 		switch (pDst->bits.format) {
 		case PIXMAN_a8b8g8r8:
 #ifdef USE_MMX
-		    if (fbHaveMMX())
+		    if (pixman_have_mmx())
 			func = fbCompositeSrcAdd_8888x8888mmx;
 		    else
 #endif
@@ -1524,7 +1524,7 @@ pixman_image_composite (pixman_op_t     
 		switch (pDst->bits.format) {
 		case PIXMAN_a8:
 #ifdef USE_MMX
-		    if (fbHaveMMX())
+		    if (pixman_have_mmx())
 			func = fbCompositeSrcAdd_8000x8000mmx;
 		    else
 #endif
@@ -1560,7 +1560,7 @@ pixman_image_composite (pixman_op_t     
 	    {
 		srcRepeat = FALSE;
 #ifdef USE_MMX
-		if (fbHaveMMX())
+		if (pixman_have_mmx())
 		    func = fbCompositeSrcAdd_8888x8x8mmx;
 		else
 #endif
@@ -1582,7 +1582,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_x8r8g8b8:
 		    case PIXMAN_a8b8g8r8:
 		    case PIXMAN_x8b8g8r8:
-			if (fbHaveMMX())
+			if (pixman_have_mmx())
 			{
 			    srcRepeat = FALSE;
 			    func = fbCompositeSolidMaskSrc_nx8x8888mmx;
@@ -1600,7 +1600,7 @@ pixman_image_composite (pixman_op_t     
 	    if (pSrc->bits.format == pDst->bits.format)
 	    {
 #ifdef USE_MMX
-		if (pSrc->bits.bits != pDst->bits.bits && fbHaveMMX() &&
+		if (pSrc->bits.bits != pDst->bits.bits && pixman_have_mmx() &&
 		    (PIXMAN_FORMAT_BPP (pSrc->bits.format) == 16 ||
 		     PIXMAN_FORMAT_BPP (pSrc->bits.format) == 32))
 		    func = fbCompositeCopyAreammx;
@@ -1620,7 +1620,7 @@ pixman_image_composite (pixman_op_t     
 	    pDst->bits.format == PIXMAN_a8 &&
 	    !pMask)
 	{
-	    if (fbHaveMMX())
+	    if (pixman_have_mmx())
 		func = fbCompositeIn_8x8mmx;
 	}
 	else if (srcRepeat && pMask && !pMask->common.component_alpha &&
@@ -1629,7 +1629,7 @@ pixman_image_composite (pixman_op_t     
 		 (pMask->bits.format == PIXMAN_a8)        &&
 		 pDst->bits.format == PIXMAN_a8)
 	{
-	    if (fbHaveMMX())
+	    if (pixman_have_mmx())
 	    {
 		srcRepeat = FALSE;
 		func = fbCompositeIn_nx8x8mmx;
@@ -1842,7 +1842,7 @@ static unsigned int detectCPUFeatures(vo
 }
 
 pixman_bool_t
-fbHaveMMX (void)
+pixman_have_mmx (void)
 {
     static pixman_bool_t initialized = FALSE;
     static pixman_bool_t mmx_present;
diff --git a/pixman/pixman-utils.c b/pixman/pixman-utils.c
index dad82f8..ab6a1cd 100644
--- a/pixman/pixman-utils.c
+++ b/pixman/pixman-utils.c
@@ -69,9 +69,12 @@ pixman_blt (uint32_t *src_bits,
 	    int width, int height)
 {
 #ifdef USE_MMX
-    return pixman_blt_mmx (src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp,
-			   src_x, src_y, dst_x, dst_y, width, height);
-#else
-    return FALSE;
+    if (pixman_have_mmx())
+    {
+	return pixman_blt_mmx (src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp,
+			       src_x, src_y, dst_x, dst_y, width, height);
+    }
+    else
 #endif
+	return FALSE;
 }
diff-tree 105d398c4d061eb102747f824e6c04ab897cb5e1 (from 6a64eb109449806186164332383be1235ab9c21c)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Mon Jun 11 14:41:01 2007 -0400

    Add pixman_blt_mmx() based on fbBltmmx() from the X server.
    
    Implement fbCompositeAreammx() in terms of it.
    
    Uncomment calls to fbCompositeAreammx() in pixman-pict.c
    
    Add public pixman_blt() that just returns false if not using mmx.

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 7645d2e..097b021 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -2726,38 +2726,21 @@ fbCompositeSrcAdd_8888x8888mmx (pixman_o
     _mm_empty();
 }
 
-#if 0
-/* FIXME */
-
-Bool
-fbCopyAreammx (DrawablePtr	pSrc,
-	       DrawablePtr	pDst,
-	       int		src_x,
-	       int		src_y,
-	       int		dst_x,
-	       int		dst_y,
-	       int		width,
-	       int		height)
+pixman_bool_t 
+pixman_blt_mmx (uint32_t *src_bits,
+		uint32_t *dst_bits,
+		int src_stride,
+		int dst_stride,
+		int src_bpp,
+		int dst_bpp,
+		int src_x, int src_y,
+		int dst_x, int dst_y,
+		int width, int height)
 {
-    uint32_t *	src_bits;
-    int	src_stride;
-    int		src_bpp;
-    int		src_xoff;
-    int		src_yoff;
-
-    uint32_t *	dst_bits;
-    int	dst_stride;
-    int		dst_bpp;
-    int		dst_xoff;
-    int		dst_yoff;
-
     uint8_t *	src_bytes;
     uint8_t *	dst_bytes;
     int		byte_width;
     
-    fbGetDrawable(pSrc, src_bits, src_stride, src_bpp, src_xoff, src_yoff);
-    fbGetDrawable(pDst, dst_bits, dst_stride, dst_bpp, dst_xoff, dst_yoff);
-
     if (src_bpp != dst_bpp)
 	return FALSE;
     
@@ -2765,16 +2748,16 @@ fbCopyAreammx (DrawablePtr	pSrc,
     {
 	src_stride = src_stride * sizeof (uint32_t) / 2;
 	dst_stride = dst_stride * sizeof (uint32_t) / 2;
-	src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y + src_yoff) + (src_x + src_xoff));
-	dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y + dst_yoff) + (dst_x + dst_xoff));
+	src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x));
+	dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
 	byte_width = 2 * width;
 	src_stride *= 2;
 	dst_stride *= 2;
     } else if (src_bpp == 32) {
 	src_stride = src_stride * sizeof (uint32_t) / 4;
 	dst_stride = dst_stride * sizeof (uint32_t) / 4;
-	src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y + src_yoff) + (src_x + src_xoff));
-	dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y + dst_yoff) + (dst_x + dst_xoff));
+	src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x));
+	dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x));
 	byte_width = 4 * width;
 	src_stride *= 4;
 	dst_stride *= 4;
@@ -2875,14 +2858,12 @@ fbCopyAreammx (DrawablePtr	pSrc,
     }
     
     _mm_empty();
+
     return TRUE;
 }
-#endif
 
-#if 0
-/* FIXME */
 void
-fbCompositeCopyAreammx (uint8_t		op,
+fbCompositeCopyAreammx (pixman_op_t       op,
 			pixman_image_t *	pSrc,
 			pixman_image_t *	pMask,
 			pixman_image_t *	pDst,
@@ -2895,15 +2876,13 @@ fbCompositeCopyAreammx (uint8_t		op,
 			uint16_t		width,
 			uint16_t		height)
 {
-    fbCopyAreammx (pSrc->pDrawable,
-		   pDst->pDrawable,
-		   xSrc, ySrc,
-		   xDst, yDst,
-		   width, height);
+    pixman_blt_mmx (pSrc->bits.bits,
+		    pDst->bits.bits,
+		    pSrc->bits.rowstride,
+		    pDst->bits.rowstride,
+		    PIXMAN_FORMAT_BPP (pSrc->bits.format),
+		    PIXMAN_FORMAT_BPP (pDst->bits.format),
+		    xSrc, ySrc, xDst, yDst, width, height);
 }
-#endif
-
-
-
 
 #endif /* USE_MMX */
diff --git a/pixman/pixman-mmx.h b/pixman/pixman-mmx.h
index 9314329..fd888f3 100644
--- a/pixman/pixman-mmx.h
+++ b/pixman/pixman-mmx.h
@@ -277,6 +277,7 @@ pixman_bool_t fbCopyAreammx (DrawablePtr
 			     int		width,
 			     int		height);
 #endif
+
 void fbCompositeCopyAreammx (pixman_op_t	op,
 			     pixman_image_t *	pSrc,
 			     pixman_image_t *	pMask,
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
index 76793b1..96431a3 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -1395,12 +1395,7 @@ pixman_image_composite (pixman_op_t     
 #ifdef USE_MMX
 		    if (fbHaveMMX() &&
 			(pSrc->bits.format == PIXMAN_x8r8g8b8 || pSrc->bits.format == PIXMAN_x8b8g8r8))
-#if 0
-			/* FIXME */
-			
-			func = fbCompositeCopyAreammx
-#endif
-			    ;
+			func = fbCompositeCopyAreammx;
 		    else
 #endif
 #if 0
@@ -1442,11 +1437,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_x8r8g8b8:
 #ifdef USE_MMX
 			if (fbHaveMMX())
-#if 0
-			    /* FIXME */
-			    func = fbCompositeCopyAreammx
-#endif
-				;
+			    func = fbCompositeCopyAreammx;
 #endif
 			break;
 		    default:
@@ -1458,11 +1449,7 @@ pixman_image_composite (pixman_op_t     
 		    case PIXMAN_x8b8g8r8:
 #ifdef USE_MMX
 			if (fbHaveMMX())
-#if 0
-			    /* FIXME */
-			    func = fbCompositeCopyAreammx
-#endif
-				;
+			    func = fbCompositeCopyAreammx;
 #endif
 			break;
 		    default:
@@ -1616,11 +1603,7 @@ pixman_image_composite (pixman_op_t     
 		if (pSrc->bits.bits != pDst->bits.bits && fbHaveMMX() &&
 		    (PIXMAN_FORMAT_BPP (pSrc->bits.format) == 16 ||
 		     PIXMAN_FORMAT_BPP (pSrc->bits.format) == 32))
-#if 0
-		    /* FIXME */
-		    func = fbCompositeCopyAreammx
-#endif
-			;
+		    func = fbCompositeCopyAreammx;
 		else
 #endif
 		    /* FIXME */
diff --git a/pixman/pixman-utils.c b/pixman/pixman-utils.c
index e27d0d6..dad82f8 100644
--- a/pixman/pixman-utils.c
+++ b/pixman/pixman-utils.c
@@ -56,3 +56,22 @@ pixman_transform_point_3d (pixman_transf
     *vector = result;
     return TRUE;
 }
+
+pixman_bool_t
+pixman_blt (uint32_t *src_bits,
+	    uint32_t *dst_bits,
+	    int src_stride,
+	    int dst_stride,
+	    int src_bpp,
+	    int dst_bpp,
+	    int src_x, int src_y,
+	    int dst_x, int dst_y,
+	    int width, int height)
+{
+#ifdef USE_MMX
+    return pixman_blt_mmx (src_bits, dst_bits, src_stride, dst_stride, src_bpp, dst_bpp,
+			   src_x, src_y, dst_x, dst_y, width, height);
+#else
+    return FALSE;
+#endif
+}
diff --git a/pixman/pixman.h b/pixman/pixman.h
index 7f33273..0421723 100644
--- a/pixman/pixman.h
+++ b/pixman/pixman.h
@@ -289,6 +289,18 @@ pixman_bool_t		pixman_region_equal (pixm
 pixman_bool_t		pixman_region_selfcheck (pixman_region16_t *region);
 void			pixman_region_reset(pixman_region16_t *region, pixman_box16_t *box);
 
+
+/* Copy / Fill */
+pixman_bool_t pixman_blt (uint32_t *src_bits,
+			  uint32_t *dst_bits,
+			  int src_stride,
+			  int dst_stride,
+			  int src_bpp,
+			  int dst_bpp,
+			  int src_x, int src_y,
+			  int dst_x, int dst_y,
+			  int width, int height);
+
 /*
  * Images
  */


More information about the xorg-commit mailing list