diff options
author | mtklein <mtklein@chromium.org> | 2016-03-21 10:04:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-21 10:04:46 -0700 |
commit | f8f90e4a85638faa18e7b4133cfe4d1ff5b1b23e (patch) | |
tree | f9288bc101e5c87ac35a29d595ba09a750297c8e /src/effects | |
parent | 04cdc4b61879849df63e883e68eecafe6510f423 (diff) |
SkNx refresh
- rearrange a bit
- fewer macros
- hooks for all operators
- add left and right scalar operator overrides
- add +=, &=, <<=, etc.
- add SkNx_split() and SkNx_join()
- simplify the many rsqrt() and invert() options to just what we actually use
This refactoring pointed out that our float <-> int NEON conversions are not specialized, so I've implemented them. It seems nice that this is an error rather than silently falling back to serial code.
It's unclear to me if split/join want to be external, static methods, or non-static methods (SkNx_join(), Sk4f::Join(), x.join()). Time will tell?
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1812233003
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1812233003
Diffstat (limited to 'src/effects')
-rw-r--r-- | src/effects/gradients/SkRadialGradient.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/effects/gradients/SkRadialGradient.cpp b/src/effects/gradients/SkRadialGradient.cpp index 1560cd2f39..254e438624 100644 --- a/src/effects/gradients/SkRadialGradient.cpp +++ b/src/effects/gradients/SkRadialGradient.cpp @@ -94,8 +94,7 @@ typedef void (* RadialShadeProc)(SkScalar sfx, SkScalar sdx, int count, int toggle); static inline Sk4f fast_sqrt(const Sk4f& R) { - // R * R.rsqrt0() is much faster, but it's non-monotonic, which isn't so pretty for gradients. - return R * R.rsqrt1(); + return R * R.rsqrt(); } static inline Sk4f sum_squares(const Sk4f& a, const Sk4f& b) { |