Index: src/gpu/effects/GrCustomCoordsTextureEffect.cpp |
diff --git a/src/gpu/effects/GrCustomCoordsTextureEffect.cpp b/src/gpu/effects/GrCustomCoordsTextureEffect.cpp |
index afa075460386b71531ecc2bb35b659b0a4de571f..3854be4ce5ef90f27946fdeac9c595dedbbba57a 100644 |
--- a/src/gpu/effects/GrCustomCoordsTextureEffect.cpp |
+++ b/src/gpu/effects/GrCustomCoordsTextureEffect.cpp |
@@ -31,6 +31,11 @@ public: |
const GrShaderVar& inTextureCoords = customCoordsTextureEffect.inTextureCoords(); |
vsBuilder->codeAppendf("%s = %s;", v.vsOut(), inTextureCoords.c_str()); |
+ // setup position varying |
+ vsBuilder->codeAppendf("vec3 pos3 = %s * vec3(%s, 1);", args.fGP.uViewM(), |
+ args.fGP.inPosition()); |
+ vsBuilder->transformPositionToDeviceSpace("pos3"); |
+ |
GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder(); |
fsBuilder->codeAppendf("%s = ", args.fOutput); |
fsBuilder->appendTextureLookupAndModulate(args.fInput, |