SkSL 'key' variables can now be controlled by 'when' expressions

Bug: skia:8880
Change-Id: I075ef57035b37250196d85bc6767eb877e445aa2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206698
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/gpu/gradients/GrClampedGradientEffect.cpp b/src/gpu/gradients/GrClampedGradientEffect.cpp
index 034ee1d..c0718ec 100644
--- a/src/gpu/gradients/GrClampedGradientEffect.cpp
+++ b/src/gpu/gradients/GrClampedGradientEffect.cpp
@@ -22,35 +22,35 @@
         GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder;
         const GrClampedGradientEffect& _outer = args.fFp.cast<GrClampedGradientEffect>();
         (void)_outer;
-        auto leftBorderColor = _outer.leftBorderColor();
+        auto leftBorderColor = _outer.leftBorderColor;
         (void)leftBorderColor;
-        auto rightBorderColor = _outer.rightBorderColor();
+        auto rightBorderColor = _outer.rightBorderColor;
         (void)rightBorderColor;
-        auto makePremul = _outer.makePremul();
+        auto makePremul = _outer.makePremul;
         (void)makePremul;
-        auto colorsAreOpaque = _outer.colorsAreOpaque();
+        auto colorsAreOpaque = _outer.colorsAreOpaque;
         (void)colorsAreOpaque;
-        fLeftBorderColorVar = args.fUniformHandler->addUniform(kFragment_GrShaderFlag,
-                                                               kHalf4_GrSLType, "leftBorderColor");
-        fRightBorderColorVar = args.fUniformHandler->addUniform(
-                kFragment_GrShaderFlag, kHalf4_GrSLType, "rightBorderColor");
+        leftBorderColorVar = args.fUniformHandler->addUniform(kFragment_GrShaderFlag,
+                                                              kHalf4_GrSLType, "leftBorderColor");
+        rightBorderColorVar = args.fUniformHandler->addUniform(kFragment_GrShaderFlag,
+                                                               kHalf4_GrSLType, "rightBorderColor");
         SkString _child1("_child1");
-        this->emitChild(_outer.gradLayout_index(), &_child1, args);
+        this->emitChild(_outer.gradLayout_index, &_child1, args);
         fragBuilder->codeAppendf(
                 "half4 t = %s;\nif (!%s && t.y < 0.0) {\n    %s = half4(0.0);\n} else if (t.x < "
                 "0.0) {\n    %s = %s;\n} else if (t.x > 1.0) {\n    %s = %s;\n} else {",
                 _child1.c_str(),
-                (_outer.childProcessor(_outer.gradLayout_index()).preservesOpaqueInput() ? "true"
-                                                                                         : "false"),
+                (_outer.childProcessor(_outer.gradLayout_index).preservesOpaqueInput() ? "true"
+                                                                                       : "false"),
                 args.fOutputColor, args.fOutputColor,
-                args.fUniformHandler->getUniformCStr(fLeftBorderColorVar), args.fOutputColor,
-                args.fUniformHandler->getUniformCStr(fRightBorderColorVar));
+                args.fUniformHandler->getUniformCStr(leftBorderColorVar), args.fOutputColor,
+                args.fUniformHandler->getUniformCStr(rightBorderColorVar));
         SkString _input0("t");
         SkString _child0("_child0");
-        this->emitChild(_outer.colorizer_index(), _input0.c_str(), &_child0, args);
+        this->emitChild(_outer.colorizer_index, _input0.c_str(), &_child0, args);
         fragBuilder->codeAppendf("\n    %s = %s;\n}\n@if (%s) {\n    %s.xyz *= %s.w;\n}\n",
                                  args.fOutputColor, _child0.c_str(),
-                                 (_outer.makePremul() ? "true" : "false"), args.fOutputColor,
+                                 (_outer.makePremul ? "true" : "false"), args.fOutputColor,
                                  args.fOutputColor);
     }
 
