Skip to content
Snippets Groups Projects
  1. May 31, 2022
  2. May 27, 2022
  3. May 26, 2022
  4. May 25, 2022
  5. May 24, 2022
  6. May 19, 2022
  7. May 16, 2022
  8. May 06, 2022
  9. May 05, 2022
  10. May 04, 2022
  11. May 03, 2022
  12. May 02, 2022
  13. Apr 14, 2022
  14. Apr 06, 2022
  15. Mar 30, 2022
  16. Mar 28, 2022
  17. Mar 16, 2022
  18. Mar 15, 2022
    • Markus Stange's avatar
      Bug 1759234 - Merge VsyncSource::Display into VsyncSource. r=smaug · 47c6beb1
      Markus Stange authored
      Every `VsyncSource` currently only has a single `Display` associated with it.
      This means that we're not making use of the `Display` abstraction at all.
      This patch gets rid of `Display` by merging it into `VsyncSource`.
      
      Originally, the intention of the `Display` abstraction was to use it for
      per-monitor vsync. There would be one software `VsyncSource` and one hardware
      `VsyncSource`, and the hardware `VsyncSource` would have one `Display` per
      screen. But in reality, things have played out differently: The only platform
      with per-monitor vsync is currently Linux Wayland, which has per-**widget**
      vsync. And it has chosen to have one `VsyncSource` per widget, with a single
      `Display` each.
      
      For the macOS implementation of per-monitor vsync, I think it also makes
      sense to have one `VsyncSource` per screen.
      
      We already need to handle switching between VsyncSources, for switching
      between software and hardware vsync, if the pref `layout.frame_rate` is
      changed. So we might as well reuse that same switching capability for
      switching between screens, when a window moves between screens or when a
      tab moves between windows on different screens.
      
      Differential Revision: https://phabricator.services.mozilla.com/D140891
      47c6beb1
Loading