Index: src/gpu/gl/GrGLProgram.cpp |
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp |
index 3cf9e4dd7c66b28afdf412ab13b7046b67750f1b..7987e21b8b5351eb145b8ff6487dc77ed33a9b55 100644 |
--- a/src/gpu/gl/GrGLProgram.cpp |
+++ b/src/gpu/gl/GrGLProgram.cpp |
@@ -89,9 +89,11 @@ void GrGLProgram::setData(const GrPrimitiveProcessor& primProc, |
this->setFragmentData(primProc, pipeline, textureBindings); |
- const GrXferProcessor& xp = *pipeline.getXferProcessor(); |
- fXferProcessor->fGLProc->setData(fProgramDataManager, xp); |
- append_texture_bindings(fXferProcessor.get(), xp, textureBindings); |
+ if (primProc.getPixelLocalStorageState() != GrPixelLocalStorageState::kDraw_State) { |
+ const GrXferProcessor& xp = *pipeline.getXferProcessor(); |
+ fXferProcessor->fGLProc->setData(fProgramDataManager, xp); |
+ append_texture_bindings(fXferProcessor.get(), xp, textureBindings); |
+ } |
} |
void GrGLProgram::setFragmentData(const GrPrimitiveProcessor& primProc, |