Chromium Code Reviews| Index: src/gpu/GrPipelineBuilder.cpp |
| diff --git a/src/gpu/GrPipelineBuilder.cpp b/src/gpu/GrPipelineBuilder.cpp |
| index 59d0556baef4732b6c5daa7e250525c6874fd1a2..0b2d99afc2f4c179206faa0f6f267601cf7abfb2 100644 |
| --- a/src/gpu/GrPipelineBuilder.cpp |
| +++ b/src/gpu/GrPipelineBuilder.cpp |
| @@ -16,7 +16,8 @@ |
| #include "effects/GrPorterDuffXferProcessor.h" |
|
robertphillips
2015/07/10 13:54:05
Do we still need this ctor? If we do, do we need t
|
| GrPipelineBuilder::GrPipelineBuilder() |
| - : fFlags(0x0) |
| + : fProcDataManager(SkNEW(GrProcessorDataManager)) |
| + , fFlags(0x0) |
| , fDrawFace(kBoth_DrawFace) |
| , fColorProcInfoValid(false) |
| , fCoverageProcInfoValid(false) |
| @@ -26,6 +27,7 @@ GrPipelineBuilder::GrPipelineBuilder() |
| } |
| GrPipelineBuilder& GrPipelineBuilder::operator=(const GrPipelineBuilder& that) { |
| + fProcDataManager.reset(SkNEW_ARGS(GrProcessorDataManager, (*that.processorDataManager()))); |
| fRenderTarget.reset(SkSafeRef(that.fRenderTarget.get())); |
| fFlags = that.fFlags; |
| fStencilSettings = that.fStencilSettings; |
| @@ -51,6 +53,10 @@ GrPipelineBuilder& GrPipelineBuilder::operator=(const GrPipelineBuilder& that) { |
| GrPipelineBuilder::GrPipelineBuilder(const GrPaint& paint, GrRenderTarget* rt, const GrClip& clip) { |
| SkDEBUGCODE(fBlockEffectRemovalCnt = 0;) |
| + // TODO keep this logically const using an AutoReset |
| + fProcDataManager.reset( |
| + const_cast<GrProcessorDataManager*>(SkRef(paint.processorDataManager()))); |
| + |
| fColorStages.reset(); |
| fCoverageStages.reset(); |