[wpt-sync] Sync PR 28413 - Correct clipping of destination rects for filters when 3D transformed.
Categories
(Core :: Web Painting, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox89 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 28413 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/28413
Details from upstream follow.
b'L. David Baron <dbaron@chromium.org>' wrote:
Correct clipping of destination rects for filters when 3D transformed.
Make InverseMapQuadToLocalSpace flatten transform to avoid 3D clipping
glitches.While cc::MathUtil::InverseMapQuadToLocalSpace was documented as
requiring callers to flatten the transform, only one of the four
existing callers did this. This changes it to flatten the transform
internally.This fixes a bug where incorrect clipping rects were used in at least
two of those three callers that were not flattening: the callers in
SkiaRenderer::CalculateRPDQParams and
GLRenderer::UpdateRPDQWithSkiaFilters. These callers were computing
the minimal clip rect in local space (in a plane that might have a 3D
transform) by transforming the clip rect (in the simple testcase, the
window boundary), as a quad, into the local coordinate space,
producing points that (with 3D) can have a nonzero Z components. This
nonzero Z component was then dropped. However, the desired result was
the point with a zero Z component in local space that would produce
the correct X/Y position in device space with some arbitrary Z
component in device space (that could then be dropped).This fixes the case tested in
preserve3d-and-filter-no-perspective.htmlDon't try clipping at all when the transform has perspective, since
when there is perspective, there could be areas on the local surface
that are visible even though they are outside the bounds of the quad
that maps to the device's clip.This fixes the case tested in
preserve3d-and-filter-with-perspective.htmlBug: 923766
Change-Id: I5fbc679300ca52446552a1f5d90160309073d687
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2809095
Reviewed-by: vmpstr \<vmpstr@chromium.org>
Commit-Queue: David Baron \<dbaron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#870500}
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=42f213dc2ec12eac9f60da895a3b22ee3e683758
Assignee | ||
Comment 2•3 years ago
|
||
CI Results
Ran 15 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 2 tests
Status Summary
Firefox
PASS: 2
Chrome
PASS: 2
Safari
PASS: 1
FAIL: 1
Links
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6966d5948469 [wpt PR 28413] - Correct clipping of destination rects for filters when 3D transformed., a=testonly
Comment 4•3 years ago
|
||
bugherder |
Description
•