aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-08-23 09:26:42 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-08-23 09:26:42 +0300
commitfef665df73cf4ed4e1686f1f065d03591709db42 (patch)
tree8ee821e5cb9b531c8a6bae5cb971b23e75251130
parent7bfdf87bf0138d602888fc3167921bc1d029b0ab (diff)
downloadniri-fef665df73cf4ed4e1686f1f065d03591709db42.tar.gz
niri-fef665df73cf4ed4e1686f1f065d03591709db42.tar.bz2
niri-fef665df73cf4ed4e1686f1f065d03591709db42.zip
tty: Wait for sync on needs_sync()
How did I never add this back?
-rw-r--r--src/backend/tty.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs
index 1d891d91..17b16eec 100644
--- a/src/backend/tty.rs
+++ b/src/backend/tty.rs
@@ -1344,12 +1344,13 @@ impl Tty {
let drm_compositor = &mut surface.compositor;
match drm_compositor.render_frame::<_, _>(&mut renderer, &elements, [0.; 4]) {
Ok(res) => {
- if self
- .config
- .borrow()
- .debug
- .wait_for_frame_completion_before_queueing
- {
+ let needs_sync = res.needs_sync()
+ || self
+ .config
+ .borrow()
+ .debug
+ .wait_for_frame_completion_before_queueing;
+ if needs_sync {
if let PrimaryPlaneElement::Swapchain(element) = res.primary_element {
let _span = tracy_client::span!("wait for completion");
if let Err(err) = element.sync.wait() {