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; |
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; |
} |