Use GrMatrixEffect in gradients instead of GrCoordTransform

Bug: skia:10416
Change-Id: I8eefbd09ebde0b44e4a7dfafe32351f903c8a31c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298983
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
diff --git a/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp b/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
index adde160..96e29e1 100644
--- a/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
+++ b/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
@@ -24,8 +24,6 @@
         const GrTwoPointConicalGradientLayout& _outer =
                 args.fFp.cast<GrTwoPointConicalGradientLayout>();
         (void)_outer;
-        auto gradientMatrix = _outer.gradientMatrix;
-        (void)gradientMatrix;
         auto type = _outer.type;
         (void)type;
         auto isRadiusIncreasing = _outer.isRadiusIncreasing;
@@ -160,7 +158,6 @@
 bool GrTwoPointConicalGradientLayout::onIsEqual(const GrFragmentProcessor& other) const {
     const GrTwoPointConicalGradientLayout& that = other.cast<GrTwoPointConicalGradientLayout>();
     (void)that;
-    if (gradientMatrix != that.gradientMatrix) return false;
     if (type != that.type) return false;
     if (isRadiusIncreasing != that.isRadiusIncreasing) return false;
     if (isFocalOnCircle != that.isFocalOnCircle) return false;
@@ -173,8 +170,6 @@
 GrTwoPointConicalGradientLayout::GrTwoPointConicalGradientLayout(
         const GrTwoPointConicalGradientLayout& src)
         : INHERITED(kGrTwoPointConicalGradientLayout_ClassID, src.optimizationFlags())
-        , fCoordTransform0(src.fCoordTransform0)
-        , gradientMatrix(src.gradientMatrix)
         , type(src.type)
         , isRadiusIncreasing(src.isRadiusIncreasing)
         , isFocalOnCircle(src.isFocalOnCircle)
@@ -182,7 +177,6 @@
         , isSwapped(src.isSwapped)
         , isNativelyFocal(src.isNativelyFocal)
         , focalParams(src.focalParams) {
-    this->addCoordTransform(&fCoordTransform0);
     this->setUsesSampleCoordsDirectly();
 }
 std::unique_ptr<GrFragmentProcessor> GrTwoPointConicalGradientLayout::clone() const {
@@ -339,7 +333,8 @@
         matrix.postConcat(grad.getGradientMatrix());
     }
 
-    return std::unique_ptr<GrFragmentProcessor>(new GrTwoPointConicalGradientLayout(
-            matrix, grType, isRadiusIncreasing, isFocalOnCircle, isWellBehaved, isSwapped,
-            isNativelyFocal, focalParams));
+    return GrMatrixEffect::Make(
+            matrix, std::unique_ptr<GrFragmentProcessor>(new GrTwoPointConicalGradientLayout(
+                            grType, isRadiusIncreasing, isFocalOnCircle, isWellBehaved, isSwapped,
+                            isNativelyFocal, focalParams)));
 }