summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiarhei Siamashka <siarhei.siamashka@nokia.com>2010-10-04 04:49:08 +0300
committerSiarhei Siamashka <siarhei.siamashka@nokia.com>2010-10-11 01:07:07 +0300
commit8d76c1b3391e1165aaf9e0f331749aee1394f62c (patch)
treedbae5d020dde83a7ddd5ff0fb3c9d289717a901c
parentc748650d700c2f18f1587f06ada3b58d6ddc18d3 (diff)
ARM: restore fallback to ARMv6 implementation from NEON in the delegate chain
After fast path cache introduction, the overhead of having this fallback is insignificant. On the other hand, some of the ARM assembly optimizations (for example nearest neighbor scaling) do not need NEON.
-rw-r--r--pixman/pixman-arm-neon.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
index 54b5540b..be5d403e 100644
--- a/pixman/pixman-arm-neon.c
+++ b/pixman/pixman-arm-neon.c
@@ -355,9 +355,13 @@ BIND_COMBINE_U (out_reverse)
pixman_implementation_t *
_pixman_implementation_create_arm_neon (void)
{
- pixman_implementation_t *general = _pixman_implementation_create_fast_path ();
+#ifdef USE_ARM_SIMD
+ pixman_implementation_t *fallback = _pixman_implementation_create_arm_simd ();
+#else
+ pixman_implementation_t *fallback = _pixman_implementation_create_fast_path ();
+#endif
pixman_implementation_t *imp =
- _pixman_implementation_create (general, arm_neon_fast_paths);
+ _pixman_implementation_create (fallback, arm_neon_fast_paths);
imp->combine_32[PIXMAN_OP_OVER] = neon_combine_over_u;
imp->combine_32[PIXMAN_OP_ADD] = neon_combine_add_u;