Closed Bug 1897584 Opened 9 months ago Closed 9 months ago

Rendering artifacts on a Codepen demo on pinch-zoom (split off from bug 1892018)

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

VERIFIED FIXED
128 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox126 --- unaffected
firefox127 --- unaffected
firefox128 --- verified
firefox129 --- verified

People

(Reporter: mayankleoboy1, Assigned: nical)

References

(Regression, )

Details

(Keywords: regression)

Attachments

(10 files)

Go to https://codepen.io/thomasrye/pen/VaRoYv
Pinch-zoom

AR: The bottom corners get some sort of renderign artifacts.
ER: Not so

Bisection:
Bug 1892398 - Supply local space coords to compositing quads when drawing patterns. r=gw

The quad primitive info takes a scale+offset transform which is applied to the coordinate space of the pattern. This allows the quad coorinates to be optionally specified in device space while the pattern remains in layout space.

Differential Revision: https://phabricator.services.mozilla.com/D209694

Attached video Partial Fix Behaviour2
Attached file about:support
See Also: → 1892018
Attached image Actual Regression.png

This is the actual regression from the above bisection : Without doing any pinch-zoom, the edges have this squircle thingy and the colors are all wrong.

Set release status flags based on info from the regressing bug 1892398

:nical, since you are the author of the regressor, bug 1892398, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(nical.bugzilla)
Attachment #9402596 - Attachment description: bandicam 2024-05-18 07-49-54-930.mp4 → Actual Regression
Attachment #9402596 - Attachment filename: bandicam-2024-05-18-07-49-54-930.mp4 → Actual Regression
Attachment #9402596 - Attachment description: Actual Regression → Partial Fix2
Attachment #9402596 - Attachment filename: Actual Regression → Partial Fix2
Attachment #9402598 - Attachment description: Regression.png → Actual Regression.png
Attachment #9402598 - Attachment filename: Regression.png → Actual Regression.png

Partially fixed by:
Bug 1896979 - Handle matrix transforms that simplify into 2d scale + offset. r=gfx-reviewers,gw

Differential Revision: https://phabricator.services.mozilla.com/D210612

Depends on: 1896979
Attachment #9402599 - Attachment description: Partial Fix1.mp4 → Partial Fix Behaviour1.mp4
Attachment #9402599 - Attachment filename: Partial-Fix1.mp4 → Partial Fix Behaviour1.mp4
Attachment #9402596 - Attachment description: Partial Fix2 → Partial Fix Behaviour2
Attachment #9402596 - Attachment filename: Partial Fix2 → Partial Fix Behaviour2
Severity: -- → S3
Assignee: nobody → nical.bugzilla
Flags: needinfo?(nical.bugzilla)

There was an undocumented assumption that the raster node is the root spatial node if raster node != surface node which was very confusing because this function can be called in cases the raster node is different. This patch cleans up the local/picture terminology, replaces the use of the root node with the surface's raster node (which are assumed to be equal) since that is more generally correct and asserts the assumption about the root node. There should be no behavior change in the patch (unless the working assumption does not hold true and the added assertion is hit).

Depends on D211830

This is purely a stylistic choice, feel free to reject if you disagree. I have a much easier time reading the math this way. This patch does not change the behavior of the code.

Depends on D211852

Keywords: leave-open
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bd3877bbde56 Fix backwards terminology in ScaleOffset and usage in prepare_quad. r=gw
Duplicate of this bug: 1899081
Pushed by nsilva@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a7c3b97f32c4 Make SurfaceInfo::map_to_device_rect less confusing. r=gw https://hg.mozilla.org/integration/autoland/rev/be09294c8814 Fix incorrect order of transformation in CompositeState::register_transform. r=gw https://hg.mozilla.org/integration/autoland/rev/f681c82f6d5a Fix incorrect order of transformation in TileCacheInstance::pre_update. r=gw https://hg.mozilla.org/integration/autoland/rev/14230f12bba0 Fix incorrect transform order in setup_compositor_surfaces_impl. r=gw https://hg.mozilla.org/integration/autoland/rev/66062779f726 Favor ScaleOffset::then over pre_transform. r=gw

Is there more to do here?

Flags: needinfo?(nical.bugzilla)

No, let's close it.

Status: NEW → RESOLVED
Closed: 9 months ago
Flags: needinfo?(nical.bugzilla)
Resolution: --- → FIXED
Keywords: leave-open
Target Milestone: --- → 128 Branch

Issue is reproducible on a 2024-05-17 Nightly build on Windows 10.
Verified as fixed on Firefox 128.0b2 and Firefox Nightly 129.0a1 on Windows 10, Ubuntu 22, macOS 14.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: