End color analysis early when color becomes unknown

Bug: skia:
Change-Id: Ifce6f002336ccabf19dbaeb3fa8b40eae6acca19
Reviewed-on: https://skia-review.googlesource.com/c/175990
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrFillRectOp.cpp b/src/gpu/ops/GrFillRectOp.cpp
index 337d476..15baf8c 100644
--- a/src/gpu/ops/GrFillRectOp.cpp
+++ b/src/gpu/ops/GrFillRectOp.cpp
@@ -168,6 +168,11 @@
         // Then combine the colors of any additional quads (e.g. from MakeSet)
         for (int i = 1; i < fQuads.count(); ++i) {
             quadColors = GrProcessorAnalysisColor::Combine(quadColors, fQuads[i].color());
+            if (quadColors.isUnknown()) {
+                // No point in accumulating additional starting colors, combining cannot make it
+                // less unknown.
+                break;
+            }
         }
         auto result = fHelper.xpRequiresDstTexture(
                 caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &quadColors);