summaryrefslogtreecommitdiff
path: root/pixman/pixman-arm-neon.c
diff options
context:
space:
mode:
authorSiarhei Siamashka <siarhei.siamashka@nokia.com>2010-02-24 01:44:00 +0200
committerSiarhei Siamashka <siarhei.siamashka@nokia.com>2010-03-03 19:42:29 +0200
commit2ed7c13922f83404bd9976c00d00738d0314693f (patch)
tree1a4fa8805e04272325378cd149d6fd8c0f5a44e6 /pixman/pixman-arm-neon.c
parent7bc4cd42c3549f3f2354f50a7cf21ce9ccc8de7b (diff)
downloadpixman-2ed7c13922f83404bd9976c00d00738d0314693f.tar.gz
ARM: added 'neon_composite_over_n_8888_8888_ca' fast path
This fast path function improves performance of 'firefox-talos-gfx' cairo-perf trace. Benchmark from ARM Cortex-A8 @720MHz before: [ # ] backend test min(s) median(s) stddev. count [ 0] image firefox-talos-gfx 139.969 141.176 0.35% 6/6 after: [ # ] backend test min(s) median(s) stddev. count [ 0] image firefox-talos-gfx 111.810 112.196 0.23% 6/6
Diffstat (limited to 'pixman/pixman-arm-neon.c')
-rw-r--r--pixman/pixman-arm-neon.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
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)
BIND_N_MASK_DST(over_n_8_0565, uint8_t, 1, uint16_t, 1)
BIND_N_MASK_DST(over_n_8_8888, uint8_t, 1, uint32_t, 1)
+BIND_N_MASK_DST(over_n_8888_8888_ca, uint32_t, 1, uint32_t, 1)
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,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),