Index: src/effects/SkGaussianEdgeShader.cpp |
diff --git a/src/effects/SkGaussianEdgeShader.cpp b/src/effects/SkGaussianEdgeShader.cpp |
index d73bfadbd77bead16a7c33f836186fd313a2bde1..19f92c84f53b1991da8f7281f43653cc8f86df3f 100644 |
--- a/src/effects/SkGaussianEdgeShader.cpp |
+++ b/src/effects/SkGaussianEdgeShader.cpp |
@@ -71,13 +71,13 @@ public: |
GrGLSLFPFragmentBuilder* fragBuilder = args.fFragBuilder; |
fragBuilder->codeAppendf("vec4 color = %s;", args.fInputColor); |
- fragBuilder->codeAppend("float radius = color.g*64.0;"); |
+ fragBuilder->codeAppend("float radius = color.r*1024.0 + color.g*64.0;"); |
fragBuilder->codeAppend("float pad = color.b*64.0;"); |
fragBuilder->codeAppendf("float factor = 1.0 - clamp((%s.z - pad)/radius, 0.0, 1.0);", |
fragBuilder->distanceVectorName()); |
fragBuilder->codeAppend("factor = exp(-factor * factor * 4.0) - 0.018;"); |
- fragBuilder->codeAppendf("%s = factor*vec4(0.0, 0.0, 0.0, color.r);", args.fOutputColor); |
+ fragBuilder->codeAppendf("%s = factor*vec4(0.0, 0.0, 0.0, color.a);", args.fOutputColor); |
} |
static void GenKey(const GrProcessor& proc, const GrGLSLCaps&, |