Merge pull request #170 from pdiaz/main

Ensure that it also works using Meta XR Simulator in macOS
This commit is contained in:
Schmarni
2025-01-15 02:25:13 +01:00
committed by GitHub
2 changed files with 13 additions and 9 deletions

View File

@@ -40,18 +40,17 @@ impl Plugin for OxrPassthroughPlugin {
pub fn insert_passthrough(world: &mut World) {
let session = world.resource::<OxrSession>();
let (passthrough, passthrough_layer) = create_passthrough(
if let Ok((passthrough, passthrough_layer)) = create_passthrough(
session,
openxr::PassthroughFlagsFB::IS_RUNNING_AT_CREATION,
openxr::PassthroughLayerPurposeFB::RECONSTRUCTION,
)
.unwrap();
) {
world
.resource_mut::<OxrRenderLayers>()
.insert(0, Box::new(PassthroughLayer));
world.insert_resource(passthrough);
world.insert_resource(passthrough_layer);
}
}
pub fn resume_passthrough(

View File

@@ -115,10 +115,15 @@ unsafe impl GraphicsExt for openxr::Vulkan {
<Vulkan as Api>::Instance::desired_extensions(&vk_entry, VK_TARGET_VERSION_ASH, flags)?;
let device_extensions = [
ash::khr::swapchain::NAME,
#[cfg(target_os = "android")]
ash::khr::draw_indirect_count::NAME,
ash::khr::timeline_semaphore::NAME,
ash::khr::imageless_framebuffer::NAME,
ash::khr::image_format_list::NAME,
#[cfg(target_os = "macos")]
ash::khr::portability_subset::NAME,
#[cfg(target_os = "macos")]
ash::ext::metal_objects::NAME,
];
let vk_instance = unsafe {