diff options
author | 2017-08-11 09:40:37 -0400 | |
---|---|---|
committer | 2017-08-11 14:13:26 +0000 | |
commit | aff329b8e9b239bca1d93b13a914fbef45ccf7fe (patch) | |
tree | 06ba42a557c6695f145bcf4956c981fc87af55ff /src/gpu/GrPipeline.cpp | |
parent | e2cbd0451832ec71d1b498e0f64d02b7d096b2b7 (diff) |
Make GrFragmentProcessor be non-refcounted and use std::unique_ptr.
Change-Id: I985e54a071338e99292a5aa2f42c92bc115b4008
Reviewed-on: https://skia-review.googlesource.com/32760
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/GrPipeline.cpp')
-rw-r--r-- | src/gpu/GrPipeline.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp index a6e8fbad20..d07dd08624 100644 --- a/src/gpu/GrPipeline.cpp +++ b/src/gpu/GrPipeline.cpp @@ -58,22 +58,20 @@ GrPipeline::GrPipeline(const InitArgs& args, GrProcessorSet&& processors, fFragmentProcessors.reset(numTotalProcessors); int currFPIdx = 0; for (int i = 0; i < processors.numColorFragmentProcessors(); ++i, ++currFPIdx) { - const GrFragmentProcessor* fp = processors.colorFragmentProcessor(i); - fFragmentProcessors[currFPIdx].reset(fp); - if (!fp->instantiate(args.fResourceProvider)) { + fFragmentProcessors[currFPIdx] = processors.detachColorFragmentProcessor(i); + if (!fFragmentProcessors[currFPIdx]->instantiate(args.fResourceProvider)) { this->markAsBad(); } } for (int i = 0; i < processors.numCoverageFragmentProcessors(); ++i, ++currFPIdx) { - const GrFragmentProcessor* fp = processors.coverageFragmentProcessor(i); - fFragmentProcessors[currFPIdx].reset(fp); - if (!fp->instantiate(args.fResourceProvider)) { + fFragmentProcessors[currFPIdx] = processors.detachCoverageFragmentProcessor(i); + if (!fFragmentProcessors[currFPIdx]->instantiate(args.fResourceProvider)) { this->markAsBad(); } } if (clipFP) { - fFragmentProcessors[currFPIdx].reset(clipFP.get()); + fFragmentProcessors[currFPIdx] = std::move(clipFP); if (!fFragmentProcessors[currFPIdx]->instantiate(args.fResourceProvider)) { this->markAsBad(); } |