From a3c33cb8b6928ebc9990c1b711cf3086e2264b39 Mon Sep 17 00:00:00 2001 From: Schmarni Date: Wed, 24 Jan 2024 03:46:20 +0100 Subject: [PATCH] win + steamvr and quest working, wivrn still broken --- src/lib.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 3b6b4fe..f5675b7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -31,7 +31,7 @@ use input::XrInput; use openxr as xr; // use passthrough::{start_passthrough, supports_passthrough, XrPassthroughLayer}; use resources::*; -use xr::FormFactor; +use xr::{FormFactor, FrameState}; use xr_init::{ xr_only, xr_render_only, CleanupXrData, XrEarlyInitPlugin, XrShouldRender, XrStatus, }; @@ -119,9 +119,7 @@ impl Plugin for OpenXrPlugin { PreUpdate, ( xr_reset_should_render, - apply_deferred, xr_wait_frame.run_if(xr_only()), - apply_deferred, locate_views.run_if(xr_only()), apply_deferred, ) @@ -146,7 +144,7 @@ impl Plugin for OpenXrPlugin { // right before rendering .before(render_system) .after(RenderSet::ExtractCommands), - // .in_set(RenderSet::Prepare), + // .in_set(RenderSet::Prepare), ); // render_app.add_systems( // Render, @@ -284,6 +282,13 @@ pub fn xr_wait_frame( return; } }; + #[allow(clippy::erasing_op)] + { + frame_state.predicted_display_time = xr::Time::from_nanos( + frame_state.predicted_display_time.as_nanos() + + (frame_state.predicted_display_period.as_nanos() * 1), + ); + }; info!("Post Frame Wait"); **should_render = frame_state.should_render; }