debug: Better frame graph
This commit is contained in:
parent
9823b42c20
commit
36cb2ac719
6 changed files with 215 additions and 72 deletions
|
|
@ -381,6 +381,9 @@ impl State {
|
|||
let rescheduled_output =
|
||||
if let Some(device) = data.state.backend.kms().devices.get_mut(&drm_node) {
|
||||
if let Some(surface) = device.surfaces.get_mut(&crtc) {
|
||||
#[cfg(feature = "debug")]
|
||||
surface.fps.displayed();
|
||||
|
||||
match surface.surface.as_mut().map(|x| x.frame_submitted()) {
|
||||
Some(Ok(feedback)) => {
|
||||
if let Some(mut feedback) = feedback.flatten() {
|
||||
|
|
|
|||
|
|
@ -252,12 +252,17 @@ where
|
|||
.map(Into::into),
|
||||
);
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
if let Some(fps) = fps.as_mut() {
|
||||
fps.elements();
|
||||
}
|
||||
|
||||
renderer.bind(target).map_err(RenderError::Rendering)?;
|
||||
let res = damage_tracker.render_output(renderer, age, &elements, CLEAR_COLOR, None);
|
||||
|
||||
#[cfg(feature = "debug")]
|
||||
if let Some(fps) = fps.as_mut() {
|
||||
fps.end();
|
||||
fps.render();
|
||||
}
|
||||
|
||||
if let Some((source, buffers)) = screencopy {
|
||||
|
|
@ -303,6 +308,10 @@ where
|
|||
}
|
||||
}
|
||||
}
|
||||
#[cfg(feature = "debug")]
|
||||
if let Some(fps) = fps.as_mut() {
|
||||
fps.screencopy();
|
||||
}
|
||||
}
|
||||
|
||||
res
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ impl WinitState {
|
|||
self.backend
|
||||
.submit(damage.as_deref())
|
||||
.with_context(|| "Failed to submit buffer for display")?;
|
||||
#[cfg(feature = "debug")]
|
||||
self.fps.displayed();
|
||||
state.send_frames(&self.output, &states);
|
||||
if damage.is_some() {
|
||||
let mut output_presentation_feedback =
|
||||
|
|
|
|||
|
|
@ -221,6 +221,8 @@ impl Surface {
|
|||
self.surface
|
||||
.submit()
|
||||
.with_context(|| "Failed to submit buffer for display")?;
|
||||
#[cfg(feature = "debug")]
|
||||
self.fps.displayed();
|
||||
state.send_frames(&self.output, &states);
|
||||
if damage.is_some() {
|
||||
let mut output_presentation_feedback =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue