diff --git a/crates/bevy_openxr/src/openxr/init.rs b/crates/bevy_openxr/src/openxr/init.rs index 8840c7b..059ddbf 100644 --- a/crates/bevy_openxr/src/openxr/init.rs +++ b/crates/bevy_openxr/src/openxr/init.rs @@ -508,7 +508,7 @@ pub fn begin_xr_session( world: &mut World, // session: Res, mut session_started: ResMut ) { - let _span = info_span!("xr_begin_session"); + let _span = info_span!("xr_begin_session").entered(); world .get_resource::() .unwrap() @@ -524,7 +524,7 @@ pub fn end_xr_session( ) { // Maybe this could be an event? world.run_schedule(XrPreSessionEnd); - let _span = info_span!("xr_end_session"); + let _span = info_span!("xr_end_session").entered(); world .get_resource::() .unwrap() diff --git a/crates/bevy_openxr/src/openxr/poll_events.rs b/crates/bevy_openxr/src/openxr/poll_events.rs index c2eac26..2daf8aa 100644 --- a/crates/bevy_openxr/src/openxr/poll_events.rs +++ b/crates/bevy_openxr/src/openxr/poll_events.rs @@ -19,7 +19,7 @@ impl Plugin for OxrEventsPlugin { } /// Polls any OpenXR events and handles them accordingly pub fn poll_events(world: &mut World) { - let _span = info_span!("xr_poll_events"); + let _span = info_span!("xr_poll_events").entered(); let instance = world.resource::().clone(); let handlers = world.remove_resource::().unwrap(); let mut buffer = EventDataBuffer::default(); diff --git a/crates/bevy_openxr/src/openxr/render.rs b/crates/bevy_openxr/src/openxr/render.rs index 0fb0269..a3586f8 100644 --- a/crates/bevy_openxr/src/openxr/render.rs +++ b/crates/bevy_openxr/src/openxr/render.rs @@ -135,10 +135,10 @@ pub fn init_views( swapchain_images: Res, mut commands: Commands, ) { - let _span = info_span!("xr_init_views"); let temp_tex = swapchain_images.first().unwrap(); // this for loop is to easily add support for quad or mono views in the future. for index in 0..2 { + let _span = debug_span!("xr_init_view").entered(); info!("XrCamera resolution: {}", graphics_info.resolution); let view_handle = add_texture_view(&mut manual_texture_views, temp_tex, &graphics_info, index); @@ -153,7 +153,6 @@ pub fn init_views( } pub fn wait_frame(mut frame_waiter: ResMut, mut commands: Commands) { - let _span = info_span!("xr_wait_frame"); let state = frame_waiter.wait().expect("Failed to wait frame"); commands.insert_resource(OxrFrameState(state)); } @@ -362,11 +361,11 @@ pub fn insert_texture_views( mut manual_texture_views: ResMut, graphics_info: Res, ) { - let _span = info_span!("xr_insert_texture_views"); let index = swapchain.acquire_image().expect("Failed to acquire image"); let image = &swapchain_images[index as usize]; for i in 0..2 { + let _span = debug_span!("xr_insert_texture_view").entered(); add_texture_view(&mut manual_texture_views, image, &graphics_info, i); } } @@ -400,23 +399,21 @@ pub fn add_texture_view( } pub fn begin_frame(mut frame_stream: ResMut) { - let _span = info_span!("xr_begin_frame"); frame_stream.begin().expect("Failed to begin frame"); } pub fn release_image(mut swapchain: ResMut) { - let _span = info_span!("xr_release_image"); #[cfg(target_os = "android")] { let ctx = ndk_context::android_context(); let vm = unsafe { jni::JavaVM::from_raw(ctx.vm().cast()) }.unwrap(); let env = vm.attach_current_thread_as_daemon(); } + let _span = debug_span!("xr_release_image").entered(); swapchain.release_image().unwrap(); } pub fn end_frame(world: &mut World) { - let _span = info_span!("xr_end_frame"); #[cfg(target_os = "android")] { let ctx = ndk_context::android_context(); @@ -426,6 +423,7 @@ pub fn end_frame(world: &mut World) { world.resource_scope::(|world, mut frame_stream| { let mut layers = vec![]; let frame_state = world.resource::(); + let _span = debug_span!("get layers").entered(); if frame_state.should_render { for layer in world.resource::().iter() { if let Some(layer) = layer.get(world) { @@ -433,7 +431,9 @@ pub fn end_frame(world: &mut World) { } } } + drop(_span); let layers: Vec<_> = layers.iter().map(Box::as_ref).collect(); + let _span = debug_span!("xr_end_frame").entered(); if let Err(e) = frame_stream.end( frame_state.predicted_display_time, world.resource::().blend_mode,