[WR/EGL/Linux] Enable partial present by default
Categories
(Core :: Graphics: WebRender, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox83 | --- | fixed |
People
(Reporter: jan, Assigned: rmader)
References
(Blocks 3 open bugs)
Details
(Keywords: nightly-community, power)
Attachments
(1 file, 1 obsolete file)
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Reporter | ||
Comment 3•5 years ago
|
||
I'm not sure, but I think it was that Linux implies Android, but doesn't include FreeBSD. Should it be MOZ_WIDGET_GTK instead?
GLX partial present seems to work fine on XWayland and X11.
EGL partial present:
-
MOZ_ENABLE_WAYLAND=1:
- Wayland EGL partial present doesn't work with official builds: bug 1648872. I think I saw bug 1640617 only because partial present wasn't working.
- Arch Linux users have working EGL partial present, but saw minor issues: bug 1646202, bug 1640858. They could also have been caused by a fallback to OpenGL. Enabling the pref would expand testing which would be good.
- So far I have only seen glitches when WebRender felt back to OpenGL due to bug 1640651, bug 1638084, bug 1645677.
-
MOZ_X11_EGL=1 with Mesa: The whole window gets invalidated until https://gitlab.freedesktop.org/mesa/mesa/-/issues/3030 has been fixed.
-
MOZ_X11_EGL=1 with proprietary Nvidia: Depends on bug 1650583.
Assignee | ||
Comment 4•5 years ago
•
|
||
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #3)
I'm not sure, but I think it was that Linux implies Android, but doesn't include FreeBSD. Should it be MOZ_WIDGET_GTK instead?
Sounds reasonable.
GLX partial present seems to work fine on XWayland and X11.
EGL partial present:
MOZ_ENABLE_WAYLAND=1:
- Wayland EGL partial present doesn't work with official builds: bug 1648872. I think I saw bug 1640617 only because partial present wasn't working.
- Arch Linux users have working EGL partial present, but saw minor issues: bug 1646202, bug 1640858. They could also have been caused by a fallback to OpenGL. Enabling the pref would expand testing which would be good.
- So far I have only seen glitches when WebRender felt back to OpenGL due to bug 1640651, bug 1638084, bug 1645677.
MOZ_X11_EGL=1 with Mesa: The whole window gets invalidated until https://gitlab.freedesktop.org/mesa/mesa/-/issues/3030 has been fixed.
MOZ_X11_EGL=1 with proprietary Nvidia: Depends on bug 1650583.
I'd still wait with for a while. Just tested GLX on Xwayland and I think I saw occasional small glitches. There might be bugs we first need to solve in bug 1640710.
I'm running partial present enabled on my main browser (FF 78, Fedora 32) and see quite a few glitches quite regular - some of them maybe already resolved in nightly, not sure.
Comment 5•5 years ago
|
||
(In reply to Jan Andre Ikenmeyer [:darkspirit] from comment #3)
GLX partial present seems to work fine on XWayland and X11.
Note that the GLX_MESA_copy_sub_buffer
extension (which I understand is used for this) does a direct copy of each rectangle from the GL back buffer to the window's front buffer, without any synchronization to the refresh cycle. This is obviously prone to erratic presentation timing, and tearing on Xorg without a compositing manager. But even with a compositing manager or with Xwayland, at least in theory Xwayland / the compositing manager can end up capturing the window contents for an output frame between rectangles of the same Firefox frame, which also results in tearing.
In summary, I'm afraid this extension isn't really suitable for partial presentation, and I'm not aware of any other GLX functionality which would be.
Reporter | ||
Updated•5 years ago
|
EGL_KHR_swap_buffers_with_damage support for X11 ( https://gitlab.freedesktop.org/mesa/mesa/-/issues/3030 and https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6132 ) has now been merged to upstream Mesa (so it'll be in mesa 20.3). Backport to mesa 20.2 branch is still pending.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 7•4 years ago
|
||
With partial damage getting switched on on Android (bug 1575765), I think it's time to do the same on Linux. Note: this will not affect initial WR roleout, as that is X11/GLX only.
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 8•4 years ago
|
||
It has been enabled on Android - lets do the same on desktop linux.
Updated•4 years ago
|
Comment 10•4 years ago
|
||
bugherder |
Description
•