diff options
author | mtklein <mtklein@chromium.org> | 2015-05-21 17:14:51 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-05-21 17:14:51 -0700 |
commit | 4e13a23d8f720e17660f26657b45b89fe4339004 (patch) | |
tree | 1e52d18af245937ab036fdcf0deb70143a36d661 /src/core/SkBlitRow_D32.cpp | |
parent | 5559ca2a18687ef16b2fc92d8fcacbc1c3e93d54 (diff) |
Re-proc SkBlitRow::Color32 for ARM.
This is a spiritual revert of http://crrev.com/1104183004.
BUG=skia:
Review URL: https://codereview.chromium.org/1145283003
Diffstat (limited to 'src/core/SkBlitRow_D32.cpp')
-rw-r--r-- | src/core/SkBlitRow_D32.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/SkBlitRow_D32.cpp b/src/core/SkBlitRow_D32.cpp index f5cb45d0fa..07a5d875b8 100644 --- a/src/core/SkBlitRow_D32.cpp +++ b/src/core/SkBlitRow_D32.cpp @@ -144,6 +144,11 @@ void SkBlitRow::Color32(SkPMColor dst[], const SkPMColor src[], int count, SkPMC case 255: sk_memset32(dst, color, count); return; } + // This Sk4px impl works great on other platforms or when we have NEON. +#if defined(SK_CPU_ARM32) && !defined(SK_ARM_HAS_NEON) + if (auto proc = PlatformColor32Proc()) { return proc(dst, src, count, color); } +#endif + unsigned invA = 255 - SkGetPackedA32(color); invA += invA >> 7; SkASSERT(invA < 256); // We've already handled alpha == 0 above. |