Chromium Code Reviews| Index: src/gpu/GrPipeline.cpp |
| diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp |
| index 911169e3368f6a2c30203d73a226813357d8c509..bd508e9dc1a737dd7aa6299b16e5ddc8e0d747b9 100644 |
| --- a/src/gpu/GrPipeline.cpp |
| +++ b/src/gpu/GrPipeline.cpp |
| @@ -48,7 +48,7 @@ void GrPipeline::internalConstructor(const GrPipelineBuilder& pipelineBuilder, |
| const GrDeviceCoordTexture* dstCopy) { |
| // Create XferProcessor from DS's XPFactory |
| SkAutoTUnref<GrXferProcessor> xferProcessor( |
| - pipelineBuilder.getXPFactory()->createXferProcessor(colorPOI, coveragePOI)); |
| + pipelineBuilder.getXPFactory()->createXferProcessor(colorPOI, coveragePOI, dstCopy, caps)); |
| GrColor overrideColor = GrColor_ILLEGAL; |
| if (colorPOI.firstEffectiveStageIndex() != 0) { |
| @@ -82,10 +82,6 @@ void GrPipeline::internalConstructor(const GrPipelineBuilder& pipelineBuilder, |
| fScissorState = scissorState; |
| fStencilSettings = pipelineBuilder.getStencil(); |
| fDrawFace = pipelineBuilder.getDrawFace(); |
| - // TODO move this out of GrPipeline |
| - if (dstCopy) { |
| - fDstCopy = *dstCopy; |
| - } |
| fFlags = 0; |
| if (pipelineBuilder.isHWAntialias()) { |
| @@ -107,8 +103,6 @@ void GrPipeline::internalConstructor(const GrPipelineBuilder& pipelineBuilder, |
| this->adjustProgramFromOptimizations(pipelineBuilder, optFlags, colorPOI, coveragePOI, |
| &firstColorStageIdx, &firstCoverageStageIdx); |
| - fDescInfo.fReadsDst = fXferProcessor->willReadDstColor(); |
| - |
| bool usesLocalCoords = false; |
| // Copy Stages from PipelineBuilder to Pipeline |
| @@ -142,20 +136,20 @@ void GrPipeline::adjustProgramFromOptimizations(const GrPipelineBuilder& pipelin |
| const GrProcOptInfo& coveragePOI, |
| int* firstColorStageIdx, |
| int* firstCoverageStageIdx) { |
| - fDescInfo.fReadsFragPosition = false; |
| + fReadsFragPosition = false; |
|
bsalomon
2015/02/03 17:28:24
do we need to check in here if the xp reads the fr
egdaniel
2015/02/03 19:50:57
No we don't really need to check it, even though w
|
| if ((flags & GrXferProcessor::kIgnoreColor_OptFlag) || |
| (flags & GrXferProcessor::kOverrideColor_OptFlag)) { |
| *firstColorStageIdx = pipelineBuilder.numColorStages(); |
| } else { |
| - fDescInfo.fReadsFragPosition = colorPOI.readsFragPosition(); |
| + fReadsFragPosition = colorPOI.readsFragPosition(); |
| } |
| if (flags & GrXferProcessor::kIgnoreCoverage_OptFlag) { |
| *firstCoverageStageIdx = pipelineBuilder.numCoverageStages(); |
| } else { |
| if (coveragePOI.readsFragPosition()) { |
| - fDescInfo.fReadsFragPosition = true; |
| + fReadsFragPosition = true; |
| } |
| } |
| } |
| @@ -169,8 +163,7 @@ bool GrPipeline::isEqual(const GrPipeline& that) const { |
| this->fScissorState != that.fScissorState || |
| this->fFlags != that.fFlags || |
| this->fStencilSettings != that.fStencilSettings || |
| - this->fDrawFace != that.fDrawFace || |
| - this->fDstCopy.texture() != that.fDstCopy.texture()) { |
| + this->fDrawFace != that.fDrawFace) { |
| return false; |
| } |