| Index: src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| index 9f28e3fac34da9abee3a298d1571aa413d7b8162..c9706f61d6a8e0d893cc75cea1c9633ba503cdb1 100644
|
| --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| @@ -95,7 +95,7 @@ GrGLProgramBuilder::SeparableVaryingHandle GrGLProgramBuilder::addSeparableVaryi
|
| fArgs.fPrimitiveProcessor->numAttribs() == 0);
|
| this->addVarying(name, v, fsPrecision);
|
| SeparableVaryingInfo& varyingInfo = fSeparableVaryingInfos.push_back();
|
| - varyingInfo.fVariable = this->getFragmentShaderBuilder()->fInputs.back();
|
| + varyingInfo.fVariable = fFS.fInputs.back();
|
| varyingInfo.fLocation = fSeparableVaryingInfos.count() - 1;
|
| return SeparableVaryingHandle(varyingInfo.fLocation);
|
| }
|
| @@ -260,6 +260,7 @@ void GrGLProgramBuilder::emitAndInstallProc(const GrFragmentProcessor& fp,
|
| this->emitSamplers(fp, &samplers, ifp);
|
|
|
| GrGLSLFragmentProcessor::EmitArgs args(this,
|
| + &fFS,
|
| fp,
|
| outColor,
|
| inColor,
|
| @@ -284,7 +285,7 @@ void GrGLProgramBuilder::emitAndInstallProc(const GrPrimitiveProcessor& gp,
|
| SkSTArray<4, GrGLSLTextureSampler> samplers(gp.numTextures());
|
| this->emitSamplers(gp, &samplers, fGeometryProcessor);
|
|
|
| - GrGLSLGeometryProcessor::EmitArgs args(this, gp, outColor, outCoverage, samplers,
|
| + GrGLSLGeometryProcessor::EmitArgs args(this, &fVS, &fFS, gp, outColor, outCoverage, samplers,
|
| fCoordTransforms, &fOutCoords);
|
| fGeometryProcessor->fGLProc->emitCode(args);
|
|
|
| @@ -320,9 +321,9 @@ void GrGLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp,
|
| SkSTArray<4, GrGLSLTextureSampler> samplers(xp.numTextures());
|
| this->emitSamplers(xp, &samplers, fXferProcessor);
|
|
|
| - GrGLSLXferProcessor::EmitArgs args(this, xp, colorIn.c_str(), coverageIn.c_str(),
|
| - fFS.getPrimaryColorOutputName(),
|
| - fFS.getSecondaryColorOutputName(), samplers);
|
| + GrGLSLXferProcessor::EmitArgs args(this, &fFS, xp, colorIn.c_str(), coverageIn.c_str(),
|
| + fFS.getPrimaryColorOutputName(),
|
| + fFS.getSecondaryColorOutputName(), samplers);
|
| fXferProcessor->fGLProc->emitCode(args);
|
|
|
| // We have to check that effects and the code they emit are consistent, ie if an effect
|
|
|