Index: src/gpu/effects/GrDashingEffect.cpp |
diff --git a/src/gpu/effects/GrDashingEffect.cpp b/src/gpu/effects/GrDashingEffect.cpp |
index 94cfd80b0c3b259c88fe468bb709043e771f6440..c1e2011e08cab1bf5a097cbfae76a39ed04c857e 100644 |
--- a/src/gpu/effects/GrDashingEffect.cpp |
+++ b/src/gpu/effects/GrDashingEffect.cpp |
@@ -25,6 +25,7 @@ |
#include "glsl/GrGLSLGeometryProcessor.h" |
#include "glsl/GrGLSLProgramBuilder.h" |
#include "glsl/GrGLSLProgramDataManager.h" |
+#include "glsl/GrGLSLVarying.h" |
#include "glsl/GrGLSLVertexShaderBuilder.h" |
/////////////////////////////////////////////////////////////////////////////// |
@@ -853,18 +854,19 @@ void GLDashingCircleEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) { |
const DashingCircleEffect& dce = args.fGP.cast<DashingCircleEffect>(); |
GrGLSLGPBuilder* pb = args.fPB; |
GrGLSLVertexBuilder* vertBuilder = args.fVertBuilder; |
+ GrGLSLVaryingHandler* varyingHandler = args.fVaryingHandler; |
// emit attributes |
- vertBuilder->emitAttributes(dce); |
+ varyingHandler->emitAttributes(dce); |
// XY are dashPos, Z is dashInterval |
GrGLSLVertToFrag dashParams(kVec3f_GrSLType); |
- args.fPB->addVarying("DashParam", &dashParams); |
+ varyingHandler->addVarying("DashParam", &dashParams); |
vertBuilder->codeAppendf("%s = %s;", dashParams.vsOut(), dce.inDashParams()->fName); |
// x refers to circle radius - 0.5, y refers to cicle's center x coord |
GrGLSLVertToFrag circleParams(kVec2f_GrSLType); |
- args.fPB->addVarying("CircleParams", &circleParams); |
+ varyingHandler->addVarying("CircleParams", &circleParams); |
vertBuilder->codeAppendf("%s = %s;", circleParams.vsOut(), dce.inCircleParams()->fName); |
GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; |
@@ -879,6 +881,7 @@ void GLDashingCircleEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) { |
// emit transforms |
this->emitTransforms(args.fPB, |
vertBuilder, |
+ varyingHandler, |
gpArgs->fPositionVar, |
dce.inPosition()->fName, |
dce.localMatrix(), |
@@ -1064,19 +1067,20 @@ void GLDashingLineEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) { |
GrGLSLGPBuilder* pb = args.fPB; |
GrGLSLVertexBuilder* vertBuilder = args.fVertBuilder; |
+ GrGLSLVaryingHandler* varyingHandler = args.fVaryingHandler; |
// emit attributes |
- vertBuilder->emitAttributes(de); |
+ varyingHandler->emitAttributes(de); |
// XY refers to dashPos, Z is the dash interval length |
GrGLSLVertToFrag inDashParams(kVec3f_GrSLType); |
- args.fPB->addVarying("DashParams", &inDashParams, GrSLPrecision::kHigh_GrSLPrecision); |
+ varyingHandler->addVarying("DashParams", &inDashParams, GrSLPrecision::kHigh_GrSLPrecision); |
vertBuilder->codeAppendf("%s = %s;", inDashParams.vsOut(), de.inDashParams()->fName); |
// The rect uniform's xyzw refer to (left + 0.5, top + 0.5, right - 0.5, bottom - 0.5), |
// respectively. |
GrGLSLVertToFrag inRectParams(kVec4f_GrSLType); |
- args.fPB->addVarying("RectParams", &inRectParams, GrSLPrecision::kHigh_GrSLPrecision); |
+ varyingHandler->addVarying("RectParams", &inRectParams, GrSLPrecision::kHigh_GrSLPrecision); |
vertBuilder->codeAppendf("%s = %s;", inRectParams.vsOut(), de.inRectParams()->fName); |
GrGLSLFragmentBuilder* fragBuilder = args.fFragBuilder; |
@@ -1091,6 +1095,7 @@ void GLDashingLineEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) { |
// emit transforms |
this->emitTransforms(args.fPB, |
vertBuilder, |
+ varyingHandler, |
gpArgs->fPositionVar, |
de.inPosition()->fName, |
de.localMatrix(), |