ARM Skia NEON patches - 11 - Blitter_RGB16
authorcommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 8 Aug 2013 10:51:45 +0000 (10:51 +0000)
committercommit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 8 Aug 2013 10:51:45 +0000 (10:51 +0000)
commit641a2491964f7e5921fad6649be08175e03b0434
tree89d0b39e0dfb2f48c68c0da7ebce7c5fe421e145
parentd55e357a8e276d1f1cd6231d57dda339a2beb76f
ARM Skia NEON patches - 11 - Blitter_RGB16

Blitter_RGB16: fixes and improvements

- fix alpha calculation: it was still using the old version of
  SkAlpha255To256. 11 more tests pass in gm.

- clean a lot the code: the existing code was "a bit" messy with
  a lot of duplicated hardcoded constants, got rid of all this.

- improve speed a little: part of it as a side-effect of the change
  in the way alpha is calculated but also by grouping loads and stores.

One "issue" was present and still remains: the NEON code doesn't give
the same result as the black blitter on black. It accounts for dozens
of mismatches in gm. Is this considered "not too bad"? Would you be
interested in a NEON version of the black blitter? The current
comments seem to indicate that the black blitter is here only to give
a performance boost when NEON is not presents so I didn't write a NEON
version.

BUG=
R=djsollen@google.com, tomhudson@google.com, reed@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://chromiumcodereview.appspot.com/18666005

git-svn-id: http://skia.googlecode.com/svn/trunk@10635 2bbb7eff-a529-9590-31e7-b0007b416f81
src/core/SkBlitter_RGB16.cpp