diff options
-rw-r--r-- | recipes/xorg-lib/pixman-0.17.8/1-composite.patch | 46 | ||||
-rw-r--r-- | recipes/xorg-lib/pixman-0.17.8/2-composite.patch | 12 | ||||
-rw-r--r-- | recipes/xorg-lib/pixman-0.17.8/3-composite.patch | 11 | ||||
-rw-r--r-- | recipes/xorg-lib/pixman_0.17.8.bb | 7 |
4 files changed, 40 insertions, 36 deletions
diff --git a/recipes/xorg-lib/pixman-0.17.8/1-composite.patch b/recipes/xorg-lib/pixman-0.17.8/1-composite.patch index 761a2b937a..31bfa39cc4 100644 --- a/recipes/xorg-lib/pixman-0.17.8/1-composite.patch +++ b/recipes/xorg-lib/pixman-0.17.8/1-composite.patch @@ -1,4 +1,4 @@ -From 138d38f68bb2f955ca209f7412002a983a32a2fd Mon Sep 17 00:00:00 2001 +From 78652135f48c6a304fc2e75bc0e440b8b2034a4d Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka <siarhei.siamashka@nokia.com> Date: Tue, 23 Feb 2010 23:44:00 +0000 Subject: ARM: added 'neon_composite_over_n_8888_8888_ca' fast path @@ -19,10 +19,10 @@ after: [ 0] image firefox-talos-gfx 111.810 112.196 0.23% 6/6 --- diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index 2986884..2db4da8 100644 +index 2986884..e90d662 100644 --- a/pixman/pixman-arm-neon-asm.S +++ b/pixman/pixman-arm-neon-asm.S -@@ -1026,6 +1026,113 @@ generate_composite_function \ +@@ -1026,6 +1026,111 @@ generate_composite_function \ /******************************************************************************/ @@ -34,31 +34,29 @@ index 2986884..2db4da8 100644 + * dest in {d4, d5, d6, d7 } + * mask in {d24, d25, d26, d27} + * output: updated src in {d0, d1, d2, d3 } -+ * updated mask in {d24, d25, d26, d27} ++ * updated mask in {d24, d25, d26, d3 } + */ + vmull.u8 q0, d24, d8 + vmull.u8 q1, d25, d9 + vmull.u8 q6, d26, d10 + vmull.u8 q7, d27, d11 -+ vmull.u8 q9, d11, d24 -+ vmull.u8 q12, d11, d25 ++ vmull.u8 q9, d11, d25 ++ vmull.u8 q12, d11, d24 + vmull.u8 q13, d11, d26 -+ vrshr.u16 q10, q0, #8 -+ vrshr.u16 q11, q1, #8 -+ vrshr.u16 q8, q6, #8 -+ vraddhn.u16 d0, q0, q10 -+ vraddhn.u16 d1, q1, q11 -+ vraddhn.u16 d2, q6, q8 ++ vrshr.u16 q8, q0, #8 ++ vrshr.u16 q10, q1, #8 ++ vrshr.u16 q11, q6, #8 ++ vraddhn.u16 d0, q0, q8 ++ vraddhn.u16 d1, q1, q10 ++ vraddhn.u16 d2, q6, q11 ++ vrshr.u16 q11, q12, #8 ++ vrshr.u16 q8, q9, #8 ++ vrshr.u16 q6, q13, #8 + vrshr.u16 q10, q7, #8 -+ vrshr.u16 q11, q9, #8 -+ vrshr.u16 q8, q12, #8 ++ vraddhn.u16 d24, q12, q11 ++ vraddhn.u16 d25, q9, q8 ++ vraddhn.u16 d26, q13, q6 + vraddhn.u16 d3, q7, q10 -+ vrshr.u16 q10, q13, #8 -+ vraddhn.u16 d25, q12, q8 -+ vrshr.u16 q8, q7, #8 -+ vraddhn.u16 d24, q9, q11 -+ vraddhn.u16 d26, q13, q10 -+ vraddhn.u16 d27, q7, q8 + /* + * 'combine_over_ca' replacement + * @@ -69,7 +67,7 @@ index 2986884..2db4da8 100644 + vmull.u8 q8, d24, d4 + vmull.u8 q9, d25, d5 + vmvn.8 d26, d26 -+ vmvn.8 d27, d27 ++ vmvn.8 d27, d3 + vmull.u8 q10, d26, d6 + vmull.u8 q11, d27, d7 +.endm @@ -137,7 +135,7 @@ index 2986884..2db4da8 100644 /* expecting source data in {d8, d9, d10, d11} */ /* d8 - blue, d9 - green, d10 - red, d11 - alpha */ diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 557301e..00b5c35 100644 +index 557301e..3f0e18e 100644 --- a/pixman/pixman-arm-neon.c +++ b/pixman/pixman-arm-neon.c @@ -269,6 +269,7 @@ BIND_SRC_NULL_DST(over_8888_8888, uint32_t, 1, uint32_t, 1) @@ -148,12 +146,14 @@ index 557301e..00b5c35 100644 BIND_N_MASK_DST(add_n_8_8, uint8_t, 1, uint8_t, 1) BIND_SRC_N_DST(over_8888_n_8888, uint32_t, 1, uint32_t, 1) -@@ -412,6 +413,8 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = +@@ -412,6 +413,10 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = PIXMAN_STD_FAST_PATH (OVER, solid, null, r5g6b5, neon_composite_over_n_0565), PIXMAN_STD_FAST_PATH (OVER, solid, null, a8r8g8b8, neon_composite_over_n_8888), PIXMAN_STD_FAST_PATH (OVER, solid, null, x8r8g8b8, neon_composite_over_n_8888), + PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8r8g8b8, a8r8g8b8, neon_composite_over_n_8888_8888_ca), + PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8r8g8b8, x8r8g8b8, neon_composite_over_n_8888_8888_ca), ++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8b8g8r8, a8b8g8r8, neon_composite_over_n_8888_8888_ca), ++ PIXMAN_STD_FAST_PATH_CA (OVER, solid, a8b8g8r8, x8b8g8r8, neon_composite_over_n_8888_8888_ca), PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, solid, a8r8g8b8, neon_composite_over_8888_n_8888), PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, solid, x8r8g8b8, neon_composite_over_8888_n_8888), PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, a8, a8r8g8b8, neon_composite_over_8888_8_8888), diff --git a/recipes/xorg-lib/pixman-0.17.8/2-composite.patch b/recipes/xorg-lib/pixman-0.17.8/2-composite.patch index 96c87e2ac6..84d4d9c961 100644 --- a/recipes/xorg-lib/pixman-0.17.8/2-composite.patch +++ b/recipes/xorg-lib/pixman-0.17.8/2-composite.patch @@ -1,4 +1,4 @@ -From fa7f7b05fbb08b23678cf0d8928f1511e5a20ecc Mon Sep 17 00:00:00 2001 +From 6e0df74dbfca26f92a18d968e1bf410bae134c8a Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka <siarhei.siamashka@nokia.com> Date: Wed, 24 Feb 2010 00:26:57 +0000 Subject: ARM: added 'neon_composite_src_x888_8888' fast path @@ -19,7 +19,7 @@ after: [ 0] image gnome-system-monitor 53.336 53.384 0.09% 6/6 --- diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index 2db4da8..42ac1cb 100644 +index e90d662..f2643de 100644 --- a/pixman/pixman-arm-neon-asm.S +++ b/pixman/pixman-arm-neon-asm.S @@ -947,6 +947,44 @@ generate_composite_function \ @@ -68,7 +68,7 @@ index 2db4da8..42ac1cb 100644 /* expecting deinterleaved source data in {d8, d9, d10, d11} */ /* d8 - blue, d9 - green, d10 - red, d11 - alpha */ diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 00b5c35..12d92a2 100644 +index 3f0e18e..0a7ac31 100644 --- a/pixman/pixman-arm-neon.c +++ b/pixman/pixman-arm-neon.c @@ -251,6 +251,7 @@ neon_composite_##name (pixman_implementation_t *imp, \ @@ -79,16 +79,18 @@ index 00b5c35..12d92a2 100644 BIND_SRC_NULL_DST(src_0565_0565, uint16_t, 1, uint16_t, 1) BIND_SRC_NULL_DST(src_0888_0888, uint8_t, 3, uint8_t, 3) BIND_SRC_NULL_DST(src_8888_0565, uint32_t, 1, uint16_t, 1) -@@ -400,6 +401,8 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = +@@ -400,6 +401,10 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = PIXMAN_STD_FAST_PATH (SRC, x8r8g8b8, null, x8r8g8b8, neon_composite_src_8888_8888), PIXMAN_STD_FAST_PATH (SRC, a8b8g8r8, null, x8b8g8r8, neon_composite_src_8888_8888), PIXMAN_STD_FAST_PATH (SRC, x8b8g8r8, null, x8b8g8r8, neon_composite_src_8888_8888), + PIXMAN_STD_FAST_PATH (SRC, a8r8g8b8, null, a8r8g8b8, neon_composite_src_8888_8888), ++ PIXMAN_STD_FAST_PATH (SRC, a8b8g8r8, null, a8b8g8r8, neon_composite_src_8888_8888), + PIXMAN_STD_FAST_PATH (SRC, x8r8g8b8, null, a8r8g8b8, neon_composite_src_x888_8888), ++ PIXMAN_STD_FAST_PATH (SRC, x8b8g8r8, null, a8b8g8r8, neon_composite_src_x888_8888), PIXMAN_STD_FAST_PATH (SRC, r8g8b8, null, r8g8b8, neon_composite_src_0888_0888), PIXMAN_STD_FAST_PATH (SRC, b8g8r8, null, x8r8g8b8, neon_composite_src_0888_8888_rev), PIXMAN_STD_FAST_PATH (SRC, b8g8r8, null, r5g6b5, neon_composite_src_0888_0565_rev), -@@ -428,6 +431,7 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = +@@ -430,6 +435,7 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = PIXMAN_STD_FAST_PATH (OVER, a8r8g8b8, null, x8r8g8b8, neon_composite_over_8888_8888), PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, a8b8g8r8, neon_composite_over_8888_8888), PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, x8b8g8r8, neon_composite_over_8888_8888), diff --git a/recipes/xorg-lib/pixman-0.17.8/3-composite.patch b/recipes/xorg-lib/pixman-0.17.8/3-composite.patch index 81f3ff162b..06e40fe869 100644 --- a/recipes/xorg-lib/pixman-0.17.8/3-composite.patch +++ b/recipes/xorg-lib/pixman-0.17.8/3-composite.patch @@ -1,4 +1,4 @@ -From 80b75405277bacc0df0ef7d91f1a2eabefb97901 Mon Sep 17 00:00:00 2001 +From 19fc0c4c8d28796f0fbc2c8f47edc130851ae3a5 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka <siarhei.siamashka@nokia.com> Date: Wed, 24 Feb 2010 02:14:45 +0000 Subject: ARM: added 'neon_composite_over_reverse_n_8888' fast path @@ -7,6 +7,8 @@ This fast path function improves performance of 'poppler' cairo-perf trace. Benchmark from ARM Cortex-A8 @720MHz +before: + [ # ] backend test min(s) median(s) stddev. count [ 0] image poppler 38.986 39.158 0.23% 6/6 @@ -16,7 +18,7 @@ after: [ 0] image poppler 24.981 25.136 0.28% 6/6 --- diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index 42ac1cb..272da27 100644 +index f2643de..eb8cc4c 100644 --- a/pixman/pixman-arm-neon-asm.S +++ b/pixman/pixman-arm-neon-asm.S @@ -680,6 +680,61 @@ generate_composite_function \ @@ -82,7 +84,7 @@ index 42ac1cb..272da27 100644 /* in */ vmull.u8 q0, d24, d8 diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 12d92a2..417ce5a 100644 +index 0a7ac31..30c5056 100644 --- a/pixman/pixman-arm-neon.c +++ b/pixman/pixman-arm-neon.c @@ -264,6 +264,7 @@ BIND_SRC_NULL_DST(add_8888_8888, uint32_t, 1, uint32_t, 1) @@ -93,11 +95,12 @@ index 12d92a2..417ce5a 100644 BIND_SRC_NULL_DST(over_8888_0565, uint32_t, 1, uint16_t, 1) BIND_SRC_NULL_DST(over_8888_8888, uint32_t, 1, uint32_t, 1) -@@ -438,6 +439,7 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = +@@ -442,6 +443,8 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = PIXMAN_STD_FAST_PATH (ADD, a8, null, a8, neon_composite_add_8000_8000), PIXMAN_STD_FAST_PATH (ADD, a8r8g8b8, null, a8r8g8b8, neon_composite_add_8888_8888), PIXMAN_STD_FAST_PATH (ADD, a8b8g8r8, null, a8b8g8r8, neon_composite_add_8888_8888), + PIXMAN_STD_FAST_PATH (OVER_REVERSE, solid, null, a8r8g8b8, neon_composite_over_reverse_n_8888), ++ PIXMAN_STD_FAST_PATH (OVER_REVERSE, solid, null, a8b8g8r8, neon_composite_over_reverse_n_8888), { PIXMAN_OP_NONE }, }; diff --git a/recipes/xorg-lib/pixman_0.17.8.bb b/recipes/xorg-lib/pixman_0.17.8.bb index 7ddb142057..adc0c4e301 100644 --- a/recipes/xorg-lib/pixman_0.17.8.bb +++ b/recipes/xorg-lib/pixman_0.17.8.bb @@ -3,6 +3,8 @@ PRIORITY = "optional" DESCRIPTION = "Low-level pixel manipulation library." LICENSE = "X11" +PR = "r1" + DEFAULT_PREFERENCE = "-1" DEFAULT_PREFERENCE_angstrom = "2" DEFAULT_PREFERENCE_shr = "2" @@ -22,13 +24,10 @@ SRC_URI = "http://cairographics.org/releases/pixman-${PV}.tar.gz;name=archive \ SRC_URI[archive.md5sum] = "a7deb2ff6b286b676d67aa6ae91317ae" SRC_URI[archive.sha256sum] = "ea24e9003455a0881bd43bf7e4169f2b34c90c8521405103e3490553876a81b4" - -inherit autotools_stage +inherit autotools NEON = " --disable-arm-neon " NEON_armv7a = "" EXTRA_OECONF = "${NEON} --disable-gtk" -AUTOTOOLS_STAGE_PKGCONFIG = "1" - |