Child fragment processors are now written as separate functions
instead of inline
Bug: skia:
Change-Id: I3c6c876fea9cfcc311fc09c0fdf0375b776004aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210632
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
diff --git a/src/gpu/effects/generated/GrComposeLerpEffect.cpp b/src/gpu/effects/generated/GrComposeLerpEffect.cpp
index c9b4d3b..72a46d2 100644
--- a/src/gpu/effects/generated/GrComposeLerpEffect.cpp
+++ b/src/gpu/effects/generated/GrComposeLerpEffect.cpp
@@ -27,23 +27,19 @@
(void)weight;
weightVar =
args.fUniformHandler->addUniform(kFragment_GrShaderFlag, kFloat_GrSLType, "weight");
- SkString _child0("_child0");
+ fragBuilder->codeAppendf("half4 _process284;");
if (_outer.child1_index >= 0) {
- this->emitChild(_outer.child1_index, &_child0, args);
- } else {
- fragBuilder->codeAppendf("half4 %s;", _child0.c_str());
+ this->invokeChild(_outer.child1_index, "_process284", args);
}
- SkString _child1("_child1");
+ fragBuilder->codeAppendf("half4 _process353;");
if (_outer.child2_index >= 0) {
- this->emitChild(_outer.child2_index, &_child1, args);
- } else {
- fragBuilder->codeAppendf("half4 %s;", _child1.c_str());
+ this->invokeChild(_outer.child2_index, "_process353", args);
}
- fragBuilder->codeAppendf("%s = mix(%s ? %s : %s, %s ? %s : %s, half(%s));\n",
- args.fOutputColor, _outer.child1_index >= 0 ? "true" : "false",
- _child0.c_str(), args.fInputColor,
- _outer.child2_index >= 0 ? "true" : "false", _child1.c_str(),
- args.fInputColor, args.fUniformHandler->getUniformCStr(weightVar));
+ fragBuilder->codeAppendf(
+ "%s = mix(%s ? _process284 : %s, %s ? _process353 : %s, half(%s));\n",
+ args.fOutputColor, _outer.child1_index >= 0 ? "true" : "false", args.fInputColor,
+ _outer.child2_index >= 0 ? "true" : "false", args.fInputColor,
+ args.fUniformHandler->getUniformCStr(weightVar));
}
private:
diff --git a/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp b/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp
index d75b411..a2f051b 100644
--- a/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp
+++ b/src/gpu/effects/generated/GrComposeLerpRedEffect.cpp
@@ -23,24 +23,20 @@
GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
const GrComposeLerpRedEffect& _outer = args.fFp.cast<GrComposeLerpRedEffect>();
(void)_outer;
- SkString _child0("_child0");
+ fragBuilder->codeAppendf("half4 _process286;");
if (_outer.child1_index >= 0) {
- this->emitChild(_outer.child1_index, &_child0, args);
- } else {
- fragBuilder->codeAppendf("half4 %s;", _child0.c_str());
+ this->invokeChild(_outer.child1_index, "_process286", args);
}
- SkString _child1("_child1");
+ fragBuilder->codeAppendf("half4 _process355;");
if (_outer.child2_index >= 0) {
- this->emitChild(_outer.child2_index, &_child1, args);
- } else {
- fragBuilder->codeAppendf("half4 %s;", _child1.c_str());
+ this->invokeChild(_outer.child2_index, "_process355", args);
}
- SkString _child2("_child2");
- this->emitChild(_outer.lerp_index, &_child2, args);
- fragBuilder->codeAppendf("%s = mix(%s ? %s : %s, %s ? %s : %s, %s.x);\n", args.fOutputColor,
- _outer.child1_index >= 0 ? "true" : "false", _child0.c_str(),
- args.fInputColor, _outer.child2_index >= 0 ? "true" : "false",
- _child1.c_str(), args.fInputColor, _child2.c_str());
+ fragBuilder->codeAppendf("half4 _process407;");
+ this->invokeChild(_outer.lerp_index, "_process407", args);
+ fragBuilder->codeAppendf(
+ "%s = mix(%s ? _process286 : %s, %s ? _process355 : %s, _process407.x);\n",
+ args.fOutputColor, _outer.child1_index >= 0 ? "true" : "false", args.fInputColor,
+ _outer.child2_index >= 0 ? "true" : "false", args.fInputColor);
}
private:
diff --git a/src/gpu/effects/generated/GrMixerEffect.cpp b/src/gpu/effects/generated/GrMixerEffect.cpp
index af5a7af..4ffa89c 100644
--- a/src/gpu/effects/generated/GrMixerEffect.cpp
+++ b/src/gpu/effects/generated/GrMixerEffect.cpp
@@ -28,19 +28,17 @@
weightVar =
args.fUniformHandler->addUniform(kFragment_GrShaderFlag, kHalf_GrSLType, "weight");
SkString _input0 = SkStringPrintf("%s", args.fInputColor);
- SkString _child0("_child0");
- this->emitChild(_outer.fp0_index, _input0.c_str(), &_child0, args);
- fragBuilder->codeAppendf("half4 in0 = %s;", _child0.c_str());
+ fragBuilder->codeAppendf("half4 _process1272;");
+ this->invokeChild(_outer.fp0_index, _input0.c_str(), "_process1272", args);
+ fragBuilder->codeAppendf("half4 in0 = _process1272;");
SkString _input1 = SkStringPrintf("%s", args.fInputColor);
- SkString _child1("_child1");
+ fragBuilder->codeAppendf("half4 _process1330;");
if (_outer.fp1_index >= 0) {
- this->emitChild(_outer.fp1_index, _input1.c_str(), &_child1, args);
- } else {
- fragBuilder->codeAppendf("half4 %s;", _child1.c_str());
+ this->invokeChild(_outer.fp1_index, _input1.c_str(), "_process1330", args);
}
- fragBuilder->codeAppendf("\nhalf4 in1 = %s ? %s : %s;\n%s = mix(in0, in1, %s);\n",
- _outer.fp1_index >= 0 ? "true" : "false", _child1.c_str(),
- args.fInputColor, args.fOutputColor,
+ fragBuilder->codeAppendf("\nhalf4 in1 = %s ? _process1330 : %s;\n%s = mix(in0, in1, %s);\n",
+ _outer.fp1_index >= 0 ? "true" : "false", args.fInputColor,
+ args.fOutputColor,
args.fUniformHandler->getUniformCStr(weightVar));
}
diff --git a/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp b/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp
index 9d7934e..b2f8339 100644
--- a/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp
+++ b/src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp
@@ -43,9 +43,9 @@
_outer.literalColor.fR, _outer.literalColor.fG, _outer.literalColor.fB,
_outer.literalColor.fA);
SkString _input0("constColor");
- SkString _child0("_child0");
- this->emitChild(_outer.fp_index, _input0.c_str(), &_child0, args);
- fragBuilder->codeAppendf("\n%s = %s;\n", args.fOutputColor, _child0.c_str());
+ fragBuilder->codeAppendf("half4 _process1986;");
+ this->invokeChild(_outer.fp_index, _input0.c_str(), "_process1986", args);
+ fragBuilder->codeAppendf("\n%s = _process1986;\n", args.fOutputColor);
}
private: