Chromium Code Reviews| Index: src/gpu/gl/GrGLProgram.cpp |
| diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp |
| index f34fce43b401fb28ccc3b59c22bf41baf2e2a896..dd73d01dc1e27f40cf1498e6b8b7d4481ea7c49d 100644 |
| --- a/src/gpu/gl/GrGLProgram.cpp |
| +++ b/src/gpu/gl/GrGLProgram.cpp |
| @@ -88,10 +88,9 @@ void GrGLProgram::generateMipmaps(const GrPrimitiveProcessor& primProc, |
| const GrPipeline& pipeline) { |
| this->generateMipmaps(primProc, pipeline.getAllowSRGBInputs()); |
| - int numProcessors = fFragmentProcessors.count(); |
| - for (int i = 0; i < numProcessors; ++i) { |
| - const GrFragmentProcessor& processor = pipeline.getFragmentProcessor(i); |
| - this->generateMipmaps(processor, pipeline.getAllowSRGBInputs()); |
| + GrFragmentProcessor::Iter iter(pipeline); |
| + while (const GrFragmentProcessor* fp = iter.next()) { |
| + this->generateMipmaps(*fp, pipeline.getAllowSRGBInputs()); |
| } |
| if (primProc.getPixelLocalStorageState() != |
| @@ -104,12 +103,17 @@ void GrGLProgram::generateMipmaps(const GrPrimitiveProcessor& primProc, |
| void GrGLProgram::setFragmentData(const GrPrimitiveProcessor& primProc, |
| const GrPipeline& pipeline, |
| int* nextSamplerIdx) { |
| - int numProcessors = fFragmentProcessors.count(); |
| - for (int i = 0; i < numProcessors; ++i) { |
| - const GrFragmentProcessor& processor = pipeline.getFragmentProcessor(i); |
| - fFragmentProcessors[i]->setData(fProgramDataManager, processor); |
| - this->bindTextures(processor, pipeline.getAllowSRGBInputs(), nextSamplerIdx); |
| + GrFragmentProcessor::Iter iter(pipeline); |
| + GrGLSLFragmentProcessor::Iter glslIter(fFragmentProcessors.begin(), |
| + fFragmentProcessors.count()); |
| + const GrFragmentProcessor* fp = iter.next(); |
| + GrGLSLFragmentProcessor* glslFP = glslIter.next(); |
| + while (fp && glslFP) { |
| + glslFP->setData(fProgramDataManager, *fp); |
| + this->bindTextures(*fp, pipeline.getAllowSRGBInputs(), nextSamplerIdx); |
|
robertphillips
2016/09/26 13:27:23
?? re ','
bsalomon
2016/09/26 13:31:52
I thought it was just clearer that both the iterat
|
| + fp = iter.next(), glslFP = glslIter.next(); |
| } |
| + SkASSERT(!fp && !glslFP); |
| } |