remove unused code around SK_SUPPORT_LEGACY_XFERMODE_PARAM

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4384

Change-Id: I5121acd027d935ade169ff65941f29f654a47bd0
Reviewed-on: https://skia-review.googlesource.com/4384
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
diff --git a/src/core/SkBitmapDevice.cpp b/src/core/SkBitmapDevice.cpp
index cb177e0..78dff36 100644
--- a/src/core/SkBitmapDevice.cpp
+++ b/src/core/SkBitmapDevice.cpp
@@ -367,15 +367,9 @@
 void SkBitmapDevice::drawVertices(const SkDraw& draw, SkCanvas::VertexMode vmode,
                                   int vertexCount,
                                   const SkPoint verts[], const SkPoint textures[],
-                                  const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                  const SkColor colors[], SkBlendMode bmode,
                                   const uint16_t indices[], int indexCount,
                                   const SkPaint& paint) {
-    SkBlendMode bmode;
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    bmode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-    bmode = xmode;
-#endif
     draw.drawVertices(vmode, vertexCount, verts, textures, colors, bmode,
                       indices, indexCount, paint);
 }
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index d3876b1..f4896cb 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1865,12 +1865,7 @@
 void SkCanvas::drawVertices(VertexMode vmode, int vertexCount, const SkPoint vertices[],
                             const SkPoint texs[], const SkColor colors[], SkBlendMode bmode,
                             const uint16_t indices[], int indexCount, const SkPaint& paint) {
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkXfermode* xmode = SkXfermode::Peek(bmode);
-#else
-    SkBlendMode xmode = bmode;
-#endif
-    this->onDrawVertices(vmode, vertexCount, vertices, texs, colors, xmode,
+    this->onDrawVertices(vmode, vertexCount, vertices, texs, colors, bmode,
                          indices, indexCount, paint);
 }
 
@@ -2006,7 +2001,7 @@
     }
     SkASSERT(atlas);
     SkASSERT(tex);
-    this->onDrawAtlas(atlas, xform, tex, colors, count, (SK_XFERMODE_MODE_PARAM)mode, cull, paint);
+    this->onDrawAtlas(atlas, xform, tex, colors, count, mode, cull, paint);
 }
 
 void SkCanvas::drawAnnotation(const SkRect& rect, const char key[], SkData* value) {
@@ -2815,7 +2810,7 @@
 
 void SkCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                               const SkPoint verts[], const SkPoint texs[],
-                              const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                              const SkColor colors[], SkBlendMode bmode,
                               const uint16_t indices[], int indexCount,
                               const SkPaint& paint) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawVertices()");
@@ -2823,7 +2818,7 @@
 
     while (iter.next()) {
         iter.fDevice->drawVertices(iter, vmode, vertexCount, verts, texs,
-                                   colors, xmode, indices, indexCount,
+                                   colors, bmode, indices, indexCount,
                                    looper.paint());
     }
 
@@ -2838,16 +2833,11 @@
         return;
     }
 
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkXfermode* xmode = SkXfermode::Peek(bmode);
-#else
-    SkBlendMode xmode = bmode;
-#endif
-    this->onDrawPatch(cubics, colors, texCoords, xmode, paint);
+    this->onDrawPatch(cubics, colors, texCoords, bmode, paint);
 }
 
 void SkCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                           const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                           const SkPoint texCoords[4], SkBlendMode bmode,
                            const SkPaint& paint) {
     // Since a patch is always within the convex hull of the control points, we discard it when its
     // bounding rectangle is completely outside the current clip.
@@ -2860,7 +2850,7 @@
     LOOPER_BEGIN(paint, SkDrawFilter::kPath_Type, nullptr)
 
     while (iter.next()) {
-        iter.fDevice->drawPatch(iter, cubics, colors, texCoords, xmode, paint);
+        iter.fDevice->drawPatch(iter, cubics, colors, texCoords, bmode, paint);
     }
 
     LOOPER_END
@@ -2891,7 +2881,7 @@
 }
 
 void SkCanvas::onDrawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[],
-                           const SkColor colors[], int count, SK_XFERMODE_MODE_PARAM mode,
+                           const SkColor colors[], int count, SkBlendMode bmode,
                            const SkRect* cull, const SkPaint* paint) {
     if (cull && this->quickReject(*cull)) {
         return;
@@ -2904,7 +2894,7 @@
 
     LOOPER_BEGIN(pnt, SkDrawFilter::kPath_Type, nullptr)
     while (iter.next()) {
-        iter.fDevice->drawAtlas(iter, atlas, xform, tex, colors, count, mode, pnt);
+        iter.fDevice->drawAtlas(iter, atlas, xform, tex, colors, count, bmode, pnt);
     }
     LOOPER_END
 }
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp
index 5050d00..6e21beb 100644
--- a/src/core/SkColorFilter.cpp
+++ b/src/core/SkColorFilter.cpp
@@ -19,7 +19,7 @@
 #include "GrFragmentProcessor.h"
 #endif
 
-bool SkColorFilter::asColorMode(SkColor* color, SK_XFERMODE_MODE_PARAM* mode) const {
+bool SkColorFilter::asColorMode(SkColor*, SkBlendMode*) const {
     return false;
 }
 
diff --git a/src/core/SkColorSpace_Base.h b/src/core/SkColorSpace_Base.h
index 76595e9..a3cf6e0 100644
--- a/src/core/SkColorSpace_Base.h
+++ b/src/core/SkColorSpace_Base.h
@@ -215,11 +215,6 @@
     sk_sp<SkData> writeToICC() const;
 
     static sk_sp<SkColorSpace> MakeRGB(SkGammaNamed gammaNamed, const SkMatrix44& toXYZD50);
-#ifdef SK_SUPPORT_LEGACY_COLOR_SPACE_FACTORIES
-    static sk_sp<SkColorSpace> NewRGB(SkGammaNamed gammaNamed, const SkMatrix44& toXYZD50) {
-        return MakeRGB(gammaNamed, toXYZD50);
-    }
-#endif
 
     SkColorSpace_Base(SkGammaNamed gammaNamed, const SkMatrix44& toXYZ);
 
diff --git a/src/core/SkComposeShader.cpp b/src/core/SkComposeShader.cpp
index 8c21453..f04527b 100644
--- a/src/core/SkComposeShader.cpp
+++ b/src/core/SkComposeShader.cpp
@@ -125,11 +125,8 @@
 
 bool SkComposeShader::asACompose(ComposeRec* rec) const {
     if (rec) {
-        rec->fShaderA = fShaderA.get();
-        rec->fShaderB = fShaderB.get();
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-        rec->fMode = SkXfermode::Peek(fMode);
-#endif
+        rec->fShaderA   = fShaderA.get();
+        rec->fShaderB   = fShaderB.get();
         rec->fBlendMode = fMode;
     }
     return true;
diff --git a/src/core/SkDevice.cpp b/src/core/SkDevice.cpp
index 30da202..b2ff242 100644
--- a/src/core/SkDevice.cpp
+++ b/src/core/SkDevice.cpp
@@ -119,7 +119,7 @@
 }
 
 void SkBaseDevice::drawPatch(const SkDraw& draw, const SkPoint cubics[12], const SkColor colors[4],
-                             const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode, const SkPaint& paint) {
+                             const SkPoint texCoords[4], SkBlendMode bmode, const SkPaint& paint) {
     SkPatchUtils::VertexData data;
 
     SkISize lod = SkPatchUtils::GetLevelOfDetail(cubics, draw.fMatrix);
@@ -128,7 +128,7 @@
     // If it fails to generate the vertices, then we do not draw.
     if (SkPatchUtils::getVertexData(&data, cubics, colors, texCoords, lod.width(), lod.height())) {
         this->drawVertices(draw, SkCanvas::kTriangles_VertexMode, data.fVertexCount, data.fPoints,
-                           data.fTexCoords, data.fColors, xmode, data.fIndices, data.fIndexCount,
+                           data.fTexCoords, data.fColors, bmode, data.fIndices, data.fIndexCount,
                            paint);
     }
 }
@@ -240,7 +240,7 @@
 
 void SkBaseDevice::drawAtlas(const SkDraw& draw, const SkImage* atlas, const SkRSXform xform[],
                              const SkRect tex[], const SkColor colors[], int count,
-                             SK_XFERMODE_MODE_PARAM mode, const SkPaint& paint) {
+                             SkBlendMode mode, const SkPaint& paint) {
     SkPath path;
     path.setIsVolatile(true);
 
diff --git a/src/core/SkLiteDL.cpp b/src/core/SkLiteDL.cpp
index fd20885..3f6e54e 100644
--- a/src/core/SkLiteDL.cpp
+++ b/src/core/SkLiteDL.cpp
@@ -454,12 +454,8 @@
     struct DrawPatch final : Op {
         static const auto kType = Type::DrawPatch;
         DrawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texs[4],
-                  SK_XFERMODE_PARAM xfermode, const SkPaint& paint)
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-            : xfermode(sk_ref_sp(xfermode)), paint(paint)
-#else
-            : xfermode(xfermode), paint(paint)
-#endif
+                  SkBlendMode bmode, const SkPaint& paint)
+            : xfermode(bmode), paint(paint)
         {
             copy_v(this->cubics, cubics, 12);
             if (colors) { copy_v(this->colors, colors, 4); has_colors = true; }
@@ -468,11 +464,7 @@
         SkPoint           cubics[12];
         SkColor           colors[4];
         SkPoint           texs[4];
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-        sk_sp<SkXfermode> xfermode;
-#else
         SkBlendMode       xfermode;
-#endif
         SkPaint           paint;
         bool              has_colors = false;
         bool              has_texs   = false;
@@ -494,21 +486,13 @@
     };
     struct DrawVertices final : Op {
         static const auto kType = Type::DrawVertices;
-        DrawVertices(SkCanvas::VertexMode mode, int count, SK_XFERMODE_PARAM xfermode, int nindices,
+        DrawVertices(SkCanvas::VertexMode mode, int count, SkBlendMode bmode, int nindices,
                      const SkPaint& paint, bool has_texs, bool has_colors, bool has_indices)
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-            : mode(mode), count(count), xfermode(sk_ref_sp(xfermode)), nindices(nindices)
-#else
-            : mode(mode), count(count), xfermode(xfermode), nindices(nindices)
-#endif
+            : mode(mode), count(count), xfermode(bmode), nindices(nindices)
             , paint(paint), has_texs(has_texs), has_colors(has_colors), has_indices(has_indices) {}
         SkCanvas::VertexMode mode;
         int                  count;
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-        sk_sp<SkXfermode>    xfermode;
-#else
         SkBlendMode          xfermode;
-#endif
         int                  nindices;
         SkPaint              paint;
         bool                 has_texs;
@@ -540,7 +524,7 @@
     };
     struct DrawAtlas final : Op {
         static const auto kType = Type::DrawAtlas;
-        DrawAtlas(const SkImage* atlas, int count, SK_XFERMODE_MODE_PARAM xfermode,
+        DrawAtlas(const SkImage* atlas, int count, SkBlendMode xfermode,
                   const SkRect* cull, const SkPaint* paint, bool has_colors)
             : atlas(sk_ref_sp(atlas)), count(count), xfermode(xfermode), has_colors(has_colors) {
             if (cull)  { this->cull  = *cull; }
@@ -548,7 +532,7 @@
         }
         sk_sp<const SkImage> atlas;
         int                  count;
-        SK_XFERMODE_MODE_PARAM     xfermode;
+        SkBlendMode          xfermode;
         SkRect               cull = kUnset;
         SkPaint              paint;
         bool                 has_colors;
@@ -728,8 +712,8 @@
 }
 
 void SkLiteDL::drawPatch(const SkPoint points[12], const SkColor colors[4], const SkPoint texs[4],
-                         SK_XFERMODE_PARAM xfermode, const SkPaint& paint) {
-    this->push<DrawPatch>(0, points, colors, texs, xfermode, paint);
+                         SkBlendMode bmode, const SkPaint& paint) {
+    this->push<DrawPatch>(0, points, colors, texs, bmode, paint);
 }
 void SkLiteDL::drawPoints(SkCanvas::PointMode mode, size_t count, const SkPoint points[],
                           const SkPaint& paint) {
@@ -737,7 +721,7 @@
     copy_v(pod, points,count);
 }
 void SkLiteDL::drawVertices(SkCanvas::VertexMode mode, int count, const SkPoint vertices[],
-                            const SkPoint texs[], const SkColor colors[], SK_XFERMODE_PARAM xfermode,
+                            const SkPoint texs[], const SkColor colors[], SkBlendMode xfermode,
                             const uint16_t indices[], int nindices, const SkPaint& paint) {
     size_t bytes = count * sizeof(SkPoint);
     if (texs  )  { bytes += count    * sizeof(SkPoint); }
@@ -751,7 +735,7 @@
                  indices, indices ? nindices : 0);
 }
 void SkLiteDL::drawAtlas(const SkImage* atlas, const SkRSXform xforms[], const SkRect texs[],
-                         const SkColor colors[], int count, SK_XFERMODE_MODE_PARAM xfermode,
+                         const SkColor colors[], int count, SkBlendMode xfermode,
                          const SkRect* cull, const SkPaint* paint) {
     size_t bytes = count*(sizeof(SkRSXform) + sizeof(SkRect));
     if (colors) {
diff --git a/src/core/SkLiteDL.h b/src/core/SkLiteDL.h
index 30211a6..43988c0 100644
--- a/src/core/SkLiteDL.h
+++ b/src/core/SkLiteDL.h
@@ -78,12 +78,12 @@
                           const SkRect&, const SkPaint*);
 
     void drawPatch(const SkPoint[12], const SkColor[4], const SkPoint[4],
-                   SK_XFERMODE_PARAM, const SkPaint&);
+                   SkBlendMode, const SkPaint&);
     void drawPoints(SkCanvas::PointMode, size_t, const SkPoint[], const SkPaint&);
     void drawVertices(SkCanvas::VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[],
-                      SK_XFERMODE_PARAM, const uint16_t[], int, const SkPaint&);
+                      SkBlendMode, const uint16_t[], int, const SkPaint&);
     void drawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int,
-                   SK_XFERMODE_MODE_PARAM, const SkRect*, const SkPaint*);
+                   SkBlendMode, const SkRect*, const SkPaint*);
 
     void setBounds(const SkRect& bounds);
 
