aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/opts/SkXfermode_opts.h
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-03-21 10:04:46 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-21 10:04:46 -0700
commitf8f90e4a85638faa18e7b4133cfe4d1ff5b1b23e (patch)
treef9288bc101e5c87ac35a29d595ba09a750297c8e /src/opts/SkXfermode_opts.h
parent04cdc4b61879849df63e883e68eecafe6510f423 (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/opts/SkXfermode_opts.h')
-rw-r--r--src/opts/SkXfermode_opts.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/opts/SkXfermode_opts.h b/src/opts/SkXfermode_opts.h
index 8b64d0b74a..54f906e4f6 100644
--- a/src/opts/SkXfermode_opts.h
+++ b/src/opts/SkXfermode_opts.h
@@ -133,7 +133,7 @@ XFERMODE(ColorDodge) {
auto srcover = s + d*isa,
dstover = d + s*ida,
- otherwise = sa * Sk4f::Min(da, (d*sa)*(sa-s).approxInvert()) + s*ida + d*isa;
+ otherwise = sa * Sk4f::Min(da, (d*sa)*(sa-s).invert()) + s*ida + d*isa;
// Order matters here, preferring d==0 over s==sa.
auto colors = (d == Sk4f(0)).thenElse(dstover,
@@ -149,7 +149,7 @@ XFERMODE(ColorBurn) {
auto srcover = s + d*isa,
dstover = d + s*ida,
- otherwise = sa*(da-Sk4f::Min(da, (da-d)*sa*s.approxInvert())) + s*ida + d*isa;
+ otherwise = sa*(da-Sk4f::Min(da, (da-d)*sa*s.invert())) + s*ida + d*isa;
// Order matters here, preferring d==da over s==0.
auto colors = (d == da).thenElse(dstover,