This change is in preparation for updating how processor keys and meta keys are generated for frag procs.

BUG=skia:4182

Review URL: https://codereview.chromium.org/1298233002
diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp
index 0eaab75..6716ab1 100644
--- a/src/gpu/GrProcessor.cpp
+++ b/src/gpu/GrProcessor.cpp
@@ -166,10 +166,24 @@
     return glFragProc;
 }
 
+void GrFragmentProcessor::addTextureAccess(const GrTextureAccess* textureAccess) {
+    // Can't add texture accesses after registering any children since their texture accesses have
+    // already been bubbled up into our fTextureAccesses array
+    SkASSERT(fChildProcessors.empty());
+
+    INHERITED::addTextureAccess(textureAccess);
+    fNumTexturesExclChildren++;
+}
+
 void GrFragmentProcessor::addCoordTransform(const GrCoordTransform* transform) {
+    // Can't add transforms after registering any children since their transforms have already been
+    // bubbled up into our fCoordTransforms array
+    SkASSERT(fChildProcessors.empty());
+
     fCoordTransforms.push_back(transform);
     fUsesLocalCoords = fUsesLocalCoords || transform->sourceCoords() == kLocal_GrCoordSet;
     SkDEBUGCODE(transform->setInProcessor();)
+    fNumTransformsExclChildren++;
 }
 
 int GrFragmentProcessor::registerChildProcessor(const GrFragmentProcessor* child) {