diff options
author | Ravi Mistry <rmistry@google.com> | 2018-05-29 18:19:07 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-05-29 18:19:17 +0000 |
commit | bfe959872ec7895d4aa6878a9fe189c37dffc99f (patch) | |
tree | 7a7ae03b7a1cafd9775d8e918e05902fbe569429 /tests/TessellatingPathRendererTests.cpp | |
parent | 862405921bdbf599bac3bd829e9d6a81a4ee4d37 (diff) |
Revert "GrTessellator: fix for ping-pong split fuzzer hang."
This reverts commit bfb2a05af105f452a0f369e39dae05f9224dfa19.
Reason for revert: Seems to cause failures in chromeos and chromecast test bots. eg:
https://chromium-swarm.appspot.com/task?id=3dc5be8269e3b410&refresh=10
https://chromium-swarm.appspot.com/task?id=3dc5d62dfdc99010&refresh=10
Original change's description:
> GrTessellator: fix for ping-pong split fuzzer hang.
>
> Change 3b5a3fa8b1c11d4bd4499b040311f4c3553ebf8c introduced support for
> splitting on out-of-range intersections. However, this is only necessary
> for correctness when the edge is nearly-flat (the top and bottom
> points only differ by 1/2 machine epsilon in the primary sort criterion).
> In other cases, it can cause repeated splitting and re-merging of edges,
> as the intersection code (being approximate and not exact) may produce a
> ping-pong set of intersections.
>
> The fix is to support out-of-range intersections only if they differ by
> 1/2 machine epsilon. This also generalizes the
> out_of_range_and_collinear() check, so it was removed.
>
> Bug: 838978
> Change-Id: I134f7eff3f15707e0d68de11c55f7fadce4ff8e7
> Reviewed-on: https://skia-review.googlesource.com/130448
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
TBR=robertphillips@google.com,senorblanco@chromium.org
Change-Id: I3fa62423d3875665397adcecb94b467b9b6611cc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 838978
Reviewed-on: https://skia-review.googlesource.com/130522
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Diffstat (limited to 'tests/TessellatingPathRendererTests.cpp')
-rw-r--r-- | tests/TessellatingPathRendererTests.cpp | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/tests/TessellatingPathRendererTests.cpp b/tests/TessellatingPathRendererTests.cpp index a2dc95986e..00f43985dd 100644 --- a/tests/TessellatingPathRendererTests.cpp +++ b/tests/TessellatingPathRendererTests.cpp @@ -502,16 +502,6 @@ static SkPath create_path_33() { return path; } -// From crbug.com/844873. Hangs repeatedly splitting alternate vertices. -static SkPath create_path_34() { - SkPath path; - path.moveTo(10, -1e+20f); - path.lineTo(11, 25000); - path.lineTo(10, 25000); - path.lineTo(11, 25010); - return path; -} - static std::unique_ptr<GrFragmentProcessor> create_linear_gradient_processor(GrContext* ctx) { SkPoint pts[2] = { {0, 0}, {1, 1} }; @@ -605,6 +595,5 @@ DEF_GPUTEST_FOR_ALL_CONTEXTS(TessellatingPathRendererTests, reporter, ctxInfo) { test_path(ctx, rtc.get(), create_path_31(), SkMatrix(), GrAAType::kCoverage); test_path(ctx, rtc.get(), create_path_32()); test_path(ctx, rtc.get(), create_path_33()); - test_path(ctx, rtc.get(), create_path_34()); } #endif |