automatically generate clone() methods for SkSL fragment processors

Bug: skia:
Change-Id: Ib7b90f20d2b1558aad14f38f95c7c884e654c96d
Reviewed-on: https://skia-review.googlesource.com/28620
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/effects/GrDitherEffect.cpp b/src/gpu/effects/GrDitherEffect.cpp
index 38e4c77..3b70493 100644
--- a/src/gpu/effects/GrDitherEffect.cpp
+++ b/src/gpu/effects/GrDitherEffect.cpp
@@ -57,6 +57,13 @@
     if (fRangeType != that.fRangeType) return false;
     return true;
 }
+GrDitherEffect::GrDitherEffect(const GrDitherEffect& src)
+        : INHERITED(src.optimizationFlags()), fRangeType(src.fRangeType) {
+    this->initClassID<GrDitherEffect>();
+}
+sk_sp<GrFragmentProcessor> GrDitherEffect::clone() const {
+    return sk_sp<GrFragmentProcessor>(new GrDitherEffect(*this));
+}
 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrDitherEffect);
 #if GR_TEST_UTILS
 sk_sp<GrFragmentProcessor> GrDitherEffect::TestCreate(GrProcessorTestData* testData) {