[cairo-commit] cairo/pixman ChangeLog, 1.103, 1.104 configure.in,
1.21, 1.22
Billy Biggs
commit at pdx.freedesktop.org
Tue Aug 16 16:50:27 PDT 2005
- Previous message: [cairo-commit] cairo/src cairoint.h,1.196,1.197
- Next message: [cairo-commit] cairo/pixman/src Makefile.am, 1.11, 1.12 fbmmx.c,
NONE, 1.1 fbmmx.h, NONE, 1.1 fbpict.c, NONE, 1.1 ic.c, 1.34,
NONE icint.h, 1.38, 1.39
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: vektor
Update of /cvs/cairo/cairo/pixman
In directory gabe:/tmp/cvs-serv15228
Modified Files:
ChangeLog configure.in
Log Message:
* src/fbmmx.c: (shift), (negate), (pix_multiply), (pix_add),
(expand_alpha), (expand_alpha_rev), (invert_colors), (over),
(over_rev_non_pre), (in), (in_over), (load8888), (pack8888),
(store8888), (expand565), (expand8888), (pack565), (pix_add_mul),
(mmxCombineMaskU), (mmxCombineOverU), (mmxCombineOverReverseU),
(mmxCombineInU), (mmxCombineInReverseU), (mmxCombineOutU),
(mmxCombineOutReverseU), (mmxCombineAtopU),
(mmxCombineAtopReverseU), (mmxCombineXorU), (mmxCombineAddU),
(mmxCombineSaturateU), (mmxCombineSrcC), (mmxCombineOverC),
(mmxCombineOverReverseC), (mmxCombineInC), (mmxCombineInReverseC),
(mmxCombineOutC), (mmxCombineOutReverseC), (mmxCombineAtopC),
(mmxCombineAtopReverseC), (mmxCombineXorC), (mmxCombineAddC),
(fbComposeSetupMMX), (fbCompositeSolid_nx8888mmx),
(fbCompositeSolid_nx0565mmx),
(fbCompositeSolidMask_nx8888x8888Cmmx),
(fbCompositeSrc_8888x8x8888mmx), (fbCompositeSrc_x888x8x8888mmx),
(fbCompositeSolidMask_nx8x8888mmx),
(fbCompositeSolidMaskSrc_nx8x8888mmx),
(fbCompositeSolidMask_nx8x0565mmx),
(fbCompositeSrc_8888RevNPx0565mmx),
(fbCompositeSrc_8888RevNPx8888mmx),
(fbCompositeSolidMask_nx8888x0565Cmmx),
(fbCompositeSrcAdd_8000x8000mmx), (fbCompositeSrcAdd_8888x8888mmx),
(fbSolidFillmmx), (fbCopyAreammx), (fbCompositeCopyAreammx),
(detectCPUFeatures), (fbHaveMMX):
* src/fbmmx.h: Port MMX code from xserver to pixman.
* src/fbpict.c: (fbOver), (fbOver24), (fbIn), (fbIn24),
(fbCompositeSolidMask_nx8x8888),
(fbCompositeSolidMask_nx8888x8888C),
(fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565),
(fbCompositeSolidMask_nx8888x0565),
(fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x8888),
(fbCompositeSrc_8888x0888), (fbCompositeSrc_8888x0565),
(fbCompositeSrcAdd_8000x8000), (fbCompositeSrcAdd_8888x8888),
(fbCompositeSrcAdd_1000x1000), (fbCompositeSolidMask_nx1xn),
(fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888),
(fbCompositeSrcSrc_nxn), (pixman_composite): Add an fbpict.c ported
from the latest in xserver/fb, including hooks to the MMX code
where appropriate. This replaces the old ic.c file.
* src/ic.c: Replaced by fbpict.c.
* src/icint.h: Move some X server macros from fbpict.c up into
icint.h to keep the diff small.
* src/Makefile.am: Add fbmmx and fbpict.c, remove ic.c.
* configure.in: Add a check for the MMX intrinsics. gcc >= 3.4
is required.
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo/pixman/ChangeLog,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -d -r1.103 -r1.104
--- ChangeLog 12 Aug 2005 04:07:26 -0000 1.103
+++ ChangeLog 16 Aug 2005 23:50:25 -0000 1.104
@@ -1,3 +1,56 @@
+2005-08-16 Billy Biggs <vektor at dumbterm.net>
+
+ * src/fbmmx.c: (shift), (negate), (pix_multiply), (pix_add),
+ (expand_alpha), (expand_alpha_rev), (invert_colors), (over),
+ (over_rev_non_pre), (in), (in_over), (load8888), (pack8888),
+ (store8888), (expand565), (expand8888), (pack565), (pix_add_mul),
+ (mmxCombineMaskU), (mmxCombineOverU), (mmxCombineOverReverseU),
+ (mmxCombineInU), (mmxCombineInReverseU), (mmxCombineOutU),
+ (mmxCombineOutReverseU), (mmxCombineAtopU),
+ (mmxCombineAtopReverseU), (mmxCombineXorU), (mmxCombineAddU),
+ (mmxCombineSaturateU), (mmxCombineSrcC), (mmxCombineOverC),
+ (mmxCombineOverReverseC), (mmxCombineInC), (mmxCombineInReverseC),
+ (mmxCombineOutC), (mmxCombineOutReverseC), (mmxCombineAtopC),
+ (mmxCombineAtopReverseC), (mmxCombineXorC), (mmxCombineAddC),
+ (fbComposeSetupMMX), (fbCompositeSolid_nx8888mmx),
+ (fbCompositeSolid_nx0565mmx),
+ (fbCompositeSolidMask_nx8888x8888Cmmx),
+ (fbCompositeSrc_8888x8x8888mmx), (fbCompositeSrc_x888x8x8888mmx),
+ (fbCompositeSolidMask_nx8x8888mmx),
+ (fbCompositeSolidMaskSrc_nx8x8888mmx),
+ (fbCompositeSolidMask_nx8x0565mmx),
+ (fbCompositeSrc_8888RevNPx0565mmx),
+ (fbCompositeSrc_8888RevNPx8888mmx),
+ (fbCompositeSolidMask_nx8888x0565Cmmx),
+ (fbCompositeSrcAdd_8000x8000mmx), (fbCompositeSrcAdd_8888x8888mmx),
+ (fbSolidFillmmx), (fbCopyAreammx), (fbCompositeCopyAreammx),
+ (detectCPUFeatures), (fbHaveMMX):
+ * src/fbmmx.h: Port MMX code from xserver to pixman.
+
+ * src/fbpict.c: (fbOver), (fbOver24), (fbIn), (fbIn24),
+ (fbCompositeSolidMask_nx8x8888),
+ (fbCompositeSolidMask_nx8888x8888C),
+ (fbCompositeSolidMask_nx8x0888), (fbCompositeSolidMask_nx8x0565),
+ (fbCompositeSolidMask_nx8888x0565),
+ (fbCompositeSolidMask_nx8888x0565C), (fbCompositeSrc_8888x8888),
+ (fbCompositeSrc_8888x0888), (fbCompositeSrc_8888x0565),
+ (fbCompositeSrcAdd_8000x8000), (fbCompositeSrcAdd_8888x8888),
+ (fbCompositeSrcAdd_1000x1000), (fbCompositeSolidMask_nx1xn),
+ (fbCompositeTrans_0565xnx0565), (fbCompositeTrans_0888xnx0888),
+ (fbCompositeSrcSrc_nxn), (pixman_composite): Add an fbpict.c ported
+ from the latest in xserver/fb, including hooks to the MMX code
+ where appropriate. This replaces the old ic.c file.
+
+ * src/ic.c: Replaced by fbpict.c.
+
+ * src/icint.h: Move some X server macros from fbpict.c up into
+ icint.h to keep the diff small.
+
+ * src/Makefile.am: Add fbmmx and fbpict.c, remove ic.c.
+
+ * configure.in: Add a check for the MMX intrinsics. gcc >= 3.4
+ is required.
+
2005-08-12 Billy Biggs <vektor at dumbterm.net>
* src/icrect.c: (pixman_fill_rect_1bpp): Fix to be correct for
Index: configure.in
===================================================================
RCS file: /cvs/cairo/cairo/pixman/configure.in,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- configure.in 28 Jul 2005 21:58:25 -0000 1.21
+++ configure.in 16 Aug 2005 23:50:25 -0000 1.22
@@ -51,6 +51,38 @@
AC_SUBST(WARN_CFLAGS)
dnl ===========================================================================
+dnl Check for MMX
+
+MMX_CFLAGS="-mmmx -msse -Winline --param inline-unit-growth=10000 --param large-function-growth=10000"
+
+have_mmx_intrinsics=no
+AC_MSG_CHECKING(For MMX/SSE intrinsics in the compiler)
+xserver_save_CFLAGS=$CFLAGS
+CFLAGS="$CFLAGS $MMX_CFLAGS"
+AC_COMPILE_IFELSE([
+#if defined(__GNUC__) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4))
+#error "Need GCC >= 3.4 for MMX intrinsics"
+#endif
+#include <mmintrin.h>
+#include <xmmintrin.h>
+int main () {
+ __m64 v = _mm_cvtsi32_si64 (1);
+ v = _mm_shuffle_pi16 (v, _MM_SHUFFLE(3, 3, 3, 3));
+ return _mm_cvtsi64_si32 (v);
+}], have_mmx_intrinsics=yes)
+CFLAGS=$xserver_save_CFLAGS
+AC_MSG_RESULT($have_mmx_intrinsics)
+
+if test $have_mmx_intrinsics = yes ; then
+ AC_DEFINE(USE_MMX, 1, [use MMX compiler intrinsics])
+else
+ MMX_CFLAGS=
+fi
+AC_SUBST(MMX_CFLAGS)
+
+AM_CONDITIONAL(USE_MMX, test $have_mmx_intrinsics = yes)
+
+dnl ===========================================================================
AC_OUTPUT([
libpixman.pc
- Previous message: [cairo-commit] cairo/src cairoint.h,1.196,1.197
- Next message: [cairo-commit] cairo/pixman/src Makefile.am, 1.11, 1.12 fbmmx.c,
NONE, 1.1 fbmmx.h, NONE, 1.1 fbpict.c, NONE, 1.1 ic.c, 1.34,
NONE icint.h, 1.38, 1.39
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the cairo-commit
mailing list