Revert "Revert "use pipeline for non-opt xfermodes""
This reverts commit 4f8c695736c8ae4fed2190a8e1301a4f4a979898.
Reason for revert: suppression re-landed in chrome
Original change's description:
> Revert "use pipeline for non-opt xfermodes"
>
> This reverts commit e93cf97175d348ce1400762bdd8d9acabdd29766.
>
> Reason for revert: unblock Chrome roll
>
> Original change's description:
> > 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>
>
> TBR=mtklein@google.com,fmalita@chromium.org,reed@google.com
>
> Change-Id: Ib85a51753d21ce778fa5cfedd6b7d1b5b2b87096
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/19745
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
TBR=mtklein@chromium.org,mtklein@google.com,fmalita@chromium.org,reed@google.com
Change-Id: I1201b5abae1514edf9143927064ce060095592f4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/19760
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp
index 4fb6293..7dff657 100644
--- a/src/effects/SkLayerDrawLooper.cpp
+++ b/src/effects/SkLayerDrawLooper.cpp
@@ -54,8 +54,8 @@
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);
}
}
}