Create a vmx pixman_implementation_t
diff --git a/pixman/pixman-cpu.c b/pixman/pixman-cpu.c
index 96b4d9b..057c134 100644
--- a/pixman/pixman-cpu.c
+++ b/pixman/pixman-cpu.c
@@ -44,7 +44,7 @@
 #ifdef __APPLE__
 #include <sys/sysctl.h>
 
-pixman_bool_t
+static pixman_bool_t
 pixman_have_vmx (void)
 {
     if(!initialized) {
@@ -66,7 +66,7 @@
 #include <linux/auxvec.h>
 #include <asm/cputable.h>
 
-pixman_bool_t
+static pixman_bool_t
 pixman_have_vmx (void)
 {
     if (!initialized) {
@@ -120,7 +120,8 @@
     longjmp (jump_env, 1);
 }
 
-pixman_bool_t pixman_have_vmx (void) {
+static pixman_bool_t
+pixman_have_vmx (void) {
     struct sigaction sa, osa;
     int jmp_result;
     if (!initialized) {
@@ -524,8 +525,10 @@
     if (pixman_have_arm_simd())
 	return _pixman_implementation_create_arm_simd (NULL);
 #endif
-
+#ifdef USE_VMX
+    if (pixman_have_vmx())
+	return _pixman_implementation_create_vmx (NULL);
+#endif
+    
     return _pixman_implementation_create_fast_path (NULL);
 }
-
-
diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
index 4d4759a..ed858fe 100644
--- a/pixman/pixman-general.c
+++ b/pixman/pixman-general.c
@@ -35,7 +35,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include "pixman-private.h"
-#include "pixman-vmx.h"
 #include "pixman-combine32.h"
 #include "pixman-private.h"
 
@@ -265,10 +264,6 @@
     pixman_bool_t srcTransform = src->common.transform != NULL;
     pixman_bool_t maskTransform = FALSE;
     
-#ifdef USE_VMX
-    fbComposeSetupVMX();
-#endif
-    
     if (srcRepeat && srcTransform &&
 	src->bits.width == 1 &&
 	src->bits.height == 1)
@@ -292,16 +287,6 @@
 	}
     }
     
-#ifdef USE_VMX
-    if (_pixman_run_fast_path (vmx_fast_paths, imp,
-			       op, src, mask, dest,
-			       src_x, src_y,
-			       mask_x, mask_y,
-			       dest_x, dest_y,
-			       width, height))
-	return;
-#endif
-    
     /* CompositeGeneral optimizes 1x1 repeating images itself */
     if (src->type == BITS &&
 	src->bits.width == 1 && src->bits.height == 1)
diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h
index 5facfb4..9e770f6 100644
--- a/pixman/pixman-private.h
+++ b/pixman/pixman-private.h
@@ -1054,6 +1054,10 @@
 pixman_implementation_t *
 _pixman_implementation_create_arm_neon (pixman_implementation_t *toplevel);
 #endif
+#ifdef USE_VMX
+pixman_implementation_t *
+_pixman_implementation_create_vmx (pixman_implementation_t *toplevel);
+#endif
 
 pixman_bool_t
 _pixman_run_fast_path (const FastPathInfo *paths,
diff --git a/pixman/pixman-vmx.c b/pixman/pixman-vmx.c
index 73b1df1..e371f7f 100644
--- a/pixman/pixman-vmx.c
+++ b/pixman/pixman-vmx.c
@@ -26,16 +26,11 @@
  */
 
 #include <config.h>
-#include "pixman-vmx.h"
+#include "pixman-private.h"
 #include "pixman-combine32.h"
 #include <altivec.h>
 
-typedef struct _FbComposeFunctions32 {
-    CombineFunc32 combineU[PIXMAN_OP_LAST];
-    CombineFunc32 combineC[PIXMAN_OP_LAST];
-} FbComposeFunctions32;
-
-static FbComposeFunctions32 pixman_composeFunctions;
+#define AVV(x...) {x}
 
 static force_inline vector unsigned int
 splat_alpha (vector unsigned int pix) {
@@ -297,7 +292,8 @@
 }
 
 static FASTCALL void
-vmxCombineOverU(uint32_t *dest, const uint32_t *src, const uint32_t *mask,
+vmxCombineOverU(pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask,
                 int width)
 {
     if (mask)
@@ -380,7 +376,8 @@
 }
 
 static FASTCALL void
-vmxCombineOverReverseU (uint32_t *dest, const uint32_t *src,
+vmxCombineOverReverseU (pixman_implementation_t *imp, pixman_op_t op,
+			uint32_t *dest, const uint32_t *src,
                         const uint32_t *mask, int width)
 {
     if (mask)
@@ -461,7 +458,8 @@
 }
 
 static FASTCALL void
-vmxCombineInU (uint32_t *dest, const uint32_t *src, const uint32_t *mask,
+vmxCombineInU (pixman_implementation_t *imp, pixman_op_t op,
+	       uint32_t *dest, const uint32_t *src, const uint32_t *mask,
                int width)
 {
     if (mask)
@@ -542,7 +540,8 @@
 }
 
 static FASTCALL void
-vmxCombineInReverseU (uint32_t *dest, const uint32_t *src,
+vmxCombineInReverseU (pixman_implementation_t *imp, pixman_op_t op,
+		      uint32_t *dest, const uint32_t *src,
                       const uint32_t *mask, int width)
 {
     if (mask)
@@ -622,7 +621,8 @@
 }
 
 static FASTCALL void
-vmxCombineOutU (uint32_t *dest, const uint32_t *src, const uint32_t *mask,
+vmxCombineOutU (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask,
                 int width)
 {
     if (mask)
@@ -703,7 +703,8 @@
 }
 
 static FASTCALL void
-vmxCombineOutReverseU (uint32_t *dest,
+vmxCombineOutReverseU (pixman_implementation_t *imp, pixman_op_t op,
+		       uint32_t *dest,
                        const uint32_t *src,
                        const uint32_t *mask,
                        int width)
@@ -794,7 +795,8 @@
 }
 
 static FASTCALL void
-vmxCombineAtopU (uint32_t *dest,
+vmxCombineAtopU (pixman_implementation_t *imp, pixman_op_t op,
+		 uint32_t *dest,
                  const uint32_t *src,
                  const uint32_t *mask,
                  int width)
@@ -885,7 +887,8 @@
 }
 
 static FASTCALL void
-vmxCombineAtopReverseU (uint32_t *dest,
+vmxCombineAtopReverseU (pixman_implementation_t *imp, pixman_op_t op,
+			uint32_t *dest,
                         const uint32_t *src,
                         const uint32_t *mask,
                         int width)
@@ -976,7 +979,8 @@
 }
 
 static FASTCALL void
-vmxCombineXorU (uint32_t *dest,
+vmxCombineXorU (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest,
                 const uint32_t *src,
                 const uint32_t *mask,
                 int width)
@@ -1057,7 +1061,8 @@
 }
 
 static FASTCALL void
-vmxCombineAddU (uint32_t *dest,
+vmxCombineAddU (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest,
                 const uint32_t *src,
                 const uint32_t *mask,
                 int width)
@@ -1069,7 +1074,8 @@
 }
 
 static FASTCALL void
-vmxCombineSrcC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineSrcC (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1100,7 +1106,8 @@
 }
 
 static FASTCALL void
-vmxCombineOverC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineOverC (pixman_implementation_t *imp, pixman_op_t op,
+		 uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1133,7 +1140,8 @@
 }
 
 static FASTCALL void
-vmxCombineOverReverseC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineOverReverseC (pixman_implementation_t *imp, pixman_op_t op,
+			uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1167,7 +1175,8 @@
 }
 
 static FASTCALL void
-vmxCombineInC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineInC (pixman_implementation_t *imp, pixman_op_t op,
+	       uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1201,7 +1210,8 @@
 }
 
 static FASTCALL void
-vmxCombineInReverseC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineInReverseC (pixman_implementation_t *imp, pixman_op_t op,
+		      uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1235,7 +1245,8 @@
 }
 
 static FASTCALL void
-vmxCombineOutC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineOutC (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1270,7 +1281,8 @@
 }
 
 static FASTCALL void
-vmxCombineOutReverseC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineOutReverseC (pixman_implementation_t *imp, pixman_op_t op,
+		       uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1306,7 +1318,8 @@
 }
 
 static FASTCALL void
-vmxCombineAtopC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineAtopC (pixman_implementation_t *imp, pixman_op_t op,
+		 uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1347,7 +1360,8 @@
 }
 
 static FASTCALL void
-vmxCombineAtopReverseC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineAtopReverseC (pixman_implementation_t *imp, pixman_op_t op,
+			uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1388,7 +1402,8 @@
 }
 
 static FASTCALL void
-vmxCombineXorC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineXorC (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1429,7 +1444,8 @@
 }
 
 static FASTCALL void
-vmxCombineAddC (uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
+vmxCombineAddC (pixman_implementation_t *imp, pixman_op_t op,
+		uint32_t *dest, const uint32_t *src, const uint32_t *mask, int width)
 {
     int i;
     vector unsigned int  vdest, vsrc, vmask;
@@ -1532,41 +1548,48 @@
     }
 }
 
-#endif
-
-void fbComposeSetupVMX (void)
-{
-    /* check if we have VMX support and initialize accordingly */
-    if (pixman_have_vmx ()) {
-        pixman_composeFunctions.combineU[PIXMAN_OP_OVER] = vmxCombineOverU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_OVER_REVERSE] = vmxCombineOverReverseU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_IN] = vmxCombineInU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_IN_REVERSE] = vmxCombineInReverseU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_OUT] = vmxCombineOutU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_OUT_REVERSE] = vmxCombineOutReverseU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_ATOP] = vmxCombineAtopU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_ATOP_REVERSE] = vmxCombineAtopReverseU;
-        pixman_composeFunctions.combineU[PIXMAN_OP_XOR] = vmxCombineXorU;
-
-        pixman_composeFunctions.combineU[PIXMAN_OP_ADD] = vmxCombineAddU;
-
-        pixman_composeFunctions.combineC[PIXMAN_OP_SRC] = vmxCombineSrcC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_OVER] = vmxCombineOverC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_OVER_REVERSE] = vmxCombineOverReverseC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_IN] = vmxCombineInC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_IN_REVERSE] = vmxCombineInReverseC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_OUT] = vmxCombineOutC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_OUT_REVERSE] = vmxCombineOutReverseC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_ATOP] = vmxCombineAtopC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_ATOP_REVERSE] = vmxCombineAtopReverseC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_XOR] = vmxCombineXorC;
-        pixman_composeFunctions.combineC[PIXMAN_OP_ADD] = vmxCombineAddC;
-    }
-}
-
 static const FastPathInfo vmx_fast_path_array[] =
 {
     { PIXMAN_OP_NONE },
 };
 
 const FastPathInfo *const vmx_fast_paths = vmx_fast_path_array;
