Index: src/gpu/GrAARectRenderer.cpp |
diff --git a/src/gpu/GrAARectRenderer.cpp b/src/gpu/GrAARectRenderer.cpp |
index 18bba5a1b8335a387476fee31902a5ed90deb235..62d5ae52f145059d37c7a0a530f3fcb46b0ecca4 100644 |
--- a/src/gpu/GrAARectRenderer.cpp |
+++ b/src/gpu/GrAARectRenderer.cpp |
@@ -52,6 +52,11 @@ public: |
GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder(); |
vsBuilder->codeAppendf("\t%s = %s;\n", v.fsIn(), inRect.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(); |
// TODO: compute all these offsets, spans, and scales in the VS |
fsBuilder->codeAppendf("\tfloat insetW = min(1.0, %s.z) - 0.5;\n", v.fsIn()); |
@@ -177,6 +182,11 @@ public: |
widthHeight.vsOut(), |
rectEffect.inWidthHeight().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(); |
// TODO: compute all these offsets, spans, and scales in the VS |
fsBuilder->codeAppendf("\tfloat insetW = min(1.0, %s.x) - 0.5;\n", widthHeight.fsIn()); |