Index: cc/output/shader.cc |
diff --git a/cc/output/shader.cc b/cc/output/shader.cc |
index b2d76a7e02e770b3f1da95f2abd5873ef70a4092..354f65f67b92ffb17447b9219c7b9c6102d2ed8e 100644 |
--- a/cc/output/shader.cc |
+++ b/cc/output/shader.cc |
@@ -804,12 +804,12 @@ std::string FragmentTexBlendMode::GetHelperFunctions() const { |
float outLum = luminance(outColor); |
float minComp = min(min(outColor.r, outColor.g), outColor.b); |
float maxComp = max(max(outColor.r, outColor.g), outColor.b); |
- if (minComp < 0.0) { |
+ if (minComp < 0.0 && outLum != minComp) { |
outColor = outLum + |
((outColor - vec3(outLum, outLum, outLum)) * outLum) / |
(outLum - minComp); |
} |
- if (maxComp > alpha) { |
+ if (maxComp > alpha && maxComp != outLum) { |
outColor = |
outLum + |
((outColor - vec3(outLum, outLum, outLum)) * (alpha - outLum)) / |