aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-autoroll <android-autoroll@skia-corp.google.com.iam.gserviceaccount.com>2020-04-27 18:46:08 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-04-27 18:46:08 +0000
commit6c175a50a0790c6b283335c766f370c2062ba5e5 (patch)
treee8faaebb207beb4cb69037aa09d02fa01284ee03
parentc7833cd569dad4cace636aa4695b0a8471afad87 (diff)
parentbc4f4f3ba65a2106333e16007ccfebc238f67526 (diff)
downloadskia-6c175a50a0790c6b283335c766f370c2062ba5e5.tar.gz
Roll external/skia 7eb1d296c06b..cf8c53436c77 (1 commits) am: 46261462fc am: bc4f4f3ba6
Change-Id: Ibca8cf0fa83d8c3bea0a153dd0d32dec9df3e261
-rw-r--r--src/gpu/ops/GrAAConvexPathRenderer.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp
index d68ce5ff22..bb08cc47d3 100644
--- a/src/gpu/ops/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp
@@ -472,24 +472,27 @@ static void create_vertices(const SegmentArray& segments,
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);