Skip to content

Commit 2e80cd2

Browse files
committed
More instrumentation
1 parent a08d888 commit 2e80cd2

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

toybox-gfx/src/core.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ impl Core {
166166
}
167167
}
168168

169+
#[instrument(skip_all, name="gfx Core::set_debugging_enabled")]
169170
pub fn set_debugging_enabled(&self, enabled: bool) {
170171
unsafe {
171172
match enabled {

toybox-gfx/src/lib.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,24 @@ impl System {
9191
.context("Error while processing resource requests")
9292
.unwrap();
9393

94-
self.frame_encoder.command_groups.sort_by_key(|cg| cg.stage);
94+
{
95+
let _span = tracing::info_span!("sort command groups").entered();
96+
self.frame_encoder.command_groups.sort_by_key(|cg| cg.stage);
97+
}
98+
99+
// TODO(pat.m): replace clear with just invalidate? may be better to just always render to an fbo and blit
100+
// clearing the framebuffer seems useless for any mildly involved rendering
95101

96102
let clear_color = self.frame_encoder.backbuffer_clear_color;
97103
let clear_depth = 1.0; // 1.0 is the default clear depth for opengl
98104
let clear_stencil = 0;
99105

100-
let backbuffer_handle = FramebufferName::backbuffer();
101-
self.core.clear_framebuffer_color_buffer(backbuffer_handle, 0, clear_color);
102-
self.core.clear_framebuffer_depth_stencil(backbuffer_handle, clear_depth, clear_stencil);
106+
{
107+
let _span = tracing::info_span!("clear backbuffer").entered();
108+
let backbuffer_handle = FramebufferName::backbuffer();
109+
self.core.clear_framebuffer_color_buffer(backbuffer_handle, 0, clear_color);
110+
self.core.clear_framebuffer_depth_stencil(backbuffer_handle, clear_depth, clear_stencil);
111+
}
103112

104113
let backbuffer_size = self.core.backbuffer_size();
105114
self.core.set_viewport(backbuffer_size);

toybox-gfx/src/upload_heap.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,10 @@ impl UploadHeap {
137137
.expect("Invalid staged upload id")
138138
}
139139

140+
#[instrument(skip_all, name="UploadHeap::create_end_frame_fence")]
140141
pub fn create_end_frame_fence(&mut self, core: &mut Core) {
141142
let fence = unsafe {
143+
let _span = tracing::info_span!("glFenceSync").entered();
142144
core.gl.FenceSync(gl::SYNC_GPU_COMMANDS_COMPLETE, 0)
143145
};
144146

0 commit comments

Comments
 (0)