Recommit r5350 with fix for image failures (which affected GLs that don't support ARB_texture_swizzle).
git-svn-id: http://skia.googlecode.com/svn/trunk@5353 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/gradients/SkGradientShader.cpp b/src/effects/gradients/SkGradientShader.cpp
index 891b1cd..3d989b7 100644
--- a/src/effects/gradients/SkGradientShader.cpp
+++ b/src/effects/gradients/SkGradientShader.cpp
@@ -699,14 +699,19 @@
}
void GrGLGradientStage::emitColorLookup(GrGLShaderBuilder* builder,
- const char* tName,
+ const char* gradientTValue,
const char* outputColor,
+ const char* inputColor,
const char* samplerName) {
- builder->fFSCode.appendf("\tvec2 coord = vec2(%s, %s);\n",
- tName,
- builder->getUniformVariable(fFSYUni).c_str());
- builder->emitTextureLookupAndModulate(outputColor, samplerName, "coord");
+ SkString* code = &builder->fFSCode;
+ code->appendf("\tvec2 coord = vec2(%s, %s);\n",
+ gradientTValue,
+ builder->getUniformVariable(fFSYUni).c_str());
+ GrGLSLMulVarBy4f(code, 1, outputColor, inputColor);
+ code->appendf("\t%s = ", outputColor);
+ builder->appendTextureLookupAndModulate(code, inputColor, samplerName, "coord");
+ code->append(";\n");
}
/////////////////////////////////////////////////////////////////////