impl blitAntiV2 via mask for rasterpipeline

Bug: skia:
Change-Id: I3c34a9c38a86edc518abaf34982e1334a4154a15
Reviewed-on: https://skia-review.googlesource.com/43140
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkRasterPipelineBlitter.cpp b/src/core/SkRasterPipelineBlitter.cpp
index 5de16b1..b0ee301 100644
--- a/src/core/SkRasterPipelineBlitter.cpp
+++ b/src/core/SkRasterPipelineBlitter.cpp
@@ -42,6 +42,7 @@
     void blitH     (int x, int y, int w)                            override;
     void blitAntiH (int x, int y, const SkAlpha[], const int16_t[]) override;
     void blitAntiH2(int x, int y, U8CPU a0, U8CPU a1)               override;
+    void blitAntiV2(int x, int y, U8CPU a0, U8CPU a1)               override;
     void blitMask  (const SkMask&, const SkIRect& clip)             override;
     void blitRect  (int x, int y, int width, int height)            override;
     void blitV     (int x, int y, int height, SkAlpha alpha)        override;
@@ -381,6 +382,19 @@
     this->blitMask(mask, clip);
 }
 
+void SkRasterPipelineBlitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) {
+    SkIRect clip = {x,y, x+1,y+2};
+    uint8_t coverage[] = { (uint8_t)a0, (uint8_t)a1 };
+
+    SkMask mask;
+    mask.fImage    = coverage;
+    mask.fBounds   = clip;
+    mask.fRowBytes = 1;
+    mask.fFormat   = SkMask::kA8_Format;
+
+    this->blitMask(mask, clip);
+}
+
 void SkRasterPipelineBlitter::blitV(int x, int y, int height, SkAlpha alpha) {
     SkIRect clip = {x,y, x+1,y+height};