Inline fast path for GrPaint::isConstantBlendedColor when no color FPs and src-over blend.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2236423002

Review-Url: https://codereview.chromium.org/2236423002
diff --git a/include/gpu/GrPaint.h b/include/gpu/GrPaint.h
index ca9ba59..0085604 100644
--- a/include/gpu/GrPaint.h
+++ b/include/gpu/GrPaint.h
@@ -166,9 +166,21 @@
      * coverage and color, so the actual values written to pixels with partial coverage may still
      * not seem constant, even if this function returns true.
      */
-    bool isConstantBlendedColor(GrColor* constantColor) const;
+    bool isConstantBlendedColor(GrColor* constantColor) const {
+        GrColor paintColor = this->getColor();
+        if (!fXPFactory && fColorFragmentProcessors.empty()) {
+            if (!GrColorIsOpaque(paintColor)) {
+                return false;
+            }
+            *constantColor = paintColor;
+            return true;
+        }
+        return this->internalIsConstantBlendedColor(paintColor, constantColor);
+    }
 
 private:
+    bool internalIsConstantBlendedColor(GrColor paintColor, GrColor* constantColor) const;
+
     mutable sk_sp<GrXPFactory>                fXPFactory;
     SkSTArray<4, sk_sp<GrFragmentProcessor>>  fColorFragmentProcessors;
     SkSTArray<2, sk_sp<GrFragmentProcessor>>  fCoverageFragmentProcessors;
diff --git a/src/gpu/GrPaint.cpp b/src/gpu/GrPaint.cpp
index 7bf9b6d..d33881c 100644
--- a/src/gpu/GrPaint.cpp
+++ b/src/gpu/GrPaint.cpp
@@ -51,11 +51,11 @@
                                                                    params));
 }
 
-bool GrPaint::isConstantBlendedColor(GrColor* color) const {
+bool GrPaint::internalIsConstantBlendedColor(GrColor paintColor, GrColor* color) const {
     GrProcOptInfo colorProcInfo;
     colorProcInfo.calcWithInitialValues(
         sk_sp_address_as_pointer_address(fColorFragmentProcessors.begin()),
-        this->numColorFragmentProcessors(), this->getColor(), kRGBA_GrColorComponentFlags, false);
+        this->numColorFragmentProcessors(), paintColor, kRGBA_GrColorComponentFlags, false);
 
     GrXPFactory::InvariantBlendedColor blendedColor;
     if (fXPFactory) {