+
+#endif
+
+pixman_implementation_t *
+_pixman_implementation_create_vmx (pixman_implementation_t *toplevel)
+{
+    pixman_implementation_t *fast = _pixman_implementation_create_fast_path (NULL);
+    pixman_implementation_t *imp = _pixman_implementation_create (toplevel, fast);
+
+    /* Set up function pointers */
+    
+    /* SSE code patch for fbcompose.c */
+    imp->combine_32[PIXMAN_OP_OVER] = vmxCombineOverU;
+    imp->combine_32[PIXMAN_OP_OVER_REVERSE] = vmxCombineOverReverseU;
+    imp->combine_32[PIXMAN_OP_IN] = vmxCombineInU;
+    imp->combine_32[PIXMAN_OP_IN_REVERSE] = vmxCombineInReverseU;
+    imp->combine_32[PIXMAN_OP_OUT] = vmxCombineOutU;
+    imp->combine_32[PIXMAN_OP_OUT_REVERSE] = vmxCombineOutReverseU;
+    imp->combine_32[PIXMAN_OP_ATOP] = vmxCombineAtopU;
+    imp->combine_32[PIXMAN_OP_ATOP_REVERSE] = vmxCombineAtopReverseU;
+    imp->combine_32[PIXMAN_OP_XOR] = vmxCombineXorU;
+
+    imp->combine_32[PIXMAN_OP_ADD] = vmxCombineAddU;
+
+    imp->combine_32_ca[PIXMAN_OP_SRC] = vmxCombineSrcC;
+    imp->combine_32_ca[PIXMAN_OP_OVER] = vmxCombineOverC;
+    imp->combine_32_ca[PIXMAN_OP_OVER_REVERSE] = vmxCombineOverReverseC;
+    imp->combine_32_ca[PIXMAN_OP_IN] = vmxCombineInC;
+    imp->combine_32_ca[PIXMAN_OP_IN_REVERSE] = vmxCombineInReverseC;
+    imp->combine_32_ca[PIXMAN_OP_OUT] = vmxCombineOutC;
+    imp->combine_32_ca[PIXMAN_OP_OUT_REVERSE] = vmxCombineOutReverseC;
+    imp->combine_32_ca[PIXMAN_OP_ATOP] = vmxCombineAtopC;
+    imp->combine_32_ca[PIXMAN_OP_ATOP_REVERSE] = vmxCombineAtopReverseC;
+    imp->combine_32_ca[PIXMAN_OP_XOR] = vmxCombineXorC;
+    imp->combine_32_ca[PIXMAN_OP_ADD] = vmxCombineAddC;
+    
+    return imp;
+}
+
diff --git a/pixman/pixman-vmx.h b/pixman/pixman-vmx.h
deleted file mode 100644
index 47885f4..0000000
--- a/pixman/pixman-vmx.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright © 2007 Luca Barbato
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Luca Barbato not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  Luca Barbato makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- *
- * Author:  Luca Barbato (lu_zero@gentoo.org)
- *
- * Based on work by Owen Taylor, Søren Sandmann and Lars Knoll
- */
-
-#include "pixman-private.h"
-
-#ifdef USE_VMX
-
-pixman_bool_t pixman_have_vmx(void);
-
-#else
-#define pixman_have_vmx() FALSE
-#endif
-
-#ifdef USE_VMX
-
-extern const FastPathInfo *const vmx_fast_paths;
-
-#define AVV(x...) {x}
-
-void fbComposeSetupVMX (void);
-
-#if 0
-void fbCompositeIn_nx8x8vmx (pixman_operator_t	op,
-			     pixman_image_t * pSrc,
-			     pixman_image_t * pMask,
-			     pixman_image_t * pDst,
-			     INT16      xSrc,
-			     INT16      ySrc,
-			     INT16      xMask,
-			     INT16      yMask,
-			     INT16      xDst,
-			     INT16      yDst,
-			     CARD16     width,
-			     CARD16     height);
-
-void fbCompositeSolidMask_nx8888x0565Cvmx (pixman_operator_t      op,
-					   pixman_image_t * pSrc,
-					   pixman_image_t * pMask,
-					   pixman_image_t * pDst,
-					   INT16      xSrc,
-					   INT16      ySrc,
-					   INT16      xMask,
-					   INT16      yMask,
-					   INT16      xDst,
-					   INT16      yDst,
-					   CARD16     width,
-					   CARD16     height);
-
-void fbCompositeSrcAdd_8888x8888vmx (pixman_operator_t	op,
-				     pixman_image_t *	pSrc,
-				     pixman_image_t *	pMask,
-				     pixman_image_t *	pDst,
-				     INT16	xSrc,
-				     INT16      ySrc,
-				     INT16      xMask,
-				     INT16      yMask,
-				     INT16      xDst,
-				     INT16      yDst,
-				     CARD16     width,
-				     CARD16     height);
-
-void fbCompositeSolidMask_nx8888x8888Cvmx (pixman_operator_t	op,
-					   pixman_image_t *	pSrc,
-					   pixman_image_t *	pMask,
-					   pixman_image_t *	pDst,
-					   INT16	xSrc,
-					   INT16	ySrc,
-					   INT16	xMask,
-					   INT16	yMask,
-					   INT16	xDst,
-					   INT16	yDst,
-					   CARD16	width,
-					   CARD16	height);
-
-void fbCompositeSolidMask_nx8x8888vmx (pixman_operator_t      op,
-				       pixman_image_t * pSrc,
-				       pixman_image_t * pMask,
-				       pixman_image_t * pDst,
-				       INT16      xSrc,
-				       INT16      ySrc,
-				       INT16      xMask,
-				       INT16      yMask,
-				       INT16      xDst,
-				       INT16      yDst,
-				       CARD16     width,
-				       CARD16     height);
-
-void fbCompositeSolidMaskSrc_nx8x8888vmx (pixman_operator_t      op,
-					  pixman_image_t * pSrc,
-					  pixman_image_t * pMask,
-					  pixman_image_t * pDst,
-					  INT16      xSrc,
-					  INT16      ySrc,
-					  INT16      xMask,
-					  INT16      yMask,
-					  INT16      xDst,
-					  INT16      yDst,
-					  CARD16     width,
-					  CARD16     height);
-
-void fbCompositeSrcAdd_8888x8x8vmx (pixman_operator_t   op,
-				    pixman_image_t * pSrc,
-				    pixman_image_t * pMask,
-				    pixman_image_t * pDst,
-				    INT16      xSrc,
-				    INT16      ySrc,
-				    INT16      xMask,
-				    INT16      yMask,
-				    INT16      xDst,
-				    INT16      yDst,
-				    CARD16     width,
-				    CARD16     height);
-
-void fbCompositeIn_8x8vmx (pixman_operator_t	op,
-			   pixman_image_t * pSrc,
-			   pixman_image_t * pMask,
-			   pixman_image_t * pDst,
-			   INT16      xSrc,
-			   INT16      ySrc,
-			   INT16      xMask,
-			   INT16      yMask,
-			   INT16      xDst,
-			   INT16      yDst,
-			   CARD16     width,
-			   CARD16     height);
-
-void fbCompositeSrcAdd_8000x8000vmx (pixman_operator_t	op,
-				     pixman_image_t * pSrc,
-				     pixman_image_t * pMask,
-				     pixman_image_t * pDst,
-				     INT16      xSrc,
-				     INT16      ySrc,
-				     INT16      xMask,
-				     INT16      yMask,
-				     INT16      xDst,
-				     INT16      yDst,
-				     CARD16     width,
-				     CARD16     height);
-
-void fbCompositeSrc_8888RevNPx8888vmx (pixman_operator_t      op,
-				       pixman_image_t * pSrc,
-				       pixman_image_t * pMask,
-				       pixman_image_t * pDst,
-				       INT16      xSrc,
-				       INT16      ySrc,
-				       INT16      xMask,
-				       INT16      yMask,
-				       INT16      xDst,
-				       INT16      yDst,
-				       CARD16     width,
-				       CARD16     height);
-
-void fbCompositeSrc_8888x0565vmx (pixman_operator_t      op,
-				  pixman_image_t * pSrc,
-				  pixman_image_t * pMask,
-				  pixman_image_t * pDst,
-				  INT16      xSrc,
-				  INT16      ySrc,
-				  INT16      xMask,
-				  INT16      yMask,
-				  INT16      xDst,
-				  INT16      yDst,
-				  CARD16     width,
-				  CARD16     height);
-
-void fbCompositeSrc_8888RevNPx0565vmx (pixman_operator_t      op,
-				       pixman_image_t * pSrc,
-				       pixman_image_t * pMask,
-				       pixman_image_t * pDst,
-				       INT16      xSrc,
-				       INT16      ySrc,
-				       INT16      xMask,
-				       INT16      yMask,
-				       INT16      xDst,
-				       INT16      yDst,
-				       CARD16     width,
-				       CARD16     height);
-
-void fbCompositeSolid_nx8888vmx (pixman_operator_t		op,
-				 pixman_image_t *	pSrc,
-				 pixman_image_t *	pMask,
-				 pixman_image_t *	pDst,
-				 INT16		xSrc,
-				 INT16		ySrc,
-				 INT16		xMask,
-				 INT16		yMask,
-				 INT16		xDst,
-				 INT16		yDst,
-				 CARD16		width,
-				 CARD16		height);
-
-void fbCompositeSolid_nx0565vmx (pixman_operator_t		op,
-				 pixman_image_t *	pSrc,
-				 pixman_image_t *	pMask,
-				 pixman_image_t *	pDst,
-				 INT16		xSrc,
-				 INT16		ySrc,
-				 INT16		xMask,
-				 INT16		yMask,
-				 INT16		xDst,
-				 INT16		yDst,
-				 CARD16		width,
-				 CARD16		height);
-
-void fbCompositeSolidMask_nx8x0565vmx (pixman_operator_t      op,
-				       pixman_image_t * pSrc,
-				       pixman_image_t * pMask,
-				       pixman_image_t * pDst,
-				       INT16      xSrc,
-				       INT16      ySrc,
-				       INT16      xMask,
-				       INT16      yMask,
-				       INT16      xDst,
-				       INT16      yDst,
-				       CARD16     width,
-				       CARD16     height);
-
-void fbCompositeSrc_x888x8x8888vmx (pixman_operator_t	op,
-				    pixman_image_t *  pSrc,
-				    pixman_image_t *  pMask,
-				    pixman_image_t *  pDst,
-				    INT16	xSrc,
-				    INT16	ySrc,
-				    INT16       xMask,
-				    INT16       yMask,
-				    INT16       xDst,
-				    INT16       yDst,
-				    CARD16      width,
-				    CARD16      height);
-
-void fbCompositeSrc_8888x8x8888vmx (pixman_operator_t	op,
-				    pixman_image_t *  pSrc,
-				    pixman_image_t *  pMask,
-				    pixman_image_t *  pDst,
-				    INT16	xSrc,
-				    INT16	ySrc,
-				    INT16       xMask,
-				    INT16       yMask,
-				    INT16       xDst,
-				    INT16       yDst,
-				    CARD16      width,
-				    CARD16      height);
-
-void fbCompositeSrc_8888x8888vmx (pixman_operator_t      op,
-				  pixman_image_t * pSrc,
-				  pixman_image_t * pMask,
-				  pixman_image_t * pDst,
-				  INT16      xSrc,
-				  INT16      ySrc,
-				  INT16      xMask,
-				  INT16      yMask,
-				  INT16      xDst,
-				  INT16      yDst,
-				  CARD16     width,
-				  CARD16     height);
-
-pixman_bool_t fbCopyAreavmx (FbPixels	*pSrc,
-		    FbPixels	*pDst,
-		    int		src_x,
-		    int		src_y,
-		    int		dst_x,
-		    int		dst_y,
-		    int		width,
-		    int		height);
-
-void fbCompositeCopyAreavmx (pixman_operator_t	op,
-			     pixman_image_t *	pSrc,
-			     pixman_image_t *	pMask,
-			     pixman_image_t *	pDst,
-			     INT16	xSrc,
-			     INT16      ySrc,
-			     INT16      xMask,
-			     INT16      yMask,
-			     INT16      xDst,
-			     INT16      yDst,
-			     CARD16     width,
-			     CARD16     height);
-
-pixman_bool_t fbSolidFillvmx (FbPixels	*pDraw,
-		     int		x,
-		     int		y,
-		     int		width,
-		     int		height,
-		     FbBits		xor);
-#endif
-#endif /* USE_VMX */