Index: src/gpu/GrPathProcessor.cpp |
diff --git a/src/gpu/GrPathProcessor.cpp b/src/gpu/GrPathProcessor.cpp |
index 5c07a8b156675a5e155bd877ea0c5241f7501875..4660aa080fb393f3bbecc415344fb1b32e8f5487 100644 |
--- a/src/gpu/GrPathProcessor.cpp |
+++ b/src/gpu/GrPathProcessor.cpp |
@@ -57,12 +57,19 @@ bool GrPathProcessor::canMakeEqual(const GrBatchTracker& m, |
const PathBatchTracker& mine = m.cast<PathBatchTracker>(); |
const PathBatchTracker& theirs = t.cast<PathBatchTracker>(); |
- return CanCombineLocalMatrices(*this, mine.fUsesLocalCoords, |
- that, theirs.fUsesLocalCoords) && |
- CanCombineOutput(mine.fInputColorType, mine.fColor, |
- theirs.fInputColorType, theirs.fColor) && |
- CanCombineOutput(mine.fInputCoverageType, 0xff, |
- theirs.fInputCoverageType, 0xff); |
+ if (mine.fColor != theirs.fColor) { |
+ return false; |
+ } |
+ |
+ if (mine.fUsesLocalCoords != theirs.fUsesLocalCoords) { |
+ return false; |
+ } |
+ |
+ if (mine.fUsesLocalCoords && !this->localMatrix().cheapEqualTo(other.localMatrix())) { |
+ return false; |
+ } |
+ |
+ return true; |
} |
void GrPathProcessor::getGLProcessorKey(const GrBatchTracker& bt, |