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/tests/SkSLFPTest.cpp b/tests/SkSLFPTest.cpp
index 7a1d371..82bcb10 100644
--- a/tests/SkSLFPTest.cpp
+++ b/tests/SkSLFPTest.cpp
@@ -88,6 +88,8 @@
" static sk_sp<GrFragmentProcessor> Make() {\n"
" return sk_sp<GrFragmentProcessor>(new GrTest());\n"
" }\n"
+ " GrTest(const GrTest& src);\n"
+ " sk_sp<GrFragmentProcessor> clone() const override;\n"
" const char* name() const override { return \"Test\"; }\n"
"private:\n"
" GrTest()\n"
@@ -148,6 +150,13 @@
" (void) that;\n"
" return true;\n"
"}\n"
+ "GrTest::GrTest(const GrTest& src)\n"
+ ": INHERITED(src.optimizationFlags()) {\n"
+ " this->initClassID<GrTest>();\n"
+ "}\n"
+ "sk_sp<GrFragmentProcessor> GrTest::clone() const {\n"
+ " return sk_sp<GrFragmentProcessor>(new GrTest(*this));\n"
+ "}\n"
"#endif\n"
});
}
@@ -287,6 +296,7 @@
});
test(r,
"@fields { fields section }"
+ "@clone { }"
"void main() {"
"sk_OutColor = float4(1);"
"}",