SkSL FPs now support child processors, converted ArithmeticFP to SkSL
Bug: skia:
Change-Id: I34ed3480073d05762a7d4692aeee4b87e454ce52
Reviewed-on: https://skia-review.googlesource.com/57961
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/tests/SkSLFPTest.cpp b/tests/SkSLFPTest.cpp
index 3e95d99..ce09b95 100644
--- a/tests/SkSLFPTest.cpp
+++ b/tests/SkSLFPTest.cpp
@@ -402,4 +402,26 @@
}
+DEF_TEST(SkSLFPChildProcessors, r) {
+ test(r,
+ "in fragmentProcessor child1;"
+ "in fragmentProcessor child2;"
+ "void main() {"
+ " sk_OutColor = process(child1) * process(child2);"
+ "}",
+ *SkSL::ShaderCapsFactory::Default(),
+ {
+ "this->registerChildProcessor(std::move(child1));",
+ "this->registerChildProcessor(std::move(child2));"
+ },
+ {
+ "SkString _child0(\"_child0\");",
+ "this->emitChild(0, &_child0, args);",
+ "SkString _child1(\"_child1\");",
+ "this->emitChild(1, &_child1, args);",
+ "this->registerChildProcessor(src.childProcessor(0).clone());",
+ "this->registerChildProcessor(src.childProcessor(1).clone());"
+ });
+}
+
#endif