Consider disabling glx vsync for WR/EGL/X11/Mesa as well
Categories
(Core :: Graphics: WebRender, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox117 | --- | fixed |
People
(Reporter: jan, Assigned: jan)
References
(Blocks 2 open bugs)
Details
(Keywords: nightly-community)
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
IIUC, glx vsync can be affected by the old X11 race condition: bug 1743551/bug 1836515/bug 1814586/bug 1777849 comment 47
glx vsync is already blocked for EGL/X11/Nvidia and Xwayland and nobody complained because xrandr provides correct refresh rate for software timer.
glx vsync doesn't prevent tearing on "X11 with disabled compositor", only having a compositor does.
Overview:
GLX/X11/Mesa+Nvidia: software timer + SW WR (but glx vsync for force-enabled HW WR)
EGL/X11/Mesa: glx vsync
EGL/X11/Nvidia: software timer. no glx vsync as it would break rendering.
EGL/Xwayland/Mesa+Nvidia: software timer. no glx vsync as it would block rendering.
EGL/Wayland/Mesa+Nvidia: frame callback based vsync.
History:
2020-09-03: bug 1650583 restricted glx vsync to glx.
2020-11-24: bug 1669275 re-enabled glx vsync for X11_EGL/Mesa to have correct refresh rate (because the xrandr check wasn't in place then).
2021-02-03: bug 1690371 lowered minimum required version for HW WR to Mesa 17 (18.2 is required for Nouveau).
2021-10-23: Since bug 1640779, software timer uses xrandr refresh rate instead of hardcoded 60, and glx vsync is disabled on xwayland (bug 1635186).
2021-11-25: Since bug 1742862, 470.82 (supports EGL_NV_robustness_video_memory_purge) is the minimum required version for X11_EGL/Nvidia.
2022-01-21: bug 1751252 shipped (unblocked) X11_EGL/Nvidia to Stable.
2022-01-24: Since bug 1742994, 470.82 is the minimum required version for HW WR/Nvidia.
2023-02-28: bug 1818992 lowered minimum required version for X11_EGL/Mesa to Mesa 17 (and to 18.2 for Nouveau).
Consider adding the following here:
#ifdef MOZ_X11
- name: gfx.x11.glx_sgi_video_sync.enabled
type: bool
value: false
mirror: once
#endif
and the following here:
if (StaticPrefs::gfx_x11_glx_sgi_video_sync_enabled_AtStartup() && ...
Assignee | ||
Comment 1•1 year ago
|
||
Updated•1 year ago
|
Assignee | ||
Comment 2•1 year ago
|
||
Disabling this would have also fixed bug 1710400.
Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 4•1 year ago
|
||
bugherder |
Description
•