[Pixman] [PATCH 00/12] More ARM NEON fast path functions, used by firefox
Siarhei Siamashka
siarhei.siamashka at gmail.com
Mon Nov 29 13:36:04 PST 2010
From: Siarhei Siamashka <siarhei.siamashka at nokia.com>
This patchset implements some new ARM NEON fast paths for pixman. The
need for these fast paths was identified by running a firefox browser with
16bpp desktop. The firefox browser used for this test was configured and
built with '--enable-mobile-optimize' and '--enable-system-pixman' options.
In order to avoid unnecessary code duplication and reduce redundancy,
some of the assembly macros have been updated to support multiple
variants of the same compositing operation which only differ by using
solid source or solid mask. For example, now the same code is reused for
'over_n_8_0565', 'over_8888_n_0565' and 'over_8888_8_0565' fast paths.
Just because this code had to be updated anyway, it also got some extra
performance tuning for ARM Cortex-A8/Cortex-A9.
Hopefully this covers most of the missing optimizations for unscaled
compositing operations used by firefox. Though it depends on the
websites content, so surely something could have been missed.
The patches are also available in the following git branch:
http://cgit.freedesktop.org/~siamashka/pixman/log/?h=sent/arm-neon-faster-firefox-20101129
Siarhei Siamashka (12):
ARM: added 'neon_composite_over_n_8_8' fast path
ARM: introduced 'fetch_mask_pixblock' macro to simplify code
ARM: better NEON instructions scheduling for over_n_8_0565
ARM: added 'neon_composite_over_8888_n_0565' fast path
ARM: reuse common NEON code for over_{n_8|8888_n|8888_8}_0565
ARM: added 'neon_composite_over_0565_n_0565' fast path
ARM: added 'neon_composite_add_8888_8_8888' fast path
ARM: better NEON instructions scheduling for add_8888_8888_8888
ARM: added 'neon_composite_add_n_8_8888' fast path
ARM: added 'neon_composite_add_8888_n_8888' fast path
ARM: added flags parameter to some asm fast path wrapper macros
ARM: added 'neon_composite_in_n_8' fast path
pixman/pixman-arm-common.h | 15 +-
pixman/pixman-arm-neon-asm.S | 473 +++++++++++++++++++++++++++++++++--------
pixman/pixman-arm-neon-asm.h | 5 +
pixman/pixman-arm-neon.c | 42 +++-
pixman/pixman-arm-simd.c | 4 +-
5 files changed, 430 insertions(+), 109 deletions(-)
--
1.7.2.2
More information about the Pixman
mailing list