| Index: src/gpu/batches/GrPLSPathRenderer.cpp
|
| diff --git a/src/gpu/batches/GrPLSPathRenderer.cpp b/src/gpu/batches/GrPLSPathRenderer.cpp
|
| index e8711c09de49a6067f3f4745db97f435838f5d36..81009a6a3cf9060ebad58e6734b2ad6f31adacd8 100644
|
| --- a/src/gpu/batches/GrPLSPathRenderer.cpp
|
| +++ b/src/gpu/batches/GrPLSPathRenderer.cpp
|
| @@ -333,8 +333,8 @@
|
|
|
| // emit transforms
|
| this->emitTransforms(vsBuilder, varyingHandler, uniformHandler, gpArgs->fPositionVar,
|
| - te.inPosition()->fName, te.localMatrix(),
|
| - args.fFPCoordTransformHandler);
|
| + te.inPosition()->fName, te.localMatrix(), args.fTransformsIn,
|
| + args.fTransformsOut);
|
|
|
| GrGLSLPPFragmentBuilder* fsBuilder = args.fFragBuilder;
|
| SkAssertResult(fsBuilder->enableFeature(
|
| @@ -391,10 +391,16 @@
|
| b->add32(key);
|
| }
|
|
|
| - void setData(const GrGLSLProgramDataManager& pdman, const GrPrimitiveProcessor& gp,
|
| - FPCoordTransformIter&& transformIter) override {
|
| - this->setTransformDataHelper(gp.cast<PLSAATriangleEffect>().fLocalMatrix, pdman,
|
| - &transformIter);
|
| + virtual void setData(const GrGLSLProgramDataManager& pdman,
|
| + const GrPrimitiveProcessor& gp) override {
|
| + }
|
| +
|
| + void setTransformData(const GrPrimitiveProcessor& primProc,
|
| + const GrGLSLProgramDataManager& pdman,
|
| + int index,
|
| + const SkTArray<const GrCoordTransform*, true>& transforms) override {
|
| + this->setTransformDataHelper(primProc.cast<PLSAATriangleEffect>().fLocalMatrix, pdman,
|
| + index, transforms);
|
| }
|
|
|
| private:
|
| @@ -516,8 +522,8 @@
|
|
|
| // emit transforms
|
| this->emitTransforms(vsBuilder, varyingHandler, uniformHandler, gpArgs->fPositionVar,
|
| - qe.inPosition()->fName, qe.localMatrix(),
|
| - args.fFPCoordTransformHandler);
|
| + qe.inPosition()->fName, qe.localMatrix(), args.fTransformsIn,
|
| + args.fTransformsOut);
|
|
|
| GrGLSLPPFragmentBuilder* fsBuilder = args.fFragBuilder;
|
| SkAssertResult(fsBuilder->enableFeature(
|
| @@ -575,10 +581,16 @@
|
| b->add32(key);
|
| }
|
|
|
| - void setData(const GrGLSLProgramDataManager& pdman, const GrPrimitiveProcessor& gp,
|
| - FPCoordTransformIter&& transformIter) override {
|
| - this->setTransformDataHelper(gp.cast<PLSQuadEdgeEffect>().fLocalMatrix, pdman,
|
| - &transformIter);
|
| + virtual void setData(const GrGLSLProgramDataManager& pdman,
|
| + const GrPrimitiveProcessor& gp) override {
|
| + }
|
| +
|
| + void setTransformData(const GrPrimitiveProcessor& primProc,
|
| + const GrGLSLProgramDataManager& pdman,
|
| + int index,
|
| + const SkTArray<const GrCoordTransform*, true>& transforms) override {
|
| + this->setTransformDataHelper(primProc.cast<PLSQuadEdgeEffect>().fLocalMatrix, pdman,
|
| + index, transforms);
|
| }
|
|
|
| private:
|
| @@ -668,8 +680,8 @@
|
| varyingHandler->emitAttributes(fe);
|
| this->setupPosition(vsBuilder, gpArgs, fe.inPosition()->fName);
|
| this->emitTransforms(vsBuilder, varyingHandler, uniformHandler, gpArgs->fPositionVar,
|
| - fe.inPosition()->fName, fe.localMatrix(),
|
| - args.fFPCoordTransformHandler);
|
| + fe.inPosition()->fName, fe.localMatrix(), args.fTransformsIn,
|
| + args.fTransformsOut);
|
|
|
| GrGLSLPPFragmentBuilder* fsBuilder = args.fFragBuilder;
|
| SkAssertResult(fsBuilder->enableFeature(
|
| @@ -704,8 +716,8 @@
|
| b->add32(key);
|
| }
|
|
|
| - void setData(const GrGLSLProgramDataManager& pdman, const GrPrimitiveProcessor& gp,
|
| - FPCoordTransformIter&& transformIter) override {
|
| + virtual void setData(const GrGLSLProgramDataManager& pdman,
|
| + const GrPrimitiveProcessor& gp) override {
|
| const PLSFinishEffect& fe = gp.cast<PLSFinishEffect>();
|
| pdman.set1f(fUseEvenOdd, fe.fUseEvenOdd);
|
| if (fe.color() != fColor && !fe.colorIgnored()) {
|
| @@ -714,7 +726,14 @@
|
| pdman.set4fv(fColorUniform, 1, c);
|
| fColor = fe.color();
|
| }
|
| - this->setTransformDataHelper(fe.fLocalMatrix, pdman, &transformIter);
|
| + }
|
| +
|
| + void setTransformData(const GrPrimitiveProcessor& primProc,
|
| + const GrGLSLProgramDataManager& pdman,
|
| + int index,
|
| + const SkTArray<const GrCoordTransform*, true>& transforms) override {
|
| + this->setTransformDataHelper(primProc.cast<PLSFinishEffect>().fLocalMatrix, pdman,
|
| + index, transforms);
|
| }
|
|
|
| private:
|
|
|