In GrAAConvexPathRenderer use a slightly smaller very large negative float.

This fixes in issue on some mobile gpu's where the larger negative value
caused precision issues when trying to interpolate.

Change-Id: Id76e6f96be2a7e46720794f54c24dafe567c5836
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/284956
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
(cherry picked from commit 1204c4bc3826414e34c8fb93aca7376cbd8fc36c)
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/285416
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index d68ce5f..bb08cc4 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -472,24 +472,27 @@
                         color, skipUVs,
                         -segb.fNorms[0].dot(qpts[2]) + c0,
                         0.0f);
-
+            // We need a negative value that is very large that it won't effect results if it is
+            // interpolated with. However, the value can't be too large of a negative that it
+            // effects numerical precision on less powerful GPUs.
+            static const SkScalar kStableLargeNegativeValue = -SK_ScalarMax/1000000;
             verts.write(qpts[0] + segb.fNorms[0],
                         color, skipUVs,
-                        -SK_ScalarMax/100,
-                        -SK_ScalarMax/100);
+                        kStableLargeNegativeValue,
+                        kStableLargeNegativeValue);
 
             verts.write(qpts[2] + segb.fNorms[1],
                         color, skipUVs,
-                        -SK_ScalarMax/100,
-                        -SK_ScalarMax/100);
+                        kStableLargeNegativeValue,
+                        kStableLargeNegativeValue);
 
             SkVector midVec = segb.fNorms[0] + segb.fNorms[1];
             midVec.normalize();
 
             verts.write(qpts[1] + midVec,
                         color, skipUVs,
-                        -SK_ScalarMax/100,
-                        -SK_ScalarMax/100);
+                        kStableLargeNegativeValue,
+                        kStableLargeNegativeValue);
 
             GrPathUtils::QuadUVMatrix toUV(qpts);
             toUV.apply(quadVertsBegin, 6, vertexStride, uvOffset);