aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tty.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-03 10:25:51 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-03 10:33:31 +0400
commit1a8d6b1f1df80009795ed23e9ce0298fac65d766 (patch)
treeeec3d15d9a69f81722077ca1390b8d026429543f /src/backend/tty.rs
parent185f294200b8e20d85dab828fa95265330762594 (diff)
downloadniri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.tar.gz
niri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.tar.bz2
niri-1a8d6b1f1df80009795ed23e9ce0298fac65d766.zip
Add a semi-working debug-toggle-damage binding
Diffstat (limited to 'src/backend/tty.rs')
-rw-r--r--src/backend/tty.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs
index 3eb75a87..abcc93d3 100644
--- a/src/backend/tty.rs
+++ b/src/backend/tty.rs
@@ -58,6 +58,7 @@ use wayland_protocols::wp::presentation_time::server::wp_presentation_feedback;
use super::{IpcOutputMap, RenderResult};
use crate::frame_clock::FrameClock;
use crate::niri::{Niri, RedrawState, State};
+use crate::render_helpers::debug::draw_damage;
use crate::render_helpers::renderer::AsGlesRenderer;
use crate::render_helpers::{resources, shaders, RenderTarget};
use crate::utils::{get_monotonic_time, logical_output};
@@ -1243,9 +1244,15 @@ impl Tty {
};
// Render the elements.
- let elements =
+ let mut elements =
niri.render::<TtyRenderer>(&mut renderer, output, true, RenderTarget::Output);
+ // Visualize the damage, if enabled.
+ if niri.debug_draw_damage {
+ let output_state = niri.output_state.get_mut(output).unwrap();
+ draw_damage(&mut output_state.debug_damage_tracker, &mut elements);
+ }
+
// Hand them over to the DRM.
let drm_compositor = &mut surface.compositor;
match drm_compositor.render_frame::<_, _>(&mut renderer, &elements, [0.; 4]) {