[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

pixman: Changes to 'upstream-experimental'



 Makefile.am                       |    2 
 RELEASING                         |    4 
 configure.ac                      |   28 
 demos/Makefile.am                 |   36 
 demos/alpha-test.c                |  117 ++
 demos/clip-in.c                   |   50 
 demos/clip-test.c                 |   97 +
 demos/composite-test.c            |  191 +++
 demos/convolution-test.c          |   47 
 demos/gradient-test.c             |   89 +
 demos/gtk-utils.c                 |  115 ++
 demos/gtk-utils.h                 |   13 
 demos/radial-test.c               |  198 +++
 demos/screen-test.c               |   44 
 demos/trap-test.c                 |   49 
 demos/tri-test.c                  |   48 
 pixman/Makefile.am                |    2 
 pixman/Makefile.win32             |    1 
 pixman/pixman-arm-common.h        |   59 -
 pixman/pixman-arm-neon-asm.S      |   28 
 pixman/pixman-arm-neon.c          |   18 
 pixman/pixman-arm-simd.c          |    5 
 pixman/pixman-cpu.c               |   30 
 pixman/pixman-fast-path.c         |  313 +++++
 pixman/pixman-fast-path.h         |  187 +++
 pixman/pixman-image.c             |   37 
 pixman/pixman-matrix.c            |    3 
 pixman/pixman-mmx.c               |    5 
 pixman/pixman-private.h           |   33 
 pixman/pixman-region.c            |    5 
 pixman/pixman-sse2.c              | 2048 ++++++++++++++++++--------------------
 pixman/pixman-trap.c              |  277 +++++
 pixman/pixman-vmx.c               |    5 
 pixman/pixman-x64-mmx-emulation.h |  263 ----
 pixman/pixman.h                   |   30 
 test/Makefile.am                  |  106 -
 test/affine-test.c                |   40 
 test/alpha-test.c                 |  117 --
 test/blitters-test.c              |   16 
 test/clip-in.c                    |   50 
 test/clip-test.c                  |   97 -
 test/composite-test.c             |  191 ---
 test/composite-traps-test.c       |  253 ++++
 test/convolution-test.c           |   47 
 test/gradient-test.c              |   89 -
 test/gtk-utils.c                  |  115 --
 test/gtk-utils.h                  |   13 
 test/lowlevel-blt-bench.c         |    1 
 test/radial-test.c                |  198 ---
 test/scaling-crash-test.c         |   18 
 test/scaling-test.c               |  142 ++
 test/screen-test.c                |   44 
 test/trap-test.c                  |   49 
 test/utils.c                      |    2 
 54 files changed, 3504 insertions(+), 2561 deletions(-)

New commits:
commit 8b3332166094db657e96c365a524b2cd7513359b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Tue Feb 22 15:43:41 2011 -0500

    Pre-release version bump to 0.21.6

diff --git a/configure.ac b/configure.ac
index 8d96647..36b9d3a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 21)
-m4_define([pixman_micro], 5)
+m4_define([pixman_micro], 6)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 

commit 2cb67d2a0b6bed4490a41c34a185cc54a445559a
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Tue Feb 22 15:40:34 2011 -0500

    Minor fix to the RELEASING file

diff --git a/RELEASING b/RELEASING
index 7ddcef4..fbe1581 100644
--- a/RELEASING
+++ b/RELEASING
@@ -11,7 +11,7 @@ Here are the steps to follow to create a new pixman release:
 	git log master...origin		(no output; note: *3* dots)
 
 2) Increment pixman_(major|minor|micro) in configure.ac according to
-   the directions in that file. Use git commit to record this.
+   the directions in that file.
 
 3) Make sure that new version works, including
 
@@ -23,7 +23,7 @@ Here are the steps to follow to create a new pixman release:
 	- the cairo test suite hasn't gained any new failures compared
 	  to last pixman version.
 
-4) Use "git commit" to record any changes made in step 3.
+4) Use "git commit" to record the changes made in step 2 and 3.
 
 5) Generate and publish the tar files by running 
 

commit 3cdf74257bdb9d054637252f4fa7503abf580db9
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Tue Feb 22 15:28:17 2011 -0500

    Delete pixman-x64-mmx-emulation.h from pixman/Makefile.am

