Index: src/gpu/gl/GrGLProgramEffects.cpp |
diff --git a/src/gpu/gl/GrGLProgramEffects.cpp b/src/gpu/gl/GrGLProgramEffects.cpp |
index cff31e29c26e6ebbbea1c3c49425378fe38ed383..3fa4f15ac80f13fe55de0be6b18155f3b607f3ad 100644 |
--- a/src/gpu/gl/GrGLProgramEffects.cpp |
+++ b/src/gpu/gl/GrGLProgramEffects.cpp |
@@ -90,8 +90,11 @@ GrCoordSet get_source_coords(uint32_t transformKey, int transformIdx) { |
SkMatrix get_transform_matrix(const GrDrawEffect& drawEffect, int transformIdx) { |
const GrCoordTransform& coordTransform = drawEffect.effect()->coordTransform(transformIdx); |
SkMatrix combined; |
- if (kLocal_GrCoordSet == coordTransform.sourceCoords() && |
- !drawEffect.programHasExplicitLocalCoords()) { |
+ |
+ if (kLocal_GrCoordSet == coordTransform.sourceCoords()) { |
+ // If we have explicit local coords then we shouldn't need a coord change. |
+ SkASSERT(!drawEffect.programHasExplicitLocalCoords() || |
+ drawEffect.getCoordChangeMatrix().isIdentity()); |
combined.setConcat(coordTransform.getMatrix(), drawEffect.getCoordChangeMatrix()); |
} else { |
combined = coordTransform.getMatrix(); |