Index: src/gpu/gl/GrGLProgram.cpp |
diff --git a/src/gpu/gl/GrGLProgram.cpp b/src/gpu/gl/GrGLProgram.cpp |
index ad63dc4ea73a14ede7d659292d74055458fe1266..eebcf6b2f32c90d939de532bfceeafee7571e951 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 |