aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkLayerDrawLooper.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-06-13 05:57:47 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-13 13:36:37 +0000
commite93cf97175d348ce1400762bdd8d9acabdd29766 (patch)
tree9810330cd008ae70abc1a7d909aab10c9bcb62ab /src/effects/SkLayerDrawLooper.cpp
parentc4f0a8245ccf0d14f6a6dffc73ff56b563012b69 (diff)
use pipeline for non-opt xfermodes
Produces slightly different results for Hue, Saturation, Color, Luminosity, seemingly around the aa edging. Bug: skia: Change-Id: I6364818c9788863e5fad6d14cad4797d073dbea3 Reviewed-on: https://skia-review.googlesource.com/19554 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/effects/SkLayerDrawLooper.cpp')
-rw-r--r--src/effects/SkLayerDrawLooper.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp
index 4fb629376e..7dff657c52 100644
--- a/src/effects/SkLayerDrawLooper.cpp
+++ b/src/effects/SkLayerDrawLooper.cpp
@@ -54,8 +54,8 @@ static SkColor xferColor(SkColor src, SkColor dst, SkBlendMode mode) {
default: {
SkPMColor pmS = SkPreMultiplyColor(src);
SkPMColor pmD = SkPreMultiplyColor(dst);
- SkPMColor result = SkXfermode::GetProc(mode)(pmS, pmD);
- return SkUnPreMultiply::PMColorToColor(result);
+ SkXfermode::Peek(mode)->xfer32(&pmD, &pmS, 1, nullptr);
+ return SkUnPreMultiply::PMColorToColor(pmD);
}
}
}