diff options
author | mtklein <mtklein@chromium.org> | 2015-04-20 10:52:26 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-20 10:52:26 -0700 |
commit | 61221e7f87a99765b0e034020e06bb018e2a08c2 (patch) | |
tree | deca5e11fdb2ffa348e39ee8eb1f5b60d961c437 /src/opts/SkUtils_opts_arm.cpp | |
parent | 49124378913f3467eb67e653b3b48f80899a3f37 (diff) |
Convert Color32 code to perfect blend.
Before we commit to blend_256_round_alt, let's make sure blend_perfect is
really slower in practice (i.e. regresses on perf.skia.org).
blend_perfect is really the most desirable algorithm if we can afford it. Not
only is it correct, but it's easy to think about and break into correct pieces:
for instance, its div255() doesn't require any coordination with the multiply.
This looks like a 30% hit according to microbenches. That said, microbenches
said my previous change would be a 20-25% perf improvement, but it didn't end
up showing a significant effect at a high level.
As for correctness, I see a bunch of off-by-1 compared to blend_256_round_alt
(exactly what we'd expect), and one off-by-3 in a GM that looks like it has a
bunch of overdraw.
BUG=skia:
Review URL: https://codereview.chromium.org/1098913002
Diffstat (limited to 'src/opts/SkUtils_opts_arm.cpp')
0 files changed, 0 insertions, 0 deletions