[Pixman] [PATCH 0/8] SIMD optimizations for nearest scaling with mask

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Feb 3 18:10:53 PST 2011


From: Siarhei Siamashka <siarhei.siamashka at 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



More information about the Pixman mailing list