aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-08-23 11:02:34 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-08-23 11:02:34 +0300
commit471dc714aa31243f68686fb35c2b5e44bd9be33b (patch)
treeb6aec73786be4a4123e8c6e6359052dc9f9d0dd3 /src/niri.rs
parentfef665df73cf4ed4e1686f1f065d03591709db42 (diff)
downloadniri-471dc714aa31243f68686fb35c2b5e44bd9be33b.tar.gz
niri-471dc714aa31243f68686fb35c2b5e44bd9be33b.tar.bz2
niri-471dc714aa31243f68686fb35c2b5e44bd9be33b.zip
Add damage check to PW screencasts
Avoids unnecessary frames.
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 27696749..431a42f8 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -3657,9 +3657,8 @@ impl Niri {
let elements = elements.get_or_insert_with(|| {
self.render(renderer, output, true, RenderTarget::Screencast)
});
- let elements = elements.iter().rev();
- if cast.dequeue_buffer_and_render(renderer, elements, size, scale) {
+ if cast.dequeue_buffer_and_render(renderer, &elements, size, scale) {
cast.last_frame_time = target_presentation_time;
}
}
@@ -3717,9 +3716,9 @@ impl Niri {
}
// FIXME: pointer.
- let elements = mapped.render_for_screen_cast(renderer, scale).rev();
+ let elements: Vec<_> = mapped.render_for_screen_cast(renderer, scale).collect();
- if cast.dequeue_buffer_and_render(renderer, elements, bbox.size, scale) {
+ if cast.dequeue_buffer_and_render(renderer, &elements, bbox.size, scale) {
cast.last_frame_time = target_presentation_time;
}
}
@@ -3802,9 +3801,8 @@ impl Niri {
.rev()
.collect::<Vec<_>>()
});
- let elements = elements.iter();
- if cast.dequeue_buffer_and_render(renderer, elements, bbox.size, scale) {
+ if cast.dequeue_buffer_and_render(renderer, &elements, bbox.size, scale) {
cast.last_frame_time = target_presentation_time;
}
}