Index: src/gpu/GrDrawState.h |
diff --git a/src/gpu/GrDrawState.h b/src/gpu/GrDrawState.h |
index d1b7a66f5ca454c464d6252c3788bafa2a5630e3..b894cb5a2922a9c21e766efb019ccc41789ba6b8 100644 |
--- a/src/gpu/GrDrawState.h |
+++ b/src/gpu/GrDrawState.h |
@@ -893,13 +893,17 @@ public: |
fDrawFace != that.fDrawFace) { |
return false; |
} |
+ |
+ bool explicitLocalCoords = this->hasLocalCoordAttribute(); |
for (int i = 0; i < fColorStages.count(); i++) { |
- if (fColorStages[i] != that.fColorStages[i]) { |
+ if (!GrEffectStage::AreCompatible(fColorStages[i], that.fColorStages[i], |
+ explicitLocalCoords)) { |
return false; |
} |
} |
for (int i = 0; i < fCoverageStages.count(); i++) { |
- if (fCoverageStages[i] != that.fCoverageStages[i]) { |
+ if (!GrEffectStage::AreCompatible(fCoverageStages[i], that.fCoverageStages[i], |
+ explicitLocalCoords)) { |
return false; |
} |
} |