aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch')
-rw-r--r--recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch175
1 files changed, 0 insertions, 175 deletions
diff --git a/recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch b/recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch
deleted file mode 100644
index 76726ce1ae..0000000000
--- a/recipes/obsolete/xorg/xorg-lib/pixman-0.18.2/neon-reverse-u.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From e0017c2a676b267900e48c6f32a6e973395c83d3 Mon Sep 17 00:00:00 2001
-From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
-Date: Mon, 31 May 2010 16:24:43 +0000
-Subject: ARM: 'neon_combine_out_reverse_u' combiner
-
----
-diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S
-index f30869e..44fbfce 100644
---- a/pixman/pixman-arm-neon-asm.S
-+++ b/pixman/pixman-arm-neon-asm.S
-@@ -597,7 +597,7 @@ generate_composite_function_single_scanline \
-
- /******************************************************************************/
-
--.macro pixman_composite_over_8888_8888_process_pixblock_head
-+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_head
- vmvn.8 d24, d3 /* get inverted alpha */
- /* do alpha blending */
- vmull.u8 q8, d24, d4
-@@ -606,7 +606,7 @@ generate_composite_function_single_scanline \
- vmull.u8 q11, d24, d7
- .endm
-
--.macro pixman_composite_over_8888_8888_process_pixblock_tail
-+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail
- vrshr.u16 q14, q8, #8
- vrshr.u16 q15, q9, #8
- vrshr.u16 q12, q10, #8
-@@ -615,6 +615,56 @@ generate_composite_function_single_scanline \
- vraddhn.u16 d29, q15, q9
- vraddhn.u16 d30, q12, q10
- vraddhn.u16 d31, q13, q11
-+.endm
-+
-+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail_head
-+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ vrshr.u16 q14, q8, #8
-+ PF add PF_X, PF_X, #8
-+ PF tst PF_CTL, #0xF
-+ vrshr.u16 q15, q9, #8
-+ vrshr.u16 q12, q10, #8
-+ vrshr.u16 q13, q11, #8
-+ PF addne PF_X, PF_X, #8
-+ PF subne PF_CTL, PF_CTL, #1
-+ vraddhn.u16 d28, q14, q8
-+ vraddhn.u16 d29, q15, q9
-+ PF cmp PF_X, ORIG_W
-+ vraddhn.u16 d30, q12, q10
-+ vraddhn.u16 d31, q13, q11
-+ vld4.8 {d0, d1, d2, d3}, [SRC]!
-+ PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift]
-+ vmvn.8 d22, d3
-+ PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift]
-+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+ PF subge PF_X, PF_X, ORIG_W
-+ vmull.u8 q8, d22, d4
-+ PF subges PF_CTL, PF_CTL, #0x10
-+ vmull.u8 q9, d22, d5
-+ PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]!
-+ vmull.u8 q10, d22, d6
-+ PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]!
-+ vmull.u8 q11, d22, d7
-+.endm
-+
-+generate_composite_function_single_scanline \
-+ pixman_composite_scanline_out_reverse_asm_neon, 32, 0, 32, \
-+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ default_init, \
-+ default_cleanup, \
-+ pixman_composite_out_reverse_8888_8888_process_pixblock_head, \
-+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail, \
-+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail_head
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_over_8888_8888_process_pixblock_head
-+ pixman_composite_out_reverse_8888_8888_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_over_8888_8888_process_pixblock_tail
-+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail
- vqadd.u8 q14, q0, q14
- vqadd.u8 q15, q1, q15
- .endm
-@@ -1416,7 +1466,7 @@ generate_composite_function_single_scanline \
-
- /******************************************************************************/
-
--.macro pixman_composite_over_8888_n_8888_process_pixblock_head
-+.macro pixman_composite_out_reverse_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 */
-@@ -1442,7 +1492,7 @@ generate_composite_function_single_scanline \
- vmull.u8 q11, d24, d7
- .endm
-
--.macro pixman_composite_over_8888_n_8888_process_pixblock_tail
-+.macro pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail
- vrshr.u16 q14, q8, #8
- vrshr.u16 q15, q9, #8
- vrshr.u16 q12, q10, #8
-@@ -1451,6 +1501,49 @@ generate_composite_function_single_scanline \
- vraddhn.u16 d29, q15, q9
- vraddhn.u16 d30, q12, q10
- vraddhn.u16 d31, q13, q11
-+.endm
-+
-+.macro pixman_composite_out_reverse_8888_8888_8888_init
-+ vpush {d8-d15}
-+.endm
-+
-+.macro pixman_composite_out_reverse_8888_8888_8888_cleanup
-+ vpop {d8-d15}
-+.endm
-+
-+/* TODO: expand macros and do better instructions scheduling */
-+.macro pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head
-+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]!
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail
-+ vld4.8 {d0, d1, d2, d3}, [SRC]!
-+ cache_preload 8, 8
-+ vld4.8 {d12, d13, d14, d15}, [MASK]!
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head
-+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]!
-+.endm
-+
-+generate_composite_function_single_scanline \
-+ pixman_composite_scanline_out_reverse_mask_asm_neon, 32, 32, 32, \
-+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \
-+ 8, /* number of pixels, processed in a single block */ \
-+ pixman_composite_out_reverse_8888_8888_8888_init, \
-+ pixman_composite_out_reverse_8888_8888_8888_cleanup, \
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head, \
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail, \
-+ pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head \
-+ 28, /* dst_w_basereg */ \
-+ 4, /* dst_r_basereg */ \
-+ 0, /* src_basereg */ \
-+ 12 /* mask_basereg */
-+
-+/******************************************************************************/
-+
-+.macro pixman_composite_over_8888_n_8888_process_pixblock_head
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head
-+.endm
-+
-+.macro pixman_composite_over_8888_n_8888_process_pixblock_tail
-+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail
- vqadd.u8 q14, q0, q14
- vqadd.u8 q15, q1, q15
- .endm
-diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
-index 394dcea..1be9606 100644
---- a/pixman/pixman-arm-neon.c
-+++ b/pixman/pixman-arm-neon.c
-@@ -335,6 +335,7 @@ neon_combine_##name##_u (pixman_implementation_t *imp, \
-
- BIND_COMBINE_U (over)
- BIND_COMBINE_U (add)
-+BIND_COMBINE_U (out_reverse)
-
- void
- pixman_fetch_scanline_r5g6b5_asm_neon (int width,
-@@ -382,6 +383,7 @@ _pixman_implementation_create_arm_neon (void)
-
- imp->combine_32[PIXMAN_OP_OVER] = neon_combine_over_u;
- imp->combine_32[PIXMAN_OP_ADD] = neon_combine_add_u;
-+ imp->combine_32[PIXMAN_OP_OUT_REVERSE] = neon_combine_out_reverse_u;
-
- _pixman_bits_override_accessors (PIXMAN_r5g6b5,
- neon_fetch_scanline_r5g6b5,
---
-cgit v0.8.3-6-g21f6