Simplify the boilerplate of cloning a fragment processor.
GrFragmentProcessor now provides an (explicit) copy constructor which
clones all child processors and flags from the passed-in FP. Since we no
longer have flags which propagate up to the root node of the FP tree,
all flags are now safe to copy, since a cloned FP also clones all of its
children.
Change-Id: Ia9f80e0ec540ed1056d25dbb1861a174a1d55f4b
Bug: skia:12299
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437836
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/effects/GrModulateAtlasCoverageEffect.cpp b/src/gpu/effects/GrModulateAtlasCoverageEffect.cpp
index 738e126..e42fc8f 100644
--- a/src/gpu/effects/GrModulateAtlasCoverageEffect.cpp
+++ b/src/gpu/effects/GrModulateAtlasCoverageEffect.cpp
@@ -28,12 +28,9 @@
GrModulateAtlasCoverageEffect::GrModulateAtlasCoverageEffect(
const GrModulateAtlasCoverageEffect& that)
- : GrFragmentProcessor(kTessellate_GrModulateAtlasCoverageEffect_ClassID,
- kCompatibleWithCoverageAsAlpha_OptimizationFlag)
+ : GrFragmentProcessor(that)
, fFlags(that.fFlags)
- , fBounds(that.fBounds) {
- this->cloneAndRegisterAllChildProcessors(that);
-}
+ , fBounds(that.fBounds) {}
std::unique_ptr<GrFragmentProcessor::ProgramImpl>
GrModulateAtlasCoverageEffect::onMakeProgramImpl() const {