| Index: src/gpu/effects/GrDashingEffect.cpp
|
| diff --git a/src/gpu/effects/GrDashingEffect.cpp b/src/gpu/effects/GrDashingEffect.cpp
|
| index 167cefa47e91ba1078173ad04a60932b0a2b663f..9ce725b7e65eb686aebfb11a32768c42bbacb91f 100644
|
| --- a/src/gpu/effects/GrDashingEffect.cpp
|
| +++ b/src/gpu/effects/GrDashingEffect.cpp
|
| @@ -817,16 +817,8 @@ public:
|
| const GrGLSLCaps&,
|
| GrProcessorKeyBuilder*);
|
|
|
| - void setData(const GrGLSLProgramDataManager&, const GrPrimitiveProcessor&) override;
|
| -
|
| - void setTransformData(const GrPrimitiveProcessor& primProc,
|
| - const GrGLSLProgramDataManager& pdman,
|
| - int index,
|
| - const SkTArray<const GrCoordTransform*, true>& transforms) override {
|
| - this->setTransformDataHelper(primProc.cast<DashingCircleEffect>().localMatrix(), pdman,
|
| - index, transforms);
|
| - }
|
| -
|
| + void setData(const GrGLSLProgramDataManager&, const GrPrimitiveProcessor&,
|
| + FPCoordTransformIter&& transformIter) override;
|
| private:
|
| UniformHandle fParamUniform;
|
| UniformHandle fColorUniform;
|
| @@ -879,8 +871,7 @@ void GLDashingCircleEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
|
| gpArgs->fPositionVar,
|
| dce.inPosition()->fName,
|
| dce.localMatrix(),
|
| - args.fTransformsIn,
|
| - args.fTransformsOut);
|
| + args.fFPCoordTransformHandler);
|
|
|
| // transforms all points so that we can compare them to our test circle
|
| fragBuilder->codeAppendf("float xShifted = %s.x - floor(%s.x / %s.z) * %s.z;",
|
| @@ -901,7 +892,8 @@ void GLDashingCircleEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
|
| }
|
|
|
| void GLDashingCircleEffect::setData(const GrGLSLProgramDataManager& pdman,
|
| - const GrPrimitiveProcessor& processor) {
|
| + const GrPrimitiveProcessor& processor,
|
| + FPCoordTransformIter&& transformIter) {
|
| const DashingCircleEffect& dce = processor.cast<DashingCircleEffect>();
|
| if (dce.color() != fColor) {
|
| float c[4];
|
| @@ -909,6 +901,7 @@ void GLDashingCircleEffect::setData(const GrGLSLProgramDataManager& pdman,
|
| pdman.set4fv(fColorUniform, 1, c);
|
| fColor = dce.color();
|
| }
|
| + this->setTransformDataHelper(dce.localMatrix(), pdman, &transformIter);
|
| }
|
|
|
| void GLDashingCircleEffect::GenKey(const GrGeometryProcessor& gp,
|
| @@ -1037,15 +1030,8 @@ public:
|
| const GrGLSLCaps&,
|
| GrProcessorKeyBuilder*);
|
|
|
| - void setData(const GrGLSLProgramDataManager&, const GrPrimitiveProcessor&) override;
|
| -
|
| - void setTransformData(const GrPrimitiveProcessor& primProc,
|
| - const GrGLSLProgramDataManager& pdman,
|
| - int index,
|
| - const SkTArray<const GrCoordTransform*, true>& transforms) override {
|
| - this->setTransformDataHelper(primProc.cast<DashingLineEffect>().localMatrix(), pdman, index,
|
| - transforms);
|
| - }
|
| + void setData(const GrGLSLProgramDataManager&, const GrPrimitiveProcessor&,
|
| + FPCoordTransformIter&& iter) override;
|
|
|
| private:
|
| GrColor fColor;
|
| @@ -1094,8 +1080,7 @@ void GLDashingLineEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
|
| gpArgs->fPositionVar,
|
| de.inPosition()->fName,
|
| de.localMatrix(),
|
| - args.fTransformsIn,
|
| - args.fTransformsOut);
|
| + args.fFPCoordTransformHandler);
|
|
|
| // transforms all points so that we can compare them to our test rect
|
| fragBuilder->codeAppendf("float xShifted = %s.x - floor(%s.x / %s.z) * %s.z;",
|
| @@ -1134,7 +1119,8 @@ void GLDashingLineEffect::onEmitCode(EmitArgs& args, GrGPArgs* gpArgs) {
|
| }
|
|
|
| void GLDashingLineEffect::setData(const GrGLSLProgramDataManager& pdman,
|
| - const GrPrimitiveProcessor& processor) {
|
| + const GrPrimitiveProcessor& processor,
|
| + FPCoordTransformIter&& transformIter) {
|
| const DashingLineEffect& de = processor.cast<DashingLineEffect>();
|
| if (de.color() != fColor) {
|
| float c[4];
|
| @@ -1142,6 +1128,7 @@ void GLDashingLineEffect::setData(const GrGLSLProgramDataManager& pdman,
|
| pdman.set4fv(fColorUniform, 1, c);
|
| fColor = de.color();
|
| }
|
| + this->setTransformDataHelper(de.localMatrix(), pdman, &transformIter);
|
| }
|
|
|
| void GLDashingLineEffect::GenKey(const GrGeometryProcessor& gp,
|
|
|