aboutsummaryrefslogtreecommitdiff
path: root/src/backend/winit.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-10-13 13:04:41 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-10-13 13:30:36 +0400
commit29053a807b8969d3e2eb88c7065a087aaa137a31 (patch)
tree34e0d75df75acdd25aa1aca4b5e7b49d85a789c6 /src/backend/winit.rs
parent0a3274749563067b06af83f870ff39dc503a5355 (diff)
downloadniri-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.rs10
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) {