1 commit 8507756d8868b8d8c7a149bd2427a04262638156
2 Author: Vladimir Vukicevic <vladimir@slide.(none)>
3 Date: Sat Sep 6 17:46:52 2008 -0700
5 Add SRC x888x0565 C fast path
7 diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
8 index eeefa33..b5fb0ff 100644
9 --- a/pixman/pixman-pict.c
10 +++ b/pixman/pixman-pict.c
11 @@ -759,6 +759,46 @@ fbCompositeSrc_8888x0565 (pixman_op_t op,
17 +fbCompositeSrc_x888x0565 (pixman_op_t op,
18 + pixman_image_t * pSrc,
19 + pixman_image_t * pMask,
20 + pixman_image_t * pDst,
30 + uint16_t *dstLine, *dst;
31 + uint32_t *srcLine, *src, s;
32 + int dstStride, srcStride;
35 + fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
36 + fbComposeGetStart (pDst, xDst, yDst, uint16_t, dstStride, dstLine, 1);
41 + dstLine += dstStride;
43 + srcLine += srcStride;
48 + s = READ(pSrc, src++);
49 + WRITE(pDst, dst, cvt8888to0565(s));
56 fbCompositeSrcAdd_8000x8000 (pixman_op_t op,
57 pixman_image_t * pSrc,
58 @@ -1568,6 +1608,10 @@ static const FastPathInfo c_fast_paths[] =
59 { PIXMAN_OP_SRC, PIXMAN_r5g6b5, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrcSrc_nxn, 0 },
60 { PIXMAN_OP_SRC, PIXMAN_b5g6r5, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrcSrc_nxn, 0 },
62 + { PIXMAN_OP_SRC, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrc_x888x0565, 0 },
63 + { PIXMAN_OP_SRC, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrc_x888x0565, 0 },
64 + { PIXMAN_OP_SRC, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrc_x888x0565, 0 },
65 + { PIXMAN_OP_SRC, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrc_x888x0565, 0 },
66 { PIXMAN_OP_IN, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeSrcIn_8x8, 0 },
67 { PIXMAN_OP_IN, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8, fbCompositeSolidMaskIn_nx8x8, 0 },