| Index: src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| index dc9393db0739ea04c5acd824c903d2eb8b6f7720..e125f23c54e65a8cf142956a87ceb2c3d4d63b40 100644
|
| --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp
|
| @@ -93,8 +93,11 @@ bool GrGLProgramBuilder::emitAndInstallProcs(GrGLSLExpr4* inputColor, GrGLSLExpr
|
| this->emitAndInstallFragProcs(0, this->pipeline().numColorFragmentProcessors(), inputColor);
|
| this->emitAndInstallFragProcs(this->pipeline().numColorFragmentProcessors(), numProcs,
|
| inputCoverage);
|
| - this->emitAndInstallXferProc(*this->pipeline().getXferProcessor(), *inputColor, *inputCoverage,
|
| - this->pipeline().ignoresCoverage());
|
| + if (primProc.getPixelLocalStorageState() != GrPixelLocalStorageState::kDraw_State) {
|
| + this->emitAndInstallXferProc(*this->pipeline().getXferProcessor(), *inputColor,
|
| + *inputCoverage, this->pipeline().ignoresCoverage(),
|
| + primProc.getPixelLocalStorageState());
|
| + }
|
| return true;
|
| }
|
|
|
| @@ -221,7 +224,8 @@ void GrGLProgramBuilder::emitAndInstallProc(const GrPrimitiveProcessor& gp,
|
| void GrGLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp,
|
| const GrGLSLExpr4& colorIn,
|
| const GrGLSLExpr4& coverageIn,
|
| - bool ignoresCoverage) {
|
| + bool ignoresCoverage,
|
| + GrPixelLocalStorageState plsState) {
|
| // Program builders have a bit of state we need to clear with each effect
|
| AutoStageAdvance adv(this);
|
|
|
| @@ -253,7 +257,8 @@ void GrGLProgramBuilder::emitAndInstallXferProc(const GrXferProcessor& xp,
|
| ignoresCoverage ? nullptr : coverageIn.c_str(),
|
| fFS.getPrimaryColorOutputName(),
|
| fFS.getSecondaryColorOutputName(),
|
| - samplers);
|
| + samplers,
|
| + plsState == GrPixelLocalStorageState::kFinish_State);
|
| fXferProcessor->fGLProc->emitCode(args);
|
|
|
| // We have to check that effects and the code they emit are consistent, ie if an effect
|
|
|