Reland "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""

This reverts commit 997b37fdb986b45ff9941319b0111b188e749cfc.

Reason for revert: May be blocking Chrome roll

Original change's description:
> Revert "Revert "Make FP optimizations helpers use SkAlphaType not GrColorType""
> 
> This reverts commit 078e8faa26d8b1f33a92e57f587be011150d1776.
> 
> Change-Id: I67b2970584db5a1afbf9928b77c5444947ef71a3
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255897
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

TBR=egdaniel@google.com,bsalomon@google.com

Change-Id: I0d2754ac7f4672f0758e4d00cd9e06998637846a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/256196
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp
index d899954..6eada79 100644
--- a/src/gpu/ops/GrShadowRRectOp.cpp
+++ b/src/gpu/ops/GrShadowRRectOp.cpp
@@ -719,42 +719,35 @@
 #if GR_TEST_UTILS
 
 GR_DRAW_OP_TEST_DEFINE(ShadowRRectOp) {
-    // We may choose matrix and inset values that cause the factory to fail. We loop until we find
-    // an acceptable combination.
+    // create a similarity matrix
+    SkScalar rotate = random->nextSScalar1() * 360.f;
+    SkScalar translateX = random->nextSScalar1() * 1000.f;
+    SkScalar translateY = random->nextSScalar1() * 1000.f;
+    SkScalar scale;
     do {
-        // create a similarity matrix
-        SkScalar rotate = random->nextSScalar1() * 360.f;
-        SkScalar translateX = random->nextSScalar1() * 1000.f;
-        SkScalar translateY = random->nextSScalar1() * 1000.f;
-        SkScalar scale = random->nextSScalar1() * 100.f;
-        SkMatrix viewMatrix;
-        viewMatrix.setRotate(rotate);
-        viewMatrix.postTranslate(translateX, translateY);
-        viewMatrix.postScale(scale, scale);
-        SkScalar insetWidth = random->nextSScalar1() * 72.f;
-        SkScalar blurWidth = random->nextSScalar1() * 72.f;
-        bool isCircle = random->nextBool();
-        // This op doesn't use a full GrPaint, just a color.
-        GrColor color = paint.getColor4f().toBytes_RGBA();
-        if (isCircle) {
-            SkRect circle = GrTest::TestSquare(random);
-            SkRRect rrect = SkRRect::MakeOval(circle);
-            if (auto op = GrShadowRRectOp::Make(
-                    context, color, viewMatrix, rrect, blurWidth, insetWidth)) {
-                return op;
-            }
-        } else {
-            SkRRect rrect;
-            do {
-                // This may return a rrect with elliptical corners, which will cause an assert.
-                rrect = GrTest::TestRRectSimple(random);
-            } while (!SkRRectPriv::IsSimpleCircular(rrect));
-            if (auto op = GrShadowRRectOp::Make(
-                    context, color, viewMatrix, rrect, blurWidth, insetWidth)) {
-                return op;
-            }
-        }
-    } while (true);
+        scale = random->nextSScalar1() * 100.f;
+    } while (scale == 0);
+    SkMatrix viewMatrix;
+    viewMatrix.setRotate(rotate);
+    viewMatrix.postTranslate(translateX, translateY);
+    viewMatrix.postScale(scale, scale);
+    SkScalar insetWidth = random->nextSScalar1() * 72.f;
+    SkScalar blurWidth = random->nextSScalar1() * 72.f;
+    bool isCircle = random->nextBool();
+    // This op doesn't use a full GrPaint, just a color.
+    GrColor color = paint.getColor4f().toBytes_RGBA();
+    if (isCircle) {
+        SkRect circle = GrTest::TestSquare(random);
+        SkRRect rrect = SkRRect::MakeOval(circle);
+        return GrShadowRRectOp::Make(context, color, viewMatrix, rrect, blurWidth, insetWidth);
+    } else {
+        SkRRect rrect;
+        do {
+            // This may return a rrect with elliptical corners, which we don't support.
+            rrect = GrTest::TestRRectSimple(random);
+        } while (!SkRRectPriv::IsSimpleCircular(rrect));
+        return GrShadowRRectOp::Make(context, color, viewMatrix, rrect, blurWidth, insetWidth);
+    }
 }
 
 #endif