Revert of removing equality / compute invariant loops from GrGeometryProcessors (patchset #2 id:20001 of https://codereview.chromium.org/1111603004/)

Reason for revert:
breaks gl programs

Original issue's description:
> removing equality / compute invariant loops from GrGeometryProcessors
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ef292a0901205b9785a30daae2c036aa34a970ca

TBR=bsalomon@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1110993002
diff --git a/src/gpu/GrAAConvexPathRenderer.cpp b/src/gpu/GrAAConvexPathRenderer.cpp
index 3fde17a..d6eb3d2 100644
--- a/src/gpu/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/GrAAConvexPathRenderer.cpp
@@ -623,6 +623,17 @@
         local->fUsesLocalCoords = init.fUsesLocalCoords;
     }
 
+    bool onCanMakeEqual(const GrBatchTracker& m,
+                        const GrGeometryProcessor& that,
+                        const GrBatchTracker& t) const override {
+        const BatchTracker& mine = m.cast<BatchTracker>();
+        const BatchTracker& theirs = t.cast<BatchTracker>();
+        return CanCombineLocalMatrices(*this, mine.fUsesLocalCoords,
+                                       that, theirs.fUsesLocalCoords) &&
+               CanCombineOutput(mine.fInputColorType, mine.fColor,
+                                theirs.fInputColorType, theirs.fColor);
+    }
+
 private:
     QuadEdgeEffect(GrColor color, const SkMatrix& localMatrix)
         : INHERITED(color, SkMatrix::I(), localMatrix) {
@@ -631,6 +642,14 @@
         fInQuadEdge = &this->addVertexAttrib(Attribute("inQuadEdge", kVec4f_GrVertexAttribType));
     }
 
+    bool onIsEqual(const GrGeometryProcessor& other) const override {
+        return true;
+    }
+
+    void onGetInvariantOutputCoverage(GrInitInvariantOutput* out) const override {
+        out->setUnknownSingleComponent();
+    }
+
     struct BatchTracker {
         GrGPInput fInputColorType;
         GrColor fColor;