Use 1e-4 rather than 1e-5 as "nonZeroAlpha" in various shader code.

1e-5 may be zero in fp16.


Bug: skia:9099
Change-Id: I28a518f5cf1aa7926f7422625c0f14ed1a082809
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/218558
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/effects/SkHighContrastFilter.cpp b/src/effects/SkHighContrastFilter.cpp
index 131f4f5..e9db7bd 100644
--- a/src/effects/SkHighContrastFilter.cpp
+++ b/src/effects/SkHighContrastFilter.cpp
@@ -248,7 +248,7 @@
     fragBuilder->codeAppendf("half4 color = %s;", args.fInputColor);
 
     // Unpremultiply. The max() is to guard against 0 / 0.
-    fragBuilder->codeAppendf("half nonZeroAlpha = max(color.a, 0.00001);");
+    fragBuilder->codeAppendf("half nonZeroAlpha = max(color.a, 0.0001);");
     fragBuilder->codeAppendf("color = half4(color.rgb / nonZeroAlpha, nonZeroAlpha);");
 
     if (hcfe.linearize()) {
diff --git a/src/gpu/effects/GrColorMatrixFragmentProcessor.fp b/src/gpu/effects/GrColorMatrixFragmentProcessor.fp
index f971fb4..74203b5 100644
--- a/src/gpu/effects/GrColorMatrixFragmentProcessor.fp
+++ b/src/gpu/effects/GrColorMatrixFragmentProcessor.fp
@@ -20,7 +20,7 @@
     @if (unpremulInput) {
         // The max() is to guard against 0 / 0 during unpremul when the incoming color is
         // transparent black.
-        half nonZeroAlpha = max(inputColor.a, 0.00001);
+        half nonZeroAlpha = max(inputColor.a, 0.0001);
         inputColor = half4(inputColor.rgb / nonZeroAlpha, nonZeroAlpha);
     }
     sk_OutColor = m * inputColor + v;
diff --git a/src/gpu/effects/GrSRGBEffect.cpp b/src/gpu/effects/GrSRGBEffect.cpp
index 9443a05..b7e27a6 100644
--- a/src/gpu/effects/GrSRGBEffect.cpp
+++ b/src/gpu/effects/GrSRGBEffect.cpp
@@ -47,7 +47,7 @@
         // calculations to be performed with sufficient precision.
         fragBuilder->codeAppendf("float4 color = %s;", args.fInputColor);
         if (srgbe.alpha() == GrSRGBEffect::Alpha::kPremul) {
-            fragBuilder->codeAppendf("float nonZeroAlpha = max(color.a, 0.00001);");
+            fragBuilder->codeAppendf("float nonZeroAlpha = max(color.a, 0.0001);");
             fragBuilder->codeAppendf("color = float4(color.rgb / nonZeroAlpha, color.a);");
         }
         fragBuilder->codeAppendf("color = float4(%s(half(color.r)), %s(half(color.g)), "
diff --git a/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp b/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp
index 2a9c206..d0f6b00 100644
--- a/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp
+++ b/src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp
@@ -38,7 +38,7 @@
         vVar = args.fUniformHandler->addUniform(kFragment_GrShaderFlag, kHalf4_GrSLType, "v");
         fragBuilder->codeAppendf(
                 "half4 inputColor = %s;\n@if (%s) {\n    half nonZeroAlpha = max(inputColor.w, "
-                "1.0000000000000001e-05);\n    inputColor = half4(inputColor.xyz / nonZeroAlpha, "
+                "0.0001);\n    inputColor = half4(inputColor.xyz / nonZeroAlpha, "
                 "nonZeroAlpha);\n}\n%s = %s * inputColor + %s;\n@if (%s) {\n    %s = clamp(%s, "
                 "0.0, 1.0);\n} else {\n    %s.w = clamp(%s.w, 0.0, 1.0);\n}\n@if (%s) {\n    "
                 "%s.xyz *= %s.w;\n}\n",
diff --git a/src/gpu/glsl/GrGLSLShaderBuilder.cpp b/src/gpu/glsl/GrGLSLShaderBuilder.cpp
index 09f5d5d..a8d7812 100644
--- a/src/gpu/glsl/GrGLSLShaderBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLShaderBuilder.cpp
@@ -158,7 +158,7 @@
         const GrShaderVar gColorXformArgs[] = { GrShaderVar("color", kHalf4_GrSLType) };
         SkString body;
         if (colorXformHelper->applyUnpremul()) {
-            body.append("half nonZeroAlpha = max(color.a, 0.00001);");
+            body.append("half nonZeroAlpha = max(color.a, 0.0001);");
             body.append("color = half4(color.rgb / nonZeroAlpha, nonZeroAlpha);");
         }
         if (colorXformHelper->applySrcTF()) {