diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-14 09:33:42 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-09-14 09:33:42 +0400 |
| commit | 092095ead005ff073344b723f00b08a5b845f186 (patch) | |
| tree | ccd0522615a0ef80ea5905193518c9689c617e98 /src/backend/winit.rs | |
| parent | ef11975ec53005b10786e2bfe6f31ba88ff81a34 (diff) | |
| download | niri-092095ead005ff073344b723f00b08a5b845f186.tar.gz niri-092095ead005ff073344b723f00b08a5b845f186.tar.bz2 niri-092095ead005ff073344b723f00b08a5b845f186.zip | |
Add debug flag to wait for frame completion
Diffstat (limited to 'src/backend/winit.rs')
| -rw-r--r-- | src/backend/winit.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/winit.rs b/src/backend/winit.rs index e7a50ac7..f30c0784 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -15,6 +15,7 @@ use smithay::reexports::winit::window::WindowBuilder; use smithay::utils::Transform; use smithay::wayland::dmabuf::DmabufFeedback; +use crate::config::Config; use crate::niri::OutputRenderElements; use crate::utils::get_monotonic_time; use crate::{LoopData, Niri}; @@ -136,6 +137,7 @@ impl Winit { pub fn render( &mut self, + config: &Config, niri: &mut Niri, output: &Output, elements: &[OutputRenderElements<GlesRenderer>], @@ -149,6 +151,11 @@ impl Winit { .render_output(self.backend.renderer(), age, elements, [0.1, 0.1, 0.1, 1.0]) .unwrap(); if let Some(damage) = res.damage { + if config.debug.wait_for_frame_completion_before_queueing { + let _span = tracy_client::span!("wait for completion"); + res.sync.wait(); + } + self.backend.submit(Some(&damage)).unwrap(); let mut presentation_feedbacks = niri.take_presentation_feedbacks(output, &res.states); |
