| Index: src/gpu/gl/GrGpuGL_program.cpp
|
| diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp
|
| index 8cdceb86afea46c92dc00c27742bdb43386a8b6c..67c0cd3a4791a323509d7e5a52cd52374387ade0 100644
|
| --- a/src/gpu/gl/GrGpuGL_program.cpp
|
| +++ b/src/gpu/gl/GrGpuGL_program.cpp
|
| @@ -90,6 +90,7 @@ int GrGpuGL::ProgramCache::search(const GrGLProgramDesc& desc) const {
|
| }
|
|
|
| GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrGLProgramDesc& desc,
|
| + const GrEffectStage* geometryProcessor,
|
| const GrEffectStage* colorStages[],
|
| const GrEffectStage* coverageStages[]) {
|
| #ifdef PROGRAM_CACHE_STATS
|
| @@ -126,7 +127,8 @@ GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrGLProgramDesc& desc,
|
| #ifdef PROGRAM_CACHE_STATS
|
| ++fCacheMisses;
|
| #endif
|
| - GrGLProgram* program = GrGLProgram::Create(fGpu, desc, colorStages, coverageStages);
|
| + GrGLProgram* program = GrGLProgram::Create(fGpu, desc, geometryProcessor,
|
| + colorStages, coverageStages);
|
| if (NULL == program) {
|
| return NULL;
|
| }
|
| @@ -222,6 +224,7 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC
|
| return false;
|
| }
|
|
|
| + const GrEffectStage* geometryProcessor = NULL;
|
| SkSTArray<8, const GrEffectStage*, true> colorStages;
|
| SkSTArray<8, const GrEffectStage*, true> coverageStages;
|
| GrGLProgramDesc desc;
|
| @@ -232,6 +235,7 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC
|
| dstCoeff,
|
| this,
|
| dstCopy,
|
| + &geometryProcessor,
|
| &colorStages,
|
| &coverageStages,
|
| &desc)) {
|
| @@ -240,6 +244,7 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC
|
| }
|
|
|
| fCurrentProgram.reset(fProgramCache->getProgram(desc,
|
| + geometryProcessor,
|
| colorStages.begin(),
|
| coverageStages.begin()));
|
| if (NULL == fCurrentProgram.get()) {
|
| @@ -260,6 +265,7 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC
|
|
|
| fCurrentProgram->setData(type,
|
| blendOpts,
|
| + geometryProcessor,
|
| colorStages.begin(),
|
| coverageStages.begin(),
|
| dstCopy,
|
|
|