aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/xorg-lib
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-02-26 20:10:10 +0100
committerKoen Kooi <koen@openembedded.org>2010-02-26 21:51:46 +0100
commitb6e82ec5da43b07d96e6fe2ba251e6783004a344 (patch)
treea5c8861757054c7849764eb88477aeda530ac27c /recipes/xorg-lib
parent49866f6c6aff571001831ae71b4392e117a68edc (diff)
downloadopenembedded-b6e82ec5da43b07d96e6fe2ba251e6783004a344.tar.gz
pixman 0.17.8: update neon patches to also include BGRA
Diffstat (limited to 'recipes/xorg-lib')
-rw-r--r--recipes/xorg-lib/pixman-0.17.8/1-composite.patch46
-rw-r--r--recipes/xorg-lib/pixman-0.17.8/2-composite.patch12
-rw-r--r--recipes/xorg-lib/pixman-0.17.8/3-composite.patch11
-rw-r--r--recipes/xorg-lib/pixman_0.17.8.bb7
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"
-