diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2011-10-18 11:01:20 +0200 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-10-18 11:18:12 +0200 |
commit | ef33e684652db8b8fbc381a8ddd8e90c02f502df (patch) | |
tree | 113baa0ea80c4c48f3c0bead6af56fe78fe9dfb6 /meta-oe/recipes-graphics/xorg-lib | |
parent | 7b6e75d043a833b059ec6a39bf998999ef8f3d9e (diff) | |
download | meta-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.patch | 4 | ||||
-rw-r--r-- | meta-oe/recipes-graphics/xorg-lib/pixman_0.23.6.bb | 14 |
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 @@ | |||
1 | From ed7580525054e6a543694088c561dee525b4ae28 Mon Sep 17 00:00:00 2001 | 1 | From 809b8d4e3707c8617cafafb8a16b1b48e2477311 Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Tue, 20 Sep 2011 19:46:25 +0900 | 3 | Date: Tue, 20 Sep 2011 19:46:25 +0900 |
4 | Subject: [PATCH 3/8] ARM: NEON: Some cleanup of bilinear scanline functions | 4 | Subject: [PATCH 1/8] ARM: NEON: Some cleanup of bilinear scanline functions |
5 | 5 | ||
6 | Use STRIDE and initial horizontal weight update is done before | 6 | Use STRIDE and initial horizontal weight update is done before |
7 | entering interpolation loop. Cache preload for mask and dst. | 7 | entering 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 @@ | |||
1 | From 524d1cc7acb753167fffdd08d8c10bf71e0634ba Mon Sep 17 00:00:00 2001 | 1 | From ce2fd2ac6aab2c14916d332ade47d72b06d504c1 Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Tue, 20 Sep 2011 21:32:35 +0900 | 3 | Date: Tue, 20 Sep 2011 21:32:35 +0900 |
4 | Subject: [PATCH 4/8] ARM: NEON: Bilinear macro template for instruction scheduling | 4 | Subject: [PATCH 2/8] ARM: NEON: Bilinear macro template for instruction scheduling |
5 | 5 | ||
6 | This macro template takes 6 code blocks. | 6 | This 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 @@ | |||
1 | From 10b257b46f379d9c79483acd55c9a13fff130843 Mon Sep 17 00:00:00 2001 | 1 | From 8d0460c4f1b23f3a13e9ff7282b30dd06f10aee1 Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Fri, 23 Sep 2011 00:03:22 +0900 | 3 | Date: Fri, 23 Sep 2011 00:03:22 +0900 |
4 | Subject: [PATCH 5/8] ARM: NEON: Replace old bilinear scanline generator with new template | 4 | Subject: [PATCH 3/8] ARM: NEON: Replace old bilinear scanline generator with new template |
5 | 5 | ||
6 | Bilinear scanline functions in pixman-arm-neon-asm-bilinear.S can | 6 | Bilinear scanline functions in pixman-arm-neon-asm-bilinear.S can |
7 | be replaced with new template just by wrapping existing macros. | 7 | be 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 @@ | |||
1 | From c8f7edaebd510ba120d74102a93ad4d202b0e806 Mon Sep 17 00:00:00 2001 | 1 | From b9009d108277b42ebb4c0ea03eb3fb5845106497 Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Wed, 21 Sep 2011 15:52:13 +0900 | 3 | Date: Wed, 21 Sep 2011 15:52:13 +0900 |
4 | Subject: [PATCH 6/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8888 | 4 | Subject: [PATCH 4/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8888 |
5 | 5 | ||
6 | Instructions are reordered to eliminate pipeline stalls and get | 6 | Instructions are reordered to eliminate pipeline stalls and get |
7 | better memory access. | 7 | better 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 | ||
18 | diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S | 18 | diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S |
19 | index 25bcb24..76937e0 100644 | 19 | index 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 @@ | |||
1 | From 94585f9a618821a5c06c3a497902579b4a08b05f Mon Sep 17 00:00:00 2001 | 1 | From c98ce663e2a5dd1e65013053f461c3aac9a3922e Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Mon, 26 Sep 2011 19:04:53 +0900 | 3 | Date: Mon, 26 Sep 2011 19:04:53 +0900 |
4 | Subject: [PATCH 7/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888 | 4 | Subject: [PATCH 5/8] ARM: NEON: Instruction scheduling of bilinear over_8888_8_8888 |
5 | 5 | ||
6 | Instructions are reordered to eliminate pipeline stalls and get | 6 | Instructions are reordered to eliminate pipeline stalls and get |
7 | better memory access. | 7 | better 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 | ||
18 | diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S | 18 | diff --git a/pixman/pixman-arm-neon-asm-bilinear.S b/pixman/pixman-arm-neon-asm-bilinear.S |
19 | index 76937e0..4ab46e1 100644 | 19 | index 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 @@ | |||
1 | From f7d1d45e30b59b513d48294de50dc86af60ea68c Mon Sep 17 00:00:00 2001 | 1 | From 2851a24d4562437cfb333568fcab1ce9861033a8 Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Mon, 26 Sep 2011 17:03:54 +0900 | 3 | Date: Mon, 26 Sep 2011 17:03:54 +0900 |
4 | Subject: [PATCH 1/8] ARM: NEON: Standard fast path src_n_8_8888 | 4 | Subject: [PATCH 6/8] ARM: NEON: Standard fast path src_n_8_8888 |
5 | 5 | ||
6 | Performance numbers of before/after on cortex-a8 @ 1GHz | 6 | Performance 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 @@ | |||
1 | From fc92ad56c5218157a097f6ed0c06196be9f74906 Mon Sep 17 00:00:00 2001 | 1 | From 34ce640914e06f2e23a0a93a3a49ec0bfff7497b Mon Sep 17 00:00:00 2001 |
2 | From: Taekyun Kim <tkq.kim@samsung.com> | 2 | From: Taekyun Kim <tkq.kim@samsung.com> |
3 | Date: Mon, 26 Sep 2011 18:33:27 +0900 | 3 | Date: Mon, 26 Sep 2011 18:33:27 +0900 |
4 | Subject: [PATCH 2/8] ARM: NEON: Standard fast path src_n_8_8 | 4 | Subject: [PATCH 7/8] ARM: NEON: Standard fast path src_n_8_8 |
5 | 5 | ||
6 | Performance numbers of before/after on cortex-a8 @ 1GHz | 6 | Performance 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 @@ | |||
1 | From d65a08904857d87dcd74b87681c9b94390b76eff Mon Sep 17 00:00:00 2001 | 1 | From 0c7aa6a3ebc29d7986d2417371df210f3e9a65b4 Mon Sep 17 00:00:00 2001 |
2 | From: Siarhei Siamashka <siarhei.siamashka@nokia.com> | 2 | From: Siarhei Siamashka <siarhei.siamashka@nokia.com> |
3 | Date: Tue, 16 Mar 2010 16:55:28 +0100 | 3 | Date: Tue, 16 Mar 2010 16:55:28 +0100 |
4 | Subject: [PATCH 8/8] Generic C implementation of pixman_blt with overlapping support | 4 | Subject: [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 | ||
21 | diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c | 21 | diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c |
22 | index 2ccdfcd..6f7bb34 100644 | 22 | index 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 | ||
12 | PR = "${INC_PR}.0" | 12 | PR = "${INC_PR}.1" |
13 | 13 | ||
14 | SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/${BPN}-${PV}.tar.gz \ | 14 | SRC_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 | ||
23 | SRC_URI[md5sum] = "27eb7a0ec440c89cccd7c396c3581041" | 23 | SRC_URI[md5sum] = "27eb7a0ec440c89cccd7c396c3581041" |
24 | SRC_URI[sha256sum] = "4e35f49474e78a9430d93caaaea8bbf7e30b65f0da33c31f15a988c25a3ac369" | 24 | SRC_URI[sha256sum] = "4e35f49474e78a9430d93caaaea8bbf7e30b65f0da33c31f15a988c25a3ac369" |