| Index: src/gpu/GrPipelineBuilder.cpp
|
| diff --git a/src/gpu/GrPipelineBuilder.cpp b/src/gpu/GrPipelineBuilder.cpp
|
| index b31d105963ff4373b1d48208dba6a2c9a34de3f0..5ef30e5947db44fdcb53102da98d306e2d144f5e 100644
|
| --- a/src/gpu/GrPipelineBuilder.cpp
|
| +++ b/src/gpu/GrPipelineBuilder.cpp
|
| @@ -16,7 +16,8 @@
|
| #include "effects/GrPorterDuffXferProcessor.h"
|
|
|
| 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) {
|
| void GrPipelineBuilder::setFromPaint(const GrPaint& paint, GrRenderTarget* rt, const GrClip& clip) {
|
| SkASSERT(0 == fBlockEffectRemovalCnt || 0 == this->numFragmentStages());
|
|
|
| + // TODO keep this logically const using an AutoReset
|
| + fProcDataManager.reset(
|
| + const_cast<GrProcessorDataManager*>(SkRef(paint.processorDataManager())));
|
| +
|
| fColorStages.reset();
|
| fCoverageStages.reset();
|
|
|
|
|