aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBlitRow_D32.cpp
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-05-21 17:14:51 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-05-21 17:14:51 -0700
commit4e13a23d8f720e17660f26657b45b89fe4339004 (patch)
tree1e52d18af245937ab036fdcf0deb70143a36d661 /src/core/SkBlitRow_D32.cpp
parent5559ca2a18687ef16b2fc92d8fcacbc1c3e93d54 (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.cpp5
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.