aboutsummaryrefslogtreecommitdiff
path: root/src/render_helpers
diff options
context:
space:
mode:
Diffstat (limited to 'src/render_helpers')
-rw-r--r--src/render_helpers/debug.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/render_helpers/debug.rs b/src/render_helpers/debug.rs
index f67abdb3..2a4c4332 100644
--- a/src/render_helpers/debug.rs
+++ b/src/render_helpers/debug.rs
@@ -1,3 +1,4 @@
+use smithay::backend::renderer::damage::OutputDamageTracker;
use smithay::backend::renderer::element::solid::SolidColorRenderElement;
use smithay::backend::renderer::element::{Element, Id, Kind};
use smithay::backend::renderer::utils::CommitCounter;
@@ -56,3 +57,25 @@ pub fn draw_opaque_regions<R: NiriRenderer>(
}
}
}
+
+pub fn draw_damage<R: NiriRenderer>(
+ damage_tracker: &mut OutputDamageTracker,
+ elements: &mut Vec<OutputRenderElements<R>>,
+) {
+ let _span = tracy_client::span!("draw_damage");
+
+ let Ok((Some(damage), _)) = damage_tracker.damage_output(1, elements) else {
+ return;
+ };
+
+ for rect in damage {
+ let color = SolidColorRenderElement::new(
+ Id::new(),
+ *rect,
+ CommitCounter::default(),
+ [0.3, 0., 0., 0.3],
+ Kind::Unspecified,
+ );
+ elements.insert(0, OutputRenderElements::SolidColor(color));
+ }
+}