Index: src/gpu/gl/GrGpuGL_program.cpp |
diff --git a/src/gpu/gl/GrGpuGL_program.cpp b/src/gpu/gl/GrGpuGL_program.cpp |
index 4529a1c22e151bf0a2f3f82b1ff19b4580300e7d..891b49a1f87f7c5f3577e49423599f99c66a5741 100644 |
--- a/src/gpu/gl/GrGpuGL_program.cpp |
+++ b/src/gpu/gl/GrGpuGL_program.cpp |
@@ -7,6 +7,7 @@ |
#include "GrGpuGL.h" |
+#include "builders/GrGLProgramBuilder.h" |
#include "GrProcessor.h" |
#include "GrGLProcessor.h" |
#include "GrGLPathRendering.h" |
@@ -92,6 +93,7 @@ int GrGpuGL::ProgramCache::search(const GrGLProgramDesc& desc) const { |
GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrOptDrawState& optState, |
const GrGLProgramDesc& desc, |
+ DrawType type, |
const GrGeometryStage* geometryProcessor, |
const GrFragmentStage* colorStages[], |
const GrFragmentStage* coverageStages[]) { |
@@ -129,8 +131,9 @@ GrGLProgram* GrGpuGL::ProgramCache::getProgram(const GrOptDrawState& optState, |
#ifdef PROGRAM_CACHE_STATS |
++fCacheMisses; |
#endif |
- GrGLProgram* program = GrGLProgram::Create(fGpu, optState, desc, geometryProcessor, |
- colorStages, coverageStages); |
+ GrGLProgram* program = GrGLProgramBuilder::CreateProgram(optState, desc, type, |
+ geometryProcessor, colorStages, |
+ coverageStages, fGpu); |
if (NULL == program) { |
return NULL; |
} |
@@ -254,6 +257,7 @@ bool GrGpuGL::flushGraphicsState(DrawType type, const GrDeviceCoordTexture* dstC |
fCurrentProgram.reset(fProgramCache->getProgram(*optState.get(), |
desc, |
+ type, |
geometryProcessor, |
colorStages.begin(), |
coverageStages.begin())); |