Index: src/gpu/gl/GrGLProgram.cpp |
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp |
index 3aaa7ea8cea9a1ffa52dad009d72450041a2b442..5af84e0c13f17d9477343164dd5d332e4dd24e83 100644 |
--- a/src/gpu/gl/GrGLProgram.cpp |
+++ b/src/gpu/gl/GrGLProgram.cpp |
@@ -105,24 +105,25 @@ |
const GrPipeline& pipeline, |
SkTArray<const GrTextureAccess*>* textureBindings) { |
int numProcessors = fFragmentProcessors->fProcs.count(); |
- for (int i = 0; i < numProcessors; ++i) { |
- const GrFragmentProcessor& processor = pipeline.getFragmentProcessor(i); |
- fFragmentProcessors->fProcs[i]->fGLProc->setData(fProgramDataManager, processor); |
+ for (int e = 0; e < numProcessors; ++e) { |
+ const GrPendingFragmentStage& stage = pipeline.getFragmentStage(e); |
+ const GrFragmentProcessor& processor = *stage.processor(); |
+ fFragmentProcessors->fProcs[e]->fGLProc->setData(fProgramDataManager, processor); |
this->setTransformData(primProc, |
- processor, |
- i, |
- fFragmentProcessors->fProcs[i]); |
- append_texture_bindings(fFragmentProcessors->fProcs[i], processor, textureBindings); |
+ stage, |
+ e, |
+ fFragmentProcessors->fProcs[e]); |
+ append_texture_bindings(fFragmentProcessors->fProcs[e], processor, textureBindings); |
} |
} |
void GrGLProgram::setTransformData(const GrPrimitiveProcessor& primProc, |
- const GrFragmentProcessor& processor, |
+ const GrPendingFragmentStage& processor, |
int index, |
GrGLInstalledFragProc* ip) { |
GrGLGeometryProcessor* gp = |
static_cast<GrGLGeometryProcessor*>(fGeometryProcessor.get()->fGLProc.get()); |
gp->setTransformData(primProc, fProgramDataManager, index, |
- processor.coordTransforms()); |
+ processor.processor()->coordTransforms()); |
} |
void GrGLProgram::setRenderTargetState(const GrPrimitiveProcessor& primProc, |