Index: src/gpu/GrAAConvexPathRenderer.cpp |
diff --git a/src/gpu/GrAAConvexPathRenderer.cpp b/src/gpu/GrAAConvexPathRenderer.cpp |
index 5a470213d4ba7ac9302c0592dc8ed2c5f0fcaccb..def69a04b99d108f96d3f6be3ff0addbcc5ddd61 100644 |
--- a/src/gpu/GrAAConvexPathRenderer.cpp |
+++ b/src/gpu/GrAAConvexPathRenderer.cpp |
@@ -623,12 +623,31 @@ |
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) { |
this->initClassID<QuadEdgeEffect>(); |
fInPosition = &this->addVertexAttrib(Attribute("inPosition", kVec2f_GrVertexAttribType)); |
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 { |