Index: src/gpu/GrAAConvexPathRenderer.cpp |
diff --git a/src/gpu/GrAAConvexPathRenderer.cpp b/src/gpu/GrAAConvexPathRenderer.cpp |
index 93e2b3763c459b8c4329bbb419845f6a3ee5e5ff..311010fcd9e15dc571b9daf856950351f593b76f 100644 |
--- a/src/gpu/GrAAConvexPathRenderer.cpp |
+++ b/src/gpu/GrAAConvexPathRenderer.cpp |
@@ -610,12 +610,17 @@ public: |
void initBatchTracker(GrBatchTracker* bt, const InitBT& init) const SK_OVERRIDE { |
BatchTracker* local = bt->cast<BatchTracker>(); |
local->fInputColorType = GetColorInputType(&local->fColor, this->color(), init, false); |
+ local->fUsesLocalCoords = init.fUsesLocalCoords; |
} |
- bool onCanMakeEqual(const GrBatchTracker& m, const GrBatchTracker& t) const SK_OVERRIDE { |
+ bool onCanMakeEqual(const GrBatchTracker& m, |
+ const GrGeometryProcessor& that, |
+ const GrBatchTracker& t) const SK_OVERRIDE { |
const BatchTracker& mine = m.cast<BatchTracker>(); |
const BatchTracker& theirs = t.cast<BatchTracker>(); |
- return CanCombineOutput(mine.fInputColorType, mine.fColor, |
+ return CanCombineLocalMatrices(*this, mine.fUsesLocalCoords, |
+ that, theirs.fUsesLocalCoords) && |
+ CanCombineOutput(mine.fInputColorType, mine.fColor, |
theirs.fInputColorType, theirs.fColor); |
} |
@@ -637,6 +642,7 @@ private: |
struct BatchTracker { |
GrGPInput fInputColorType; |
GrColor fColor; |
+ bool fUsesLocalCoords; |
}; |
const GrAttribute* fInPosition; |