From: Siarhei Siamashka <[email protected]> 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 _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