@@ -59,49 +59,49 @@
                    const GrFragmentProcessor& _proc) override {
         const GrClampedGradientEffect& _outer = _proc.cast<GrClampedGradientEffect>();
         {
-            const SkPMColor4f& leftBorderColorValue = _outer.leftBorderColor();
-            if (fLeftBorderColorPrev != leftBorderColorValue) {
-                fLeftBorderColorPrev = leftBorderColorValue;
-                pdman.set4fv(fLeftBorderColorVar, 1, leftBorderColorValue.vec());
+            const SkPMColor4f& leftBorderColorValue = _outer.leftBorderColor;
+            if (leftBorderColorPrev != leftBorderColorValue) {
+                leftBorderColorPrev = leftBorderColorValue;
+                pdman.set4fv(leftBorderColorVar, 1, leftBorderColorValue.vec());
             }
-            const SkPMColor4f& rightBorderColorValue = _outer.rightBorderColor();
-            if (fRightBorderColorPrev != rightBorderColorValue) {
-                fRightBorderColorPrev = rightBorderColorValue;
-                pdman.set4fv(fRightBorderColorVar, 1, rightBorderColorValue.vec());
+            const SkPMColor4f& rightBorderColorValue = _outer.rightBorderColor;
+            if (rightBorderColorPrev != rightBorderColorValue) {
+                rightBorderColorPrev = rightBorderColorValue;
+                pdman.set4fv(rightBorderColorVar, 1, rightBorderColorValue.vec());
             }
         }
     }
-    SkPMColor4f fLeftBorderColorPrev = {SK_FloatNaN, SK_FloatNaN, SK_FloatNaN, SK_FloatNaN};
-    SkPMColor4f fRightBorderColorPrev = {SK_FloatNaN, SK_FloatNaN, SK_FloatNaN, SK_FloatNaN};
-    UniformHandle fLeftBorderColorVar;
-    UniformHandle fRightBorderColorVar;
+    SkPMColor4f leftBorderColorPrev = {SK_FloatNaN, SK_FloatNaN, SK_FloatNaN, SK_FloatNaN};
+    SkPMColor4f rightBorderColorPrev = {SK_FloatNaN, SK_FloatNaN, SK_FloatNaN, SK_FloatNaN};
+    UniformHandle leftBorderColorVar;
+    UniformHandle rightBorderColorVar;
 };
 GrGLSLFragmentProcessor* GrClampedGradientEffect::onCreateGLSLInstance() const {
     return new GrGLSLClampedGradientEffect();
 }
 void GrClampedGradientEffect::onGetGLSLProcessorKey(const GrShaderCaps& caps,
                                                     GrProcessorKeyBuilder* b) const {
-    b->add32((int32_t)fMakePremul);
+    b->add32((int32_t)makePremul);
 }
 bool GrClampedGradientEffect::onIsEqual(const GrFragmentProcessor& other) const {
     const GrClampedGradientEffect& that = other.cast<GrClampedGradientEffect>();
     (void)that;
-    if (fLeftBorderColor != that.fLeftBorderColor) return false;
-    if (fRightBorderColor != that.fRightBorderColor) return false;
-    if (fMakePremul != that.fMakePremul) return false;
-    if (fColorsAreOpaque != that.fColorsAreOpaque) return false;
+    if (leftBorderColor != that.leftBorderColor) return false;
+    if (rightBorderColor != that.rightBorderColor) return false;
+    if (makePremul != that.makePremul) return false;
+    if (colorsAreOpaque != that.colorsAreOpaque) return false;
     return true;
 }
 GrClampedGradientEffect::GrClampedGradientEffect(const GrClampedGradientEffect& src)
         : INHERITED(kGrClampedGradientEffect_ClassID, src.optimizationFlags())
-        , fColorizer_index(src.fColorizer_index)
-        , fGradLayout_index(src.fGradLayout_index)
-        , fLeftBorderColor(src.fLeftBorderColor)
-        , fRightBorderColor(src.fRightBorderColor)
-        , fMakePremul(src.fMakePremul)
-        , fColorsAreOpaque(src.fColorsAreOpaque) {
-    this->registerChildProcessor(src.childProcessor(fColorizer_index).clone());
-    this->registerChildProcessor(src.childProcessor(fGradLayout_index).clone());
+        , colorizer_index(src.colorizer_index)
+        , gradLayout_index(src.gradLayout_index)
+        , leftBorderColor(src.leftBorderColor)
+        , rightBorderColor(src.rightBorderColor)
+        , makePremul(src.makePremul)
+        , colorsAreOpaque(src.colorsAreOpaque) {
+    this->registerChildProcessor(src.childProcessor(colorizer_index).clone());
+    this->registerChildProcessor(src.childProcessor(gradLayout_index).clone());
 }
 std::unique_ptr<GrFragmentProcessor> GrClampedGradientEffect::clone() const {
     return std::unique_ptr<GrFragmentProcessor>(new GrClampedGradientEffect(*this));