Revert "Try to avoid vertex colors in Texture/FillRect ops when possible."

This reverts commit e0b989e5e3ab64f3585fe1bf0228e964dad0678c.

Reason for revert: gms

Original change's description:
> Try to avoid vertex colors in Texture/FillRect ops when possible.
> 
> Avoids unnecessary fragment shader color multiplication.
> 
> Change-Id: I353d3ca91824ce20c9e9af1c5c84ab9953ddd8ab
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201004
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

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

Change-Id: I42b37e50c1c0185d8f8a52984c9350464004880e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201081
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrQuadPerEdgeAA.cpp b/src/gpu/ops/GrQuadPerEdgeAA.cpp
index cdc49b3..4845b55 100644
--- a/src/gpu/ops/GrQuadPerEdgeAA.cpp
+++ b/src/gpu/ops/GrQuadPerEdgeAA.cpp
@@ -624,7 +624,9 @@
 // Writes four vertices in triangle strip order, including the additional data for local
 // coordinates, domain, color, and coverage as needed to satisfy the vertex spec.
 static void write_quad(GrVertexWriter* vb, const GrQuadPerEdgeAA::VertexSpec& spec,
-                       CoverageMode mode, Sk4f coverage, SkPMColor4f color4f, const SkRect& domain,
+                       CoverageMode mode, Sk4f coverage,
+                       SkPMColor4f color4f, bool wideColor,
+                       const SkRect& domain,
                        const Vertices& quad) {
     static constexpr auto If = GrVertexWriter::If<float>;
 
@@ -637,9 +639,8 @@
 
         // save color
         if (spec.hasVertexColors()) {
-            bool wide = spec.colorType() == GrQuadPerEdgeAA::ColorType::kHalf;
             vb->write(GrVertexColor(
-                    color4f * (mode == CoverageMode::kWithColor ? coverage[i] : 1.f), wide));
+                    color4f * (mode == CoverageMode::kWithColor ? coverage[i] : 1.f), wideColor));
         }
 
         // save local position
@@ -683,21 +684,12 @@
 
 namespace GrQuadPerEdgeAA {
 
-ColorType MinColorType(SkPMColor4f color) {
-    if (color == SK_PMColor4fWHITE) {
-        return ColorType::kNone;
-    } else if (color.fitsInBytes()) {
-        return ColorType::kByte;
-    } else {
-        return ColorType::kHalf;
-    }
-}
-
 ////////////////// Tessellate Implementation
 
 void* Tessellate(void* vertices, const VertexSpec& spec, const GrPerspQuad& deviceQuad,
                  const SkPMColor4f& color4f, const GrPerspQuad& localQuad, const SkRect& domain,
                  GrQuadAAFlags aaFlags) {
+    bool wideColor = GrQuadPerEdgeAA::ColorType::kHalf == spec.colorType();
     CoverageMode mode = get_mode_for_spec(spec);
 
     // Load position data into Sk4fs (always x, y, and load w to avoid branching down the road)
@@ -740,12 +732,12 @@
         // applied a mirror, etc. The current 2D case is already adequately fast.
 
         // Write two quads for inner and outer, inner will use the
-        write_quad(&vb, spec, mode, maxCoverage, color4f, domain, inner);
-        write_quad(&vb, spec, mode, 0.f, color4f, domain, outer);
+        write_quad(&vb, spec, mode, maxCoverage, color4f, wideColor, domain, inner);
+        write_quad(&vb, spec, mode, 0.f, color4f, wideColor, domain, outer);
     } else {
         // No outsetting needed, just write a single quad with full coverage
         SkASSERT(mode == CoverageMode::kNone);
-        write_quad(&vb, spec, mode, 1.f, color4f, domain, outer);
+        write_quad(&vb, spec, mode, 1.f, color4f, wideColor, domain, outer);
     }
 
     return vb.fPtr;