Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(108)

Issue 1902903002: arithmetic mode with Sk4f (Closed)

Created:
4 years, 8 months ago by Stephen White
Modified:
4 years, 8 months ago
Reviewers:
mtklein
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/skia.git@m50
Target Ref:
refs/heads/chrome/m50
Project:
skia
Visibility:
Public.

Description

arithmetic mode with Sk4f [Cherry-pick of d58f840650a6768b50d024247e2817ccbacd8a0d to chrome/m50 branch.] After reading the SSE version, I figured I'd show off the new hotness a little. This'll get us SSE, NEON and portable implementations all in one easy to read package. Since we've been talking about it, it's worth noting the several ways this implementation is still not constant time: - short circuits on 0x00 and 0xff coverage; - floating point multiplication with untrusted k1-k4; if someone figures out a clever way to sometimes create denorm floats and sometimes not, there's a gigantic performance difference. I would hazard the pin is constant time now though. I've also fixed the lerp to lerp between dst and r instead of src and r. That can't have been right. curr/maxrss loops min median mean max stddev samples config bench 9/9 MB 1 25.5ms 25.5ms 25.5ms 25.5ms 0% ▃▁▁▃▂▇▅▆▇█ 8888 Xfermode_arithmetic_enforce_pm_aa 9/9 MB 1 24.1ms 24.2ms 24.2ms 24.3ms 0% ▄▃▁▄█▆▆█▃█ 8888 Xfermode_arithmetic_aa 9/9 MB 1 102ms 102ms 102ms 103ms 0% ▁▅▂▆▂█▂█▁▂ 8888 Xfermode_arithmetic_enforce_pm 9/9 MB 1 94.8ms 95.4ms 95.2ms 95.8ms 0% ▅▅▁▁▁▁▄▇█▇ 8888 Xfermode_arithmetic ~~~~> curr/maxrss loops min median mean max stddev samples config bench 9/9 MB 1 9.71ms 9.74ms 9.73ms 9.78ms 0% █▅▄▄▁▂▂▂▄▄ 8888 Xfermode_arithmetic_enforce_pm_aa 9/9 MB 1 9.5ms 9.57ms 9.58ms 9.7ms 1% ▂▁█▅▂▂▆▃▄▄ 8888 Xfermode_arithmetic_aa 9/9 MB 1 21.8ms 21.8ms 21.8ms 21.9ms 0% █▂▂▂▂▂▂▁▄▂ 8888 Xfermode_arithmetic_enforce_pm 9/9 MB 1 16.5ms 16.6ms 16.6ms 16.6ms 0% ▃█▁▁▄▄▁▁▆▅ 8888 Xfermode_arithmetic BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873963003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1873963003 NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true TBR=mtklein@google.com Committed: https://skia.googlesource.com/skia/+/b95c8954fceebf67629d894d26cf57a170507612

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+29 lines, -55 lines) Patch
M src/effects/SkArithmeticMode.cpp View 2 chunks +29 lines, -55 lines 0 comments Download

Messages

Total messages: 6 (4 generated)
Stephen White
Merge to M50.
4 years, 8 months ago (2016-04-19 18:06:32 UTC) #4
Stephen White
4 years, 8 months ago (2016-04-19 18:07:13 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as
b95c8954fceebf67629d894d26cf57a170507612 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698