diff --git a/Cargo.lock b/Cargo.lock index a016d2c..9c112e0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1194,7 +1194,7 @@ dependencies = [ "ash", "bevy 0.14.0-rc.3", "color-eyre", - "d3d12 0.19.0", + "d3d12 0.20.0", "eyre", "futures-lite", "jni 0.20.0", diff --git a/Cargo.toml b/Cargo.toml index 41423fd..c105769 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,7 +43,7 @@ wgpu-hal = "0.21" [target.'cfg(windows)'.dependencies] openxr = { workspace = true, features = [ "linked", "static", "mint" ] } winapi = { version = "0.3.9", optional = true } -d3d12 = { version = "0.19", features = ["libloading"], optional = true } +d3d12 = { version = "0.20", features = ["libloading"], optional = true } [target.'cfg(all(target_family = "unix", not(target_arch = "wasm32")) )'.dependencies] openxr = { workspace = true, features = [ "mint" ] } diff --git a/examples/globe.rs b/examples/globe.rs index c07229b..e57e361 100644 --- a/examples/globe.rs +++ b/examples/globe.rs @@ -3,6 +3,7 @@ use bevy::prelude::*; use bevy::render::render_asset::RenderAssetUsages; use bevy::transform::components::Transform; use bevy_oxr::graphics::XrAppInfo; +use bevy_oxr::prelude::XrSystems; use bevy_oxr::resources::XrViews; use bevy_oxr::xr_input::hands::common::HandInputDebugRenderer; use bevy_oxr::xr_input::interactions::{ @@ -29,7 +30,7 @@ fn main() { }) .add_plugins(LogDiagnosticsPlugin::default()) .add_systems(Startup, setup) - .add_systems(Update, (proto_locomotion, pull_to_ground).chain()) + .add_systems(Update, (proto_locomotion, pull_to_ground).chain().xr_only()) .insert_resource(PrototypeLocomotionConfig::default()) .add_systems(Startup, spawn_controllers_example) .add_plugins(HandInputDebugRenderer) diff --git a/src/graphics/d3d12.rs b/src/graphics/d3d12.rs index af7643e..517660e 100644 --- a/src/graphics/d3d12.rs +++ b/src/graphics/d3d12.rs @@ -4,7 +4,7 @@ use std::sync::{Arc, Mutex}; // use anyhow::Context; use bevy::math::uvec2; use bevy::prelude::*; -use bevy::render::renderer::{RenderAdapter, RenderAdapterInfo, RenderDevice, RenderQueue}; +use bevy::render::renderer::{RenderAdapter, RenderAdapterInfo, RenderDevice, RenderQueue, WgpuWrapper}; use bevy::window::RawHandleWrapper; use eyre::{Context, ContextCompat}; use openxr as xr; @@ -203,9 +203,9 @@ pub fn initialize_xr_instance( }), blend_mode.into(), wgpu_device.into(), - RenderQueue(wgpu_queue.into()), - RenderAdapterInfo(wgpu_adapter.get_info()), - RenderAdapter(wgpu_adapter.into()), + RenderQueue(Arc::new(WgpuWrapper::new(wgpu_queue))), + RenderAdapterInfo(WgpuWrapper::new(wgpu_adapter.get_info())), + RenderAdapter(Arc::new(WgpuWrapper::new(wgpu_adapter))), wgpu_instance.into(), )) }