From: Siarhei Siamashka <siarhei.siamas...@nokia.com> Some of the scaled compositing operations are also using mask. Fortunately practically all of them are simple enough to handle and basically represent two cases: 1. non-scaled a8 mask with SAMPLES_COVER_CLIP flag 2. solid mask
More details based on cairo traces analysis can be found here: http://lists.freedesktop.org/archives/pixman/2010-December/000813.html This set of patches provides support for these two types of mask in the nearest scaling main loop macro template and also implements a few ARM NEON and SSE2 optimizations. Some more nearest scaling C fast paths are also available (and have been used for testing this code) but are not included yet because they are not always beneficial: http://lists.freedesktop.org/archives/pixman/2011-January/000949.html The same patches are also available in the following branch: http://cgit.freedesktop.org/~siamashka/pixman/log/?h=sent/nearest-scaling-with-mask-20110204 Siarhei Siamashka (8): Use const modifiers for source buffers in nearest scaling fast paths test: Extend scaling-test to support a8/solid mask and ADD operation Support for a8 and solid mask in nearest scaling main loop template Better support for NONE repeat in nearest scaling main loop template ARM: new macro template for using scaled fast paths with a8 mask ARM: NEON optimization for nearest scaled over_8888_8_0565 ARM: NEON optimization for nearest scaled over_0565_8_0565 SSE2 optimization for nearest scaled over_8888_n_8888 pixman/pixman-arm-common.h | 59 ++++++++++++-- pixman/pixman-arm-neon-asm.S | 28 +++++++ pixman/pixman-arm-neon.c | 11 +++ pixman/pixman-fast-path.c | 13 ++-- pixman/pixman-fast-path.h | 185 +++++++++++++++++++++++++++++++++++++----- pixman/pixman-sse2.c | 124 ++++++++++++++++++++++++++++- test/scaling-test.c | 136 +++++++++++++++++++++++++++++-- 7 files changed, 511 insertions(+), 45 deletions(-) -- 1.7.3.4 _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman