Add function to perform color fragment processor elimination while performing FP analysis.

Use this in path and instanced ops.

Change-Id: I6c2d3fc9b3aaa0220c560c70aa1b85515bd35a6d
Reviewed-on: https://skia-review.googlesource.com/10059
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/instanced/InstancedRendering.cpp b/src/gpu/instanced/InstancedRendering.cpp
index 179552c..f97c342 100644
--- a/src/gpu/instanced/InstancedRendering.cpp
+++ b/src/gpu/instanced/InstancedRendering.cpp
@@ -341,8 +341,8 @@
     } else {
         coverageInput = GrColor_WHITE;
     }
-    analysis.init(this->getSingleInstance().fColor, coverageInput, fProcessors, clip, caps);
-
+    fProcessors.analyzeAndEliminateFragmentProcessors(&analysis, this->getSingleInstance().fColor,
+                                                      coverageInput, clip, caps);
     Draw& draw = this->getSingleDraw(); // This will assert if we have > 1 command.
     SkASSERT(draw.fGeometry.isEmpty());
     SkASSERT(SkIsPow2(fInfo.fShapeTypes));
@@ -363,7 +363,7 @@
     }
 
     GrColor overrideColor;
-    if (analysis.initialColorProcessorsToEliminate(&overrideColor)) {
+    if (analysis.getInputColorOverrideAndColorProcessorEliminationCount(&overrideColor) >= 0) {
         SkASSERT(State::kRecordingDraws == fInstancedRendering->fState);
         this->getSingleDraw().fInstance.fColor = overrideColor;
     }