pixman 0.17.8: update neon patches to also include BGRA
authorKoen Kooi <koen@openembedded.org>
Fri, 26 Feb 2010 19:10:10 +0000 (20:10 +0100)
committerKoen Kooi <koen@openembedded.org>
Fri, 26 Feb 2010 20:51:46 +0000 (21:51 +0100)
recipes/xorg-lib/pixman-0.17.8/1-composite.patch
recipes/xorg-lib/pixman-0.17.8/2-composite.patch
recipes/xorg-lib/pixman-0.17.8/3-composite.patch
recipes/xorg-lib/pixman_0.17.8.bb

index 761a2b9..31bfa39 100644 (file)
@@ -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, d}
 +     */
 +    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),
index 96c87e2..84d4d9c 100644 (file)
@@ -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),
index 81f3ff1..06e40fe 100644 (file)
@@ -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 },
  };
index 7ddb142..adc0c4e 100644 (file)
@@ -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"
-