Closed Bug 2073850 Opened 17 days ago Closed 15 days ago

Debug assertion: culling rect loses part of the screen; pinch to zoom at large offset

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
158 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox-esr153 --- unaffected
firefox156 --- unaffected
firefox157 --- unaffected
firefox158 --- fixed

People

(Reporter: tnibler, Assigned: nical)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Attached file pinch-zoom-assert.html —

[2771401] Hit MOZ_CRASH(vis culling rect Box2D((26.666664, 598582.2), (1717.3331, 600431.06)) loses part of the screen Box2D((0.0, 0.0), (1902.0, 2080.0)) (round trip Box2D((0.0, 0.0625), (1902.0, 2080.0)))) at gfx/wr/webrender/src/surface.rs:413

Reproduction: Put something very far down on a page, pinch-zoom in and out a few times.

Keywords: regression
Regressed by: 2068160

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

For more information, please visit BugBot documentation.

Flags: needinfo?(nical.bugzilla)
Severity: -- → S2

A picture cache slice that sits far from the origin (a large scroll or
pinch-zoom offset) cannot round-trip its culling rect through the f32
scale+offset exactly: unmap divides the screen by the mapping and map
multiplies it back, each rounding at the magnitude of the translation. In
the bug the loss is exactly one ulp (0.0625 at an offset of ~673405),
which is just past the fixed 0.05 tolerance, so the assertion fired because
of precision issue with the assertion itself rather than the invariant it
was trying to check.

I almost removed the assertion. It was added in an abundance of caution
to validate a complex change that was made recently but if it doesn't
uncover real issues for a month or two we should take it as signal that
the change was good and we don't need to keep checking it forever.

Assignee: nobody → nical.bugzilla
Status: NEW → ASSIGNED
Flags: needinfo?(nical.bugzilla)
Pushed by nsilva@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/e00f22e0c8bb https://hg.mozilla.org/integration/autoland/rev/7f6fe90ce9f8 Scale the vis culling rect round-trip tolerance with the mapping translation. r=gfx-reviewers,gw
Status: ASSIGNED → RESOLVED
Closed: 15 days ago
Resolution: --- → FIXED
Target Milestone: --- → 158 Branch
QA Whiteboard: [qa-triage-done-c159/b158]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: