Index: src/gpu/gl/GrGLGpu.cpp |
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp |
index 625299d58c532c756dbd726b8b07f7a44a5263e4..c4bcf7ff9412fa1e209170a6f37d691e2a66074e 100644 |
--- a/src/gpu/gl/GrGLGpu.cpp |
+++ b/src/gpu/gl/GrGLGpu.cpp |
@@ -1475,7 +1475,14 @@ bool GrGLGpu::flushGLState(const DrawArgs& args) { |
this->flushBlend(blendInfo); |
} |
- program->setData(*args.fPrimitiveProcessor, pipeline, *args.fBatchTracker); |
+ SkSTArray<8, const GrTextureAccess*> textureAccesses; |
+ program->setData(*args.fPrimitiveProcessor, pipeline, *args.fBatchTracker, &textureAccesses); |
+ |
+ int numTextureAccesses = textureAccesses.count(); |
+ for (int i = 0; i < numTextureAccesses; i++) { |
+ this->bindTexture(i, textureAccesses[i]->getParams(), |
+ static_cast<GrGLTexture*>(textureAccesses[i]->getTexture())); |
+ } |
GrGLRenderTarget* glRT = static_cast<GrGLRenderTarget*>(pipeline.getRenderTarget()); |
this->flushStencil(pipeline.getStencil()); |