diff options
author | Derek Foreman <derek.foreman@collabora.com> | 2025-04-14 10:48:04 -0500 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2025-06-27 14:51:49 +0100 |
commit | 5a48cedc7b8421d8342dd6a943705955217b0fd1 (patch) | |
tree | a233bb5db506f22c73ed0c0f0c645d4c3f64d171 /ivi-shell/ivi-layout-transition.c | |
parent | 2d34d3289386831147c78c866b0808cdac9b19b0 (diff) |
There was an old kernel bug where the drm driver could give us a stale
timestamp. We worked around this by performing a page flip at the
start of the repaint loop.
Now that we support VRR, when we don't render our refresh rate drops to the
display's lowest possible refresh rate. This leaves us with a race where
the repaint loop could be started between the mode's refresh rate and the
lowest possible VRR rate - which is indistinguishable from a stale
timestamp. In this case we'd perform a needless page flip and potentially
miss an opportunity to render.
The kernel bug was introduced in v3.16 in commit 844b03f27739135 and later
fixed in v4.1 in commit fdb68e09bbb1c98
Since the vrr_capable property was introduced in v4.20 in commit
ba1b0f6c73d4ea1, any kernel that supports VRR is new enough not to give us
stale timestamps, so we don't have to miss these opportunities.
Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Diffstat (limited to 'ivi-shell/ivi-layout-transition.c')
0 files changed, 0 insertions, 0 deletions