Fix overlooked bilerp fallback.
authorherb <herb@google.com>
Mon, 29 Feb 2016 20:58:35 +0000 (12:58 -0800)
committerCommit bot <commit-bot@chromium.org>
Mon, 29 Feb 2016 20:58:35 +0000 (12:58 -0800)
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

index 2090a1e..347803c 100644 (file)
@@ -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: