Don't compare coord change matrices to determine effect compatibility when using explicit local coords.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/438053002
diff --git a/src/gpu/GrDrawState.h b/src/gpu/GrDrawState.h
index d1b7a66..b894cb5 100644
--- a/src/gpu/GrDrawState.h
+++ b/src/gpu/GrDrawState.h
@@ -893,13 +893,17 @@
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;
}
}