diff options
author | Michel Dänzer <mdaenzer@redhat.com> | 2021-12-24 19:06:47 +0100 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2021-12-24 19:06:47 +0100 |
commit | 288ec0e046c4cb975367f5ad043b76666c30fe9b (patch) | |
tree | cce2ff30a7d95a3eebb8551311228c729738a241 /hw/xwayland/xwayland-present.h | |
parent | 38291fa86c00e1d3ee37612c9215b0c15da89051 (diff) | |
download | xserver-288ec0e046c4cb975367f5ad043b76666c30fe9b.tar.gz |
xwayland/present: Run fallback timer callback after more than a second
If the Wayland compositor doesn't send a pending frame event, e.g.
because the Wayland surface isn't visible anywhere, it could happen that
the timer kept getting pushed back and never fired. This resulted in an
enormous list of pending vblank events, which could take minutes to
process when the frame event finally arrived.
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1110
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
Tested-by: Jaap Buurman <jaapbuurman@gmail.com>
Diffstat (limited to 'hw/xwayland/xwayland-present.h')
-rw-r--r-- | hw/xwayland/xwayland-present.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/xwayland/xwayland-present.h b/hw/xwayland/xwayland-present.h index d3eff73f4..5d880e822 100644 --- a/hw/xwayland/xwayland-present.h +++ b/hw/xwayland/xwayland-present.h @@ -41,6 +41,8 @@ struct xwl_present_window { uint64_t ust; OsTimerPtr frame_timer; + /* Timestamp when the current timer was first armed */ + CARD32 timer_armed; struct wl_callback *sync_callback; |