From: André Tupinambá Date: Tue, 22 Jul 2008 01:53:20 +0000 (-0400) Subject: Use CopyAreasse2, plus a compatibility fix X-Git-Tag: 1.0_branch~1280 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=58ab45b85d1732da7c84a274acdca3bfcf1c36b1;p=profile%2Fivi%2Fpixman.git Use CopyAreasse2, plus a compatibility fix --- diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c index 513e27a..806e380 100644 --- a/pixman/pixman-pict.c +++ b/pixman/pixman-pict.c @@ -1445,11 +1445,8 @@ static const FastPathInfo sse_fast_paths[] = { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_a8b8g8r8, PIXMAN_r5g6b5, fbCompositeSrc_8888RevNPx0565sse2, NEED_PIXBUF }, { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_a8r8g8b8, PIXMAN_b5g6r5, fbCompositeSrc_8888RevNPx0565sse2, NEED_PIXBUF }, { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_a8b8g8r8, PIXMAN_b5g6r5, fbCompositeSrc_8888RevNPx0565sse2, NEED_PIXBUF }, -#if 0 - /* FIXME: This code is commented out since it's apparently not actually faster than the generic code */ { PIXMAN_OP_OVER, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_OVER, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, fbCompositeCopyAreasse2, 0 }, -#endif { PIXMAN_OP_ADD, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeSrcAdd_8000x8000sse2, 0 }, { PIXMAN_OP_ADD, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, fbCompositeSrcAdd_8888x8888sse2, 0 }, @@ -1461,15 +1458,12 @@ static const FastPathInfo sse_fast_paths[] = { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8b8g8r8, fbCompositeSolidMaskSrc_nx8x8888sse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8b8g8r8, fbCompositeSolidMaskSrc_nx8x8888sse2, 0 }, -#if 0 - /* FIXME: This code is commented out since it's apparently not actually faster than the generic code */ { PIXMAN_OP_SRC, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_r5g6b5, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeCopyAreasse2, 0 }, { PIXMAN_OP_SRC, PIXMAN_b5g6r5, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeCopyAreasse2, 0 }, -#endif { PIXMAN_OP_IN, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeIn_8x8sse2, 0 }, { PIXMAN_OP_IN, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8, fbCompositeIn_nx8x8sse2, 0 }, diff --git a/pixman/pixman-sse.c b/pixman/pixman-sse.c index b1e41b9..7c4d952 100644 --- a/pixman/pixman-sse.c +++ b/pixman/pixman-sse.c @@ -4425,12 +4425,12 @@ pixmanBltsse2 (uint32_t *src_bits, while (w >= 64) { + __m128i xmm0, xmm1, xmm2, xmm3; + /* 128 bytes ahead */ cachePrefetch (((__m128i*)s) + 8); cachePrefetch (((__m128i*)d) + 8); - __m128i xmm0, xmm1, xmm2, xmm3; - xmm0 = load128Unaligned ((__m128i*)(s)); xmm1 = load128Unaligned ((__m128i*)(s+16)); xmm2 = load128Unaligned ((__m128i*)(s+32));