summaryrefslogtreecommitdiff
path: root/ivi-shell/ivi-layout-transition.c
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman@collabora.com>2025-04-14 10:48:04 -0500
committerDaniel Stone <daniels@collabora.com>2025-06-27 14:51:49 +0100
commit5a48cedc7b8421d8342dd6a943705955217b0fd1 (patch)
treea233bb5db506f22c73ed0c0f0c645d4c3f64d171 /ivi-shell/ivi-layout-transition.c
parent2d34d3289386831147c78c866b0808cdac9b19b0 (diff)
drm: Improve VRR timing at start of repaint loopHEADmain
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