Perspective transformed HTML with preserve-3d has scaling/distortion
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox99 | --- | wontfix |
firefox100 | --- | fixed |
firefox101 | --- | fixed |
People
(Reporter: tim, Assigned: gw)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
1.66 KB,
text/html
|
Details |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:99.0) Gecko/20100101 Firefox/99.0
Steps to reproduce:
Applied transformations to HTML via perspective/transform and transform style using preserve-3d.
Rendered output is heavily pixelated compared to Chrome v100, Edge v100, Safari 15.3 desktop, iOS 15.4.1. Safari.
Actual results:
Transformed div is unreadable/unusable.
Expected results:
Div should just appear in the specified location without any major visible distortion.
I've included a minimal test case which is 100% reproducible on v99, beta 100, as well as the nightly as of submission date.
Open the html file in FF, and any other browser to see the difference.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Web Painting' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•3 years ago
|
||
2022-04-13T16:14:07.265000: DEBUG : Found commit message:
Bug 1749380 - Part 2 - Performance and quality fixes for part 1. r=gfx-reviewers,nical
-
Add support for local scale factors to a surface, allowing it to
be rasterized in root coordinate space. This allows snapping to
work across surfaces where the surface transform is a fractional
offset. -
Calculate scaling factors per rasterized surface and propagate
them. Ensures correct scale factor calculations when dealing with
nested preserve-3d contexts with 90-degree axis rotations. -
Support determining exact surface device rect for 2d surfaces
with fractional surface transforms. -
Fix line decoration cache key size calculations based on world
scaling factor. -
Remove
get_clipped_device_rect
usage for calculating clip-mask
surface allocations, usesurface.get_surface_rect
instead. The
prior method doesn't correctly account for expanded local regions
from the current dirty rect, resulting in invalidation issues in
some animated edge cases. Also unifies the way clip-mask surface
allocations work with the way general render target surface
allocations work.
Differential Revision: https://phabricator.services.mozilla.com/D138982
2022-04-13T16:14:07.265000: DEBUG : Did not find a branch, checking all integration branches
2022-04-13T16:14:07.280000: INFO : The bisection is done.
2022-04-13T16:14:07.280000: INFO : Stopped
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 3•3 years ago
|
||
Set release status flags based on info from the regressing bug 1749380
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
I confirmed that this is fixed by the patch in bug 1764875.
Updated•3 years ago
|
Description
•