Remove early-out from color analysis pass.

This early-out was a useful optimization when the passed-in count could
be large, but the analysis pass only takes 1-2 inputs nowadays, so it
doesn't add value. (Even if we did have a lot of inputs, most of the
checks in this loop correspond directly to a flag-bit check on an FP;
they aren't expensive either way.)

Also, did some minor polish/variable renaming for readability.

Change-Id: I556db3269fd2f1781b4b0ff26a252ba4c76a1d4b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415378
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/GrProcessorAnalysis.cpp b/src/gpu/GrProcessorAnalysis.cpp
index df3f426..76f52da 100644
--- a/src/gpu/GrProcessorAnalysis.cpp
+++ b/src/gpu/GrProcessorAnalysis.cpp
@@ -12,37 +12,33 @@
 GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis(
         const GrProcessorAnalysisColor& input,
         std::unique_ptr<GrFragmentProcessor> const fps[],
-        int cnt) {
+        int count) {
     fCompatibleWithCoverageAsAlpha = true;
     fIsOpaque = input.isOpaque();
     fUsesLocalCoords = false;
     fProcessorsToEliminate = 0;
-    fKnowOutputColor = input.isConstant(&fLastKnownOutputColor);
-    for (int i = 0; i < cnt; ++i) {
-        if (fUsesLocalCoords && !fKnowOutputColor && !fCompatibleWithCoverageAsAlpha &&
-            !fIsOpaque) {
-            break;
-        }
-        const auto& fp = fps[i];
-        if (fKnowOutputColor &&
-            fp->hasConstantOutputForConstantInput(fLastKnownOutputColor, &fLastKnownOutputColor)) {
+    fOutputColorKnown = input.isConstant(&fLastKnownOutputColor);
+    for (int i = 0; i < count; ++i) {
+        const GrFragmentProcessor* fp = fps[i].get();
+        if (fOutputColorKnown && fp->hasConstantOutputForConstantInput(fLastKnownOutputColor,
+                                                                       &fLastKnownOutputColor)) {
             ++fProcessorsToEliminate;
             fIsOpaque = fLastKnownOutputColor.isOpaque();
-            // We reset these since the caller is expected to not use the earlier fragment
-            // processors.
+            // We reset these flags since the earlier fragment processors are being eliminated.
             fCompatibleWithCoverageAsAlpha = true;
             fUsesLocalCoords = false;
-        } else {
-            fKnowOutputColor = false;
-            if (fIsOpaque && !fp->preservesOpaqueInput()) {
-                fIsOpaque = false;
-            }
-            if (fCompatibleWithCoverageAsAlpha && !fp->compatibleWithCoverageAsAlpha()) {
-                fCompatibleWithCoverageAsAlpha = false;
-            }
-            if (fp->usesVaryingCoords()) {
-                fUsesLocalCoords = true;
-            }
+            continue;
+        }
+
+        fOutputColorKnown = false;
+        if (fIsOpaque && !fp->preservesOpaqueInput()) {
+            fIsOpaque = false;
+        }
+        if (fCompatibleWithCoverageAsAlpha && !fp->compatibleWithCoverageAsAlpha()) {
+            fCompatibleWithCoverageAsAlpha = false;
+        }
+        if (fp->usesVaryingCoords()) {
+            fUsesLocalCoords = true;
         }
     }
 }