Bug 1731125 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Overview:
* EGL benefits: It shares most code with Wayland: It enables support for partial present (bug 1648799), zero-copy Dmabuf WebGL (bug 1655026 fixes bug 1010527), VAAPI hardware decoding (bug 1610199).

* MOZ_X11_EGL/Mesa still uses
  * GLX_SGI_video_sync (there is no real alternative at the moment other than switching to a 60 Hz software timer: bug 1640779 comment 38)
  * GLX visual selection (bug 1702546, https://gitlab.freedesktop.org/mesa/mesa/-/issues/149, https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12819).
* GLX/Nvidia
  * seems to have problems with GLX_SGI_video_sync (e.g. bug 1628913) 
  * suffers from GLX swap interval being set to 1: bug 1716049 (GLX/Xwayland/Mesa suffers as well: bug 1635186, fixed by switching to EGL which already uses swap interval 0 and shares one context for all windows)
  * in some circumstances tries to display popups with wrong visual which causes a crash.
* MOZ_X11_EGL/Nvidia uses pure EGL:
  * 60 Hz software timer like software rendering because GLX_SGI_video_sync caused a crash when mixing with EGL (bug 1728473)
  * pure EGL visual selection: IIUC, current code selects the first fitting visual, but not the one with transparency that should come after it. (?)
  In theory, bug 1717816 could be reverted until pure EGL visual selection has been fixed, but it was already fragile with pure GLX.
  * Partial present is supported
  * Dmabuf WebGL will work here, too: https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-GBM-Works-With-Sway
Overview:
* EGL benefits: It shares most code with Wayland: It enables support for partial present (bug 1648799), zero-copy Dmabuf WebGL (bug 1655026 fixes bug 1010527), VAAPI hardware decoding (bug 1610199).

* MOZ_X11_EGL/Mesa still uses
  * GLX_SGI_video_sync (there is no real alternative at the moment other than switching to a 60 Hz software timer: bug 1640779 comment 38)
  * GLX visual selection (bug 1702546, https://gitlab.freedesktop.org/mesa/mesa/-/issues/149, https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12819).
* GLX/Nvidia
  * seems to have problems with GLX_SGI_video_sync (e.g. bug 1628913) 
  * suffers from GLX swap interval being set to 1: bug 1716049 (GLX/Xwayland/Mesa suffers as well: bug 1635186, fixed by switching to EGL which already uses swap interval 0 and shares one context for all windows)
  * in some circumstances tries to display popups with wrong visual which causes a crash.
* MOZ_X11_EGL/Nvidia uses pure EGL:
  * 60 Hz software timer like software rendering because GLX_SGI_video_sync caused a crash when mixing with EGL (bug 1728473)
  * pure EGL visual selection: IIUC, current code selects the first fitting visual, but not the one with transparency that should come after it. (?)
  In theory, bug 1717816 could be reverted until pure EGL visual selection has been fixed, but it was already fragile with pure GLX.
  * Partial present is supported as well
  * Dmabuf WebGL will work here, too: https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-GBM-Works-With-Sway

Back to Bug 1731125 Comment 2