Use child processors to implement compose color filter.
Review URL: https://codereview.chromium.org/1368423003
diff --git a/include/gpu/GrFragmentProcessor.h b/include/gpu/GrFragmentProcessor.h
index 776e893..5711395 100644
--- a/include/gpu/GrFragmentProcessor.h
+++ b/include/gpu/GrFragmentProcessor.h
@@ -41,12 +41,20 @@
static const GrFragmentProcessor* MulOutputByInputUnpremulColor(const GrFragmentProcessor*);
/**
- * Returns a parent fragment processor that adopts the passed fragment processor as a child. The
- * parent will ignore its input color and instead feed the passed in color as input to the
- * child.
+ * Returns a parent fragment processor that adopts the passed fragment processor as a child.
+ * The parent will ignore its input color and instead feed the passed in color as input to the
+ * child.
*/
static const GrFragmentProcessor* OverrideInput(const GrFragmentProcessor*, GrColor);
+ /**
+ * Returns a fragment processor that runs the passed in array of fragment processors in a
+ * series. The original input is passed to the first, the first's output is passed to the
+ * second, etc. The output of the returned processor is the output of the last processor of the
+ * series.
+ */
+ static const GrFragmentProcessor* RunInSeries(const GrFragmentProcessor*[], int cnt);
+
GrFragmentProcessor()
: INHERITED()
, fUsesLocalCoords(false)