diff options
author | 2015-06-22 10:39:38 -0700 | |
---|---|---|
committer | 2015-06-22 10:39:38 -0700 | |
commit | 059ac00446404506a46cd303db15239c7aae49d5 (patch) | |
tree | 9b1795f68435d43647d8e039fa786854696d886c /src/opts/SkNx_neon.h | |
parent | 9a53fd7c41554630124522f4b6eedc16912abbb7 (diff) |
Update some Sk4px APIs.
Mostly this is about ergonomics, making it easier to do good operations and hard / impossible to do bad ones.
- SkAlpha / SkPMColor constructors become static factories.
- Remove div255TruncNarrow(), rename div255RoundNarrow() to div255(). In practice we always want to round, and the narrowing to 8-bit is contextually obvious.
- Rename fastMulDiv255Round() approxMulDiv255() to stress it's approximate-ness over its speed. Drop Round for the same reason as above... we should always round.
- Add operator overloads so we don't have to keep throwing in seemingly-random Sk4px() or Sk4px::Wide() casts.
- use operator*() for 8-bit x 8-bit -> 16-bit math. It's always what we want, and there's generally no 8x8->8 alternative.
- MapFoo can take a const Func&. Don't think it makes a big difference, but nice to do.
BUG=skia:
Review URL: https://codereview.chromium.org/1202013002
Diffstat (limited to 'src/opts/SkNx_neon.h')
-rw-r--r-- | src/opts/SkNx_neon.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/opts/SkNx_neon.h b/src/opts/SkNx_neon.h index 2087b8899b..da926e0b4c 100644 --- a/src/opts/SkNx_neon.h +++ b/src/opts/SkNx_neon.h @@ -361,10 +361,6 @@ public: SkNi operator + (const SkNi& o) const { return vaddq_u8(fVec, o.fVec); } SkNi operator - (const SkNi& o) const { return vsubq_u8(fVec, o.fVec); } - SkNi operator * (const SkNi& o) const { return vmulq_u8(fVec, o.fVec); } - - SkNi operator << (int bits) const { SHIFT8(vshlq_n_u8, fVec, bits); } - SkNi operator >> (int bits) const { SHIFT8(vshrq_n_u8, fVec, bits); } static SkNi Min(const SkNi& a, const SkNi& b) { return vminq_u8(a.fVec, b.fVec); } |