diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-03 10:25:51 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-03 10:33:31 +0400 |
| commit | 1a8d6b1f1df80009795ed23e9ce0298fac65d766 (patch) | |
| tree | eec3d15d9a69f81722077ca1390b8d026429543f /src/backend/tty.rs | |
| parent | 185f294200b8e20d85dab828fa95265330762594 (diff) | |
| download | niri-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.rs | 9 |
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]) { |