diff --git a/src/core/SkLiteRecorder.cpp b/src/core/SkLiteRecorder.cpp
index 4c3de18..866ebd0 100644
--- a/src/core/SkLiteRecorder.cpp
+++ b/src/core/SkLiteRecorder.cpp
@@ -171,8 +171,8 @@
 
 void SkLiteRecorder::onDrawPatch(const SkPoint cubics[12],
                                  const SkColor colors[4], const SkPoint texCoords[4],
-                                 SK_XFERMODE_PARAM xfermode, const SkPaint& paint) {
-    fDL->drawPatch(cubics, colors, texCoords, xfermode, paint);
+                                 SkBlendMode bmode, const SkPaint& paint) {
+    fDL->drawPatch(cubics, colors, texCoords, bmode, paint);
 }
 void SkLiteRecorder::onDrawPoints(SkCanvas::PointMode mode,
                                   size_t count, const SkPoint pts[],
@@ -182,20 +182,20 @@
 void SkLiteRecorder::onDrawVertices(SkCanvas::VertexMode mode,
                                     int count, const SkPoint vertices[],
                                     const SkPoint texs[], const SkColor colors[],
-                                    SK_XFERMODE_PARAM xfermode,
+                                    SkBlendMode bmode,
                                     const uint16_t indices[], int indexCount,
                                     const SkPaint& paint) {
-    fDL->drawVertices(mode, count, vertices, texs, colors, xfermode, indices, indexCount, paint);
+    fDL->drawVertices(mode, count, vertices, texs, colors, bmode, indices, indexCount, paint);
 }
 void SkLiteRecorder::onDrawAtlas(const SkImage* atlas,
                                  const SkRSXform xforms[],
                                  const SkRect texs[],
                                  const SkColor colors[],
                                  int count,
-                                 SK_XFERMODE_MODE_PARAM xfermode,
+                                 SkBlendMode bmode,
                                  const SkRect* cull,
                                  const SkPaint* paint) {
-    fDL->drawAtlas(atlas, xforms, texs, colors, count, xfermode, cull, paint);
+    fDL->drawAtlas(atlas, xforms, texs, colors, count, bmode, cull, paint);
 }
 
 void SkLiteRecorder::didTranslateZ(SkScalar dz) {
diff --git a/src/core/SkLiteRecorder.h b/src/core/SkLiteRecorder.h
index 9010a42..4ae2456 100644
--- a/src/core/SkLiteRecorder.h
+++ b/src/core/SkLiteRecorder.h
@@ -72,12 +72,12 @@
                          SrcRectConstraint) override;
 
     void onDrawPatch(const SkPoint[12], const SkColor[4],
-                     const SkPoint[4], SK_XFERMODE_PARAM, const SkPaint&) override;
+                     const SkPoint[4], SkBlendMode, const SkPaint&) override;
     void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) override;
     void onDrawVertices(VertexMode, int, const SkPoint[], const SkPoint[], const SkColor[],
-                        SK_XFERMODE_PARAM, const uint16_t[], int, const SkPaint&) override;
+                        SkBlendMode, const uint16_t[], int, const SkPaint&) override;
     void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[],
-                     int, SK_XFERMODE_MODE_PARAM, const SkRect*, const SkPaint*) override;
+                     int, SkBlendMode, const SkRect*, const SkPaint*) override;
 
 #ifdef SK_EXPERIMENTAL_SHADOWING
     void didTranslateZ(SkScalar) override;
diff --git a/src/core/SkModeColorFilter.cpp b/src/core/SkModeColorFilter.cpp
index 1982604..176c92b 100644
--- a/src/core/SkModeColorFilter.cpp
+++ b/src/core/SkModeColorFilter.cpp
@@ -29,12 +29,12 @@
 }
 #endif
 
-bool SkModeColorFilter::asColorMode(SkColor* color, SK_XFERMODE_MODE_PARAM* mode) const {
+bool SkModeColorFilter::asColorMode(SkColor* color, SkBlendMode* mode) const {
     if (color) {
         *color = fColor;
     }
     if (mode) {
-        *mode = (SK_XFERMODE_MODE_PARAM)fMode;
+        *mode = fMode;
     }
     return true;
 }
diff --git a/src/core/SkModeColorFilter.h b/src/core/SkModeColorFilter.h
index 2b9d637..2c3d4dc 100644
--- a/src/core/SkModeColorFilter.h
+++ b/src/core/SkModeColorFilter.h
@@ -22,7 +22,7 @@
     SkBlendMode getMode() const { return fMode; }
     SkPMColor getPMColor() const { return fPMColor; }
 
-    bool asColorMode(SkColor*, SK_XFERMODE_MODE_PARAM*) const override;
+    bool asColorMode(SkColor*, SkBlendMode*) const override;
     uint32_t getFlags() const override;
     void filterSpan(const SkPMColor shader[], int count, SkPMColor result[]) const override;
     void filterSpan4f(const SkPM4f shader[], int count, SkPM4f result[]) const override;
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
index 2a11a32..086eb8d 100644
--- a/src/core/SkPictureRecord.cpp
+++ b/src/core/SkPictureRecord.cpp
@@ -722,7 +722,7 @@
 
 void SkPictureRecord::onDrawVertices(VertexMode vmode, int vertexCount,
                                      const SkPoint vertices[], const SkPoint texs[],
-                                     const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                     const SkColor colors[], SkBlendMode bmode,
                                      const uint16_t indices[], int indexCount,
                                      const SkPaint& paint) {
     uint32_t flags = 0;
@@ -735,14 +735,6 @@
     if (indexCount > 0) {
         flags |= DRAW_VERTICES_HAS_INDICES;
     }
-    SkBlendMode bmode = SkBlendMode::kModulate;
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    if (xmode) {
-        bmode = xmode->blend();
-    }
-#else
-    bmode = xmode;
-#endif
     if (SkBlendMode::kModulate != bmode) {
         flags |= DRAW_VERTICES_HAS_XFER;
     }
@@ -786,7 +778,7 @@
 }
 
 void SkPictureRecord::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                                  const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                                  const SkPoint texCoords[4], SkBlendMode bmode,
                                   const SkPaint& paint) {
     // op + paint index + patch 12 control points + flag + patch 4 colors + 4 texture coordinates
     size_t size = 2 * kUInt32Size + SkPatchUtils::kNumCtrlPts * sizeof(SkPoint) + kUInt32Size;
@@ -799,14 +791,6 @@
         flag |= DRAW_VERTICES_HAS_TEXS;
         size += SkPatchUtils::kNumCorners * sizeof(SkPoint);
     }
-    SkBlendMode bmode = SkBlendMode::kModulate;
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    if (xmode) {
-        bmode = xmode->blend();
-    }
-#else
-    bmode = xmode;
-#endif
     if (SkBlendMode::kModulate != bmode) {
         flag |= DRAW_VERTICES_HAS_XFER;
         size += kUInt32Size;
@@ -831,7 +815,7 @@
 }
 
 void SkPictureRecord::onDrawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[],
-                                  const SkColor colors[], int count, SK_XFERMODE_MODE_PARAM mode,
+                                  const SkColor colors[], int count, SkBlendMode mode,
                                   const SkRect* cull, const SkPaint* paint) {
     // [op + paint-index + atlas-index + flags + count] + [xform] + [tex] + [*colors + mode] + cull
     size_t size = 5 * kUInt32Size + count * sizeof(SkRSXform) + count * sizeof(SkRect);
diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h
index 0db9b8b..ca858a6 100644
--- a/src/core/SkPictureRecord.h
+++ b/src/core/SkPictureRecord.h
@@ -178,10 +178,9 @@
                                 const SkPaint& paint) override;
 
     void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                             const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
-                             const SkPaint& paint) override;
+                     const SkPoint texCoords[4], SkBlendMode, const SkPaint& paint) override;
     void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[], int,
-                     SK_XFERMODE_MODE_PARAM, const SkRect*, const SkPaint*) override;
+                     SkBlendMode, const SkRect*, const SkPaint*) override;
 
     void onDrawPaint(const SkPaint&) override;
     void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) override;
