From 59e83a5c14a2e1644d3e4c7e9f8e90cb6e8f39db Mon Sep 17 00:00:00 2001 From: David Snopek Date: Tue, 2 Dec 2025 10:04:15 -0600 Subject: [PATCH] OpenXR: Fix building with `vulkan=no` --- modules/openxr/extensions/openxr_fb_foveation_extension.cpp | 4 ++++ modules/openxr/extensions/openxr_fb_foveation_extension.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/modules/openxr/extensions/openxr_fb_foveation_extension.cpp b/modules/openxr/extensions/openxr_fb_foveation_extension.cpp index 6054975f6a1..25a1498e4e6 100644 --- a/modules/openxr/extensions/openxr_fb_foveation_extension.cpp +++ b/modules/openxr/extensions/openxr_fb_foveation_extension.cpp @@ -63,10 +63,12 @@ OpenXRFBFoveationExtension::OpenXRFBFoveationExtension(const String &p_rendering meta_foveation_eye_tracked_properties.next = nullptr; meta_foveation_eye_tracked_properties.supportsFoveationEyeTracked = XR_FALSE; +#ifdef VULKAN_ENABLED meta_vulkan_swapchain_create_info.type = XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META; meta_vulkan_swapchain_create_info.next = nullptr; meta_vulkan_swapchain_create_info.additionalCreateFlags = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM; meta_vulkan_swapchain_create_info.additionalUsageFlags = 0; +#endif if (rendering_driver == "opengl3") { swapchain_create_info_foveation_fb.flags = XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB; @@ -144,10 +146,12 @@ void *OpenXRFBFoveationExtension::set_swapchain_create_info_and_get_next_pointer swapchain_create_info_foveation_fb.next = next; next = &swapchain_create_info_foveation_fb; +#ifdef VULKAN_ENABLED if (meta_foveation_eye_tracked_ext && meta_vulkan_swapchain_create_info_ext && meta_foveation_eye_tracked_properties.supportsFoveationEyeTracked) { meta_vulkan_swapchain_create_info.next = next; next = &meta_vulkan_swapchain_create_info; } +#endif } return next; diff --git a/modules/openxr/extensions/openxr_fb_foveation_extension.h b/modules/openxr/extensions/openxr_fb_foveation_extension.h index daf18901be1..3ccd01b8ef6 100644 --- a/modules/openxr/extensions/openxr_fb_foveation_extension.h +++ b/modules/openxr/extensions/openxr_fb_foveation_extension.h @@ -107,7 +107,9 @@ private: // Enable eye tracked foveation XrSystemFoveationEyeTrackedPropertiesMETA meta_foveation_eye_tracked_properties; XrFoveationEyeTrackedProfileCreateInfoMETA meta_foveation_eye_tracked_create_info; +#ifdef VULKAN_ENABLED XrVulkanSwapchainCreateInfoMETA meta_vulkan_swapchain_create_info; +#endif // OpenXR API call wrappers EXT_PROTO_XRRESULT_FUNC3(xrCreateFoveationProfileFB, (XrSession), session, (const XrFoveationProfileCreateInfoFB *), create_info, (XrFoveationProfileFB *), profile);