GrTessellator: fix for intersections returning non-finite points.

If the line/line intersection code returns Inf, it can easily turn into
a NaN in subsequent operations, which leads to an assert or hang.

The fix is to ignore intersections which are non-finite.

Bug: 969359
Change-Id: I9e9a5ce5d617aa75b91215a5bbae91ce6f234b7b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219696
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
diff --git a/src/gpu/GrTessellator.cpp b/src/gpu/GrTessellator.cpp
index 700623b..2739ae1 100644
--- a/src/gpu/GrTessellator.cpp
+++ b/src/gpu/GrTessellator.cpp
@@ -316,7 +316,7 @@
         point->fX = double_to_clamped_scalar((fB * other.fC - other.fB * fC) * scale);
         point->fY = double_to_clamped_scalar((other.fA * fC - fA * other.fC) * scale);
         round(point);
-        return true;
+        return point->isFinite();
     }
     double fA, fB, fC;
 };