@@ -201,7 +200,7 @@
 
     void onDrawVertices(VertexMode vmode, int vertexCount,
                         const SkPoint vertices[], const SkPoint texs[],
-                        const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                        const SkColor colors[], SkBlendMode,
                         const uint16_t indices[], int indexCount,
                         const SkPaint&) override;
 
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 5720186..91236c6 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -330,13 +330,8 @@
 void SkRecorder::onDrawVertices(VertexMode vmode,
                                 int vertexCount, const SkPoint vertices[],
                                 const SkPoint texs[], const SkColor colors[],
-                                SK_XFERMODE_PARAM xmode,
+                                SkBlendMode bmode,
                                 const uint16_t indices[], int indexCount, const SkPaint& paint) {
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkBlendMode bmode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-    SkBlendMode bmode = xmode;
-#endif
     APPEND(DrawVertices, paint,
                          vmode,
                          vertexCount,
@@ -349,13 +344,8 @@
 }
 
 void SkRecorder::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                             const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                             const SkPoint texCoords[4], SkBlendMode bmode,
                              const SkPaint& paint) {
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkBlendMode bmode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-    SkBlendMode bmode = xmode;
-#endif
     APPEND(DrawPatch, paint,
            cubics ? this->copy(cubics, SkPatchUtils::kNumCtrlPts) : nullptr,
            colors ? this->copy(colors, SkPatchUtils::kNumCorners) : nullptr,
@@ -364,7 +354,7 @@
 }
 
 void SkRecorder::onDrawAtlas(const SkImage* atlas, const SkRSXform xform[], const SkRect tex[],
-                             const SkColor colors[], int count, SK_XFERMODE_MODE_PARAM mode,
+                             const SkColor colors[], int count, SkBlendMode mode,
                              const SkRect* cull, const SkPaint* paint) {
     APPEND(DrawAtlas, this->copy(paint),
            sk_ref_sp(atlas),
@@ -372,7 +362,7 @@
            this->copy(tex, count),
            this->copy(colors, count),
            count,
-           (SkBlendMode)mode,
+           mode,
            this->copy(cull));
 }
 
diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h
index 7015167..0f157b5 100644
--- a/src/core/SkRecorder.h
+++ b/src/core/SkRecorder.h
@@ -99,7 +99,7 @@
                         SkScalar y,
                         const SkPaint& paint) override;
     void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                     const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                     const SkPoint texCoords[4], SkBlendMode,
                      const SkPaint& paint) override;
 
     void onDrawPaint(const SkPaint&) override;
@@ -126,11 +126,11 @@
                              const SkPaint*) override;
     void onDrawVertices(VertexMode vmode, int vertexCount,
                         const SkPoint vertices[], const SkPoint texs[],
-                        const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                        const SkColor colors[], SkBlendMode,
                         const uint16_t indices[], int indexCount,
                         const SkPaint&) override;
     void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[],
-                     int count, SK_XFERMODE_MODE_PARAM, const SkRect* cull, const SkPaint*) override;
+                     int count, SkBlendMode, const SkRect* cull, const SkPaint*) override;
 
     void onClipRect(const SkRect& rect, ClipOp, ClipEdgeStyle) override;
     void onClipRRect(const SkRRect& rrect, ClipOp, ClipEdgeStyle) override;
diff --git a/src/effects/SkLayerDrawLooper.cpp b/src/effects/SkLayerDrawLooper.cpp
index 51a3f77..9337198 100644
--- a/src/effects/SkLayerDrawLooper.cpp
+++ b/src/effects/SkLayerDrawLooper.cpp
@@ -15,7 +15,7 @@
 
 SkLayerDrawLooper::LayerInfo::LayerInfo() {
     fPaintBits = 0;                     // ignore our paint fields
-    fColorMode = (SK_XFERMODE_MODE_PARAM)SkBlendMode::kDst; // ignore our color
+    fColorMode = SkBlendMode::kDst;     // ignore our color
     fOffset.set(0, 0);
     fPostTranslate = false;
 }
@@ -224,7 +224,7 @@
         (void)buffer.readInt();
 
         info.fPaintBits = buffer.readInt();
