| Index: src/gpu/gl/GrGpuGL_program.cpp
|
| diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp
|
| index 2e6bfc4f925651d8235fa4c14ab27530e16a1e61..363d87fbfbf1089ccfe2f0007209d6b086c1e9f4 100644
|
| --- a/src/gpu/gl/GrGpuGL_program.cpp
|
| +++ b/src/gpu/gl/GrGpuGL_program.cpp
|
| @@ -90,7 +90,8 @@ int GrGpuGL::ProgramCache::search(const GrGLProgramDesc& desc) const {
|
| return SkTSearch(fEntries, fCount, desc, sizeof(Entry*), less);
|
| }
|
|
|
| -GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrGLProgramDesc& desc,
|
| +GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrOptDrawState& optState,
|
| + const GrGLProgramDesc& desc,
|
| const GrGeometryStage* geometryProcessor,
|
| const GrFragmentStage* colorStages[],
|
| const GrFragmentStage* coverageStages[]) {
|
| @@ -128,8 +129,8 @@ GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrGLProgramDesc& desc,
|
| #ifdef PROGRAM_CACHE_STATS
|
| ++fCacheMisses;
|
| #endif
|
| - GrGLProgram* program = GrGLProgram::Create(fGpu, desc, geometryProcessor,
|
| - colorStages, coverageStages);
|
| + GrGLProgram* program = GrGLProgram::Create(fGpu, optState, desc, geometryProcessor,
|
| + colorStages, coverageStages);
|
| if (NULL == program) {
|
| return NULL;
|
| }
|
| @@ -245,7 +246,8 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC
|
| return false;
|
| }
|
|
|
| - fCurrentProgram.reset(fProgramCache->getProgram(desc,
|
| + fCurrentProgram.reset(fProgramCache->getProgram(*optState.get(),
|
| + desc,
|
| geometryProcessor,
|
| colorStages.begin(),
|
| coverageStages.begin()));
|
|
|