diff --git a/pixman/Makefile.am b/pixman/Makefile.am
index ca31301..d016e9f 100644
--- a/pixman/Makefile.am
+++ b/pixman/Makefile.am
@@ -52,7 +52,7 @@ pixman-combine64.h : pixman-combine.h.template make-combine.pl
 	$(PERL) $(srcdir)/make-combine.pl 16 < $(srcdir)/pixman-combine.h.template > $@ || ($(RM) $@; exit 1)
 
 EXTRA_DIST = Makefile.win32 pixman-combine.c.template make-combine.pl pixman-region.c \
-	pixman-combine.h.template solaris-hwcap.mapfile pixman-x64-mmx-emulation.h
+	pixman-combine.h.template solaris-hwcap.mapfile
 CLEANFILES = pixman-combine32.c pixman-combine64.c pixman-combine32.h pixman-combine64.h
 
 # mmx code

commit 65919ad17fd7b4c6f963690fc78155c7cfe1a51a
Author: Siarhei Siamashka <siarhei.siamashka@nokia.com>
Date:   Tue Feb 22 19:28:08 2011 +0200

    Ensure that tests run as the last step of a build for 'make check'
    
    Previously 'make check' would compile and run tests first, and only
    then proceed to compiling demos. Which is not very convenient
    because of the need to scroll back console output to see the
    tests verdict. Swapping order of SUBDIRS variable entries in
    Makefile.am resolves this.

diff --git a/Makefile.am b/Makefile.am
index 062c58a..f479a66 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = pixman test demos
+SUBDIRS = pixman demos test
 
 pkgconfigdir=$(libdir)/pkgconfig
 pkgconfig_DATA=pixman-1.pc

commit 34a7ac047411d6c1f1708cb8dd4469cd1aa40b31
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Fri Feb 18 07:38:49 2011 -0500

    sse2: Minor coding style cleanups.
    
    Also make pixman_fill_sse2() static.

diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index 0509613..88287b4 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -2587,7 +2587,8 @@ sse2_composite_add_n_8888_8888_ca (pixman_implementation_t *imp,
 		mmx_dest = unpack_32_1x128 (d);
 
 		*pd = pack_1x128_32 (
-		    _mm_adds_epu8 (pix_multiply_1x128 (mmx_mask, mmx_src), mmx_dest));
+		    _mm_adds_epu8 (pix_multiply_1x128 (mmx_mask, mmx_src),
+				   mmx_dest));
 	    }
 
 	    pd++;
@@ -2635,7 +2636,8 @@ sse2_composite_add_n_8888_8888_ca (pixman_implementation_t *imp,
 		mmx_dest = unpack_32_1x128 (d);
 
 		*pd = pack_1x128_32 (
-		    _mm_adds_epu8 (pix_multiply_1x128 (mmx_mask, mmx_src), mmx_dest));
+		    _mm_adds_epu8 (pix_multiply_1x128 (mmx_mask, mmx_src),
+				   mmx_dest));
 	    }
 
 	    pd++;
@@ -3333,7 +3335,7 @@ sse2_composite_over_n_8_8888 (pixman_implementation_t *imp,
 
 }
 
