From 755539f0b1f3331359d1ea2b65b6bb93387b7821 Mon Sep 17 00:00:00 2001 From: herb Date: Mon, 29 Feb 2016 12:58:35 -0800 Subject: [PATCH] Fix overlooked bilerp fallback. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746093002 Review URL: https://codereview.chromium.org/1746093002 --- src/core/SkLinearBitmapPipeline.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/core/SkLinearBitmapPipeline.cpp b/src/core/SkLinearBitmapPipeline.cpp index 2090a1e..347803c 100644 --- a/src/core/SkLinearBitmapPipeline.cpp +++ b/src/core/SkLinearBitmapPipeline.cpp @@ -423,7 +423,19 @@ public: void pointSpan(Span span) override { SkASSERT(!span.isEmpty()); - span_fallback(span, fNext); + SkPoint start; SkScalar length; int count; + std::tie(start, length, count) = span; + float dx = length / (count - 1); + + Sk4f Xs = Sk4f{X(start)} + Sk4f{-0.5f, 0.5f, -0.5f, 0.5f}; + Sk4f Ys = Sk4f{Y(start)} + Sk4f{-0.5f, -0.5f, 0.5f, 0.5f}; + + Sk4f dXs{dx}; + while (count > 0) { + fNext->bilerpList(Xs, Ys); + Xs = Xs + dXs; + count -= 1; + } } private: -- 2.7.4