-        info.fColorMode = (SK_XFERMODE_MODE_PARAM)buffer.readInt();
+        info.fColorMode = (SkBlendMode)buffer.readInt();
         buffer.readPoint(&info.fOffset);
         info.fPostTranslate = buffer.readBool();
         buffer.readPaint(builder.addLayerOnTop(info));
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index a65d6e8..b8a520f 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -1564,7 +1564,7 @@
 void SkGpuDevice::drawVertices(const SkDraw& draw, SkCanvas::VertexMode vmode,
                               int vertexCount, const SkPoint vertices[],
                               const SkPoint texs[], const SkColor colors[],
-                              SK_XFERMODE_PARAM xmode,
+                              SkBlendMode bmode,
                               const uint16_t indices[], int indexCount,
                               const SkPaint& paint) {
     ASSERT_SINGLE_OWNER
@@ -1644,15 +1644,9 @@
     GrPaint grPaint;
     if (texs && paint.getShader()) {
         if (colors) {
-            // When there are texs and colors the shader and colors are combined using xmode. A null
-            // xmode is defined to mean modulate.
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-            SkBlendMode colorMode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-            SkBlendMode colorMode = xmode;
-#endif
+            // When there are texs and colors the shader and colors are combined using bmode.
             if (!SkPaintToGrPaintWithXfermode(this->context(), fRenderTargetContext.get(), paint,
-                                              *draw.fMatrix, colorMode, false, &grPaint)) {
+                                              *draw.fMatrix, bmode, false, &grPaint)) {
                 return;
             }
         } else {
@@ -1695,7 +1689,7 @@
 
 void SkGpuDevice::drawAtlas(const SkDraw& draw, const SkImage* atlas, const SkRSXform xform[],
                             const SkRect texRect[], const SkColor colors[], int count,
-                            SK_XFERMODE_MODE_PARAM mode, const SkPaint& paint) {
+                            SkBlendMode mode, const SkPaint& paint) {
     ASSERT_SINGLE_OWNER
     if (paint.isAntiAlias()) {
         this->INHERITED::drawAtlas(draw, atlas, xform, texRect, colors, count, mode, paint);
diff --git a/src/gpu/SkGpuDevice.h b/src/gpu/SkGpuDevice.h
index 77afda7..bed8d89 100644
--- a/src/gpu/SkGpuDevice.h
+++ b/src/gpu/SkGpuDevice.h
@@ -92,10 +92,10 @@
     void drawTextBlob(const SkDraw&, const SkTextBlob*, SkScalar x, SkScalar y,
                       const SkPaint& paint, SkDrawFilter* drawFilter) override;
     void drawVertices(const SkDraw&, SkCanvas::VertexMode, int vertexCount, const SkPoint verts[],
-                      const SkPoint texs[], const SkColor colors[], SK_XFERMODE_PARAM,
+                      const SkPoint texs[], const SkColor colors[], SkBlendMode,
                       const uint16_t indices[], int indexCount, const SkPaint&) override;
     void drawAtlas(const SkDraw&, const SkImage* atlas, const SkRSXform[], const SkRect[],
-                   const SkColor[], int count, SK_XFERMODE_MODE_PARAM, const SkPaint&) override;
+                   const SkColor[], int count, SkBlendMode, const SkPaint&) override;
     void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y, const SkPaint&) override;
 
     void drawImage(const SkDraw&, const SkImage*, SkScalar x, SkScalar y, const SkPaint&) override;
diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
index d2089ce..88bcc84 100644
--- a/src/pdf/SkPDFDevice.cpp
+++ b/src/pdf/SkPDFDevice.cpp
@@ -1432,7 +1432,7 @@
 void SkPDFDevice::drawVertices(const SkDraw& d, SkCanvas::VertexMode,
                                int vertexCount, const SkPoint verts[],
                                const SkPoint texs[], const SkColor colors[],
-                               SK_XFERMODE_PARAM xmode, const uint16_t indices[],
+                               SkBlendMode, const uint16_t indices[],
                                int indexCount, const SkPaint& paint) {
     if (d.fRC->isEmpty()) {
         return;
diff --git a/src/pdf/SkPDFDevice.h b/src/pdf/SkPDFDevice.h
index 4bf4a58..d8e26c5 100644
--- a/src/pdf/SkPDFDevice.h
+++ b/src/pdf/SkPDFDevice.h
@@ -116,7 +116,7 @@
     void drawVertices(const SkDraw&, SkCanvas::VertexMode,
                       int vertexCount, const SkPoint verts[],
                       const SkPoint texs[], const SkColor colors[],
-                      SK_XFERMODE_PARAM, const uint16_t indices[],
+                      SkBlendMode, const uint16_t indices[],
                       int indexCount, const SkPaint& paint) override;
     void drawDevice(const SkDraw&, SkBaseDevice*, int x, int y,
                     const SkPaint&) override;
diff --git a/src/pipe/SkPipeCanvas.cpp b/src/pipe/SkPipeCanvas.cpp
index e7b04ce..43235c3 100644
--- a/src/pipe/SkPipeCanvas.cpp
+++ b/src/pipe/SkPipeCanvas.cpp
@@ -352,7 +352,7 @@
 }
 
 void SkPipeCanvas::onDrawAtlas(const SkImage* image, const SkRSXform xform[], const SkRect rect[],
-                               const SkColor colors[], int count, SK_XFERMODE_MODE_PARAM mode,
+                               const SkColor colors[], int count, SkBlendMode mode,
                                const SkRect* cull, const SkPaint* paint) {
     unsigned extra = (unsigned)mode;
     SkASSERT(0 == (extra & ~kMode_DrawAtlasMask));
@@ -732,7 +732,7 @@
 
 void SkPipeCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                   const SkPoint vertices[], const SkPoint texs[],
-                                  const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                  const SkColor colors[], SkBlendMode bmode,
                                   const uint16_t indices[], int indexCount,
                                   const SkPaint& paint) {
     SkASSERT(vertexCount > 0);
@@ -742,12 +742,6 @@
         extra |= vertexCount;
     }
     extra |= (unsigned)vmode << kVMode_DrawVerticesShift;
-
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkBlendMode bmode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-    SkBlendMode bmode = xmode;
-#endif
     extra |= (unsigned)bmode << kXMode_DrawVerticesShift;
 
     if (texs) {
@@ -781,15 +775,10 @@
 }
 
 void SkPipeCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                               const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                               const SkPoint texCoords[4], SkBlendMode bmode,
                                const SkPaint& paint) {
     SkPipeWriter writer(this);
     unsigned extra = 0;
-#ifdef SK_SUPPORT_LEGACY_XFERMODE_PARAM
-    SkBlendMode bmode = xmode ? xmode->blend() : SkBlendMode::kModulate;
-#else
-    SkBlendMode bmode = xmode;
-#endif
     SkASSERT(0 == ((int)bmode & ~kModeEnum_DrawPatchExtraMask));
     extra = (unsigned)bmode;
     if (colors) {
diff --git a/src/pipe/SkPipeCanvas.h b/src/pipe/SkPipeCanvas.h
index 87a906f..508c2a1 100644
--- a/src/pipe/SkPipeCanvas.h
+++ b/src/pipe/SkPipeCanvas.h
@@ -105,7 +105,7 @@
     void onDrawArc(const SkRect&, SkScalar startAngle, SkScalar sweepAngle, bool useCenter,
                    const SkPaint&) override;
     void onDrawAtlas(const SkImage*, const SkRSXform[], const SkRect[], const SkColor[],
-                     int count, SK_XFERMODE_MODE_PARAM, const SkRect* cull, const SkPaint*) override;
+                     int count, SkBlendMode, const SkRect* cull, const SkPaint*) override;
     void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
     void onDrawText(const void* text, size_t byteLength, SkScalar x, SkScalar y,
                     const SkPaint&) override;
@@ -119,7 +119,7 @@
     void onDrawTextRSXform(const void* text, size_t byteLength, const SkRSXform xform[],
                            const SkRect* cull, const SkPaint& paint) override;
     void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4], const SkPoint texCoords[4],
-                     SK_XFERMODE_PARAM, const SkPaint&) override;
+                     SkBlendMode, const SkPaint&) override;
 
     void onDrawPaint(const SkPaint&) override;
     void onDrawPoints(PointMode, size_t count, const SkPoint pts[], const SkPaint&) override;
@@ -138,7 +138,7 @@
                             const SkPaint*) override;
     void onDrawVertices(VertexMode vmode, int vertexCount,
                               const SkPoint vertices[], const SkPoint texs[],
-                              const SkColor colors[], SK_XFERMODE_PARAM,
+                              const SkColor colors[], SkBlendMode,
                               const uint16_t indices[], int indexCount,
                               const SkPaint&) override;
 
diff --git a/src/svg/SkSVGDevice.cpp b/src/svg/SkSVGDevice.cpp
index 4496c0a..203be3a 100644
--- a/src/svg/SkSVGDevice.cpp
+++ b/src/svg/SkSVGDevice.cpp
@@ -799,7 +799,7 @@
 
 void SkSVGDevice::drawVertices(const SkDraw&, SkCanvas::VertexMode, int vertexCount,
                                const SkPoint verts[], const SkPoint texs[],
-                               const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                               const SkColor colors[], SkBlendMode,
                                const uint16_t indices[], int indexCount,
                                const SkPaint& paint) {
     // todo
diff --git a/src/svg/SkSVGDevice.h b/src/svg/SkSVGDevice.h
index ccd18c4..5de7735 100644
--- a/src/svg/SkSVGDevice.h
+++ b/src/svg/SkSVGDevice.h
@@ -47,7 +47,7 @@
                         const SkPaint& paint) override;
     void drawVertices(const SkDraw&, SkCanvas::VertexMode, int vertexCount,
                       const SkPoint verts[], const SkPoint texs[],
-                      const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                      const SkColor colors[], SkBlendMode,
                       const uint16_t indices[], int indexCount,
                       const SkPaint& paint) override;
 
diff --git a/src/utils/SkDeferredCanvas.cpp b/src/utils/SkDeferredCanvas.cpp
index 6a6af0f..19cfc97 100644
--- a/src/utils/SkDeferredCanvas.cpp
+++ b/src/utils/SkDeferredCanvas.cpp
@@ -513,27 +513,27 @@
 
 void SkDeferredCanvas::onDrawAtlas(const SkImage* image, const SkRSXform xform[],
                                    const SkRect rects[], const SkColor colors[],
-                                   int count, SK_XFERMODE_MODE_PARAM mode,
+                                   int count, SkBlendMode bmode,
                                    const SkRect* cull, const SkPaint* paint) {
     this->flush_before_saves();
-    fCanvas->drawAtlas(image, xform, rects, colors, count, mode, cull, paint);
+    fCanvas->drawAtlas(image, xform, rects, colors, count, bmode, cull, paint);
 }
 
 void SkDeferredCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                   const SkPoint vertices[], const SkPoint texs[],
-                                  const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                  const SkColor colors[], SkBlendMode bmode,
                                   const uint16_t indices[], int indexCount,
                                   const SkPaint& paint) {
     this->flush_before_saves();
-    fCanvas->drawVertices(vmode, vertexCount, vertices, texs, colors, xmode,
+    fCanvas->drawVertices(vmode, vertexCount, vertices, texs, colors, bmode,
                            indices, indexCount, paint);
 }
 
 void SkDeferredCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                               const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                               const SkPoint texCoords[4], SkBlendMode bmode,
                                const SkPaint& paint) {
     this->flush_before_saves();
-    fCanvas->drawPatch(cubics, colors, texCoords, xmode, paint);
+    fCanvas->drawPatch(cubics, colors, texCoords, bmode, paint);
 }
 
 void SkDeferredCanvas::onDrawAnnotation(const SkRect& rect, const char key[], SkData* data) {
diff --git a/src/utils/SkDeferredCanvas.h b/src/utils/SkDeferredCanvas.h
index b48b9b6..38ee0cb 100644
--- a/src/utils/SkDeferredCanvas.h
+++ b/src/utils/SkDeferredCanvas.h
@@ -57,7 +57,7 @@
     virtual void onDrawTextBlob(const SkTextBlob* blob, SkScalar x, SkScalar y,
                                 const SkPaint& paint) override;
     virtual void onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                             const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                             const SkPoint texCoords[4], SkBlendMode,
                              const SkPaint& paint) override;
 
     void onDrawPaint(const SkPaint&) override;
@@ -87,13 +87,12 @@
 
     void onDrawVertices(VertexMode vmode, int vertexCount,
                               const SkPoint vertices[], const SkPoint texs[],
-                              const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                              const SkColor colors[], SkBlendMode,
                               const uint16_t indices[], int indexCount,
                               const SkPaint&) override;
     void onDrawAtlas(const SkImage* image, const SkRSXform xform[],
                      const SkRect rects[], const SkColor colors[],
-                     int count, SK_XFERMODE_MODE_PARAM mode,
-                     const SkRect* cull, const SkPaint* paint) override;
+                     int count, SkBlendMode, const SkRect* cull, const SkPaint* paint) override;
 
     void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override;
     void onClipRRect(const SkRRect&, ClipOp, ClipEdgeStyle) override;
diff --git a/src/utils/SkDumpCanvas.cpp b/src/utils/SkDumpCanvas.cpp
index 8b71975..efaca33 100644
--- a/src/utils/SkDumpCanvas.cpp
+++ b/src/utils/SkDumpCanvas.cpp
@@ -468,7 +468,7 @@
 
 void SkDumpCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                   const SkPoint vertices[], const SkPoint texs[],
-                                  const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                  const SkColor colors[], SkBlendMode,
                                   const uint16_t indices[], int indexCount,
                                   const SkPaint& paint) {
     this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)",
@@ -477,7 +477,7 @@
 }
 
 void SkDumpCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                               const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                               const SkPoint texCoords[4], SkBlendMode,
                                const SkPaint& paint) {
     //dumps corner points and colors in clockwise order starting on upper-left corner
     this->dump(kDrawPatch_Verb, &paint, "drawPatch(Vertices{[%f, %f], [%f, %f], [%f, %f], [%f, %f]}\
diff --git a/src/utils/SkLuaCanvas.cpp b/src/utils/SkLuaCanvas.cpp
index 10fc3b4..3949df5 100644
--- a/src/utils/SkLuaCanvas.cpp
+++ b/src/utils/SkLuaCanvas.cpp
@@ -309,7 +309,7 @@
 
 void SkLuaCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                  const SkPoint vertices[], const SkPoint texs[],
-                                 const SkColor colors[], SK_XFERMODE_PARAM,
+                                 const SkColor colors[], SkBlendMode,
                                  const uint16_t indices[], int indexCount,
                                  const SkPaint& paint) {
     AUTO_LUA("drawVertices");
diff --git a/src/utils/SkNWayCanvas.cpp b/src/utils/SkNWayCanvas.cpp
index aa9f767..b2d71d2 100644
--- a/src/utils/SkNWayCanvas.cpp
+++ b/src/utils/SkNWayCanvas.cpp
@@ -288,22 +288,22 @@
 
 void SkNWayCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                   const SkPoint vertices[], const SkPoint texs[],
-                                  const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                  const SkColor colors[], SkBlendMode bmode,
                                   const uint16_t indices[], int indexCount,
                                   const SkPaint& paint) {
     Iter iter(fList);
     while (iter.next()) {
-        iter->drawVertices(vmode, vertexCount, vertices, texs, colors, xmode,
+        iter->drawVertices(vmode, vertexCount, vertices, texs, colors, bmode,
                            indices, indexCount, paint);
     }
 }
 
 void SkNWayCanvas::onDrawPatch(const SkPoint cubics[12], const SkColor colors[4],
-                               const SkPoint texCoords[4], SK_XFERMODE_PARAM xmode,
+                               const SkPoint texCoords[4], SkBlendMode bmode,
                                const SkPaint& paint) {
     Iter iter(fList);
     while (iter.next()) {
-        iter->drawPatch(cubics, colors, texCoords, xmode, paint);
+        iter->drawPatch(cubics, colors, texCoords, bmode, paint);
     }
 }
 
diff --git a/src/utils/SkPaintFilterCanvas.cpp b/src/utils/SkPaintFilterCanvas.cpp
index d3cc4c7..7bf8a5f 100644
--- a/src/utils/SkPaintFilterCanvas.cpp
+++ b/src/utils/SkPaintFilterCanvas.cpp
@@ -151,22 +151,22 @@
 
 void SkPaintFilterCanvas::onDrawVertices(VertexMode vmode, int vertexCount,
                                          const SkPoint vertices[], const SkPoint texs[],
-                                         const SkColor colors[], SK_XFERMODE_PARAM xmode,
+                                         const SkColor colors[], SkBlendMode bmode,
                                          const uint16_t indices[], int indexCount,
                                          const SkPaint& paint) {
     AutoPaintFilter apf(this, kVertices_Type, paint);
     if (apf.shouldDraw()) {
-        this->INHERITED::onDrawVertices(vmode, vertexCount, vertices, texs, colors, xmode, indices,
+        this->INHERITED::onDrawVertices(vmode, vertexCount, vertices, texs, colors, bmode, indices,
                                         indexCount, *apf.paint());
     }
 }
 
 void SkPaintFilterCanvas::onDrawPatch(const SkPoint cubics[], const SkColor colors[],
-                                      const SkPoint texCoords[], SK_XFERMODE_PARAM xmode,
+                                      const SkPoint texCoords[], SkBlendMode bmode,
                                       const SkPaint& paint) {
     AutoPaintFilter apf(this, kPatch_Type, paint);
     if (apf.shouldDraw()) {
-        this->INHERITED::onDrawPatch(cubics, colors, texCoords, xmode, *apf.paint());
+        this->INHERITED::onDrawPatch(cubics, colors, texCoords, bmode, *apf.paint());
     }
 }
 
diff --git a/src/xps/SkXPSDevice.cpp b/src/xps/SkXPSDevice.cpp
index 07dcd45..22c7b24 100644
--- a/src/xps/SkXPSDevice.cpp
+++ b/src/xps/SkXPSDevice.cpp
@@ -1181,7 +1181,7 @@
 void SkXPSDevice::drawVertices(const SkDraw&, SkCanvas::VertexMode,
                                int vertexCount, const SkPoint verts[],
                                const SkPoint texs[], const SkColor colors[],
-                               SK_XFERMODE_PARAM xmode, const uint16_t indices[],
+                               SkBlendMode, const uint16_t indices[],
                                int indexCount, const SkPaint& paint) {
     //TODO: override this for XPS
     SkDEBUGF(("XPS drawVertices not yet implemented."));
diff --git a/src/xps/SkXPSDevice.h b/src/xps/SkXPSDevice.h
index 1f66186..bbb0716 100644
--- a/src/xps/SkXPSDevice.h
+++ b/src/xps/SkXPSDevice.h
@@ -127,7 +127,7 @@
         SkCanvas::VertexMode,
         int vertexCount, const SkPoint verts[],
         const SkPoint texs[], const SkColor colors[],
-        SK_XFERMODE_PARAM xmode,
+        SkBlendMode,
         const uint16_t indices[], int indexCount,
         const SkPaint& paint) override;