diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-13 13:04:41 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-13 13:30:36 +0400 |
| commit | 29053a807b8969d3e2eb88c7065a087aaa137a31 (patch) | |
| tree | 34e0d75df75acdd25aa1aca4b5e7b49d85a789c6 /src/backend/winit.rs | |
| parent | 0a3274749563067b06af83f870ff39dc503a5355 (diff) | |
| download | niri-29053a807b8969d3e2eb88c7065a087aaa137a31.tar.gz niri-29053a807b8969d3e2eb88c7065a087aaa137a31.tar.bz2 niri-29053a807b8969d3e2eb88c7065a087aaa137a31.zip | |
Return RenderResult from render()
Diffstat (limited to 'src/backend/winit.rs')
| -rw-r--r-- | src/backend/winit.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/winit.rs b/src/backend/winit.rs index 508f4cf0..0188ea21 100644 --- a/src/backend/winit.rs +++ b/src/backend/winit.rs @@ -17,6 +17,7 @@ use smithay::reexports::winit::dpi::LogicalSize; use smithay::reexports::winit::window::WindowBuilder; use smithay::utils::Transform; +use super::RenderResult; use crate::config::Config; use crate::niri::{OutputRenderElements, RedrawState, State}; use crate::utils::get_monotonic_time; @@ -151,7 +152,7 @@ impl Winit { niri: &mut Niri, output: &Output, elements: &[OutputRenderElements<GlesRenderer>], - ) { + ) -> RenderResult { let _span = tracy_client::span!("Winit::render"); self.backend.bind().unwrap(); @@ -164,6 +165,7 @@ impl Winit { niri.update_primary_scanout_output(output, &res.states); + let rv; if let Some(damage) = res.damage { if self .config @@ -186,6 +188,10 @@ impl Winit { 0, wp_presentation_feedback::Kind::empty(), ); + + rv = RenderResult::Submitted; + } else { + rv = RenderResult::NoDamage; } let output_state = niri.output_state.get_mut(output).unwrap(); @@ -200,6 +206,8 @@ impl Winit { if output_state.unfinished_animations_remain { self.backend.window().request_redraw(); } + + rv } pub fn toggle_debug_tint(&mut self) { |
