Closed Bug 1712849 Opened 3 years ago Closed 3 years ago

[wpt-sync] Sync PR 29110 - Keep 3D points in a quad coplanar when clamping them to reasonable values.

Categories

(Core :: Web Painting, task, P4)

task

Tracking

()

RESOLVED FIXED
91 Branch
Tracking Status
firefox91 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 29110 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/29110
Details from upstream follow.

b'L. David Baron <dbaron@chromium.org>' wrote:

Keep 3D points in a quad coplanar when clamping them to reasonable values.

This is necessary because sending quads that aren't coplanar (or,
really, within rounding error of being coplanar) to the plane splitting
code (DrawPolygon::SplitPolygon) confuses the plane splitting code (for
good reason) and leads to incorrect splits that can leave some pieces
undrawn.

There are two major pieces to this change:

  • First, it changes the code that finds the appropriate transition
    point on an edge that passes between positive and negative w (as part
    of eliminating the parts of the quad with negative w) to choose a
    point that is appropriately-clamped rather than nearly-infinite.

  • Second, it adds new clamping code to clamp any remaining out-of-range
    values (or the results of the first part if rounding puts them
    slightly out of range) to clamp by moving them inwards within the
    plane. Before doing this, if needed, it may also (if none of the
    plane is close enough to the origin at x=0 and y=0) to move z
    coordinates on all of the points in the plane a bit closer to z=0.

Fixed: 1202695
Change-Id: I82b9510710439a81135559ee7d686480cd1f30ff
Reviewed-on: https://chromium-review.googlesource.com/2877604
WPT-Export-Revision: 4da00ac64afb68efd3fb186bb4fb42ade70cbe17

Component: web-platform-tests → Web Painting
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests

Status Summary

Firefox

FAIL: 1

Chrome

FAIL: 1

Safari

FAIL: 1

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/css/css-transforms/perspective-split-by-zero-w.html: FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/28cd3859cd4e
[wpt PR 29110] - Keep 3D points in a quad coplanar when clamping them to reasonable values., a=testonly
https://hg.mozilla.org/integration/autoland/rev/e721e400f9b8
[wpt PR 29110] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch
You need to log in before you can comment on or make changes to this bug.