Index: src/effects/gradients/SkGradientShader.cpp |
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp |
index be6fdb036d4a50e52c2a54b3e2ebc1425afeb16c..e1e0f9bbacee005c955b925e3835d416f7b7f468 100644 |
--- a/src/effects/gradients/SkGradientShader.cpp |
+++ b/src/effects/gradients/SkGradientShader.cpp |
@@ -972,11 +972,8 @@ void GrGLGradientEffect::emitColor(GrGLShaderBuilder* builder, |
builder->fsCodeAppend("\tcolorTemp.rgb *= colorTemp.a;\n"); |
} |
- SkString output; |
- builder->fsCodeAppendf("\t%s = ", outputColor); |
- GrGLSLModulatef<4>(&output, inputColor, "colorTemp"); |
- builder->fsCodeAppend(output.c_str()); |
- builder->fsCodeAppend(";\n"); |
+ builder->fsCodeAppendf("\t%s = %s;\n", outputColor, |
+ (GrGLSLExpr<4>(inputColor) * GrGLSLExpr<4>("colorTemp")).c_str()); |
} else if (GrGradientEffect::kThree_ColorType == ColorTypeFromKey(key)){ |
builder->fsCodeAppendf("\tfloat oneMinus2t = 1.0 - (2.0 * (%s));\n", |
gradientTValue); |
@@ -999,11 +996,8 @@ void GrGLGradientEffect::emitColor(GrGLShaderBuilder* builder, |
builder->fsCodeAppend("\tcolorTemp.rgb *= colorTemp.a;\n"); |
} |
- SkString output; |
- builder->fsCodeAppendf("\t%s = ", outputColor); |
- GrGLSLModulatef<4>(&output, inputColor, "colorTemp"); |
- builder->fsCodeAppend(output.c_str()); |
- builder->fsCodeAppend(";\n"); |
+ builder->fsCodeAppendf("\t%s = %s;\n", outputColor, |
+ (GrGLSLExpr<4>(inputColor) * GrGLSLExpr<4>("colorTemp")).c_str()); |
} else { |
builder->fsCodeAppendf("\tvec2 coord = vec2(%s, %s);\n", |
gradientTValue, |