diff options
Diffstat (limited to 'src/backend')
| -rw-r--r-- | src/backend/tty.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 891e8c79..fcae8087 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -1633,6 +1633,22 @@ impl Tty { presentation_time }; + if output_state + .vblank_throttle + .throttle(refresh_interval, time, move |state| { + let meta = DrmEventMetadata { + sequence: meta.sequence, + time: DrmEventTime::Monotonic(Duration::ZERO), + }; + + let tty = state.backend.tty(); + tty.on_vblank(&mut state.niri, node, crtc, meta); + }) + { + // Throttled. + return; + } + let redraw_needed = match mem::replace(&mut output_state.redraw_state, RedrawState::Idle) { RedrawState::WaitingForVBlank { redraw_needed } => redraw_needed, state @ (RedrawState::Idle |
