Work around a Mac compiler bug with "!isinf()"
Bug: skia:12219
Change-Id: I877cece94305bcec0c36d94643f4ad17a811ae7a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/429296
Reviewed-by: John Stiles <johnstiles@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/tessellate/GrPathInnerTriangulateOp.cpp b/src/gpu/tessellate/GrPathInnerTriangulateOp.cpp
index 3005f0c..0a69e0a 100644
--- a/src/gpu/tessellate/GrPathInnerTriangulateOp.cpp
+++ b/src/gpu/tessellate/GrPathInnerTriangulateOp.cpp
@@ -55,7 +55,9 @@
if (isinf(p3.y)) { // Is the curve a conic?
float w = p3.x;
p3 = p2;
- if (!isinf(w)) { // A conic with w=Inf is an exact triangle.
+ // A conic with w=Inf is an exact triangle.
+ // NOTE: "isinf == false" works on Mac Radeon GLSL. "!isinf" gets the wrong answer.
+ if (isinf(w) == false) {
// Convert the points to a trapeziodal hull that circumcscribes the conic.
float2 p1w = p1 * w;
float T = .51; // Bias outward a bit to ensure we cover the outermost samples.