diff options
author | 2015-02-04 06:14:22 -0800 | |
---|---|---|
committer | 2015-02-04 06:14:22 -0800 | |
commit | 3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd (patch) | |
tree | 8c92e754fbf5da2879845543632987c52479735e /src/gpu/GrPipeline.cpp | |
parent | 3b7f7b092c8233a651248da8f23e1cfc85ac829b (diff) |
Revert "Move DstCopy on gpu into the GrXferProcessor."
This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.
TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/896163003
Diffstat (limited to 'src/gpu/GrPipeline.cpp')
-rw-r--r-- | src/gpu/GrPipeline.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp index bd508e9dc1..911169e336 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, dstCopy, caps)); + pipelineBuilder.getXPFactory()->createXferProcessor(colorPOI, coveragePOI)); GrColor overrideColor = GrColor_ILLEGAL; if (colorPOI.firstEffectiveStageIndex() != 0) { @@ -82,6 +82,10 @@ 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()) { @@ -103,6 +107,8 @@ 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 @@ -136,20 +142,20 @@ void GrPipeline::adjustProgramFromOptimizations(const GrPipelineBuilder& pipelin const GrProcOptInfo& coveragePOI, int* firstColorStageIdx, int* firstCoverageStageIdx) { - fReadsFragPosition = false; + fDescInfo.fReadsFragPosition = false; if ((flags & GrXferProcessor::kIgnoreColor_OptFlag) || (flags & GrXferProcessor::kOverrideColor_OptFlag)) { *firstColorStageIdx = pipelineBuilder.numColorStages(); } else { - fReadsFragPosition = colorPOI.readsFragPosition(); + fDescInfo.fReadsFragPosition = colorPOI.readsFragPosition(); } if (flags & GrXferProcessor::kIgnoreCoverage_OptFlag) { *firstCoverageStageIdx = pipelineBuilder.numCoverageStages(); } else { if (coveragePOI.readsFragPosition()) { - fReadsFragPosition = true; + fDescInfo.fReadsFragPosition = true; } } } @@ -163,7 +169,8 @@ bool GrPipeline::isEqual(const GrPipeline& that) const { this->fScissorState != that.fScissorState || this->fFlags != that.fFlags || this->fStencilSettings != that.fStencilSettings || - this->fDrawFace != that.fDrawFace) { + this->fDrawFace != that.fDrawFace || + this->fDstCopy.texture() != that.fDstCopy.texture()) { return false; } |