diff options
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.patch | 46 |
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), |