Canvas2D lines rasterization bug when using clip
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox-esr115 | --- | unaffected |
firefox117 | --- | wontfix |
firefox118 | --- | verified |
firefox119 | --- | verified |
People
(Reporter: george.pomas, Assigned: lsalzman)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
15.21 KB,
application/zip
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
59.95 KB,
image/png
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Steps to reproduce:
When I try to render lines using Canvas2D APIs the output contains several artefacts. The code for rendering needs to be very exact, so I've attached HTML with JS code that is needed to reproduce the problem. The bug may be flaky, so it's better to restart Firefox and open this HTML while app is in clean state.
I can reproduce this issue on 117 version (Stable), as well as 118.0b2 (Dev).
Actual results:
Artefacts are present in rendering of lines in Firefox 117 and 118.0b2 (Dev). See "firefox_output.png" in attached archive.
Expected results:
Correct rendering of lines (as in Chrome output in attached files).
Comment 1•1 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::JavaScript Engine' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•1 years ago
|
||
Thanks for the report!
Regressed by:
Bug 1837068 - Support alpha strokes by rendering with AAStroke to a mask render target. r=aosmond
Updated•1 years ago
|
Comment 3•1 years ago
|
||
Set release status flags based on info from the regressing bug 1837068
Updated•1 years ago
|
Updated•1 years ago
|
Assignee | ||
Comment 4•1 years ago
|
||
The clip mask state was leaking into the drawing of the stroke mask texture.
This caused the stroke mask to be erroneously clipped out.
Updated•1 years ago
|
Assignee | ||
Updated•1 years ago
|
Comment 6•1 years ago
|
||
Backed out for causing build bustages in DrawTargetWebgl.cpp
- Backout link
- Push with failures
- Failure Log
- Failure line: /builds/worker/checkouts/gecko/dom/canvas/DrawTargetWebgl.cpp:3122:24: error: no viable conversion from 'RefPtr<WebGLTextureJS>' to 'RefPtr<WebGLTexture>'
Assignee | ||
Updated•1 years ago
|
Comment 8•1 years ago
|
||
Backed out for causing reftest failures at 1850727-1.html.
Backout link: https://hg.mozilla.org/integration/autoland/rev/569ff0f1d1bd225e2e5b48647521d102fb540669
Failure log:
https://treeherder.mozilla.org/logviewer?job_id=427788215&repo=autoland&lineNumber=8850
Assignee | ||
Updated•1 years ago
|
Comment 10•1 years ago
|
||
bugherder |
Comment 11•1 years ago
|
||
The lines have started drawing, but they look different.
See the attached picture : gpu-canvas Vs Skia-Canvas Vs Chrome
Assignee | ||
Comment 12•1 years ago
|
||
Assignee | ||
Updated•1 years ago
|
Comment 13•1 years ago
|
||
Comment 14•1 years ago
|
||
bugherder |
Updated•1 years ago
|
Assignee | ||
Comment 15•1 years ago
|
||
Comment on attachment 9351417 [details]
Bug 1850727 - Only clear last clip mask when destroying clip mask. r?aosmond
Beta/Release Uplift Approval Request
- User impact if declined: Canvas2D will fail to draw certain types of stroked geometry.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Verified by repro'd testcase.
- String changes made/needed:
- Is Android affected?: Yes
Assignee | ||
Updated•1 years ago
|
Updated•1 years ago
|
Comment 16•1 years ago
|
||
Comment on attachment 9351417 [details]
Bug 1850727 - Only clear last clip mask when destroying clip mask. r?aosmond
Approved for 118.0b6, thanks.
Comment 17•1 years ago
|
||
uplift |
Comment 18•1 years ago
|
||
bugherder uplift |
Updated•1 years ago
|
Updated•1 years ago
|
Comment 19•1 year ago
|
||
I was able to reproduce the issue on Mac 12.6 using FF build 117.0 (the square was not completely displayed on old builds).
Verified as fixed on Mac 12.6 / Win10x64 using FF build 119.0a1 and 118.0b7.
Description
•