[Wayland] Implement WaylandSurface to render to screen on Linux
Categories
(Core :: Widget: Gtk, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox135 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 2 open bugs)
Details
Attachments
(18 external files)
Implement WaylandSurface to provide unified way to render on screen on Linux. That will be used by Webrender/GL, SW rendering and Webrender compositor (native layers). Unified rendering ensures we use the same codepath and will fix bugs in Wayland native layers implementation.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
- Change VSync modile logging name from WidgetVsync to WidgetVSync
- Add WidgetCompositor logging module
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
| Assignee | ||
Comment 3•1 year ago
|
||
| Assignee | ||
Comment 4•1 year ago
|
||
| Assignee | ||
Comment 5•1 year ago
|
||
Allow to lock WaylandSurface and does wl_surface commit if requested on unlock.
| Assignee | ||
Comment 6•1 year ago
|
||
| Assignee | ||
Comment 7•1 year ago
|
||
| Assignee | ||
Comment 8•1 year ago
|
||
| Assignee | ||
Comment 9•1 year ago
|
||
Use persistent WaylandSurface frame callback to fire VSync events.
| Assignee | ||
Comment 10•1 year ago
|
||
- Make nsWindow own WaylandSurface which makes sure we don't release it too early as is reffed
- Always get scale factor from parent nsWindow for popups, don't try to guess
- Simplify VSync management
- Use Verbose logging level for extra size/scale messages
| Assignee | ||
Comment 11•1 year ago
|
||
| Assignee | ||
Comment 12•1 year ago
|
||
We'll update WaylandNativeLayers for WaylandSurface in next patches.
| Assignee | ||
Comment 13•1 year ago
|
||
- Replace MozContainerSurfaceLock with WaylandSurfaceLock
- Temporary disable GtkCompositorWidget::GetNativeLayerRoot()
| Assignee | ||
Comment 14•1 year ago
|
||
- We may need to provide HDR info per monitor but for now it's enough to just enable it globally to get it working.
| Assignee | ||
Comment 15•1 year ago
|
||
| Assignee | ||
Comment 16•1 year ago
|
||
| Assignee | ||
Comment 17•1 year ago
|
||
Comment 18•1 year ago
|
||
@ Martin: I'm following this with great interest, but unfortunately lack the bandwidth to do in-depth reviewing atm., sorry :/
| Assignee | ||
Comment 19•1 year ago
|
||
(In reply to Robert Mader [:rmader] from comment #18)
@ Martin: I'm following this with great interest, but unfortunately lack the bandwidth to do in-depth reviewing atm., sorry :/
Not a problem, it can be adjusted any time later.
| Assignee | ||
Comment 20•1 year ago
|
||
Comment 21•1 year ago
|
||
Comment 22•1 year ago
•
|
||
Backed out for causing Wayland related mochitest failures and bustage on WaylandSurface.cpp and Bug 1936214
Failure log 1 // Failure log 2 // Failure log 3 // Failure log 4 // Failure log 5
| Assignee | ||
Comment 24•1 year ago
|
||
For the leak it looks like WaylandSurface is references by unreleased VSyncSource. Not sure why it's kept around.
| Assignee | ||
Comment 25•1 year ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #24)
For the leak it looks like WaylandSurface is references by unreleased VSyncSource. Not sure why it's kept around.
Hm, looks like popups is the issue as VSync is cleared. Perhaps popup holds strong ref to parent which is not released.
| Assignee | ||
Comment 26•1 year ago
|
||
Looks like the memleaks are caused by compositor bug when wl_buffer is not released. Updated. Let's see if Wayland try is clean this run:
| Assignee | ||
Comment 27•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
| Comment hidden (Intermittent Failures Robot) |
Comment 29•1 year ago
|
||
Comment 32•1 year ago
|
||
| Assignee | ||
Comment 33•1 year ago
|
||
| Assignee | ||
Comment 34•1 year ago
|
||
Comment 35•1 year ago
|
||
Comment 36•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/2e9080fd1c7c
https://hg.mozilla.org/mozilla-central/rev/3e0c8eec4b20
https://hg.mozilla.org/mozilla-central/rev/84186392210d
https://hg.mozilla.org/mozilla-central/rev/e87a5169f668
https://hg.mozilla.org/mozilla-central/rev/8cc721cc8bc5
https://hg.mozilla.org/mozilla-central/rev/b72ae2651fad
https://hg.mozilla.org/mozilla-central/rev/395f7e887b81
https://hg.mozilla.org/mozilla-central/rev/4e2fe326671e
https://hg.mozilla.org/mozilla-central/rev/1c53bbe84cda
https://hg.mozilla.org/mozilla-central/rev/4e75ec1344b9
https://hg.mozilla.org/mozilla-central/rev/c3b9163075af
https://hg.mozilla.org/mozilla-central/rev/18df8a1298f6
https://hg.mozilla.org/mozilla-central/rev/4a1a1cbab703
https://hg.mozilla.org/mozilla-central/rev/dd6f161a2dd0
https://hg.mozilla.org/mozilla-central/rev/5e231ba0d046
https://hg.mozilla.org/mozilla-central/rev/f9a6fb8bae13
https://hg.mozilla.org/mozilla-central/rev/58a807c8fde7
https://hg.mozilla.org/mozilla-central/rev/8af28b4f8ccb
Description
•