stuff
This commit is contained in:
@@ -4,10 +4,10 @@ use std::sync::Mutex;
|
||||
|
||||
use crate::input::XrInput;
|
||||
// use crate::passthrough::XrPassthroughLayer;
|
||||
use crate::resource_macros::*;
|
||||
use crate::xr_init::XrStatus;
|
||||
use crate::{resource_macros::*, xr_resource_wrapper_no_extract};
|
||||
use bevy::prelude::*;
|
||||
use bevy::render::extract_resource::ExtractResourcePlugin;
|
||||
use bevy::render::extract_resource::{ExtractResource, ExtractResourcePlugin};
|
||||
use openxr as xr;
|
||||
|
||||
xr_resource_wrapper!(XrInstance, xr::Instance);
|
||||
@@ -15,12 +15,24 @@ xr_resource_wrapper!(XrSession, xr::Session<xr::AnyGraphics>);
|
||||
xr_resource_wrapper!(XrEnvironmentBlendMode, xr::EnvironmentBlendMode);
|
||||
xr_resource_wrapper!(XrResolution, UVec2);
|
||||
xr_resource_wrapper!(XrFormat, wgpu::TextureFormat);
|
||||
xr_resource_wrapper!(XrFrameState, xr::FrameState);
|
||||
xr_resource_wrapper_no_extract!(XrFrameState, xr::FrameState);
|
||||
xr_resource_wrapper!(XrViews, Vec<xr::View>);
|
||||
xr_arc_resource_wrapper!(XrSessionRunning, AtomicBool);
|
||||
xr_arc_resource_wrapper!(XrSwapchain, Swapchain);
|
||||
xr_no_clone_resource_wrapper!(XrFrameWaiter, xr::FrameWaiter);
|
||||
|
||||
impl ExtractResource for XrFrameState {
|
||||
type Source = Self;
|
||||
|
||||
fn extract_resource(source: &Self::Source) -> Self {
|
||||
let mut state = *source;
|
||||
state.predicted_display_time = xr::Time::from_nanos(
|
||||
state.predicted_display_time.as_nanos() + state.predicted_display_period.as_nanos(),
|
||||
);
|
||||
state
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct VulkanOXrSessionSetupInfo {
|
||||
pub(crate) device_ptr: *const c_void,
|
||||
pub(crate) physical_device_ptr: *const c_void,
|
||||
|
||||
Reference in New Issue
Block a user