-pixman_bool_t
+static pixman_bool_t
 pixman_fill_sse2 (uint32_t *bits,
                   int       stride,
                   int       bpp,
@@ -4886,7 +4888,8 @@ sse2_composite_over_x888_8_8888 (pixman_implementation_t *imp,
         while (w >= 4)
         {
             m = *(uint32_t*) mask;
-            xmm_src = _mm_or_si128 (load_128_unaligned ((__m128i*)src), mask_ff000000);
+            xmm_src = _mm_or_si128 (
+		load_128_unaligned ((__m128i*)src), mask_ff000000);
 
             if (m == 0xffffffff)
             {
@@ -4902,9 +4905,12 @@ sse2_composite_over_x888_8_8888 (pixman_implementation_t *imp,
                 unpack_128_2x128 (xmm_mask, &xmm_mask_lo, &xmm_mask_hi);
                 unpack_128_2x128 (xmm_dst, &xmm_dst_lo, &xmm_dst_hi);
 
-                expand_alpha_rev_2x128 (xmm_mask_lo, xmm_mask_hi, &xmm_mask_lo, &xmm_mask_hi);
+                expand_alpha_rev_2x128 (
+		    xmm_mask_lo, xmm_mask_hi, &xmm_mask_lo, &xmm_mask_hi);
 
-                in_over_2x128 (&xmm_src_lo, &xmm_src_hi, &mask_00ff, &mask_00ff, &xmm_mask_lo, &xmm_mask_hi, &xmm_dst_lo, &xmm_dst_hi);
+                in_over_2x128 (&xmm_src_lo, &xmm_src_hi,
+			       &mask_00ff, &mask_00ff, &xmm_mask_lo, &xmm_mask_hi,
+			       &xmm_dst_lo, &xmm_dst_hi);
 
                 save_128_aligned ((__m128i*)dst, pack_2x128_128 (xmm_dst_lo, xmm_dst_hi));
             }

commit 10f69e5ec844e2630f8e5b21fd5392719d34d060
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Fri Feb 18 07:40:02 2011 -0500

    sse2: Remove pixman-x64-mmx-emulation.h
    
    Also stop including mmintrin.h

diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index 286dea8..0509613 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -30,22 +30,12 @@
 #include <config.h>
 #endif
 
-#include <mmintrin.h>
 #include <xmmintrin.h> /* for _mm_shuffle_pi16 and _MM_SHUFFLE */
 #include <emmintrin.h> /* for SSE2 intrinsics */
 #include "pixman-private.h"
 #include "pixman-combine32.h"
 #include "pixman-fast-path.h"
 
-#if defined(_MSC_VER) && defined(_M_AMD64)
-/* Windows 64 doesn't allow MMX to be used, so
- * the pixman-x64-mmx-emulation.h file contains
- * implementations of those MMX intrinsics that
- * are used in the SSE2 implementation.
- */
-#   include "pixman-x64-mmx-emulation.h"
-#endif
-
 static __m128i mask_0080;
 static __m128i mask_00ff;
 static __m128i mask_0101;
diff --git a/pixman/pixman-x64-mmx-emulation.h b/pixman/pixman-x64-mmx-emulation.h
deleted file mode 100644
index 378019c..0000000
--- a/pixman/pixman-x64-mmx-emulation.h
+++ /dev/null
@@ -1,263 +0,0 @@
-#ifndef MMX_X64_H_INCLUDED
-#define MMX_X64_H_INCLUDED
-
-/* Implementation of x64 MMX substitition functions, before
- * pixman is reimplemented not to use __m64 type on Visual C++
- *
- * Copyright (C)2009 by George Yohng
- * Released in public domain.
- */
-
-#include <intrin.h>
-
-#define M64C(a) (*(const __m64 *)(&a))
-#define M64U(a) (*(const unsigned long long *)(&a))
-
-__inline __m64
-_m_from_int (int a)
-{
-    long long i64 = a;
-
-    return M64C (i64);
-}
-
-__inline __m64
-_mm_setzero_si64 ()
-{
-    long long i64 = 0;
-
-    return M64C (i64);
-}
-
-__inline __m64
-_mm_set_pi32 (int i1,   int i0)
-{
-    unsigned long long i64 = ((unsigned)i0) + (((unsigned long long)(unsigned)i1) << 32);
-
-    return M64C (i64);
-}
-
-__inline void
-_m_empty ()
-{
-}
-
-__inline __m64
-_mm_set1_pi16 (short w)
-{
-    unsigned long long i64 = ((unsigned long long)(unsigned short)(w)) * 0x0001000100010001ULL;
-
-    return M64C (i64);
-}
-
-__inline int
-_m_to_int (__m64 m)
-{
-    return m.m64_i32[0];
-}
-
-__inline __m64
-_mm_movepi64_pi64 (__m128i a)
-{
-    return M64C (a.m128i_i64[0]);
-}
-
-__inline __m64
-_m_pand (__m64 a, __m64 b)
-{
-    unsigned long long i64 = M64U (a) & M64U (b);
-
-    return M64C (i64);
-}
-
-__inline __m64
-_m_por (__m64 a, __m64 b)
-{
-    unsigned long long i64 = M64U (a) | M64U (b);
-
-    return M64C (i64);
-}
-
-__inline __m64
-_m_pxor (__m64 a, __m64 b)
-{
-    unsigned long long i64 = M64U (a) ^ M64U (b);
-
-    return M64C (i64);
-}
-
-__inline __m64
-_m_pmulhuw (__m64 a, __m64 b)        /* unoptimized */
-{
-    unsigned short d[4] =
-    {
-	(unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0]) >> 16),
-	(unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1]) >> 16),
-	(unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2]) >> 16),
-	(unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]) >> 16)
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64
-_m_pmullw2 (__m64 a, __m64 b)        /* unoptimized */
-{
-    unsigned short d[4] =
-    {
-	(unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0])),
-	(unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1])),
-	(unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2])),
-	(unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]))
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64
-_m_pmullw (__m64 a, __m64 b)        /* unoptimized */
-{
-    unsigned long long x =
-	((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[0]) * b.m64_u16[0])))  +
-	(((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[1]) * b.m64_u16[1]))) << 16)  +
-	(((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[2]) * b.m64_u16[2]))) << 32)  +
-	(((unsigned long long)(unsigned short)((((unsigned)a.m64_u16[3]) * b.m64_u16[3]))) << 48);
-
-    return M64C (x);
-}
-
-__inline __m64
-_m_paddusb (__m64 a, __m64 b)        /* unoptimized */
-{
-    unsigned long long x = (M64U (a) & 0x00FF00FF00FF00FFULL) +
-                           (M64U (b) & 0x00FF00FF00FF00FFULL);
-
-    unsigned long long y = ((M64U (a) >> 8) & 0x00FF00FF00FF00FFULL) +
-                           ((M64U (b) >> 8) & 0x00FF00FF00FF00FFULL);
-
-    x |= ((x & 0xFF00FF00FF00FF00ULL) >> 8) * 0xFF;
-    y |= ((y & 0xFF00FF00FF00FF00ULL) >> 8) * 0xFF;
-
-    x = (x & 0x00FF00FF00FF00FFULL) | ((y & 0x00FF00FF00FF00FFULL) << 8);
-
-    return M64C (x);
-}
-
-__inline __m64
-_m_paddusw (__m64 a, __m64 b)        /* unoptimized */
-{
-    unsigned long long x = (M64U (a) & 0x0000FFFF0000FFFFULL) +
-                           (M64U (b) & 0x0000FFFF0000FFFFULL);
-
-    unsigned long long y = ((M64U (a) >> 16) & 0x0000FFFF0000FFFFULL) +
-                           ((M64U (b) >> 16) & 0x0000FFFF0000FFFFULL);
-
-    x |= ((x & 0xFFFF0000FFFF0000) >> 16) * 0xFFFF;
-    y |= ((y & 0xFFFF0000FFFF0000) >> 16) * 0xFFFF;
-
-    x = (x & 0x0000FFFF0000FFFFULL) | ((y & 0x0000FFFF0000FFFFULL) << 16);
-
-    return M64C (x);
-}
-
-__inline __m64
-_m_pshufw (__m64 a, int n)         /* unoptimized */
-{
-    unsigned short d[4] =
-    {
-	a.m64_u16[n & 3],
-	a.m64_u16[(n >> 2) & 3],
-	a.m64_u16[(n >> 4) & 3],
-	a.m64_u16[(n >> 6) & 3]
-    };
-
-    return M64C (d[0]);
-}
-
-__inline unsigned char
-sat16 (unsigned short d)
-{
-    if (d > 0xFF) return 0xFF;
-    else return d & 0xFF;
-}
-
-__inline __m64
-_m_packuswb (__m64 m1, __m64 m2)          /* unoptimized */
-{
-    unsigned char d[8] =
-    {
-	sat16 (m1.m64_u16[0]),
-	sat16 (m1.m64_u16[1]),
-	sat16 (m1.m64_u16[2]),
-	sat16 (m1.m64_u16[3]),
-	sat16 (m2.m64_u16[0]),
-	sat16 (m2.m64_u16[1]),
-	sat16 (m2.m64_u16[2]),
-	sat16 (m2.m64_u16[3])
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64 _m_punpcklbw (__m64 m1, __m64 m2)          /* unoptimized */
-{
-    unsigned char d[8] =
-    {
-	m1.m64_u8[0],
-	m2.m64_u8[0],
-	m1.m64_u8[1],
-	m2.m64_u8[1],
-	m1.m64_u8[2],
-	m2.m64_u8[2],
-	m1.m64_u8[3],
-	m2.m64_u8[3],
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64 _m_punpckhbw (__m64 m1, __m64 m2)          /* unoptimized */
-{
-    unsigned char d[8] =
-    {
-	m1.m64_u8[4],
-	m2.m64_u8[4],
-	m1.m64_u8[5],
-	m2.m64_u8[5],
-	m1.m64_u8[6],
-	m2.m64_u8[6],
-	m1.m64_u8[7],
-	m2.m64_u8[7],
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64 _m_psrlwi (__m64 a, int n)       /* unoptimized */
-{
-    unsigned short d[4] =
-    {
-	a.m64_u16[0] >> n,
-	a.m64_u16[1] >> n,
-	a.m64_u16[2] >> n,
-	a.m64_u16[3] >> n
-    };
-
-    return M64C (d[0]);
-}
-
-__inline __m64 _m_psrlqi (__m64 m, int n)
-{
-    unsigned long long x = M64U (m) >> n;
-
-    return M64C (x);
-}
-
-__inline __m64 _m_psllqi (__m64 m, int n)
-{
-    unsigned long long x = M64U (m) << n;
-
-    return M64C (x);
-}
-
-#endif /* MMX_X64_H_INCLUDED */

commit 984be4def2e62a05e9a91e77ac8c703fed30718b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Fri Feb 18 07:38:03 2011 -0500

    sse2: Delete obsolete or redundant comments

diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index 0753b6d..286dea8 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -46,12 +46,6 @@
 #   include "pixman-x64-mmx-emulation.h"
 #endif
 
-#ifdef USE_SSE2
-
-/* --------------------------------------------------------------------
- * Locals
- */
-
 static __m128i mask_0080;
 static __m128i mask_00ff;
 static __m128i mask_0101;
@@ -69,9 +63,6 @@ static __m128i mask_blue;
 static __m128i mask_565_fix_rb;
 static __m128i mask_565_fix_g;
 
-/* ----------------------------------------------------------------------
- * SSE2 Inlines
- */
 static force_inline __m128i
 unpack_32_1x128 (uint32_t data)
 {
@@ -389,10 +380,6 @@ save_128_unaligned (__m128i* dst,
     _mm_storeu_si128 (dst, data);
 }
 
-/* ------------------------------------------------------------------
- * MMX inlines
- */
-
 static force_inline __m128i
 load_32_1x128 (uint32_t data)
 {
@@ -486,9 +473,6 @@ expand565_16_1x128 (uint16_t pixel)
     return _mm_unpacklo_epi8 (m, _mm_setzero_si128 ());
 }
 
-/* ----------------------------------------------------------------------------
- * Compose Core transformations
- */
 static force_inline uint32_t
 core_combine_over_u_pixel_sse2 (uint32_t src, uint32_t dst)
 {
@@ -2365,9 +2349,6 @@ sse2_combine_add_ca (pixman_implementation_t *imp,
     }
 }
 
-/* ---------------------------------------------------
- * fb_compose_setup_sSE2
- */
 static force_inline __m128i
 create_mask_16_128 (uint16_t mask)
 {
@@ -2387,10 +2368,6 @@ create_mask_2x32_128 (uint32_t mask0,
 }
 #endif
 
-/* -------------------------------------------------------------------
- * composite_over_n_8888
- */
-
 static void
 sse2_composite_over_n_8888 (pixman_implementation_t *imp,
                             pixman_op_t              op,
@@ -2470,9 +2447,6 @@ sse2_composite_over_n_8888 (pixman_implementation_t *imp,
     }
 }
 
-/* ---------------------------------------------------------------------
- * composite_over_n_0565
- */
 static void
 sse2_composite_over_n_0565 (pixman_implementation_t *imp,
                             pixman_op_t              op,
@@ -2558,9 +2532,6 @@ sse2_composite_over_n_0565 (pixman_implementation_t *imp,
 
 }
 
-/* ------------------------------
- * composite_add_n_8888_8888_ca
- */
 static void
 sse2_composite_add_n_8888_8888_ca (pixman_implementation_t *imp,
 				   pixman_op_t              op,
@@ -2684,10 +2655,6 @@ sse2_composite_add_n_8888_8888_ca (pixman_implementation_t *imp,
 
 }
 
-/* ---------------------------------------------------------------------------
- * composite_over_n_8888_8888_ca
- */
-
 static void
 sse2_composite_over_n_8888_8888_ca (pixman_implementation_t *imp,
                                     pixman_op_t              op,
@@ -2811,10 +2778,6 @@ sse2_composite_over_n_8888_8888_ca (pixman_implementation_t *imp,
 
 }
 
-/*---------------------------------------------------------------------
- * composite_over_8888_n_8888
- */
-
 static void
 sse2_composite_over_8888_n_8888 (pixman_implementation_t *imp,
                                  pixman_op_t              op,
@@ -2929,10 +2892,6 @@ sse2_composite_over_8888_n_8888 (pixman_implementation_t *imp,
 
 }
 
-/*---------------------------------------------------------------------
- * composite_over_8888_n_8888
- */
-
 static void
 sse2_composite_src_x888_8888 (pixman_implementation_t *imp,
 			      pixman_op_t              op,
@@ -3001,9 +2960,6 @@ sse2_composite_src_x888_8888 (pixman_implementation_t *imp,
 
 }
 
-/* ---------------------------------------------------------------------
- * composite_over_x888_n_8888
- */
 static void
 sse2_composite_over_x888_n_8888 (pixman_implementation_t *imp,
                                  pixman_op_t              op,
@@ -3105,9 +3061,6 @@ sse2_composite_over_x888_n_8888 (pixman_implementation_t *imp,
 
 }
 
-/* --------------------------------------------------------------------
- * composite_over_8888_8888
- */
 static void
 sse2_composite_over_8888_8888 (pixman_implementation_t *imp,
                                pixman_op_t              op,
@@ -3144,9 +3097,6 @@ sse2_composite_over_8888_8888 (pixman_implementation_t *imp,
     }
 }
 
-/* ------------------------------------------------------------------
- * composite_over_8888_0565
- */
 static force_inline uint16_t
 composite_over_8888_0565pixel (uint32_t src, uint16_t dst)
 {
@@ -3188,15 +3138,6 @@ sse2_composite_over_8888_0565 (pixman_implementation_t *imp,
     PIXMAN_IMAGE_GET_LINE (
 	src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
 
-#if 0
-    /* FIXME
-     *
-     * I copy the code from MMX one and keep the fixme.
-     * If it's a problem there, probably is a problem here.
-     */
-    assert (src_image->drawable == mask_image->drawable);
-#endif
-
     while (height--)
     {
 	dst = dst_line;
@@ -3271,10 +3212,6 @@ sse2_composite_over_8888_0565 (pixman_implementation_t *imp,
 
 }
 
-/* -----------------------------------------------------------------
- * composite_over_n_8_8888
- */
-
 static void
 sse2_composite_over_n_8_8888 (pixman_implementation_t *imp,
                               pixman_op_t              op,
@@ -3406,10 +3343,6 @@ sse2_composite_over_n_8_8888 (pixman_implementation_t *imp,
 
 }
 
-/* ----------------------------------------------------------------
- * composite_over_n_8_8888
- */
-
 pixman_bool_t
 pixman_fill_sse2 (uint32_t *bits,
                   int       stride,
@@ -3688,10 +3621,6 @@ sse2_composite_src_n_8_8888 (pixman_implementation_t *imp,
 
 }
 
-/*-----------------------------------------------------------------------
- * composite_over_n_8_0565
- */
-
 static void
 sse2_composite_over_n_8_0565 (pixman_implementation_t *imp,
                               pixman_op_t              op,
@@ -3839,10 +3768,6 @@ sse2_composite_over_n_8_0565 (pixman_implementation_t *imp,
 
 }
 
-/* -----------------------------------------------------------------------
- * composite_over_pixbuf_0565
- */
-
 static void
 sse2_composite_over_pixbuf_0565 (pixman_implementation_t *imp,
                                  pixman_op_t              op,
@@ -3873,15 +3798,6 @@ sse2_composite_over_pixbuf_0565 (pixman_implementation_t *imp,
     PIXMAN_IMAGE_GET_LINE (
 	src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
 
-#if 0
-    /* FIXME
-     *
-     * I copy the code from MMX one and keep the fixme.
-     * If it's a problem there, probably is a problem here.
-     */
-    assert (src_image->drawable == mask_image->drawable);
-#endif
-
     while (height--)
     {
 	dst = dst_line;
@@ -3972,10 +3888,6 @@ sse2_composite_over_pixbuf_0565 (pixman_implementation_t *imp,
 
 }
 
-/* -------------------------------------------------------------------------
- * composite_over_pixbuf_8888
- */
-
 static void
 sse2_composite_over_pixbuf_8888 (pixman_implementation_t *imp,
                                  pixman_op_t              op,
@@ -4005,15 +3917,6 @@ sse2_composite_over_pixbuf_8888 (pixman_implementation_t *imp,
     PIXMAN_IMAGE_GET_LINE (
 	src_image, src_x, src_y, uint32_t, src_stride, src_line, 1);
 
-#if 0
-    /* FIXME
-     *
-     * I copy the code from MMX one and keep the fixme.
-     * If it's a problem there, probably is a problem here.
-     */
-    assert (src_image->drawable == mask_image->drawable);
-#endif
-
     while (height--)
     {
 	dst = dst_line;
@@ -4084,10 +3987,6 @@ sse2_composite_over_pixbuf_8888 (pixman_implementation_t *imp,
 
 }
 
-/* -------------------------------------------------------------------------------------------------
- * composite_over_n_8888_0565_ca
- */
-
 static void
 sse2_composite_over_n_8888_0565_ca (pixman_implementation_t *imp,
                                     pixman_op_t              op,
@@ -4232,10 +4131,6 @@ sse2_composite_over_n_8888_0565_ca (pixman_implementation_t *imp,
 
 }
 
-/* -----------------------------------------------------------------------
- * composite_in_n_8_8
- */
-
 static void
 sse2_composite_in_n_8_8 (pixman_implementation_t *imp,
                          pixman_op_t              op,
@@ -4335,10 +4230,6 @@ sse2_composite_in_n_8_8 (pixman_implementation_t *imp,
 
 }
 
-/* -----------------------------------------------------------------------
- * composite_in_n_8
- */
-
 static void
 sse2_composite_in_n_8 (pixman_implementation_t *imp,
 		       pixman_op_t              op,
@@ -4431,10 +4322,6 @@ sse2_composite_in_n_8 (pixman_implementation_t *imp,
 
 }
 
-/* ---------------------------------------------------------------------------
- * composite_in_8_8
- */
-
 static void
 sse2_composite_in_8_8 (pixman_implementation_t *imp,
                        pixman_op_t              op,
@@ -4516,10 +4403,6 @@ sse2_composite_in_8_8 (pixman_implementation_t *imp,
 
 }
 
-/* -------------------------------------------------------------------------
- * composite_add_n_8_8
- */
-
 static void
 sse2_composite_add_n_8_8 (pixman_implementation_t *imp,
 			  pixman_op_t              op,
@@ -4619,10 +4502,6 @@ sse2_composite_add_n_8_8 (pixman_implementation_t *imp,
 
 }
 
-/* -------------------------------------------------------------------------
- * composite_add_n_8_8
- */
-
 static void
 sse2_composite_add_n_8 (pixman_implementation_t *imp,
 			pixman_op_t              op,
@@ -4706,10 +4585,6 @@ sse2_composite_add_n_8 (pixman_implementation_t *imp,
 
 }
 
-/* ----------------------------------------------------------------------
- * composite_add_8_8
- */
-
 static void
 sse2_composite_add_8_8 (pixman_implementation_t *imp,
 			pixman_op_t              op,
@@ -4772,9 +4647,6 @@ sse2_composite_add_8_8 (pixman_implementation_t *imp,
 
 }
 
-/* ---------------------------------------------------------------------
- * composite_add_8888_8888
- */
 static void
 sse2_composite_add_8888_8888 (pixman_implementation_t *imp,
                               pixman_op_t              op,
@@ -4811,10 +4683,6 @@ sse2_composite_add_8888_8888 (pixman_implementation_t *imp,
 
 }
 
-/* -------------------------------------------------------------------------------------------------
- * sse2_composite_copy_area
- */
-
 static pixman_bool_t
 pixman_blt_sse2 (uint32_t *src_bits,
                  uint32_t *dst_bits,
@@ -6066,10 +5934,7 @@ _pixman_implementation_create_sse2 (pixman_implementation_t *fallback)
     mask_ff000000 = create_mask_2x32_128 (0xff000000, 0xff000000);
     mask_alpha = create_mask_2x32_128 (0x00ff0000, 0x00000000);
 
-
     /* Set up function pointers */
-
-    /* SSE code patch for fbcompose.c */
     imp->combine_32[PIXMAN_OP_OVER] = sse2_combine_over_u;
     imp->combine_32[PIXMAN_OP_OVER_REVERSE] = sse2_combine_over_reverse_u;
     imp->combine_32[PIXMAN_OP_IN] = sse2_combine_in_u;
@@ -6102,5 +5967,3 @@ _pixman_implementation_create_sse2 (pixman_implementation_t *fallback)
 
     return imp;
 }
-
-#endif /* USE_SSE2 */

commit 33d98902261ad73c1b6b1366968e49a1cb2bf68b
Author: Søren Sandmann Pedersen <ssp@redhat.com>
Date:   Fri Feb 18 07:07:45 2011 -0500

    sse2: Remove all the core_combine_* functions
    
    Now that _mm_empty() is not used anymore, they are no longer different
    from the sse2_combine_* functions, so they can be consolidated.

diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c
index f581727..0753b6d 100644
--- a/pixman/pixman-sse2.c
+++ b/pixman/pixman-sse2.c
@@ -724,10 +724,12 @@ core_combine_over_u_sse2_no_mask (uint32_t *	  pd,
 }
 
 static force_inline void
-core_combine_over_u_sse2 (uint32_t*       pd,
-                          const uint32_t* ps,
-                          const uint32_t* pm,
-                          int             w)
+sse2_combine_over_u (pixman_implementation_t *imp,
+                     pixman_op_t              op,
+                     uint32_t *               pd,
+                     const uint32_t *         ps,
+                     const uint32_t *         pm,
+                     int                      w)
 {
     if (pm)
 	core_combine_over_u_sse2_mask (pd, ps, pm, w);
@@ -735,11 +737,13 @@ core_combine_over_u_sse2 (uint32_t*       pd,
 	core_combine_over_u_sse2_no_mask (pd, ps, w);
 }
 
-static force_inline void
-core_combine_over_reverse_u_sse2 (uint32_t*       pd,
-                                  const uint32_t* ps,
-                                  const uint32_t* pm,
-                                  int             w)
+static void
+sse2_combine_over_reverse_u (pixman_implementation_t *imp,
+                             pixman_op_t              op,
+                             uint32_t *               pd,
+                             const uint32_t *         ps,
+                             const uint32_t *         pm,
+                             int                      w)
 {
     uint32_t s, d;
 
@@ -823,11 +827,13 @@ core_combine_in_u_pixel_sse2 (uint32_t src, uint32_t dst)
     return dst;
 }
 
-static force_inline void
-core_combine_in_u_sse2 (uint32_t*       pd,
-                        const uint32_t* ps,
-                        const uint32_t* pm,
-                        int             w)
+static void
+sse2_combine_in_u (pixman_implementation_t *imp,
+                   pixman_op_t              op,
+                   uint32_t *               pd,
+                   const uint32_t *         ps,
+                   const uint32_t *         pm,
+                   int                      w)
 {
     uint32_t s, d;
 
@@ -882,11 +888,13 @@ core_combine_in_u_sse2 (uint32_t*       pd,
     }
 }
 
-static force_inline void
-core_combine_reverse_in_u_sse2 (uint32_t*       pd,
-                                const uint32_t* ps,
-                                const uint32_t *pm,
-                                int             w)
+static void
+sse2_combine_in_reverse_u (pixman_implementation_t *imp,
+                           pixman_op_t              op,
+                           uint32_t *               pd,
+                           const uint32_t *         ps,
+                           const uint32_t *         pm,
+                           int                      w)
 {
     uint32_t s, d;
 
@@ -941,11 +949,13 @@ core_combine_reverse_in_u_sse2 (uint32_t*       pd,
     }
 }
 
-static force_inline void
-core_combine_reverse_out_u_sse2 (uint32_t*       pd,
-                                 const uint32_t* ps,
-                                 const uint32_t* pm,
-                                 int             w)
+static void
+sse2_combine_out_reverse_u (pixman_implementation_t *imp,
+                            pixman_op_t              op,
+                            uint32_t *               pd,
+                            const uint32_t *         ps,
+                            const uint32_t *         pm,


Reply to: