diff options
Diffstat (limited to 'src/gpu/gl/GrGLProgram.cpp')
-rw-r--r-- | src/gpu/gl/GrGLProgram.cpp | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp index ad63dc4ea7..eebcf6b2f3 100644 --- a/src/gpu/gl/GrGLProgram.cpp +++ b/src/gpu/gl/GrGLProgram.cpp @@ -61,10 +61,6 @@ void GrGLProgram::abandon() { void GrGLProgram::initSamplerUniforms() { GL_CALL(UseProgram(fProgramID)); GrGLint texUnitIdx = 0; - if (fBuiltinUniformHandles.fDstCopySamplerUni.isValid()) { - fProgramDataManager.setSampler(fBuiltinUniformHandles.fDstCopySamplerUni, texUnitIdx); - fDstCopyTexUnit = texUnitIdx++; - } this->initSamplers(fGeometryProcessor.get(), &texUnitIdx); if (fXferProcessor.get()) { this->initSamplers(fXferProcessor.get(), &texUnitIdx); @@ -107,38 +103,15 @@ void GrGLProgram::setData(const GrPrimitiveProcessor& primProc, const GrPipeline const GrBatchTracker& batchTracker) { this->setRenderTargetState(primProc, pipeline); - const GrDeviceCoordTexture* dstCopy = pipeline.getDstCopy(); - if (dstCopy) { - if (fBuiltinUniformHandles.fDstCopyTopLeftUni.isValid()) { - fProgramDataManager.set2f(fBuiltinUniformHandles.fDstCopyTopLeftUni, - static_cast<GrGLfloat>(dstCopy->offset().fX), - static_cast<GrGLfloat>(dstCopy->offset().fY)); - fProgramDataManager.set2f(fBuiltinUniformHandles.fDstCopyScaleUni, - 1.f / dstCopy->texture()->width(), - 1.f / dstCopy->texture()->height()); - GrGLTexture* texture = static_cast<GrGLTexture*>(dstCopy->texture()); - static GrTextureParams kParams; // the default is clamp, nearest filtering. - fGpu->bindTexture(fDstCopyTexUnit, kParams, texture); - } else { - SkASSERT(!fBuiltinUniformHandles.fDstCopyScaleUni.isValid()); - SkASSERT(!fBuiltinUniformHandles.fDstCopySamplerUni.isValid()); - } - } else { - SkASSERT(!fBuiltinUniformHandles.fDstCopyTopLeftUni.isValid()); - SkASSERT(!fBuiltinUniformHandles.fDstCopyScaleUni.isValid()); - SkASSERT(!fBuiltinUniformHandles.fDstCopySamplerUni.isValid()); - } - // we set the textures, and uniforms for installed processors in a generic way, but subclasses // of GLProgram determine how to set coord transforms fGeometryProcessor->fGLProc->setData(fProgramDataManager, primProc, batchTracker); this->bindTextures(fGeometryProcessor.get(), primProc); - if (fXferProcessor.get()) { - const GrXferProcessor& xp = *pipeline.getXferProcessor(); - fXferProcessor->fGLProc->setData(fProgramDataManager, xp); - this->bindTextures(fXferProcessor.get(), xp); - } + const GrXferProcessor& xp = *pipeline.getXferProcessor(); + fXferProcessor->fGLProc->setData(fProgramDataManager, xp); + this->bindTextures(fXferProcessor.get(), xp); + this->setFragmentData(primProc, pipeline); // Some of GrGLProgram subclasses need to update state here |