summaryrefslogtreecommitdiff
path: root/recipes/xorg-lib/pixman-0.17.8/1-composite.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/xorg-lib/pixman-0.17.8/1-composite.patch')
-rw-r--r--recipes/xorg-lib/pixman-0.17.8/1-composite.patch46
1 files changed, 23 insertions, 23 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),