aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkMipMap.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2016-12-14 01:48:17 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-12-14 01:48:30 +0000
commit8ba64d1996ba6c9ecfb12132cdab7d5d99af7456 (patch)
treefcf70bfbe651656343a39dc1e167c36e8bb6c445 /src/core/SkMipMap.cpp
parentbde5d5dc2e628f4d1cfb9925a202b29303b0df6b (diff)
Revert "SkNx basically always is fast now."
This reverts commit 21f783829619186442041de6008f7f58f4f6250d. Reason for revert: roll? Original change's description: > SkNx basically always is fast now. > > We had this SKNX_IS_FAST hanging around from before Chrome always built with NEON. > > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > Change-Id: Ia5cc0323b3ef052192e2903f961aee11eb3f82d8 > Reviewed-on: https://skia-review.googlesource.com/5946 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Reed <reed@google.com> > Reviewed-by: Florin Malita <fmalita@chromium.org> > TBR=mtklein@chromium.org,fmalita@chromium.org,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0e57285c68eae0a64213fe29ea4cca5519777954 Reviewed-on: https://skia-review.googlesource.com/6040 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/core/SkMipMap.cpp')
-rw-r--r--src/core/SkMipMap.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp
index 987949fea0..ba3cb18749 100644
--- a/src/core/SkMipMap.cpp
+++ b/src/core/SkMipMap.cpp
@@ -23,6 +23,7 @@
struct ColorTypeFilter_8888 {
typedef uint32_t Type;
+#if defined(SKNX_IS_FAST)
static Sk4h Expand(uint32_t x) {
return SkNx_cast<uint16_t>(Sk4b::Load(&x));
}
@@ -31,6 +32,14 @@ struct ColorTypeFilter_8888 {
SkNx_cast<uint8_t>(x).store(&r);
return r;
}
+#else
+ static uint64_t Expand(uint32_t x) {
+ return (x & 0xFF00FF) | ((uint64_t)(x & 0xFF00FF00) << 24);
+ }
+ static uint32_t Compact(uint64_t x) {
+ return (uint32_t)((x & 0xFF00FF) | ((x >> 24) & 0xFF00FF00));
+ }
+#endif
};
struct ColorTypeFilter_S32 {