diff --git a/src/shaders/gradients/SkLinearGradient.cpp b/src/shaders/gradients/SkLinearGradient.cpp
index fc49d34..d127f8d 100644
--- a/src/shaders/gradients/SkLinearGradient.cpp
+++ b/src/shaders/gradients/SkLinearGradient.cpp
@@ -83,7 +83,11 @@
                                                    SkMatrix* matrix,
                                                    SkRasterPipeline*,
                                                    SkRasterPipeline*) const {
+#ifdef SK_SUPPORT_LEGACY_GRADIENT_MATRIX_MATH
     *matrix = SkMatrix::Concat(fPtsToUnit, *matrix);
+#else
+    matrix->postConcat(fPtsToUnit);
+#endif
     return true;
 }
 
diff --git a/src/shaders/gradients/SkRadialGradient.cpp b/src/shaders/gradients/SkRadialGradient.cpp
index faf0f69..c2ca2fa 100644
--- a/src/shaders/gradients/SkRadialGradient.cpp
+++ b/src/shaders/gradients/SkRadialGradient.cpp
@@ -375,8 +375,12 @@
                                  SkMatrix* matrix,
                                  SkRasterPipeline* p,
                                  SkRasterPipeline*) const {
+#ifdef SK_SUPPORT_LEGACY_GRADIENT_MATRIX_MATH
     matrix->postTranslate(-fCenter.fX, -fCenter.fY);
     matrix->postScale(1/fRadius, 1/fRadius);
+#else
+    matrix->postConcat(fPtsToUnit);
+#endif
 
     p->append(SkRasterPipeline::xy_to_radius);
     return true;
diff --git a/src/shaders/gradients/SkSweepGradient.cpp b/src/shaders/gradients/SkSweepGradient.cpp
index f984542..0a1d83e 100644
--- a/src/shaders/gradients/SkSweepGradient.cpp
+++ b/src/shaders/gradients/SkSweepGradient.cpp
@@ -222,7 +222,11 @@
                                                   SkMatrix* matrix,
                                                   SkRasterPipeline* p,
                                                   SkRasterPipeline*) const {
+#ifdef SK_SUPPORT_LEGACY_GRADIENT_MATRIX_MATH
     matrix->postTranslate(-fCenter.fX, -fCenter.fY);
+#else
+    matrix->postConcat(fPtsToUnit);
+#endif
     p->append(SkRasterPipeline::xy_to_unit_angle);
 
     return true;
diff --git a/src/shaders/gradients/SkTwoPointConicalGradient.cpp b/src/shaders/gradients/SkTwoPointConicalGradient.cpp
index f355971..65842f2 100644
--- a/src/shaders/gradients/SkTwoPointConicalGradient.cpp
+++ b/src/shaders/gradients/SkTwoPointConicalGradient.cpp
@@ -182,8 +182,14 @@
 
     // When the two circles are concentric, we can pretend we're radial (with a tiny *twist).
     if (SkScalarNearlyZero(dCenter)) {
+#ifdef SK_SUPPORT_LEGACY_GRADIENT_MATRIX_MATH
         matrix->postTranslate(-fCenter1.fX, -fCenter1.fY);
         matrix->postScale(1 / fRadius2, 1 / fRadius2);
+#else
+        const SkMatrix tmp = SkMatrix::Concat(SkMatrix::MakeScale(1 / fRadius2, 1 / fRadius2),
+                                              SkMatrix::MakeTrans(-fCenter1.fX, -fCenter1.fY));
+        matrix->postConcat(tmp);
+#endif
         p->append(SkRasterPipeline::xy_to_radius);
 
         // Tiny twist: radial computes a t for [0, r2], but we want a t for [r1, r2].
