mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-12 00:50:40 +00:00
47c6beb1ee
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 |
||
---|---|---|
.. | ||
browser | ||
chrome | ||
crashtests | ||
gtest | ||
mochitest | ||
reftest | ||
moz.build |