summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics/xorg-lib
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-10-18 11:01:20 +0200
committerKoen Kooi <koen@dominion.thruhere.net>2011-10-18 11:18:12 +0200
commitef33e684652db8b8fbc381a8ddd8e90c02f502df (patch)
tree113baa0ea80c4c48f3c0bead6af56fe78fe9dfb6 /meta-oe/recipes-graphics/xorg-lib
parent7b6e75d043a833b059ec6a39bf998999ef8f3d9e (diff)
downloadmeta-openembedded-ef33e684652db8b8fbc381a8ddd8e90c02f502df.tar.gz
pixman 0.23.6: refresh patches with versions for pixman master
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-graphics/xorg-lib')
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch)4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch)4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch)4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch)70
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch)78
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Standard-fast-path-src_n_8_8888.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Standard-fast-path-src_n_8_8888.patch)4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Standard-fast-path-src_n_8_8.patch (renamed from meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Standard-fast-path-src_n_8_8.patch)4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb14
9 files changed, 93 insertions, 93 deletions
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch
index 338e2ad83..53ce218da 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch
@@ -1,7 +1,7 @@
1From ed7580525054e6a543694088c561dee525b4ae28 Mon Sep 17 00:00:00 2001 1From 809b8d4e3707c8617cafafb8a16b1b48e2477311 Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Tue, 20 Sep 2011 19:46:25 +0900 3Date: Tue, 20 Sep 2011 19:46:25 +0900
4Subject: [PATCH 3/8] ARM: NEON: Some cleanup of bilinear scanline functions 4Subject: [PATCH 1/8] ARM: NEON: Some cleanup of bilinear scanline functions
5 5
6Use STRIDE and initial horizontal weight update is done before 6Use STRIDE and initial horizontal weight update is done before
7entering interpolation loop. Cache preload for mask and dst. 7entering interpolation loop. Cache preload for mask and dst.
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch
index dc8a69f74..4ec821240 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch
@@ -1,7 +1,7 @@
1From 524d1cc7acb753167fffdd08d8c10bf71e0634ba Mon Sep 17 00:00:00 2001 1From ce2fd2ac6aab2c14916d332ade47d72b06d504c1 Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Tue, 20 Sep 2011 21:32:35 +0900 3Date: Tue, 20 Sep 2011 21:32:35 +0900
4Subject: [PATCH 4/8] ARM: NEON: Bilinear macro template for instruction scheduling 4Subject: [PATCH 2/8] ARM: NEON: Bilinear macro template for instruction scheduling
5 5
6This macro template takes 6 code blocks. 6This macro template takes 6 code blocks.
7 7
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch
index 77c43f5f9..7c6f501ac 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0003-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch
@@ -1,7 +1,7 @@
1From 10b257b46f379d9c79483acd55c9a13fff130843 Mon Sep 17 00:00:00 2001 1From 8d0460c4f1b23f3a13e9ff7282b30dd06f10aee1 Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Fri, 23 Sep 2011 00:03:22 +0900 3Date: Fri, 23 Sep 2011 00:03:22 +0900
4Subject: [PATCH 5/8] ARM: NEON: Replace old bilinear scanline generator with new template 4Subject: [PATCH 3/8] ARM: NEON: Replace old bilinear scanline generator with new template
5 5
6Bilinear scanline functions in pixman-arm-neon-asm-bilinear.S can 6Bilinear scanline functions in pixman-arm-neon-asm-bilinear.S can
7be replaced with new template just by wrapping existing macros. 7be replaced with new template just by wrapping existing macros.
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
index d982b5ba7..d6c94ba2c 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0004-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
@@ -1,7 +1,7 @@
1From c8f7edaebd510ba120d74102a93ad4d202b0e806 Mon Sep 17 00:00:00 2001 1From b9009d108277b42ebb4c0ea03eb3fb5845106497 Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Wed, 21 Sep 2011 15:52:13 +0900 3Date: Wed, 21 Sep 2011 15:52:13 +0900
4Subject: [PATCH 6/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8888 4Subject: [PATCH 4/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8888
5 5
6Instructions are reordered to eliminate pipeline stalls and get 6Instructions are reordered to eliminate pipeline stalls and get
7better memory access. 7better memory access.
@@ -16,7 +16,7 @@ after : 61.09 Mpix/s
16 1 files changed, 146 insertions(+), 3 deletions(-) 16 1 files changed, 146 insertions(+), 3 deletions(-)
17 17
18diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S 18diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S
19index 25bcb24..76937e0 100644 19index 25bcb24..82d248e 100644
20--- a/pixman/pixman-arm-neon-asm-bilinear.S 20--- a/pixman/pixman-arm-neon-asm-bilinear.S
21+++ b/pixman/pixman-arm-neon-asm-bilinear.S 21+++ b/pixman/pixman-arm-neon-asm-bilinear.S
22@@ -893,15 +893,158 @@ pixman_asm_function fname 22@@ -893,15 +893,158 @@ pixman_asm_function fname
@@ -108,31 +108,31 @@ index 25bcb24..76937e0 100644
108 .macro bilinear_over_8888_8888_process_pixblock_tail_head 108 .macro bilinear_over_8888_8888_process_pixblock_tail_head
109- bilinear_over_8888_8888_process_pixblock_tail 109- bilinear_over_8888_8888_process_pixblock_tail
110- bilinear_over_8888_8888_process_pixblock_head 110- bilinear_over_8888_8888_process_pixblock_head
111+ vshll.u16 q2, d20, #8 111+ vshll.u16 q2, d20, #8
112+ mov TMP1, X, asr #16 112+ mov TMP1, X, asr #16
113+ add X, X, UX 113+ add X, X, UX
114+ add TMP1, TOP, TMP1, asl #2 114+ add TMP1, TOP, TMP1, asl #2
115+ vmlsl.u16 q2, d20, d30 115+ vmlsl.u16 q2, d20, d30
116+ mov TMP2, X, asr #16 116+ mov TMP2, X, asr #16
117+ add X, X, UX 117+ add X, X, UX
118+ add TMP2, TOP, TMP2, asl #2 118+ add TMP2, TOP, TMP2, asl #2
119+ vmlal.u16 q2, d21, d30 119+ vmlal.u16 q2, d21, d30
120+ vshll.u16 q3, d22, #8 120+ vshll.u16 q3, d22, #8
121+ vld1.32 {d20}, [TMP1], STRIDE 121+ vld1.32 {d20}, [TMP1], STRIDE
122+ vmlsl.u16 q3, d22, d31 122+ vmlsl.u16 q3, d22, d31
123+ vmlal.u16 q3, d23, d31 123+ vmlal.u16 q3, d23, d31
124+ vld1.32 {d21}, [TMP1] 124+ vld1.32 {d21}, [TMP1]
125+ vmull.u8 q8, d20, d28 125+ vmull.u8 q8, d20, d28
126+ vmlal.u8 q8, d21, d29 126+ vmlal.u8 q8, d21, d29
127+ vshrn.u32 d0, q0, #16 127+ vshrn.u32 d0, q0, #16
128+ vshrn.u32 d1, q1, #16 128+ vshrn.u32 d1, q1, #16
129+ vld1.32 {d2, d3}, [OUT, :128] 129+ vld1.32 {d2, d3}, [OUT, :128]
130+ pld [OUT, PF_OFFS] 130+ pld [OUT, PF_OFFS]
131+ vshrn.u32 d4, q2, #16 131+ vshrn.u32 d4, q2, #16
132+ vshr.u16 q15, q12, #8 132+ vshr.u16 q15, q12, #8
133+ vld1.32 {d22}, [TMP2], STRIDE 133+ vld1.32 {d22}, [TMP2], STRIDE
134+ vshrn.u32 d5, q3, #16 134+ vshrn.u32 d5, q3, #16
135+ vmovn.u16 d6, q0 135+ vmovn.u16 d6, q0
136+ vld1.32 {d23}, [TMP2] 136+ vld1.32 {d23}, [TMP2]
137+ vmull.u8 q9, d22, d28 137+ vmull.u8 q9, d22, d28
138+ mov TMP3, X, asr #16 138+ mov TMP3, X, asr #16
@@ -142,42 +142,42 @@ index 25bcb24..76937e0 100644
142+ add X, X, UX 142+ add X, X, UX
143+ add TMP4, TOP, TMP4, asl #2 143+ add TMP4, TOP, TMP4, asl #2
144+ vmlal.u8 q9, d23, d29 144+ vmlal.u8 q9, d23, d29
145+ vmovn.u16 d7, q2 145+ vmovn.u16 d7, q2
146+ vld1.32 {d22}, [TMP3], STRIDE 146+ vld1.32 {d22}, [TMP3], STRIDE
147+ vuzp.8 d6, d7 147+ vuzp.8 d6, d7
148+ vuzp.8 d2, d3 148+ vuzp.8 d2, d3
149+ vuzp.8 d6, d7 149+ vuzp.8 d6, d7
150+ vuzp.8 d2, d3 150+ vuzp.8 d2, d3
151+ vdup.32 d4, d7[1] 151+ vdup.32 d4, d7[1]
152+ vld1.32 {d23}, [TMP3] 152+ vld1.32 {d23}, [TMP3]
153+ vmvn.8 d4, d4 153+ vmvn.8 d4, d4
154+ vmull.u8 q10, d22, d28 154+ vmull.u8 q10, d22, d28
155+ vmlal.u8 q10, d23, d29 155+ vmlal.u8 q10, d23, d29
156+ vmull.u8 q11, d2, d4 156+ vmull.u8 q11, d2, d4
157+ vmull.u8 q2, d3, d4 157+ vmull.u8 q2, d3, d4
158+ vshll.u16 q0, d16, #8 158+ vshll.u16 q0, d16, #8
159+ vmlsl.u16 q0, d16, d30 159+ vmlsl.u16 q0, d16, d30
160+ vrshr.u16 q1, q11, #8 160+ vrshr.u16 q1, q11, #8
161+ vmlal.u16 q0, d17, d30 161+ vmlal.u16 q0, d17, d30
162+ vrshr.u16 q8, q2, #8 162+ vrshr.u16 q8, q2, #8
163+ vraddhn.u16 d2, q1, q11 163+ vraddhn.u16 d2, q1, q11
164+ vraddhn.u16 d3, q8, q2 164+ vraddhn.u16 d3, q8, q2
165+ pld [TMP4, PF_OFFS] 165+ pld [TMP4, PF_OFFS]
166+ vld1.32 {d16}, [TMP4], STRIDE 166+ vld1.32 {d16}, [TMP4], STRIDE
167+ vqadd.u8 q3, q1, q3 167+ vqadd.u8 q3, q1, q3
168+ vld1.32 {d17}, [TMP4] 168+ vld1.32 {d17}, [TMP4]
169+ pld [TMP4, PF_OFFS] 169+ pld [TMP4, PF_OFFS]
170+ vmull.u8 q11, d16, d28 170+ vmull.u8 q11, d16, d28
171+ vmlal.u8 q11, d17, d29 171+ vmlal.u8 q11, d17, d29
172+ vuzp.8 d6, d7 172+ vuzp.8 d6, d7
173+ vshll.u16 q1, d18, #8 173+ vshll.u16 q1, d18, #8
174+ vuzp.8 d6, d7 174+ vuzp.8 d6, d7
175+ vmlsl.u16 q1, d18, d31 175+ vmlsl.u16 q1, d18, d31
176+ vadd.u16 q12, q12, q13 176+ vadd.u16 q12, q12, q13
177+ vmlal.u16 q1, d19, d31 177+ vmlal.u16 q1, d19, d31
178+ vshr.u16 q15, q12, #8 178+ vshr.u16 q15, q12, #8
179+ vadd.u16 q12, q12, q13 179+ vadd.u16 q12, q12, q13
180+ vst1.32 {d6, d7}, [OUT, :128]! 180+ vst1.32 {d6, d7}, [OUT, :128]!
181 .endm 181 .endm
182 182
183 /* over_8888_8_8888 */ 183 /* over_8888_8_8888 */
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
index e4e741f90..03b27ac14 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0005-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch
@@ -1,7 +1,7 @@
1From 94585f9a618821a5c06c3a497902579b4a08b05f Mon Sep 17 00:00:00 2001 1From c98ce663e2a5dd1e65013053f461c3aac9a3922e Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Mon, 26 Sep 2011 19:04:53 +0900 3Date: Mon, 26 Sep 2011 19:04:53 +0900
4Subject: [PATCH 7/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888 4Subject: [PATCH 5/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888
5 5
6Instructions are reordered to eliminate pipeline stalls and get 6Instructions are reordered to eliminate pipeline stalls and get
7better memory access. 7better memory access.
@@ -16,7 +16,7 @@ after : 50.76 Mpix/s
16 1 files changed, 158 insertions(+), 4 deletions(-) 16 1 files changed, 158 insertions(+), 4 deletions(-)
17 17
18diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S 18diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S
19index 76937e0..4ab46e1 100644 19index 82d248e..f7913ad 100644
20--- a/pixman/pixman-arm-neon-asm-bilinear.S 20--- a/pixman/pixman-arm-neon-asm-bilinear.S
21+++ b/pixman/pixman-arm-neon-asm-bilinear.S 21+++ b/pixman/pixman-arm-neon-asm-bilinear.S
22@@ -949,7 +949,7 @@ pixman_asm_function fname 22@@ -949,7 +949,7 @@ pixman_asm_function fname
@@ -120,84 +120,84 @@ index 76937e0..4ab46e1 100644
120 .macro bilinear_over_8888_8_8888_process_pixblock_tail_head 120 .macro bilinear_over_8888_8_8888_process_pixblock_tail_head
121- bilinear_over_8888_8_8888_process_pixblock_tail 121- bilinear_over_8888_8_8888_process_pixblock_tail
122- bilinear_over_8888_8_8888_process_pixblock_head 122- bilinear_over_8888_8_8888_process_pixblock_head
123+ vshll.u16 q9, d6, #8 123+ vshll.u16 q9, d6, #8
124+ mov TMP1, X, asr #16 124+ mov TMP1, X, asr #16
125+ add X, X, UX 125+ add X, X, UX
126+ add TMP1, TOP, TMP1, asl #2 126+ add TMP1, TOP, TMP1, asl #2
127+ vshll.u16 q10, d2, #8 127+ vshll.u16 q10, d2, #8
128+ vld1.32 {d0}, [TMP1], STRIDE 128+ vld1.32 {d0}, [TMP1], STRIDE
129+ mov TMP2, X, asr #16 129+ mov TMP2, X, asr #16
130+ add X, X, UX 130+ add X, X, UX
131+ add TMP2, TOP, TMP2, asl #2 131+ add TMP2, TOP, TMP2, asl #2
132+ vmlsl.u16 q9, d6, d30 132+ vmlsl.u16 q9, d6, d30
133+ vmlsl.u16 q10, d2, d31 133+ vmlsl.u16 q10, d2, d31
134+ vld1.32 {d1}, [TMP1] 134+ vld1.32 {d1}, [TMP1]
135+ mov TMP3, X, asr #16 135+ mov TMP3, X, asr #16
136+ add X, X, UX 136+ add X, X, UX
137+ add TMP3, TOP, TMP3, asl #2 137+ add TMP3, TOP, TMP3, asl #2
138+ vmlal.u16 q9, d7, d30 138+ vmlal.u16 q9, d7, d30
139+ vmlal.u16 q10, d3, d31 139+ vmlal.u16 q10, d3, d31
140+ vld1.32 {d2}, [TMP2], STRIDE 140+ vld1.32 {d2}, [TMP2], STRIDE
141+ mov TMP4, X, asr #16 141+ mov TMP4, X, asr #16
142+ add X, X, UX 142+ add X, X, UX
143+ add TMP4, TOP, TMP4, asl #2 143+ add TMP4, TOP, TMP4, asl #2
144+ vshr.u16 q15, q12, #8 144+ vshr.u16 q15, q12, #8
145+ vadd.u16 q12, q12, q13 145+ vadd.u16 q12, q12, q13
146+ vld1.32 {d3}, [TMP2] 146+ vld1.32 {d3}, [TMP2]
147+ vdup.32 d22, d22[0] 147+ vdup.32 d22, d22[0]
148+ vshrn.u32 d18, q9, #16 148+ vshrn.u32 d18, q9, #16
149+ vshrn.u32 d19, q10, #16 149+ vshrn.u32 d19, q10, #16
150+ vmull.u8 q2, d0, d28 150+ vmull.u8 q2, d0, d28
151+ vmull.u8 q3, d2, d28 151+ vmull.u8 q3, d2, d28
152+ vmovn.u16 d17, q9 152+ vmovn.u16 d17, q9
153+ vld1.32 {d18, d19}, [OUT, :128] 153+ vld1.32 {d18, d19}, [OUT, :128]
154+ pld [OUT, #(prefetch_offset * 4)] 154+ pld [OUT, #(prefetch_offset * 4)]
155+ vmlal.u8 q2, d1, d29 155+ vmlal.u8 q2, d1, d29
156+ vmlal.u8 q3, d3, d29 156+ vmlal.u8 q3, d3, d29
157+ vuzp.8 d16, d17 157+ vuzp.8 d16, d17
158+ vuzp.8 d18, d19 158+ vuzp.8 d18, d19
159+ vshll.u16 q0, d4, #8 159+ vshll.u16 q0, d4, #8
160+ vshll.u16 q1, d6, #8 160+ vshll.u16 q1, d6, #8
161+ vuzp.8 d16, d17 161+ vuzp.8 d16, d17
162+ vuzp.8 d18, d19 162+ vuzp.8 d18, d19
163+ vmlsl.u16 q0, d4, d30 163+ vmlsl.u16 q0, d4, d30
164+ vmlsl.u16 q1, d6, d31 164+ vmlsl.u16 q1, d6, d31
165+ vmull.u8 q10, d16, d22 165+ vmull.u8 q10, d16, d22
166+ vmull.u8 q11, d17, d22 166+ vmull.u8 q11, d17, d22
167+ vmlal.u16 q0, d5, d30 167+ vmlal.u16 q0, d5, d30
168+ vmlal.u16 q1, d7, d31 168+ vmlal.u16 q1, d7, d31
169+ vrsra.u16 q10, q10, #8 169+ vrsra.u16 q10, q10, #8
170+ vrsra.u16 q11, q11, #8 170+ vrsra.u16 q11, q11, #8
171+ vshrn.u32 d0, q0, #16 171+ vshrn.u32 d0, q0, #16
172+ vshrn.u32 d1, q1, #16 172+ vshrn.u32 d1, q1, #16
173+ vrshrn.u16 d16, q10, #8 173+ vrshrn.u16 d16, q10, #8
174+ vrshrn.u16 d17, q11, #8 174+ vrshrn.u16 d17, q11, #8
175+ vld1.32 {d2}, [TMP3], STRIDE 175+ vld1.32 {d2}, [TMP3], STRIDE
176+ vdup.32 d22, d17[1] 176+ vdup.32 d22, d17[1]
177+ vld1.32 {d3}, [TMP3] 177+ vld1.32 {d3}, [TMP3]
178+ vmvn.8 d22, d22 178+ vmvn.8 d22, d22
179+ pld [TMP4, PF_OFFS] 179+ pld [TMP4, PF_OFFS]
180+ vld1.32 {d4}, [TMP4], STRIDE 180+ vld1.32 {d4}, [TMP4], STRIDE
181+ vmull.u8 q10, d18, d22 181+ vmull.u8 q10, d18, d22
182+ vmull.u8 q11, d19, d22 182+ vmull.u8 q11, d19, d22
183+ vld1.32 {d5}, [TMP4] 183+ vld1.32 {d5}, [TMP4]
184+ pld [TMP4, PF_OFFS] 184+ pld [TMP4, PF_OFFS]
185+ vmull.u8 q3, d2, d28 185+ vmull.u8 q3, d2, d28
186+ vrshr.u16 q9, q10, #8 186+ vrshr.u16 q9, q10, #8
187+ vrshr.u16 q15, q11, #8 187+ vrshr.u16 q15, q11, #8
188+ vmlal.u8 q3, d3, d29 188+ vmlal.u8 q3, d3, d29
189+ vmull.u8 q1, d4, d28 189+ vmull.u8 q1, d4, d28
190+ vraddhn.u16 d18, q9, q10 190+ vraddhn.u16 d18, q9, q10
191+ vraddhn.u16 d19, q15, q11 191+ vraddhn.u16 d19, q15, q11
192+ vmlal.u8 q1, d5, d29 192+ vmlal.u8 q1, d5, d29
193+ vshr.u16 q15, q12, #8 193+ vshr.u16 q15, q12, #8
194+ vqadd.u8 q9, q8, q9 194+ vqadd.u8 q9, q8, q9
195+ vld1.32 {d22[0]}, [MASK]! 195+ vld1.32 {d22[0]}, [MASK]!
196+ vuzp.8 d18, d19 196+ vuzp.8 d18, d19
197+ vadd.u16 q12, q12, q13 197+ vadd.u16 q12, q12, q13
198+ vuzp.8 d18, d19 198+ vuzp.8 d18, d19
199+ vmovn.u16 d16, q0 199+ vmovn.u16 d16, q0
200+ vst1.32 {d18, d19}, [OUT, :128]! 200+ vst1.32 {d18, d19}, [OUT, :128]!
201 .endm 201 .endm
202 202
203 /* add_8888_8888 */ 203 /* add_8888_8888 */
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Standard-fast-path-src_n_8_8888.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Standard-fast-path-src_n_8_8888.patch
index 53e9d72cd..9588e3368 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0001-ARM-NEON-Standard-fast-path-src_n_8_8888.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0006-ARM-NEON-Standard-fast-path-src_n_8_8888.patch
@@ -1,7 +1,7 @@
1From f7d1d45e30b59b513d48294de50dc86af60ea68c Mon Sep 17 00:00:00 2001 1From 2851a24d4562437cfb333568fcab1ce9861033a8 Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Mon, 26 Sep 2011 17:03:54 +0900 3Date: Mon, 26 Sep 2011 17:03:54 +0900
4Subject: [PATCH 1/8] ARM: NEON: Standard fast path src_n_8_8888 4Subject: [PATCH 6/8] ARM: NEON: Standard fast path src_n_8_8888
5 5
6Performance numbers of before/after on cortex-a8 @ 1GHz 6Performance numbers of before/after on cortex-a8 @ 1GHz
7 7
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Standard-fast-path-src_n_8_8.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Standard-fast-path-src_n_8_8.patch
index d0a4b4546..7c67001cc 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0002-ARM-NEON-Standard-fast-path-src_n_8_8.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0007-ARM-NEON-Standard-fast-path-src_n_8_8.patch
@@ -1,7 +1,7 @@
1From fc92ad56c5218157a097f6ed0c06196be9f74906 Mon Sep 17 00:00:00 2001 1From 34ce640914e06f2e23a0a93a3a49ec0bfff7497b Mon Sep 17 00:00:00 2001
2From: Taekyun Kim <tkq.kim@samsung.com> 2From: Taekyun Kim <tkq.kim@samsung.com>
3Date: Mon, 26 Sep 2011 18:33:27 +0900 3Date: Mon, 26 Sep 2011 18:33:27 +0900
4Subject: [PATCH 2/8] ARM: NEON: Standard fast path src_n_8_8 4Subject: [PATCH 7/8] ARM: NEON: Standard fast path src_n_8_8
5 5
6Performance numbers of before/after on cortex-a8 @ 1GHz 6Performance numbers of before/after on cortex-a8 @ 1GHz
7 7
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch
index 903f1f7f1..34f96ed1d 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman-0.23.6/0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch
@@ -1,4 +1,4 @@
1From d65a08904857d87dcd74b87681c9b94390b76eff Mon Sep 17 00:00:00 2001 1From 0c7aa6a3ebc29d7986d2417371df210f3e9a65b4 Mon Sep 17 00:00:00 2001
2From: Siarhei Siamashka <siarhei.siamashka@nokia.com> 2From: Siarhei Siamashka <siarhei.siamashka@nokia.com>
3Date: Tue, 16 Mar 2010 16:55:28 +0100 3Date: Tue, 16 Mar 2010 16:55:28 +0100
4Subject: [PATCH 8/8] Generic C implementation of pixman_blt with overlapping support 4Subject: [PATCH 8/8] Generic C implementation of pixman_blt with overlapping support
@@ -19,7 +19,7 @@ unrealistic case anyway).
19 2 files changed, 61 insertions(+), 3 deletions(-) 19 2 files changed, 61 insertions(+), 3 deletions(-)
20 20
21diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c 21diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
22index 2ccdfcd..6f7bb34 100644 22index 2ccdfcd..90461b6 100644
23--- a/pixman/pixman-general.c 23--- a/pixman/pixman-general.c
24+++ b/pixman/pixman-general.c 24+++ b/pixman/pixman-general.c
25@@ -227,9 +227,24 @@ general_blt (pixman_implementation_t *imp, 25@@ -227,9 +227,24 @@ general_blt (pixman_implementation_t *imp,
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb b/meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb
index bbdffef1d..10bf6e119 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb
@@ -9,16 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\
9 file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \ 9 file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
10 " 10 "
11 11
12PR = "${INC_PR}.0" 12PR = "${INC_PR}.1"
13 13
14SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/${BPN}-${PV}.tar.gz \ 14SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/${BPN}-${PV}.tar.gz \
15 file://0003-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch \ 15 file://0001-ARM-NEON-Some-cleanup-of-bilinear-scanline-functions.patch \
16 file://0004-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch \ 16 file://0002-ARM-NEON-Bilinear-macro-template-for-instruction-sch.patch \
17 file://0005-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch \ 17 file://0003-ARM-NEON-Replace-old-bilinear-scanline-generator-wit.patch \
18 file://0006-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch \ 18 file://0004-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch \
19 file://0007-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch \ 19 file://0005-ARM-NEON-Instruction-scheduling-of-bilinear-over_888.patch \
20 file://0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch \ 20 file://0008-Generic-C-implementation-of-pixman_blt-with-overlapp.patch \
21" 21 "
22 22
23SRC_URI[md5sum] = "27eb7a0ec440c89cccd7c396c3581041" 23SRC_URI[md5sum] = "27eb7a0ec440c89cccd7c396c3581041"
24SRC_URI[sha256sum] = "4e35f49474e78a9430d93caaaea8bbf7e30b65f0da33c31f15a988c25a3ac369" 24SRC_URI[sha256sum] = "4e35f49474e78a9430d93caaaea8bbf7e30b65f0da33c31f15a988c25a3ac369"