summaryrefslogtreecommitdiff
path: root/recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch')
-rw-r--r--recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch540
1 files changed, 0 insertions, 540 deletions
diff --git a/recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch b/recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch
deleted file mode 100644
index 0f89c88fef..0000000000
--- a/recipes/xorg-lib/pixman/0006-ARM-Added-a-set-of-NEON-functions-not-fully-optimi.patch
+++ /dev/null
@@ -1,540 +0,0 @@
-From 606a73203318e44af4362684368bc24d2aed841d Mon Sep 17 00:00:00 2001
-From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
-Date: Mon, 12 Oct 2009 21:57:17 +0300
-Subject: [PATCH 6/7] ARM: Added a set of NEON functions (not fully optimized)
-
----
- pixman/pixman-arm-neon-asm.S | 520 ++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 520 insertions(+), 0 deletions(-)
-
-diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S
-index b11a9a7..bca499a 100644
---- a/pixman/pixman-arm-neon-asm.S
-+++ b/pixman/pixman-arm-neon-asm.S
-@@ -457,3 +457,523 @@ generate_composite_function \
- pixman_composite_over_8888_8888_process_pixblock_head, \
- pixman_composite_over_8888_8888_process_pixblock_tail, \
- pixman_composite_over_8888_8888_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_over_n_8_0565_process_pixblock_head
-+ /* in */
-+ vmull.u8 q0, d24, d8
-+ vmull.u8 q1, d24, d9
-+ vmull.u8 q6, d24, d10
-+ vmull.u8 q7, d24, d11
-+ vrshr.u16 q10, q0, #8
-+ vrshr.u16 q11, q1, #8
-+ vrshr.u16 q12, q6, #8
-+ vrshr.u16 q13, q7, #8
-+ vraddhn.u16 d0, q0, q10
-+ vraddhn.u16 d1, q1, q11
-+ vraddhn.u16 d2, q6, q12
-+ vraddhn.u16 d3, q7, q13
-+
-+ vshrn.u16 d6, q2, #8
-+ vshrn.u16 d7, q2, #3
-+ vsli.u16 q2, q2, #5
-+ vsri.u8 d6, d6, #5
-+ vmvn.8 d3, d3
-+ vsri.u8 d7, d7, #6
-+ vshrn.u16 d30, q2, #2
-+ /* now do alpha blending */
-+ vmull.u8 q10, d3, d6
-+ vmull.u8 q11, d3, d7
-+ vmull.u8 q12, d3, d30
-+ vrshr.u16 q13, q10, #8
-+ vrshr.u16 q3, q11, #8
-+ vrshr.u16 q15, q12, #8
-+ vraddhn.u16 d20, q10, q13
-+ vraddhn.u16 d23, q11, q3
-+ vraddhn.u16 d22, q12, q15
-+.endm
-+
-+.macro pixman_composite_over_n_8_0565_process_pixblock_tail
-+ vqadd.u8 d16, d2, d20
-+ vqadd.u8 q9, q0, q11
-+ /* convert to r5g6b5 */
-+ vshll.u8 q14, d16, #8
-+ vshll.u8 q8, d19, #8
-+ vshll.u8 q9, d18, #8
-+ vsri.u16 q14, q8, #5
-+ vsri.u16 q14, q9, #11
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_over_n_8_0565_process_pixblock_tail_head
-+ pixman_composite_over_n_8_0565_process_pixblock_tail
-+ vst1.16 {d28, d29}, [DST_W, :128]!
-+ vld1.16 {d4, d5}, [DST_R, :128]!
-+ vld1.8 {d24}, [MASK]!
-+ cache_preload 8, 8
-+ pixman_composite_over_n_8_0565_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_over_n_8_0565_init
-+ add DUMMY, sp, #40
-+ vpush {d8-d15}
-+ vld1.32 {d11[0]}, [DUMMY]
-+ vdup.8 d8, d11[0]
-+ vdup.8 d9, d11[1]
-+ vdup.8 d10, d11[2]
-+ vdup.8 d11, d11[3]
-+.endm
-+
-+.macro pixman_composite_over_n_8_0565_cleanup
-+ vpop {d8-d15}
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_over_n_8_0565_asm_neon, 0, 8, 16, \
-+ FLAG_DST_READWRITE, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ 5, /* prefetch distance */ \
-+ pixman_composite_over_n_8_0565_init, \
-+ pixman_composite_over_n_8_0565_cleanup, \
-+ pixman_composite_over_n_8_0565_process_pixblock_head, \
-+ pixman_composite_over_n_8_0565_process_pixblock_tail, \
-+ pixman_composite_over_n_8_0565_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_src_0565_0565_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_src_0565_0565_process_pixblock_tail
-+.endm
-+
-+.macro pixman_composite_src_0565_0565_process_pixblock_tail_head
-+ vst1.16 {d0, d1, d2, d3}, [DST_W, :128]!
-+ vld1.16 {d0, d1, d2, d3}, [SRC]!
-+ cache_preload 16, 16
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_src_0565_0565_asm_neon, 16, 0, 16, \
-+ FLAG_DST_WRITEONLY, \
-+ 16, /* number of pixels, processed in a single block */ \
-+ 10, /* prefetch distance */ \
-+ default_init, \
-+ default_cleanup, \
-+ pixman_composite_src_0565_0565_process_pixblock_head, \
-+ pixman_composite_src_0565_0565_process_pixblock_tail, \
-+ pixman_composite_src_0565_0565_process_pixblock_tail_head, \
-+ 0, /* dst_w_basereg */ \
-+ 0, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 0 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_src_n_8_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_src_n_8_process_pixblock_tail
-+.endm
-+
-+.macro pixman_composite_src_n_8_process_pixblock_tail_head
-+ vst1.8 {d0, d1, d2, d3}, [DST_W, :128]!
-+.endm
-+
-+.macro pixman_composite_src_n_8_init
-+ add DUMMY, sp, #40
-+ vld1.32 {d0[0]}, [DUMMY]
-+ vsli.u64 d0, d0, #8
-+ vsli.u64 d0, d0, #16
-+ vsli.u64 d0, d0, #32
-+ vmov d1, d0
-+ vmov q1, q0
-+.endm
-+
-+.macro pixman_composite_src_n_8_cleanup
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_src_n_8_asm_neon, 0, 0, 8, \
-+ FLAG_DST_WRITEONLY, \
-+ 32, /* number of pixels, processed in a single block */ \
-+ 0, /* prefetch distance */ \
-+ pixman_composite_src_n_8_init, \
-+ pixman_composite_src_n_8_cleanup, \
-+ pixman_composite_src_n_8_process_pixblock_head, \
-+ pixman_composite_src_n_8_process_pixblock_tail, \
-+ pixman_composite_src_n_8_process_pixblock_tail_head, \
-+ 0, /* dst_w_basereg */ \
-+ 0, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 0 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_src_n_0565_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_src_n_0565_process_pixblock_tail
-+.endm
-+
-+.macro pixman_composite_src_n_0565_process_pixblock_tail_head
-+ vst1.16 {d0, d1, d2, d3}, [DST_W, :128]!
-+.endm
-+
-+.macro pixman_composite_src_n_0565_init
-+ add DUMMY, sp, #40
-+ vld1.32 {d0[0]}, [DUMMY]
-+ vsli.u64 d0, d0, #16
-+ vsli.u64 d0, d0, #32
-+ vmov d1, d0
-+ vmov q1, q0
-+.endm
-+
-+.macro pixman_composite_src_n_0565_cleanup
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_src_n_0565_asm_neon, 0, 0, 16, \
-+ FLAG_DST_WRITEONLY, \
-+ 16, /* number of pixels, processed in a single block */ \
-+ 0, /* prefetch distance */ \
-+ pixman_composite_src_n_0565_init, \
-+ pixman_composite_src_n_0565_cleanup, \
-+ pixman_composite_src_n_0565_process_pixblock_head, \
-+ pixman_composite_src_n_0565_process_pixblock_tail, \
-+ pixman_composite_src_n_0565_process_pixblock_tail_head, \
-+ 0, /* dst_w_basereg */ \
-+ 0, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 0 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_src_n_8888_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_src_n_8888_process_pixblock_tail
-+.endm
-+
-+.macro pixman_composite_src_n_8888_process_pixblock_tail_head
-+ vst1.32 {d0, d1, d2, d3}, [DST_W, :128]!
-+.endm
-+
-+.macro pixman_composite_src_n_8888_init
-+ add DUMMY, sp, #40
-+ vld1.32 {d0[0]}, [DUMMY]
-+ vsli.u64 d0, d0, #32
-+ vmov d1, d0
-+ vmov q1, q0
-+.endm
-+
-+.macro pixman_composite_src_n_8888_cleanup
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_src_n_8888_asm_neon, 0, 0, 32, \
-+ FLAG_DST_WRITEONLY, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ 0, /* prefetch distance */ \
-+ pixman_composite_src_n_8888_init, \
-+ pixman_composite_src_n_8888_cleanup, \
-+ pixman_composite_src_n_8888_process_pixblock_head, \
-+ pixman_composite_src_n_8888_process_pixblock_tail, \
-+ pixman_composite_src_n_8888_process_pixblock_tail_head, \
-+ 0, /* dst_w_basereg */ \
-+ 0, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 0 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_src_8888_8888_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_src_8888_8888_process_pixblock_tail
-+.endm
-+
-+.macro pixman_composite_src_8888_8888_process_pixblock_tail_head
-+ vst1.32 {d0, d1, d2, d3}, [DST_W, :128]!
-+ vld1.32 {d0, d1, d2, d3}, [SRC]!
-+ cache_preload 8, 8
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_src_8888_8888_asm_neon, 32, 0, 32, \
-+ FLAG_DST_WRITEONLY, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ 10, /* prefetch distance */ \
-+ default_init, \
-+ default_cleanup, \
-+ pixman_composite_src_8888_8888_process_pixblock_head, \
-+ pixman_composite_src_8888_8888_process_pixblock_tail, \
-+ pixman_composite_src_8888_8888_process_pixblock_tail_head, \
-+ 0, /* dst_w_basereg */ \
-+ 0, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 0 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_over_n_8_8888_process_pixblock_head
-+ /* expecting deinterleaved source data in {d8, d9, d10, d11} */
-+ /* d8 - blue, d9 - green, d10 - red, d11 - alpha */
-+ /* and destination data in {d4, d5, d6, d7} */
-+ /* mask is in d24 (d25, d26, d27 are unused) */
-+
-+ /* in */
-+ vmull.u8 q0, d24, d8
-+ vmull.u8 q1, d24, d9
-+ vmull.u8 q6, d24, d10
-+ vmull.u8 q7, d24, d11
-+ vrshr.u16 q10, q0, #8
-+ vrshr.u16 q11, q1, #8
-+ vrshr.u16 q12, q6, #8
-+ vrshr.u16 q13, q7, #8
-+ vraddhn.u16 d0, q0, q10
-+ vraddhn.u16 d1, q1, q11
-+ vraddhn.u16 d2, q6, q12
-+ vraddhn.u16 d3, q7, q13
-+ vmvn.8 d24, d3 /* get inverted alpha */
-+ /* source: d0 - blue, d1 - green, d2 - red, d3 - alpha */
-+ /* destination: d4 - blue, d5 - green, d6 - red, d7 - alpha */
-+ /* now do alpha blending */
-+ vmull.u8 q8, d24, d4
-+ vmull.u8 q9, d24, d5
-+ vmull.u8 q10, d24, d6
-+ vmull.u8 q11, d24, d7
-+.endm
-+
-+.macro pixman_composite_over_n_8_8888_process_pixblock_tail
-+ vrshr.u16 q14, q8, #8
-+ vrshr.u16 q15, q9, #8
-+ vrshr.u16 q12, q10, #8
-+ vrshr.u16 q13, q11, #8
-+ vraddhn.u16 d28, q14, q8
-+ vraddhn.u16 d29, q15, q9
-+ vraddhn.u16 d30, q12, q10
-+ vraddhn.u16 d31, q13, q11
-+ vqadd.u8 q14, q0, q14
-+ vqadd.u8 q15, q1, q15
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_over_n_8_8888_process_pixblock_tail_head
-+ pixman_composite_over_n_8_8888_process_pixblock_tail
-+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ vld1.8 {d24}, [MASK]!
-+ cache_preload 8, 8
-+ pixman_composite_over_n_8_8888_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_over_n_8_8888_init
-+ add DUMMY, sp, #40
-+ vpush {d8-d15}
-+ vld1.32 {d11[0]}, [DUMMY]
-+ vdup.8 d8, d11[0]
-+ vdup.8 d9, d11[1]
-+ vdup.8 d10, d11[2]
-+ vdup.8 d11, d11[3]
-+.endm
-+
-+.macro pixman_composite_over_n_8_8888_cleanup
-+ vpop {d8-d15}
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_over_n_8_8888_asm_neon, 0, 8, 32, \
-+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ 5, /* prefetch distance */ \
-+ pixman_composite_over_n_8_8888_init, \
-+ pixman_composite_over_n_8_8888_cleanup, \
-+ pixman_composite_over_n_8_8888_process_pixblock_head, \
-+ pixman_composite_over_n_8_8888_process_pixblock_tail, \
-+ pixman_composite_over_n_8_8888_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_add_n_8_8_process_pixblock_head
-+ /* expecting source data in {d8, d9, d10, d11} */
-+ /* d8 - blue, d9 - green, d10 - red, d11 - alpha */
-+ /* and destination data in {d4, d5, d6, d7} */
-+ /* mask is in d24, d25, d26, d27 */
-+ vmull.u8 q0, d24, d11
-+ vmull.u8 q1, d25, d11
-+ vmull.u8 q6, d26, d11
-+ vmull.u8 q7, d27, d11
-+ vrshr.u16 q10, q0, #8
-+ vrshr.u16 q11, q1, #8
-+ vrshr.u16 q12, q6, #8
-+ vrshr.u16 q13, q7, #8
-+ vraddhn.u16 d0, q0, q10
-+ vraddhn.u16 d1, q1, q11
-+ vraddhn.u16 d2, q6, q12
-+ vraddhn.u16 d3, q7, q13
-+ vqadd.u8 q14, q0, q2
-+ vqadd.u8 q15, q1, q3
-+.endm
-+
-+.macro pixman_composite_add_n_8_8_process_pixblock_tail
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_add_n_8_8_process_pixblock_tail_head
-+ pixman_composite_add_n_8_8_process_pixblock_tail
-+ vst1.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+ vld1.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ vld1.8 {d24, d25, d26, d27}, [MASK]!
-+ cache_preload 32, 32
-+ pixman_composite_add_n_8_8_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_add_n_8_8_init
-+ add DUMMY, sp, #40
-+ vpush {d8-d15}
-+ vld1.32 {d11[0]}, [DUMMY]
-+ vdup.8 d11, d11[3]
-+.endm
-+
-+.macro pixman_composite_add_n_8_8_cleanup
-+ vpop {d8-d15}
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_add_n_8_8_asm_neon, 0, 8, 8, \
-+ FLAG_DST_READWRITE, \
-+ 32, /* number of pixels, processed in a single block */ \
-+ 5, /* prefetch distance */ \
-+ pixman_composite_add_n_8_8_init, \
-+ pixman_composite_add_n_8_8_cleanup, \
-+ pixman_composite_add_n_8_8_process_pixblock_head, \
-+ pixman_composite_add_n_8_8_process_pixblock_tail, \
-+ pixman_composite_add_n_8_8_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_add_8_8_8_process_pixblock_head
-+ /* expecting source data in {d0, d1, d2, d3} */
-+ /* destination data in {d4, d5, d6, d7} */
-+ /* mask in {d24, d25, d26, d27} */
-+ vmull.u8 q8, d24, d0
-+ vmull.u8 q9, d25, d1
-+ vmull.u8 q10, d26, d2
-+ vmull.u8 q11, d27, d3
-+ vrshr.u16 q0, q8, #8
-+ vrshr.u16 q1, q9, #8
-+ vrshr.u16 q12, q10, #8
-+ vrshr.u16 q13, q11, #8
-+ vraddhn.u16 d0, q0, q8
-+ vraddhn.u16 d1, q1, q9
-+ vraddhn.u16 d2, q12, q10
-+ vraddhn.u16 d3, q13, q11
-+ vqadd.u8 q14, q0, q2
-+ vqadd.u8 q15, q1, q3
-+.endm
-+
-+.macro pixman_composite_add_8_8_8_process_pixblock_tail
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_add_8_8_8_process_pixblock_tail_head
-+ pixman_composite_add_8_8_8_process_pixblock_tail
-+ vst1.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+ vld1.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ vld1.8 {d24, d25, d26, d27}, [MASK]!
-+ vld1.8 {d0, d1, d2, d3}, [SRC]!
-+ cache_preload 32, 32
-+ pixman_composite_add_8_8_8_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_add_8_8_8_init
-+.endm
-+
-+.macro pixman_composite_add_8_8_8_cleanup
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_add_8_8_8_asm_neon, 8, 8, 8, \
-+ FLAG_DST_READWRITE, \
-+ 32, /* number of pixels, processed in a single block */ \
-+ 5, /* prefetch distance */ \
-+ pixman_composite_add_8_8_8_init, \
-+ pixman_composite_add_8_8_8_cleanup, \
-+ pixman_composite_add_8_8_8_process_pixblock_head, \
-+ pixman_composite_add_8_8_8_process_pixblock_tail, \
-+ pixman_composite_add_8_8_8_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_over_8888_n_8888_process_pixblock_head
-+ /* expecting source data in {d0, d1, d2, d3} */
-+ /* destination data in {d4, d5, d6, d7} */
-+ /* solid mask is in d15 */
-+
-+ /* 'in' */
-+ vmull.u8 q8, d15, d3
-+ vmull.u8 q6, d15, d2
-+ vmull.u8 q5, d15, d1
-+ vmull.u8 q4, d15, d0
-+ vrshr.u16 q13, q8, #8
-+ vrshr.u16 q12, q6, #8
-+ vrshr.u16 q11, q5, #8
-+ vrshr.u16 q10, q4, #8
-+ vraddhn.u16 d3, q8, q13
-+ vraddhn.u16 d2, q6, q12
-+ vraddhn.u16 d1, q5, q11
-+ vraddhn.u16 d0, q4, q10
-+ vmvn.8 d24, d3 /* get inverted alpha */
-+ /* now do alpha blending */
-+ vmull.u8 q8, d24, d4
-+ vmull.u8 q9, d24, d5
-+ vmull.u8 q10, d24, d6
-+ vmull.u8 q11, d24, d7
-+.endm
-+
-+.macro pixman_composite_over_8888_n_8888_process_pixblock_tail
-+ vrshr.u16 q14, q8, #8
-+ vrshr.u16 q15, q9, #8
-+ vrshr.u16 q12, q10, #8
-+ vrshr.u16 q13, q11, #8
-+ vraddhn.u16 d28, q14, q8
-+ vraddhn.u16 d29, q15, q9
-+ vraddhn.u16 d30, q12, q10
-+ vraddhn.u16 d31, q13, q11
-+ vqadd.u8 q14, q0, q14
-+ vqadd.u8 q15, q1, q15
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_over_8888_n_8888_process_pixblock_tail_head
-+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ pixman_composite_over_8888_n_8888_process_pixblock_tail
-+ vld4.8 {d0, d1, d2, d3}, [SRC]!
-+ cache_preload 8, 8
-+ pixman_composite_over_8888_n_8888_process_pixblock_head
-+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+.endm
-+
-+.macro pixman_composite_over_8888_n_8888_init
-+ add DUMMY, sp, #48
-+ vpush {d8-d15}
-+ vld1.32 {d15[0]}, [DUMMY]
-+ vdup.8 d15, d15[3]
-+.endm
-+
-+.macro pixman_composite_over_8888_n_8888_cleanup
-+ vpop {d8-d15}
-+.endm
-+
-+generate_composite_function \
-+ pixman_composite_over_8888_n_8888_asm_neon, 32, 0, 32, \
-+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ 5, /* prefetch distance */ \
-+ pixman_composite_over_8888_n_8888_init, \
-+ pixman_composite_over_8888_n_8888_cleanup, \
-+ pixman_composite_over_8888_n_8888_process_pixblock_head, \
-+ pixman_composite_over_8888_n_8888_process_pixblock_tail, \
-+ pixman_composite_over_8888_n_8888_process_pixblock_tail_head
---
-1.6.2.4
-