From 9cf5ff5cec3100e1e5bc93c1baec6d7332c727a6 Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Tue, 3 Aug 2021 19:53:18 +0300 Subject: [PATCH] wineopenxr: Update to 1.0.18 registry version. --- wineopenxr/make_openxr | 8 + wineopenxr/openxr.c | 127 ++++ wineopenxr/openxr_private.h | 10 + wineopenxr/openxr_thunks.c | 41 ++ wineopenxr/openxr_thunks.h | 23 + wineopenxr/wineopenxr.h | 1327 ++++++++++++++++++++--------------- wineopenxr/xr.xml | 472 ++++++++++++- 7 files changed, 1396 insertions(+), 612 deletions(-) diff --git a/wineopenxr/make_openxr b/wineopenxr/make_openxr index 6f73ce1a..86b1da92 100755 --- a/wineopenxr/make_openxr +++ b/wineopenxr/make_openxr @@ -183,6 +183,12 @@ FUNCTION_OVERRIDES = { "xrDestroySceneObserverMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, "xrCreateSceneMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, "xrDestroySceneMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, + + "xrCreateSpatialAnchorFromPersistedNameMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, + "xrCreateSpatialAnchorStoreConnectionMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, + "xrDestroySpatialAnchorStoreConnectionMSFT" : {"dispatch" : True, "driver" : True, "thunk" : False}, + "xrCreateFoveationProfileFB" : {"dispatch" : True, "driver" : True, "thunk" : False}, + "xrDestroyFoveationProfileFB" : {"dispatch" : True, "driver" : True, "thunk" : False}, } STRUCT_CHAIN_CONVERSIONS = [ @@ -892,6 +898,8 @@ class XrHandle(object): native_handle_name = "scene_observer_msft" if self.name == "XrSceneMSFT": native_handle_name = "scene_msft" + if self.name == "XrSpatialAnchorStoreConnectionMSFT": + native_handle_name = "spatial_anchor_store_connection" if native_handle_name: return "((wine_{0} *){1})->{2}".format(self.name, name, native_handle_name) diff --git a/wineopenxr/openxr.c b/wineopenxr/openxr.c index 172b08d9..ea4a6dda 100644 --- a/wineopenxr/openxr.c +++ b/wineopenxr/openxr.c @@ -1045,6 +1045,36 @@ XrResult WINAPI wine_xrCreateSpatialAnchorMSFT(XrSession session, return XR_SUCCESS; } +XrResult WINAPI wine_xrCreateSpatialAnchorFromPersistedNameMSFT(XrSession session, + const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *create_info, + XrSpatialAnchorMSFT *anchor) +{ + wine_XrSession *wine_session = (wine_XrSession *)session; + wine_XrSpatialAnchorMSFT *wine_anchor; + XrResult res; + + WINE_TRACE("%p, %p, %p\n", session, create_info, anchor); + + wine_anchor = heap_alloc_zero(sizeof(*wine_anchor)); + + res = wine_session->wine_instance->funcs.p_xrCreateSpatialAnchorFromPersistedNameMSFT(wine_session->session, + create_info, &wine_anchor->spatial_anchor); + if(res != XR_SUCCESS){ + WINE_WARN("xrCreateSpatialAnchorFromPersistedNameMSFT failed: %d\n", res); + heap_free(wine_anchor); + return res; + } + + wine_anchor->wine_session = wine_session; + + *anchor = (XrSpatialAnchorMSFT)wine_anchor; + + WINE_TRACE("allocated wine spatialAnchor %p for native spatialAnchor %p\n", + wine_anchor, wine_anchor->spatial_anchor); + + return XR_SUCCESS; +} + XrResult WINAPI wine_xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor) { wine_XrSpatialAnchorMSFT *wine_anchor = (wine_XrSpatialAnchorMSFT *)anchor; @@ -1063,6 +1093,55 @@ XrResult WINAPI wine_xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor) return XR_SUCCESS; } +XrResult WINAPI wine_xrCreateSpatialAnchorStoreConnectionMSFT(XrSession session, XrSpatialAnchorStoreConnectionMSFT *anchor_store) +{ + wine_XrSpatialAnchorStoreConnectionMSFT *wine_anchor_store; + wine_XrSession *wine_session = (wine_XrSession *)session; + XrResult res; + + WINE_TRACE("%p, %p\n", session, anchor_store); + + wine_anchor_store = heap_alloc_zero(sizeof(*wine_anchor_store)); + + res = wine_session->wine_instance->funcs.p_xrCreateSpatialAnchorStoreConnectionMSFT(wine_session->session, + &wine_anchor_store->spatial_anchor_store_connection); + + if(res != XR_SUCCESS){ + WINE_WARN("xrCreateSpatialAnchorStoreConnectionMSFT failed: %d\n", res); + heap_free(wine_anchor_store); + return res; + } + + wine_anchor_store->wine_session = wine_session; + + *anchor_store = (XrSpatialAnchorStoreConnectionMSFT)wine_anchor_store; + + WINE_TRACE("allocated wine_anchor_store %p for native spatial_anchor_store_connection %p\n", + wine_anchor_store, wine_anchor_store->spatial_anchor_store_connection); + + return XR_SUCCESS; +} + +XrResult WINAPI wine_xrDestroySpatialAnchorStoreConnectionMSFT(XrSpatialAnchorStoreConnectionMSFT anchor_store) +{ + wine_XrSpatialAnchorStoreConnectionMSFT *wine_anchor_store + = (wine_XrSpatialAnchorStoreConnectionMSFT *)anchor_store; + XrResult res; + + WINE_TRACE("%p\n", anchor_store); + + res = wine_anchor_store->wine_session->wine_instance->funcs.p_xrDestroySpatialAnchorStoreConnectionMSFT + (wine_anchor_store->spatial_anchor_store_connection); + if(res != XR_SUCCESS){ + WINE_WARN("xrDestroySpatialAnchorStoreConnectionMSFT failed: %d\n", res); + return res; + } + + heap_free(wine_anchor_store); + + return XR_SUCCESS; +} + XrResult WINAPI wine_xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *observer) { @@ -1157,6 +1236,54 @@ XrResult WINAPI wine_xrDestroySceneMSFT(XrSceneMSFT scene) return XR_SUCCESS; } +XrResult WINAPI wine_xrCreateFoveationProfileFB(XrSession session, const XrFoveationProfileCreateInfoFB *create_info, + XrFoveationProfileFB *profile) +{ + wine_XrSession *wine_session = (wine_XrSession *)session; + wine_XrFoveationProfileFB *wine_foveation_profile; + XrResult res; + + WINE_TRACE("%p, %p\n", session, profile); + + wine_foveation_profile = heap_alloc_zero(sizeof(*wine_foveation_profile)); + + res = wine_session->wine_instance->funcs.p_xrCreateFoveationProfileFB(wine_session->session, create_info, + &wine_foveation_profile->foveation_profile); + + if(res != XR_SUCCESS){ + WINE_WARN("xrCreateSpatialAnchorStoreConnectionMSFT failed: %d\n", res); + heap_free(wine_foveation_profile); + return res; + } + + wine_foveation_profile->wine_session = wine_session; + + *profile = (XrFoveationProfileFB)wine_foveation_profile; + + WINE_TRACE("allocated wine_foveation_profile %p for native foveation_profile %p.\n", + wine_foveation_profile, wine_foveation_profile->foveation_profile); + + return XR_SUCCESS; +} + +XrResult WINAPI wine_xrDestroyFoveationProfileFB(XrFoveationProfileFB profile) +{ + wine_XrFoveationProfileFB *wine_profile = (wine_XrFoveationProfileFB *)profile; + XrResult res; + + WINE_TRACE("%p\n", profile); + + res = wine_profile->wine_session->wine_instance->funcs.p_xrDestroyFoveationProfileFB(wine_profile->foveation_profile); + if(res != XR_SUCCESS){ + WINE_WARN("rDestroyFoveationProfileFB failed: %d\n", res); + return res; + } + + heap_free(wine_profile); + + return XR_SUCCESS; +} + XrResult WINAPI wine_xrNegotiateLoaderRuntimeInterface( const XrNegotiateLoaderInfo_win *loaderInfo, XrNegotiateRuntimeRequest_win *runtimeRequest) diff --git a/wineopenxr/openxr_private.h b/wineopenxr/openxr_private.h index 4a0c0f42..bdb2f232 100644 --- a/wineopenxr/openxr_private.h +++ b/wineopenxr/openxr_private.h @@ -50,6 +50,11 @@ typedef struct wine_XrSpatialAnchorMSFT { struct wine_XrSession *wine_session; } wine_XrSpatialAnchorMSFT; +typedef struct XrSpatialAnchorStoreConnectionMSFT { + XrSpatialAnchorStoreConnectionMSFT spatial_anchor_store_connection; + struct wine_XrSession *wine_session; +} wine_XrSpatialAnchorStoreConnectionMSFT; + typedef struct wine_XrSceneObserverMSFT { XrSceneObserverMSFT scene_observer_msft; struct wine_XrSession *wine_session; @@ -60,6 +65,11 @@ typedef struct wine_XrSceneMSFT { struct wine_XrSceneObserverMSFT *wine_scene_observer_msft; } wine_XrSceneMSFT; +typedef struct wine_XrFoveationProfileFB { + XrFoveationProfileFB foveation_profile; + struct wine_XrSession *wine_session; +} wine_XrFoveationProfileFB; + typedef struct wine_XrSwapchain{ XrSwapchain swapchain; struct wine_XrSession *wine_session; diff --git a/wineopenxr/openxr_thunks.c b/wineopenxr/openxr_thunks.c index 86d59f95..1c6506fe 100644 --- a/wineopenxr/openxr_thunks.c +++ b/wineopenxr/openxr_thunks.c @@ -107,6 +107,12 @@ XrResult WINAPI wine_xrBeginSession(XrSession session, const XrSessionBeginInfo return xrBeginSession(((wine_XrSession *)session)->session, beginInfo); } +static XrResult WINAPI wine_xrClearSpatialAnchorStoreMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore) +{ + WINE_TRACE("%p\n", spatialAnchorStore); + return ((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->wine_session->wine_instance->funcs.p_xrClearSpatialAnchorStoreMSFT(((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->spatial_anchor_store_connection); +} + static XrResult WINAPI wine_xrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT *computeInfo) { WINE_TRACE("%p, %p\n", sceneObserver, computeInfo); @@ -215,6 +221,12 @@ XrResult WINAPI wine_xrEnumerateEnvironmentBlendModes(XrInstance instance, XrSys return xrEnumerateEnvironmentBlendModes(((wine_XrInstance *)instance)->instance, systemId, viewConfigurationType, environmentBlendModeCapacityInput, environmentBlendModeCountOutput, environmentBlendModes); } +static XrResult WINAPI wine_xrEnumeratePersistedSpatialAnchorNamesMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNamesCapacityInput, uint32_t *spatialAnchorNamesCountOutput, XrSpatialAnchorPersistenceNameMSFT *persistedAnchorNames) +{ + WINE_TRACE("%p, %u, %p, %p\n", spatialAnchorStore, spatialAnchorNamesCapacityInput, spatialAnchorNamesCountOutput, persistedAnchorNames); + return ((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->wine_session->wine_instance->funcs.p_xrEnumeratePersistedSpatialAnchorNamesMSFT(((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->spatial_anchor_store_connection, spatialAnchorNamesCapacityInput, spatialAnchorNamesCountOutput, persistedAnchorNames); +} + XrResult WINAPI wine_xrEnumerateReferenceSpaces(XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces) { WINE_TRACE("%p, %u, %p, %p\n", session, spaceCapacityInput, spaceCountOutput, spaces); @@ -448,6 +460,12 @@ static XrResult WINAPI wine_xrPerfSettingsSetPerformanceLevelEXT(XrSession sessi return ((wine_XrSession *)session)->wine_instance->funcs.p_xrPerfSettingsSetPerformanceLevelEXT(((wine_XrSession *)session)->session, domain, level); } +static XrResult WINAPI wine_xrPersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceInfoMSFT *spatialAnchorPersistenceInfo) +{ + WINE_TRACE("%p, %p\n", spatialAnchorStore, spatialAnchorPersistenceInfo); + return ((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->wine_session->wine_instance->funcs.p_xrPersistSpatialAnchorMSFT(((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->spatial_anchor_store_connection, spatialAnchorPersistenceInfo); +} + XrResult WINAPI wine_xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *releaseInfo) { WINE_TRACE("%p, %p\n", swapchain, releaseInfo); @@ -550,6 +568,12 @@ static XrResult WINAPI wine_xrThermalGetTemperatureTrendEXT(XrSession session, X return ((wine_XrSession *)session)->wine_instance->funcs.p_xrThermalGetTemperatureTrendEXT(((wine_XrSession *)session)->session, domain, notificationLevel, tempHeadroom, tempSlope); } +static XrResult WINAPI wine_xrUnpersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceNameMSFT *spatialAnchorPersistenceName) +{ + WINE_TRACE("%p, %p\n", spatialAnchorStore, spatialAnchorPersistenceName); + return ((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->wine_session->wine_instance->funcs.p_xrUnpersistSpatialAnchorMSFT(((wine_XrSpatialAnchorStoreConnectionMSFT *)spatialAnchorStore)->spatial_anchor_store_connection, spatialAnchorPersistenceName); +} + static XrResult WINAPI wine_xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT *updateInfo, XrHandMeshMSFT *handMesh) { WINE_TRACE("%p, %p, %p\n", handTracker, updateInfo, handMesh); @@ -581,12 +605,14 @@ static const struct openxr_func xr_dispatch_table[] = {"xrAttachSessionActionSets", &wine_xrAttachSessionActionSets}, {"xrBeginFrame", &wine_xrBeginFrame}, {"xrBeginSession", &wine_xrBeginSession}, + {"xrClearSpatialAnchorStoreMSFT", &wine_xrClearSpatialAnchorStoreMSFT}, {"xrComputeNewSceneMSFT", &wine_xrComputeNewSceneMSFT}, {"xrConvertTimeToWin32PerformanceCounterKHR", &wine_xrConvertTimeToWin32PerformanceCounterKHR}, {"xrConvertWin32PerformanceCounterToTimeKHR", &wine_xrConvertWin32PerformanceCounterToTimeKHR}, {"xrCreateAction", &wine_xrCreateAction}, {"xrCreateActionSet", &wine_xrCreateActionSet}, {"xrCreateActionSpace", &wine_xrCreateActionSpace}, + {"xrCreateFoveationProfileFB", &wine_xrCreateFoveationProfileFB}, {"xrCreateHandMeshSpaceMSFT", &wine_xrCreateHandMeshSpaceMSFT}, {"xrCreateHandTrackerEXT", &wine_xrCreateHandTrackerEXT}, {"xrCreateInstance", &wine_xrCreateInstance}, @@ -594,8 +620,10 @@ static const struct openxr_func xr_dispatch_table[] = {"xrCreateSceneMSFT", &wine_xrCreateSceneMSFT}, {"xrCreateSceneObserverMSFT", &wine_xrCreateSceneObserverMSFT}, {"xrCreateSession", &wine_xrCreateSession}, + {"xrCreateSpatialAnchorFromPersistedNameMSFT", &wine_xrCreateSpatialAnchorFromPersistedNameMSFT}, {"xrCreateSpatialAnchorMSFT", &wine_xrCreateSpatialAnchorMSFT}, {"xrCreateSpatialAnchorSpaceMSFT", &wine_xrCreateSpatialAnchorSpaceMSFT}, + {"xrCreateSpatialAnchorStoreConnectionMSFT", &wine_xrCreateSpatialAnchorStoreConnectionMSFT}, {"xrCreateSpatialGraphNodeSpaceMSFT", &wine_xrCreateSpatialGraphNodeSpaceMSFT}, {"xrCreateSwapchain", &wine_xrCreateSwapchain}, {"xrCreateVulkanDeviceKHR", &wine_xrCreateVulkanDeviceKHR}, @@ -603,6 +631,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrDeserializeSceneMSFT", &wine_xrDeserializeSceneMSFT}, {"xrDestroyAction", &wine_xrDestroyAction}, {"xrDestroyActionSet", &wine_xrDestroyActionSet}, + {"xrDestroyFoveationProfileFB", &wine_xrDestroyFoveationProfileFB}, {"xrDestroyHandTrackerEXT", &wine_xrDestroyHandTrackerEXT}, {"xrDestroyInstance", &wine_xrDestroyInstance}, {"xrDestroySceneMSFT", &wine_xrDestroySceneMSFT}, @@ -610,6 +639,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrDestroySession", &wine_xrDestroySession}, {"xrDestroySpace", &wine_xrDestroySpace}, {"xrDestroySpatialAnchorMSFT", &wine_xrDestroySpatialAnchorMSFT}, + {"xrDestroySpatialAnchorStoreConnectionMSFT", &wine_xrDestroySpatialAnchorStoreConnectionMSFT}, {"xrDestroySwapchain", &wine_xrDestroySwapchain}, {"xrEndFrame", &wine_xrEndFrame}, {"xrEndSession", &wine_xrEndSession}, @@ -619,6 +649,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrEnumerateDisplayRefreshRatesFB", &wine_xrEnumerateDisplayRefreshRatesFB}, {"xrEnumerateEnvironmentBlendModes", &wine_xrEnumerateEnvironmentBlendModes}, {"xrEnumerateInstanceExtensionProperties", &wine_xrEnumerateInstanceExtensionProperties}, + {"xrEnumeratePersistedSpatialAnchorNamesMSFT", &wine_xrEnumeratePersistedSpatialAnchorNamesMSFT}, {"xrEnumerateReferenceSpaces", &wine_xrEnumerateReferenceSpaces}, {"xrEnumerateReprojectionModesMSFT", &wine_xrEnumerateReprojectionModesMSFT}, {"xrEnumerateSceneComputeFeaturesMSFT", &wine_xrEnumerateSceneComputeFeaturesMSFT}, @@ -666,6 +697,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrLocateViews", &wine_xrLocateViews}, {"xrPathToString", &wine_xrPathToString}, {"xrPerfSettingsSetPerformanceLevelEXT", &wine_xrPerfSettingsSetPerformanceLevelEXT}, + {"xrPersistSpatialAnchorMSFT", &wine_xrPersistSpatialAnchorMSFT}, {"xrPollEvent", &wine_xrPollEvent}, {"xrReleaseSwapchainImage", &wine_xrReleaseSwapchainImage}, {"xrRequestDisplayRefreshRateFB", &wine_xrRequestDisplayRefreshRateFB}, @@ -684,6 +716,7 @@ static const struct openxr_func xr_dispatch_table[] = {"xrSuggestInteractionProfileBindings", &wine_xrSuggestInteractionProfileBindings}, {"xrSyncActions", &wine_xrSyncActions}, {"xrThermalGetTemperatureTrendEXT", &wine_xrThermalGetTemperatureTrendEXT}, + {"xrUnpersistSpatialAnchorMSFT", &wine_xrUnpersistSpatialAnchorMSFT}, {"xrUpdateHandMeshMSFT", &wine_xrUpdateHandMeshMSFT}, {"xrUpdateSwapchainFB", &wine_xrUpdateSwapchainFB}, {"xrWaitFrame", &wine_xrWaitFrame}, @@ -719,7 +752,13 @@ static const char * const xr_extensions[] = "XR_EXT_view_configuration_depth_range", "XR_EXT_win32_appcontainer_compatible", "XR_FB_color_space", + "XR_FB_composition_layer_alpha_blend", + "XR_FB_composition_layer_image_layout", + "XR_FB_composition_layer_secure_content", "XR_FB_display_refresh_rate", + "XR_FB_foveation", + "XR_FB_foveation_configuration", + "XR_FB_foveation_vulkan", "XR_FB_swapchain_update_state", "XR_FB_swapchain_update_state_vulkan", "XR_HTC_vive_cosmos_controller_interaction", @@ -734,6 +773,7 @@ static const char * const xr_extensions[] = "XR_KHR_composition_layer_equirect", "XR_KHR_composition_layer_equirect2", "XR_KHR_opengl_enable", + "XR_KHR_swapchain_usage_input_attachment_bit", "XR_KHR_visibility_mask", "XR_KHR_vulkan_enable", "XR_KHR_vulkan_enable2", @@ -751,6 +791,7 @@ static const char * const xr_extensions[] = "XR_MSFT_scene_understanding_serialization", "XR_MSFT_secondary_view_configuration", "XR_MSFT_spatial_anchor", + "XR_MSFT_spatial_anchor_persistence", "XR_MSFT_spatial_graph_bridge", "XR_MSFT_unbounded_reference_space", "XR_OCULUS_android_session_state_enable", diff --git a/wineopenxr/openxr_thunks.h b/wineopenxr/openxr_thunks.h index 30de03fb..eebcce96 100644 --- a/wineopenxr/openxr_thunks.h +++ b/wineopenxr/openxr_thunks.h @@ -27,21 +27,26 @@ /* Functions for which we have custom implementations outside of the thunks. */ XrResult WINAPI wine_xrConvertTimeToWin32PerformanceCounterKHR(XrInstance instance, XrTime time, LARGE_INTEGER *performanceCounter) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrConvertWin32PerformanceCounterToTimeKHR(XrInstance instance, const LARGE_INTEGER *performanceCounter, XrTime *time) DECLSPEC_HIDDEN; +XrResult WINAPI wine_xrCreateFoveationProfileFB(XrSession session, const XrFoveationProfileCreateInfoFB *createInfo, XrFoveationProfileFB *profile) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateHandTrackerEXT(XrSession session, const XrHandTrackerCreateInfoEXT *createInfo, XrHandTrackerEXT *handTracker) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateInstance(const XrInstanceCreateInfo *createInfo, XrInstance *instance); XrResult WINAPI wine_xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *sceneObserver) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateSession(XrInstance instance, const XrSessionCreateInfo *createInfo, XrSession *session); +XrResult WINAPI wine_xrCreateSpatialAnchorFromPersistedNameMSFT(XrSession session, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *spatialAnchorCreateInfo, XrSpatialAnchorMSFT *spatialAnchor) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateSpatialAnchorMSFT(XrSession session, const XrSpatialAnchorCreateInfoMSFT *createInfo, XrSpatialAnchorMSFT *anchor) DECLSPEC_HIDDEN; +XrResult WINAPI wine_xrCreateSpatialAnchorStoreConnectionMSFT(XrSession session, XrSpatialAnchorStoreConnectionMSFT *spatialAnchorStore) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain); XrResult WINAPI wine_xrCreateVulkanDeviceKHR(XrInstance instance, const XrVulkanDeviceCreateInfoKHR *createInfo, VkDevice *vulkanDevice, VkResult *vulkanResult) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrCreateVulkanInstanceKHR(XrInstance instance, const XrVulkanInstanceCreateInfoKHR *createInfo, VkInstance *vulkanInstance, VkResult *vulkanResult) DECLSPEC_HIDDEN; +XrResult WINAPI wine_xrDestroyFoveationProfileFB(XrFoveationProfileFB profile) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrDestroyHandTrackerEXT(XrHandTrackerEXT handTracker) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrDestroyInstance(XrInstance instance); XrResult WINAPI wine_xrDestroySceneMSFT(XrSceneMSFT scene) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrDestroySession(XrSession session); XrResult WINAPI wine_xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor) DECLSPEC_HIDDEN; +XrResult WINAPI wine_xrDestroySpatialAnchorStoreConnectionMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore) DECLSPEC_HIDDEN; XrResult WINAPI wine_xrDestroySwapchain(XrSwapchain swapchain); XrResult WINAPI wine_xrEndFrame(XrSession session, const XrFrameEndInfo *frameEndInfo); XrResult WINAPI wine_xrEnumerateInstanceExtensionProperties(const char *layerName, uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrExtensionProperties *properties); @@ -79,18 +84,22 @@ struct openxr_instance_funcs XrResult (*p_xrAttachSessionActionSets)(XrSession, const XrSessionActionSetsAttachInfo *); XrResult (*p_xrBeginFrame)(XrSession, const XrFrameBeginInfo *); XrResult (*p_xrBeginSession)(XrSession, const XrSessionBeginInfo *); + XrResult (*p_xrClearSpatialAnchorStoreMSFT)(XrSpatialAnchorStoreConnectionMSFT); XrResult (*p_xrComputeNewSceneMSFT)(XrSceneObserverMSFT, const XrNewSceneComputeInfoMSFT *); XrResult (*p_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *); XrResult (*p_xrCreateActionSet)(XrInstance, const XrActionSetCreateInfo *, XrActionSet *); XrResult (*p_xrCreateActionSpace)(XrSession, const XrActionSpaceCreateInfo *, XrSpace *); + XrResult (*p_xrCreateFoveationProfileFB)(XrSession, const XrFoveationProfileCreateInfoFB *, XrFoveationProfileFB *); XrResult (*p_xrCreateHandMeshSpaceMSFT)(XrHandTrackerEXT, const XrHandMeshSpaceCreateInfoMSFT *, XrSpace *); XrResult (*p_xrCreateHandTrackerEXT)(XrSession, const XrHandTrackerCreateInfoEXT *, XrHandTrackerEXT *); XrResult (*p_xrCreateReferenceSpace)(XrSession, const XrReferenceSpaceCreateInfo *, XrSpace *); XrResult (*p_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *); XrResult (*p_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *); XrResult (*p_xrCreateSession)(XrInstance, const XrSessionCreateInfo *, XrSession *); + XrResult (*p_xrCreateSpatialAnchorFromPersistedNameMSFT)(XrSession, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); XrResult (*p_xrCreateSpatialAnchorMSFT)(XrSession, const XrSpatialAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); XrResult (*p_xrCreateSpatialAnchorSpaceMSFT)(XrSession, const XrSpatialAnchorSpaceCreateInfoMSFT *, XrSpace *); + XrResult (*p_xrCreateSpatialAnchorStoreConnectionMSFT)(XrSession, XrSpatialAnchorStoreConnectionMSFT *); XrResult (*p_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession, const XrSpatialGraphNodeSpaceCreateInfoMSFT *, XrSpace *); XrResult (*p_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *); XrResult (*p_xrCreateVulkanDeviceKHR)(XrInstance, const XrVulkanDeviceCreateInfoKHR *, VkDevice *, VkResult *); @@ -98,12 +107,14 @@ struct openxr_instance_funcs XrResult (*p_xrDeserializeSceneMSFT)(XrSceneObserverMSFT, const XrSceneDeserializeInfoMSFT *); XrResult (*p_xrDestroyAction)(XrAction); XrResult (*p_xrDestroyActionSet)(XrActionSet); + XrResult (*p_xrDestroyFoveationProfileFB)(XrFoveationProfileFB); XrResult (*p_xrDestroyHandTrackerEXT)(XrHandTrackerEXT); XrResult (*p_xrDestroySceneMSFT)(XrSceneMSFT); XrResult (*p_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT); XrResult (*p_xrDestroySession)(XrSession); XrResult (*p_xrDestroySpace)(XrSpace); XrResult (*p_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT); + XrResult (*p_xrDestroySpatialAnchorStoreConnectionMSFT)(XrSpatialAnchorStoreConnectionMSFT); XrResult (*p_xrDestroySwapchain)(XrSwapchain); XrResult (*p_xrEndFrame)(XrSession, const XrFrameEndInfo *); XrResult (*p_xrEndSession)(XrSession); @@ -112,6 +123,7 @@ struct openxr_instance_funcs XrResult (*p_xrEnumerateColorSpacesFB)(XrSession, uint32_t, uint32_t *, XrColorSpaceFB *); XrResult (*p_xrEnumerateDisplayRefreshRatesFB)(XrSession, uint32_t, uint32_t *, float *); XrResult (*p_xrEnumerateEnvironmentBlendModes)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrEnvironmentBlendMode *); + XrResult (*p_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT, uint32_t, uint32_t *, XrSpatialAnchorPersistenceNameMSFT *); XrResult (*p_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); XrResult (*p_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *); XrResult (*p_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *); @@ -160,6 +172,7 @@ struct openxr_instance_funcs XrResult (*p_xrLocateViews)(XrSession, const XrViewLocateInfo *, XrViewState *, uint32_t, uint32_t *, XrView *); XrResult (*p_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *); XrResult (*p_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); + XrResult (*p_xrPersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceInfoMSFT *); XrResult (*p_xrPollEvent)(XrInstance, XrEventDataBuffer *); XrResult (*p_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); XrResult (*p_xrRequestDisplayRefreshRateFB)(XrSession, float); @@ -178,6 +191,7 @@ struct openxr_instance_funcs XrResult (*p_xrSuggestInteractionProfileBindings)(XrInstance, const XrInteractionProfileSuggestedBinding *); XrResult (*p_xrSyncActions)(XrSession, const XrActionsSyncInfo *); XrResult (*p_xrThermalGetTemperatureTrendEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsNotificationLevelEXT *, float *, float *); + XrResult (*p_xrUnpersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceNameMSFT *); XrResult (*p_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *); XrResult (*p_xrUpdateSwapchainFB)(XrSwapchain, const XrSwapchainStateBaseHeaderFB *); XrResult (*p_xrWaitFrame)(XrSession, const XrFrameWaitInfo *, XrFrameState *); @@ -190,18 +204,22 @@ struct openxr_instance_funcs USE_XR_FUNC(xrAttachSessionActionSets) \ USE_XR_FUNC(xrBeginFrame) \ USE_XR_FUNC(xrBeginSession) \ + USE_XR_FUNC(xrClearSpatialAnchorStoreMSFT) \ USE_XR_FUNC(xrComputeNewSceneMSFT) \ USE_XR_FUNC(xrCreateAction) \ USE_XR_FUNC(xrCreateActionSet) \ USE_XR_FUNC(xrCreateActionSpace) \ + USE_XR_FUNC(xrCreateFoveationProfileFB) \ USE_XR_FUNC(xrCreateHandMeshSpaceMSFT) \ USE_XR_FUNC(xrCreateHandTrackerEXT) \ USE_XR_FUNC(xrCreateReferenceSpace) \ USE_XR_FUNC(xrCreateSceneMSFT) \ USE_XR_FUNC(xrCreateSceneObserverMSFT) \ USE_XR_FUNC(xrCreateSession) \ + USE_XR_FUNC(xrCreateSpatialAnchorFromPersistedNameMSFT) \ USE_XR_FUNC(xrCreateSpatialAnchorMSFT) \ USE_XR_FUNC(xrCreateSpatialAnchorSpaceMSFT) \ + USE_XR_FUNC(xrCreateSpatialAnchorStoreConnectionMSFT) \ USE_XR_FUNC(xrCreateSpatialGraphNodeSpaceMSFT) \ USE_XR_FUNC(xrCreateSwapchain) \ USE_XR_FUNC(xrCreateVulkanDeviceKHR) \ @@ -209,12 +227,14 @@ struct openxr_instance_funcs USE_XR_FUNC(xrDeserializeSceneMSFT) \ USE_XR_FUNC(xrDestroyAction) \ USE_XR_FUNC(xrDestroyActionSet) \ + USE_XR_FUNC(xrDestroyFoveationProfileFB) \ USE_XR_FUNC(xrDestroyHandTrackerEXT) \ USE_XR_FUNC(xrDestroySceneMSFT) \ USE_XR_FUNC(xrDestroySceneObserverMSFT) \ USE_XR_FUNC(xrDestroySession) \ USE_XR_FUNC(xrDestroySpace) \ USE_XR_FUNC(xrDestroySpatialAnchorMSFT) \ + USE_XR_FUNC(xrDestroySpatialAnchorStoreConnectionMSFT) \ USE_XR_FUNC(xrDestroySwapchain) \ USE_XR_FUNC(xrEndFrame) \ USE_XR_FUNC(xrEndSession) \ @@ -223,6 +243,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrEnumerateColorSpacesFB) \ USE_XR_FUNC(xrEnumerateDisplayRefreshRatesFB) \ USE_XR_FUNC(xrEnumerateEnvironmentBlendModes) \ + USE_XR_FUNC(xrEnumeratePersistedSpatialAnchorNamesMSFT) \ USE_XR_FUNC(xrEnumerateReferenceSpaces) \ USE_XR_FUNC(xrEnumerateReprojectionModesMSFT) \ USE_XR_FUNC(xrEnumerateSceneComputeFeaturesMSFT) \ @@ -267,6 +288,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrLocateViews) \ USE_XR_FUNC(xrPathToString) \ USE_XR_FUNC(xrPerfSettingsSetPerformanceLevelEXT) \ + USE_XR_FUNC(xrPersistSpatialAnchorMSFT) \ USE_XR_FUNC(xrPollEvent) \ USE_XR_FUNC(xrReleaseSwapchainImage) \ USE_XR_FUNC(xrRequestDisplayRefreshRateFB) \ @@ -285,6 +307,7 @@ struct openxr_instance_funcs USE_XR_FUNC(xrSuggestInteractionProfileBindings) \ USE_XR_FUNC(xrSyncActions) \ USE_XR_FUNC(xrThermalGetTemperatureTrendEXT) \ + USE_XR_FUNC(xrUnpersistSpatialAnchorMSFT) \ USE_XR_FUNC(xrUpdateHandMeshMSFT) \ USE_XR_FUNC(xrUpdateSwapchainFB) \ USE_XR_FUNC(xrWaitFrame) \ diff --git a/wineopenxr/wineopenxr.h b/wineopenxr/wineopenxr.h index 8616a187..c49c065c 100644 --- a/wineopenxr/wineopenxr.h +++ b/wineopenxr/wineopenxr.h @@ -97,8 +97,12 @@ #define XR_VARJO_QUAD_VIEWS_EXTENSION_NAME "XR_VARJO_quad_views" #define XR_MSFT_unbounded_reference_space_SPEC_VERSION 1 #define XR_MSFT_UNBOUNDED_REFERENCE_SPACE_EXTENSION_NAME "XR_MSFT_unbounded_reference_space" -#define XR_MSFT_spatial_anchor_SPEC_VERSION 1 +#define XR_MSFT_spatial_anchor_SPEC_VERSION 2 #define XR_MSFT_SPATIAL_ANCHOR_EXTENSION_NAME "XR_MSFT_spatial_anchor" +#define XR_FB_composition_layer_image_layout_SPEC_VERSION 1 +#define XR_FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME "XR_FB_composition_layer_image_layout" +#define XR_FB_composition_layer_alpha_blend_SPEC_VERSION 2 +#define XR_FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME "XR_FB_composition_layer_alpha_blend" #define XR_MND_headless_SPEC_VERSION 2 #define XR_MND_HEADLESS_EXTENSION_NAME "XR_MND_headless" #define XR_OCULUS_android_session_state_enable_SPEC_VERSION 1 @@ -134,6 +138,8 @@ #define XR_HUAWEI_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HUAWEI_controller_interaction" #define XR_FB_swapchain_update_state_SPEC_VERSION 3 #define XR_FB_SWAPCHAIN_UPDATE_STATE_EXTENSION_NAME "XR_FB_swapchain_update_state" +#define XR_FB_composition_layer_secure_content_SPEC_VERSION 1 +#define XR_FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME "XR_FB_composition_layer_secure_content" #define XR_VALVE_analog_threshold_SPEC_VERSION 1 #define XR_VALVE_ANALOG_THRESHOLD_EXTENSION_NAME "XR_VALVE_analog_threshold" #define XR_EXT_hand_joints_motion_range_SPEC_VERSION 1 @@ -158,19 +164,30 @@ #define XR_HTC_VIVE_COSMOS_CONTROLLER_INTERACTION_EXTENSION_NAME "XR_HTC_vive_cosmos_controller_interaction" #define XR_FB_color_space_SPEC_VERSION 1 #define XR_FB_COLOR_SPACE_EXTENSION_NAME "XR_FB_color_space" +#define XR_FB_foveation_SPEC_VERSION 1 +#define XR_FB_FOVEATION_EXTENSION_NAME "XR_FB_foveation" +#define XR_FB_foveation_configuration_SPEC_VERSION 1 +#define XR_FB_FOVEATION_CONFIGURATION_EXTENSION_NAME "XR_FB_foveation_configuration" #define XR_KHR_binding_modification_SPEC_VERSION 1 #define XR_KHR_BINDING_MODIFICATION_EXTENSION_NAME "XR_KHR_binding_modification" -#define XR_VARJO_foveated_rendering_SPEC_VERSION 1 +#define XR_VARJO_foveated_rendering_SPEC_VERSION 2 #define XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME "XR_VARJO_foveated_rendering" -#define XR_VARJO_composition_layer_depth_test_SPEC_VERSION 1 +#define XR_VARJO_composition_layer_depth_test_SPEC_VERSION 2 #define XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME "XR_VARJO_composition_layer_depth_test" #define XR_VARJO_environment_depth_estimation_SPEC_VERSION 1 #define XR_VARJO_ENVIRONMENT_DEPTH_ESTIMATION_EXTENSION_NAME "XR_VARJO_environment_depth_estimation" +#define XR_MSFT_spatial_anchor_persistence_SPEC_VERSION 2 +#define XR_MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME "XR_MSFT_spatial_anchor_persistence" +#define XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT 256 #define XR_OCULUS_audio_device_guid_SPEC_VERSION 1 #define XR_OCULUS_AUDIO_DEVICE_GUID_EXTENSION_NAME "XR_OCULUS_audio_device_guid" #define XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS 128 +#define XR_FB_foveation_vulkan_SPEC_VERSION 1 +#define XR_FB_FOVEATION_VULKAN_EXTENSION_NAME "XR_FB_foveation_vulkan" #define XR_FB_swapchain_update_state_vulkan_SPEC_VERSION 1 #define XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME "XR_FB_swapchain_update_state_vulkan" +#define XR_KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION 3 +#define XR_KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME "XR_KHR_swapchain_usage_input_attachment_bit" #define XR_MAKE_VERSION(major, minor, patch) \ @@ -183,7 +200,7 @@ #define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL) -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 17) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 18) #if !defined(XR_MAY_ALIAS) @@ -257,6 +274,7 @@ #define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0 XR_DEFINE_HANDLE(XrAction) XR_DEFINE_HANDLE(XrActionSet) +XR_DEFINE_HANDLE(XrFoveationProfileFB) XR_DEFINE_HANDLE(XrHandTrackerEXT) XR_DEFINE_HANDLE(XrInstance) XR_DEFINE_HANDLE(XrSceneMSFT) @@ -264,6 +282,7 @@ XR_DEFINE_HANDLE(XrSceneObserverMSFT) XR_DEFINE_HANDLE(XrSession) XR_DEFINE_HANDLE(XrSpace) XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) +XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT) XR_DEFINE_HANDLE(XrSwapchain) typedef uint32_t XrBool32; @@ -277,6 +296,8 @@ typedef uint64_t XrVersion; typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB; typedef XrFlags64 XrCompositionLayerFlags; +typedef XrFlags64 XrCompositionLayerImageLayoutFlagsFB; +typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB; typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT; typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT; typedef XrFlags64 XrInputSourceLocalizedNameFlags; @@ -287,6 +308,8 @@ typedef XrFlags64 XrSessionCreateFlags; typedef XrFlags64 XrSpaceLocationFlags; typedef XrFlags64 XrSpaceVelocityFlags; typedef XrFlags64 XrSwapchainCreateFlags; +typedef XrFlags64 XrSwapchainCreateFoveationFlagsFB; +typedef XrFlags64 XrSwapchainStateFoveationFlagsFB; typedef XrFlags64 XrSwapchainUsageFlags; typedef XrFlags64 XrViewStateFlags; typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR; @@ -302,6 +325,17 @@ typedef enum XrActionType XR_ACTION_TYPE_MAX_ENUM = 0x7fffffff, } XrActionType; +typedef enum XrBlendFactorFB +{ + XR_BLEND_FACTOR_ZERO_FB = 0, + XR_BLEND_FACTOR_ONE_FB = 1, + XR_BLEND_FACTOR_SRC_ALPHA_FB = 2, + XR_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA_FB = 3, + XR_BLEND_FACTOR_DST_ALPHA_FB = 4, + XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB = 5, + XR_BLEND_FACTOR_FB_MAX_ENUM = 0x7fffffff, +} XrBlendFactorFB; + typedef enum XrColorSpaceFB { XR_COLOR_SPACE_UNMANAGED_FB = 0, @@ -338,6 +372,22 @@ typedef enum XrFormFactor XR_FORM_FACTOR_MAX_ENUM = 0x7fffffff, } XrFormFactor; +typedef enum XrFoveationDynamicFB +{ + XR_FOVEATION_DYNAMIC_DISABLED_FB = 0, + XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_FB = 1, + XR_FOVEATION_DYNAMIC_FB_MAX_ENUM = 0x7fffffff, +} XrFoveationDynamicFB; + +typedef enum XrFoveationLevelFB +{ + XR_FOVEATION_LEVEL_NONE_FB = 0, + XR_FOVEATION_LEVEL_LOW_FB = 1, + XR_FOVEATION_LEVEL_MEDIUM_FB = 2, + XR_FOVEATION_LEVEL_HIGH_FB = 3, + XR_FOVEATION_LEVEL_FB_MAX_ENUM = 0x7fffffff, +} XrFoveationLevelFB; + typedef enum XrHandEXT { XR_HAND_LEFT_EXT = 1, @@ -418,6 +468,8 @@ typedef enum XrObjectType XR_OBJECT_TYPE_HAND_TRACKER_EXT = 1000051000, XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT = 1000097000, XR_OBJECT_TYPE_SCENE_MSFT = 1000097001, + XR_OBJECT_TYPE_FOVEATION_PROFILE_FB = 1000114000, + XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT = 1000142000, XR_OBJECT_TYPE_MAX_ENUM = 0x7fffffff, } XrObjectType; @@ -474,6 +526,8 @@ typedef enum XrReprojectionModeMSFT typedef enum XrResult { + XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT = -1000142002, + XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT = -1000142001, XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000, XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000, XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT = -1000097005, @@ -705,6 +759,8 @@ typedef enum XrStructureType XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR = 1000034000, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT = 1000039000, XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT = 1000039001, + XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB = 1000040000, + XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB = 1000041001, XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT = 1000046000, XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT = 1000049000, XR_TYPE_SYSTEM_HAND_TRACKING_PROPERTIES_EXT = 1000051000, @@ -732,6 +788,7 @@ typedef enum XrStructureType XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT = 1000066000, XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT = 1000066001, + XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB = 1000072000, XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000, XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT = 1000080000, XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR = 1000090000, @@ -761,11 +818,18 @@ typedef enum XrStructureType XR_TYPE_SCENE_DESERIALIZE_INFO_MSFT = 1000098001, XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000, XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000, + XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB = 1000114000, + XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB = 1000114001, + XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB = 1000114002, + XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB = 1000115000, XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000, XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO = 1000121000, XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO = 1000121001, XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO = 1000121002, XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO = 1000122000, + XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT = 1000142000, + XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT = 1000142001, + XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB = 1000160000, XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB = 1000163000, XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR, @@ -798,10 +862,13 @@ typedef struct XrActiveActionSet XrActiveActionSet; typedef struct XrApplicationInfo XrApplicationInfo; typedef struct XrBaseOutStructure XrBaseOutStructure; typedef struct XrBoundSourcesForActionEnumerateInfo XrBoundSourcesForActionEnumerateInfo; -typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader; +typedef struct XrCompositionLayerAlphaBlendFB XrCompositionLayerAlphaBlendFB; typedef struct XrCompositionLayerDepthTestVARJO XrCompositionLayerDepthTestVARJO; +typedef struct XrCompositionLayerImageLayoutFB XrCompositionLayerImageLayoutFB; typedef struct XrCompositionLayerReprojectionInfoMSFT XrCompositionLayerReprojectionInfoMSFT; -typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT; +typedef struct XrCompositionLayerSecureContentFB XrCompositionLayerSecureContentFB; +typedef struct XrControllerModelNodePropertiesMSFT XrControllerModelNodePropertiesMSFT; +typedef struct XrControllerModelPropertiesMSFT XrControllerModelPropertiesMSFT; typedef struct XrDebugUtilsLabelEXT XrDebugUtilsLabelEXT; typedef struct XrDeserializeSceneFragmentMSFT XrDeserializeSceneFragmentMSFT; typedef struct XrEventDataBuffer XrEventDataBuffer; @@ -812,6 +879,7 @@ typedef struct XrEventDataSessionStateChanged XrEventDataSessionStateChanged; typedef struct XrExtensionProperties XrExtensionProperties; typedef struct XrExtent2Di XrExtent2Di; typedef struct XrFoveatedViewConfigurationViewVARJO XrFoveatedViewConfigurationViewVARJO; +typedef struct XrFoveationProfileCreateInfoFB XrFoveationProfileCreateInfoFB; typedef struct XrFrameBeginInfo XrFrameBeginInfo; typedef struct XrFrameState XrFrameState; typedef struct XrGraphicsBindingD3D11KHR XrGraphicsBindingD3D11KHR; @@ -835,15 +903,18 @@ typedef struct XrSceneMeshesMSFT XrSceneMeshesMSFT; typedef struct XrSceneObjectTypesFilterInfoMSFT XrSceneObjectTypesFilterInfoMSFT; typedef struct XrSceneObserverCreateInfoMSFT XrSceneObserverCreateInfoMSFT; typedef struct XrScenePlaneAlignmentFilterInfoMSFT XrScenePlaneAlignmentFilterInfoMSFT; -typedef struct XrSecondaryViewConfigurationLayerInfoMSFT XrSecondaryViewConfigurationLayerInfoMSFT; -typedef struct XrSecondaryViewConfigurationStateMSFT XrSecondaryViewConfigurationStateMSFT; +typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT; +typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT; typedef struct XrSessionActionSetsAttachInfo XrSessionActionSetsAttachInfo; typedef struct XrSessionCreateInfo XrSessionCreateInfo; +typedef struct XrSpatialAnchorPersistenceNameMSFT XrSpatialAnchorPersistenceNameMSFT; typedef struct XrSwapchainCreateInfo XrSwapchainCreateInfo; -typedef struct XrSwapchainImageBaseHeader XrSwapchainImageBaseHeader; -typedef struct XrSwapchainImageD3D12KHR XrSwapchainImageD3D12KHR; +typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo; +typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR; +typedef struct XrSwapchainImageFoveationVulkanFB XrSwapchainImageFoveationVulkanFB; typedef struct XrSwapchainImageOpenGLKHR XrSwapchainImageOpenGLKHR; typedef struct XrSwapchainImageWaitInfo XrSwapchainImageWaitInfo; +typedef struct XrSwapchainStateFoveationFB XrSwapchainStateFoveationFB; typedef struct XrSystemColorSpacePropertiesFB XrSystemColorSpacePropertiesFB; typedef struct XrSystemFoveatedRenderingPropertiesVARJO XrSystemFoveatedRenderingPropertiesVARJO; typedef struct XrSystemGraphicsProperties XrSystemGraphicsProperties; @@ -864,19 +935,19 @@ typedef struct XrActionStateVector2f XrActionStateVector2f; typedef struct XrApiLayerProperties XrApiLayerProperties; typedef struct XrBindingModificationBaseHeaderKHR XrBindingModificationBaseHeaderKHR; typedef struct XrColor4f XrColor4f; -typedef struct XrCompositionLayerCubeKHR XrCompositionLayerCubeKHR; -typedef struct XrControllerModelNodePropertiesMSFT XrControllerModelNodePropertiesMSFT; -typedef struct XrControllerModelPropertiesMSFT XrControllerModelPropertiesMSFT; +typedef struct XrCompositionLayerColorScaleBiasKHR XrCompositionLayerColorScaleBiasKHR; +typedef struct XrControllerModelKeyStateMSFT XrControllerModelKeyStateMSFT; typedef struct XrDebugUtilsObjectNameInfoEXT XrDebugUtilsObjectNameInfoEXT; typedef struct XrEventDataDisplayRefreshRateChangedFB XrEventDataDisplayRefreshRateChangedFB; typedef struct XrEventDataMainSessionVisibilityChangedEXTX XrEventDataMainSessionVisibilityChangedEXTX; typedef struct XrEventDataVisibilityMaskChangedKHR XrEventDataVisibilityMaskChangedKHR; typedef struct XrEyeGazeSampleTimeEXT XrEyeGazeSampleTimeEXT; -typedef struct XrFrameEndInfo XrFrameEndInfo; -typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR; -typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR; -typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR; -typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR; +typedef struct XrFovf XrFovf; +typedef struct XrFrameWaitInfo XrFrameWaitInfo; +typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR; +typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR; +typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR; +typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR; typedef struct XrHandJointsMotionRangeInfoEXT XrHandJointsMotionRangeInfoEXT; typedef struct XrHandTrackerCreateInfoEXT XrHandTrackerCreateInfoEXT; typedef struct XrHolographicWindowAttachmentMSFT XrHolographicWindowAttachmentMSFT; @@ -887,96 +958,100 @@ typedef struct XrRect2Di XrRect2Di; typedef struct XrSceneDeserializeInfoMSFT XrSceneDeserializeInfoMSFT; typedef struct XrSceneMeshBuffersMSFT XrSceneMeshBuffersMSFT; typedef struct XrSceneObjectMSFT XrSceneObjectMSFT; -typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT; -typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT XrSecondaryViewConfigurationSessionBeginInfoMSFT; +typedef struct XrSecondaryViewConfigurationStateMSFT XrSecondaryViewConfigurationStateMSFT; typedef struct XrSessionBeginInfo XrSessionBeginInfo; -typedef struct XrSwapchainImageAcquireInfo XrSwapchainImageAcquireInfo; -typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR; -typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR; -typedef struct XrSwapchainStateSamplerVulkanFB XrSwapchainStateSamplerVulkanFB; -typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT; -typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT; -typedef struct XrUuidMSFT XrUuidMSFT; +typedef struct XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT; +typedef struct XrSwapchainCreateInfoFoveationFB XrSwapchainCreateInfoFoveationFB; +typedef struct XrSwapchainImageD3D12KHR XrSwapchainImageD3D12KHR; +typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo; +typedef struct XrSwapchainStateBaseHeaderFB XrSwapchainStateBaseHeaderFB; +typedef struct XrSwapchainSubImage XrSwapchainSubImage; +typedef struct XrSystemGetInfo XrSystemGetInfo; +typedef struct XrSystemProperties XrSystemProperties; +typedef struct XrVector3f XrVector3f; typedef struct XrViewConfigurationProperties XrViewConfigurationProperties; typedef struct XrViewLocateInfo XrViewLocateInfo; typedef struct XrVulkanDeviceCreateInfoKHR XrVulkanDeviceCreateInfoKHR; typedef struct XrActionStatePose XrActionStatePose; typedef struct XrBaseInStructure XrBaseInStructure; -typedef struct XrCompositionLayerColorScaleBiasKHR XrCompositionLayerColorScaleBiasKHR; +typedef struct XrCompositionLayerBaseHeader XrCompositionLayerBaseHeader; +typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR; +typedef struct XrCompositionLayerReprojectionPlaneOverrideMSFT XrCompositionLayerReprojectionPlaneOverrideMSFT; typedef struct XrDebugUtilsMessengerCallbackDataEXT XrDebugUtilsMessengerCallbackDataEXT; typedef struct XrEventDataInstanceLossPending XrEventDataInstanceLossPending; typedef struct XrExtent2Df XrExtent2Df; -typedef struct XrFrameWaitInfo XrFrameWaitInfo; -typedef struct XrGraphicsRequirementsD3D12KHR XrGraphicsRequirementsD3D12KHR; -typedef struct XrHapticBaseHeader XrHapticBaseHeader; -typedef struct XrInteractionProfileAnalogThresholdVALVE XrInteractionProfileAnalogThresholdVALVE; -typedef struct XrRect2Df XrRect2Df; -typedef struct XrSceneComponentMSFT XrSceneComponentMSFT; -typedef struct XrSceneComponentsLocateInfoMSFT XrSceneComponentsLocateInfoMSFT; -typedef struct XrSceneMeshIndicesUint32MSFT XrSceneMeshIndicesUint32MSFT; -typedef struct XrSceneObjectsMSFT XrSceneObjectsMSFT; -typedef struct XrScenePlaneMSFT XrScenePlaneMSFT; -typedef struct XrSecondaryViewConfigurationFrameStateMSFT XrSecondaryViewConfigurationFrameStateMSFT; -typedef struct XrSerializedSceneFragmentDataGetInfoMSFT XrSerializedSceneFragmentDataGetInfoMSFT; -typedef struct XrSwapchainImageD3D11KHR XrSwapchainImageD3D11KHR; -typedef struct XrSwapchainStateBaseHeaderFB XrSwapchainStateBaseHeaderFB; -typedef struct XrSystemGetInfo XrSystemGetInfo; -typedef struct XrVector3f XrVector3f; -typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR; -typedef struct XrActionsSyncInfo XrActionsSyncInfo; -typedef struct XrCompositionLayerReprojectionPlaneOverrideMSFT XrCompositionLayerReprojectionPlaneOverrideMSFT; -typedef struct XrEventDataBaseHeader XrEventDataBaseHeader; -typedef struct XrFovf XrFovf; -typedef struct XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkanKHR; -typedef XrGraphicsRequirementsVulkanKHR XrGraphicsRequirementsVulkan2KHR; +typedef struct XrFrameEndInfo XrFrameEndInfo; +typedef struct XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkanKHR; +typedef XrGraphicsBindingVulkanKHR XrGraphicsBindingVulkan2KHR; typedef struct XrHandJointVelocityEXT XrHandJointVelocityEXT; typedef struct XrHandMeshVertexMSFT XrHandMeshVertexMSFT; +typedef struct XrInstanceCreateInfo XrInstanceCreateInfo; typedef struct XrPosef XrPosef; +typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo; typedef struct XrSceneComponentLocationMSFT XrSceneComponentLocationMSFT; -typedef struct XrSceneComponentParentFilterInfoMSFT XrSceneComponentParentFilterInfoMSFT; typedef struct XrSceneFrustumBoundMSFT XrSceneFrustumBoundMSFT; +typedef struct XrSceneMeshVertexBufferMSFT XrSceneMeshVertexBufferMSFT; typedef struct XrSceneOrientedBoxBoundMSFT XrSceneOrientedBoxBoundMSFT; typedef struct XrSceneSphereBoundMSFT XrSceneSphereBoundMSFT; +typedef struct XrSecondaryViewConfigurationFrameStateMSFT XrSecondaryViewConfigurationFrameStateMSFT; typedef struct XrSessionCreateInfoOverlayEXTX XrSessionCreateInfoOverlayEXTX; typedef struct XrSpaceVelocity XrSpaceVelocity; -typedef struct XrSpatialAnchorSpaceCreateInfoMSFT XrSpatialAnchorSpaceCreateInfoMSFT; -typedef struct XrSwapchainImageReleaseInfo XrSwapchainImageReleaseInfo; -typedef struct XrSystemProperties XrSystemProperties; -typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC; +typedef struct XrSpatialAnchorPersistenceInfoMSFT XrSpatialAnchorPersistenceInfoMSFT; +typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT; +typedef struct XrSwapchainStateSamplerVulkanFB XrSwapchainStateSamplerVulkanFB; +typedef struct XrSystemHandTrackingMeshPropertiesMSFT XrSystemHandTrackingMeshPropertiesMSFT; +typedef struct XrView XrView; +typedef struct XrVisibilityMaskKHR XrVisibilityMaskKHR; typedef struct XrActionSpaceCreateInfo XrActionSpaceCreateInfo; -typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT; -typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending; -typedef struct XrHandJointLocationEXT XrHandJointLocationEXT; -typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT; -typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT; -typedef struct XrInstanceCreateInfo XrInstanceCreateInfo; -typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo; -typedef struct XrSceneComponentLocationsMSFT XrSceneComponentLocationsMSFT; -typedef struct XrSceneMeshVertexBufferMSFT XrSceneMeshVertexBufferMSFT; -typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT; -typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT; -typedef struct XrSwapchainSubImage XrSwapchainSubImage; -typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR; typedef struct XrBindingModificationsKHR XrBindingModificationsKHR; -typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR; +typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR; typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR; typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView; -typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT; -typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT; +typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT; +typedef struct XrEventDataBaseHeader XrEventDataBaseHeader; +typedef struct XrFoveationLevelProfileCreateInfoFB XrFoveationLevelProfileCreateInfoFB; +typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR; +typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT; +typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT; +typedef struct XrHapticBaseHeader XrHapticBaseHeader; +typedef struct XrRect2Df XrRect2Df; +typedef struct XrSceneComponentLocationsMSFT XrSceneComponentLocationsMSFT; +typedef struct XrSceneMeshIndicesUint32MSFT XrSceneMeshIndicesUint32MSFT; +typedef struct XrScenePlaneMSFT XrScenePlaneMSFT; +typedef struct XrSecondaryViewConfigurationLayerInfoMSFT XrSecondaryViewConfigurationLayerInfoMSFT; +typedef struct XrSpaceLocation XrSpaceLocation; +typedef struct XrSpatialAnchorSpaceCreateInfoMSFT XrSpatialAnchorSpaceCreateInfoMSFT; +typedef struct XrSwapchainImageVulkanKHR XrSwapchainImageVulkanKHR; +typedef XrSwapchainImageVulkanKHR XrSwapchainImageVulkan2KHR; +typedef struct XrUuidMSFT XrUuidMSFT; +typedef struct XrVulkanInstanceCreateInfoKHR XrVulkanInstanceCreateInfoKHR; +typedef struct XrActionsSyncInfo XrActionsSyncInfo; +typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR; +typedef struct XrCompositionLayerQuad XrCompositionLayerQuad; +typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending; +typedef struct XrHandJointLocationEXT XrHandJointLocationEXT; typedef struct XrHandMeshVertexBufferMSFT XrHandMeshVertexBufferMSFT; typedef struct XrSceneBoundsMSFT XrSceneBoundsMSFT; -typedef struct XrScenePlanesMSFT XrScenePlanesMSFT; -typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT XrSpatialGraphNodeSpaceCreateInfoMSFT; -typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR; -typedef struct XrCompositionLayerProjection XrCompositionLayerProjection; -typedef struct XrGraphicsBindingOpenGLWin32KHR XrGraphicsBindingOpenGLWin32KHR; -typedef struct XrNewSceneComputeInfoMSFT XrNewSceneComputeInfoMSFT; -typedef struct XrSpaceLocation XrSpaceLocation; -typedef struct XrCompositionLayerEquirect2KHR XrCompositionLayerEquirect2KHR; -typedef struct XrHandMeshMSFT XrHandMeshMSFT; -typedef struct XrView XrView; -typedef struct XrCompositionLayerQuad XrCompositionLayerQuad; +typedef struct XrSceneComponentParentFilterInfoMSFT XrSceneComponentParentFilterInfoMSFT; +typedef struct XrSceneObjectsMSFT XrSceneObjectsMSFT; +typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT XrSecondaryViewConfigurationFrameEndInfoMSFT; +typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT; +typedef struct XrSystemEyeGazeInteractionPropertiesEXT XrSystemEyeGazeInteractionPropertiesEXT; +typedef struct XrCompositionLayerCubeKHR XrCompositionLayerCubeKHR; +typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT; +typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT; +typedef struct XrInteractionProfileAnalogThresholdVALVE XrInteractionProfileAnalogThresholdVALVE; +typedef struct XrSceneComponentMSFT XrSceneComponentMSFT; typedef struct XrSceneComponentsMSFT XrSceneComponentsMSFT; +typedef struct XrSerializedSceneFragmentDataGetInfoMSFT XrSerializedSceneFragmentDataGetInfoMSFT; +typedef struct XrViewConfigurationViewFovEPIC XrViewConfigurationViewFovEPIC; +typedef struct XrCompositionLayerProjection XrCompositionLayerProjection; +typedef struct XrHandMeshMSFT XrHandMeshMSFT; +typedef struct XrSceneComponentsLocateInfoMSFT XrSceneComponentsLocateInfoMSFT; +typedef struct XrSwapchainImageBaseHeader XrSwapchainImageBaseHeader; +typedef struct XrGraphicsBindingD3D12KHR XrGraphicsBindingD3D12KHR; +typedef struct XrScenePlanesMSFT XrScenePlanesMSFT; +typedef struct XrNewSceneComputeInfoMSFT XrNewSceneComputeInfoMSFT; typedef XrBool32 (XRAPI_PTR * PFN_xrDebugUtilsMessengerCallbackEXT)( XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, XrDebugUtilsMessageTypeFlagsEXT messageTypes, @@ -1048,12 +1123,14 @@ struct XrBoundSourcesForActionEnumerateInfo XrAction action; }; -struct XrCompositionLayerBaseHeader +struct XrCompositionLayerAlphaBlendFB { XrStructureType type; - const void *next; - XrCompositionLayerFlags layerFlags; - XrSpace space; + void *next; + XrBlendFactorFB srcFactorColor; + XrBlendFactorFB dstFactorColor; + XrBlendFactorFB srcFactorAlpha; + XrBlendFactorFB dstFactorAlpha; }; struct XrCompositionLayerDepthTestVARJO @@ -1064,6 +1141,13 @@ struct XrCompositionLayerDepthTestVARJO float depthTestRangeFarZ; }; +struct XrCompositionLayerImageLayoutFB +{ + XrStructureType type; + void *next; + XrCompositionLayerImageLayoutFlagsFB flags; +}; + struct XrCompositionLayerReprojectionInfoMSFT { XrStructureType type; @@ -1071,11 +1155,28 @@ struct XrCompositionLayerReprojectionInfoMSFT XrReprojectionModeMSFT reprojectionMode; }; -struct XrControllerModelKeyStateMSFT +struct XrCompositionLayerSecureContentFB +{ + XrStructureType type; + const void *next; + XrCompositionLayerSecureContentFlagsFB flags; +}; + +struct XrControllerModelNodePropertiesMSFT { XrStructureType type; void *next; - XrControllerModelKeyMSFT modelKey; + char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; + char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; +}; + +struct XrControllerModelPropertiesMSFT +{ + XrStructureType type; + void *next; + uint32_t nodeCapacityInput; + uint32_t nodeCountOutput; + XrControllerModelNodePropertiesMSFT *nodeProperties; }; struct XrDebugUtilsLabelEXT @@ -1152,6 +1253,12 @@ struct XrFoveatedViewConfigurationViewVARJO XrBool32 foveatedRenderingActive; }; +struct XrFoveationProfileCreateInfoFB +{ + XrStructureType type; + void *next; +}; + struct XrFrameBeginInfo { XrStructureType type; @@ -1324,22 +1431,19 @@ struct XrScenePlaneAlignmentFilterInfoMSFT const XrScenePlaneAlignmentTypeMSFT *alignments; }; -struct XrSecondaryViewConfigurationLayerInfoMSFT +struct XrSecondaryViewConfigurationSessionBeginInfoMSFT +{ + XrStructureType type; + const void *next; + uint32_t viewConfigurationCount; + const XrViewConfigurationType *enabledViewConfigurationTypes; +}; + +struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT { XrStructureType type; const void *next; XrViewConfigurationType viewConfigurationType; - XrEnvironmentBlendMode environmentBlendMode; - uint32_t layerCount; - const XrCompositionLayerBaseHeader * const*layers; -}; - -struct XrSecondaryViewConfigurationStateMSFT -{ - XrStructureType type; - void *next; - XrViewConfigurationType viewConfigurationType; - XrBool32 active; }; struct XrSessionActionSetsAttachInfo @@ -1358,6 +1462,11 @@ struct XrSessionCreateInfo XrSystemId systemId; }; +struct XrSpatialAnchorPersistenceNameMSFT +{ + char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT]; +}; + struct XrSwapchainCreateInfo { XrStructureType type; @@ -1373,17 +1482,26 @@ struct XrSwapchainCreateInfo uint32_t mipCount; }; -struct XrSwapchainImageBaseHeader +struct XrSwapchainImageAcquireInfo { XrStructureType type; - void *next; + const void *next; }; -struct XrSwapchainImageD3D12KHR +struct XrSwapchainImageD3D11KHR { XrStructureType type; void *next; - ID3D12Resource *texture; + ID3D11Texture2D *texture; +}; + +struct XrSwapchainImageFoveationVulkanFB +{ + XrStructureType type; + void *next; + VkImage image; + uint32_t width; + uint32_t height; }; struct XrSwapchainImageOpenGLKHR @@ -1400,6 +1518,14 @@ struct XrSwapchainImageWaitInfo XrDuration timeout; }; +struct XrSwapchainStateFoveationFB +{ + XrStructureType type; + void *next; + XrSwapchainStateFoveationFlagsFB flags; + XrFoveationProfileFB profile; +}; + struct XrSystemColorSpacePropertiesFB { XrStructureType type; @@ -1560,33 +1686,19 @@ struct XrColor4f float a; }; -struct XrCompositionLayerCubeKHR +struct XrCompositionLayerColorScaleBiasKHR { XrStructureType type; const void *next; - XrCompositionLayerFlags layerFlags; - XrSpace space; - XrEyeVisibility eyeVisibility; - XrSwapchain swapchain; - uint32_t imageArrayIndex; - XrQuaternionf orientation; + XrColor4f colorScale; + XrColor4f colorBias; }; -struct XrControllerModelNodePropertiesMSFT +struct XrControllerModelKeyStateMSFT { XrStructureType type; void *next; - char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; - char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT]; -}; - -struct XrControllerModelPropertiesMSFT -{ - XrStructureType type; - void *next; - uint32_t nodeCapacityInput; - uint32_t nodeCountOutput; - XrControllerModelNodePropertiesMSFT *nodeProperties; + XrControllerModelKeyMSFT modelKey; }; struct XrDebugUtilsObjectNameInfoEXT @@ -1630,36 +1742,37 @@ struct XrEyeGazeSampleTimeEXT XrTime time; }; -struct XrFrameEndInfo +struct XrFovf +{ + float angleLeft; + float angleRight; + float angleUp; + float angleDown; +}; + +struct XrFrameWaitInfo { XrStructureType type; const void *next; - XrTime displayTime; - XrEnvironmentBlendMode environmentBlendMode; - uint32_t layerCount; - const XrCompositionLayerBaseHeader * const*layers; }; -struct XrGraphicsBindingD3D12KHR +struct XrGraphicsBindingOpenGLWin32KHR { XrStructureType type; const void *next; - ID3D12Device *device; - ID3D12CommandQueue *queue; + HDC hDC; + HGLRC hGLRC; }; -struct XrGraphicsBindingVulkanKHR +struct XrGraphicsRequirementsD3D12KHR { XrStructureType type; - const void *next; - VkInstance instance; - VkPhysicalDevice physicalDevice; - VkDevice device; - uint32_t queueFamilyIndex; - uint32_t queueIndex; + void *next; + LUID adapterLuid; + D3D_FEATURE_LEVEL minFeatureLevel; }; -struct XrGraphicsRequirementsOpenGLKHR +struct XrGraphicsRequirementsVulkanKHR { XrStructureType type; void *next; @@ -1738,20 +1851,12 @@ struct XrSceneObjectMSFT XrSceneObjectTypeMSFT objectType; }; -struct XrSecondaryViewConfigurationFrameEndInfoMSFT +struct XrSecondaryViewConfigurationStateMSFT { XrStructureType type; - const void *next; - uint32_t viewConfigurationCount; - const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo; -}; - -struct XrSecondaryViewConfigurationSessionBeginInfoMSFT -{ - XrStructureType type; - const void *next; - uint32_t viewConfigurationCount; - const XrViewConfigurationType *enabledViewConfigurationTypes; + void *next; + XrViewConfigurationType viewConfigurationType; + XrBool32 active; }; struct XrSessionBeginInfo @@ -1761,55 +1866,70 @@ struct XrSessionBeginInfo XrViewConfigurationType primaryViewConfigurationType; }; -struct XrSwapchainImageAcquireInfo +struct XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore; + XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName; +}; + +struct XrSwapchainCreateInfoFoveationFB +{ + XrStructureType type; + void *next; + XrSwapchainCreateFoveationFlagsFB flags; +}; + +struct XrSwapchainImageD3D12KHR +{ + XrStructureType type; + void *next; + ID3D12Resource *texture; +}; + +struct XrSwapchainImageReleaseInfo { XrStructureType type; const void *next; }; -struct XrSwapchainImageVulkanKHR +struct XrSwapchainStateBaseHeaderFB { XrStructureType type; void *next; - VkImage image; }; -struct XrSwapchainStateSamplerVulkanFB +struct XrSwapchainSubImage +{ + XrSwapchain swapchain; + XrRect2Di imageRect; + uint32_t imageArrayIndex; +}; + +struct XrSystemGetInfo +{ + XrStructureType type; + const void *next; + XrFormFactor formFactor; +}; + +struct XrSystemProperties { XrStructureType type; void *next; - VkFilter minFilter; - VkFilter magFilter; - VkSamplerMipmapMode mipmapMode; - VkSamplerAddressMode wrapModeS; - VkSamplerAddressMode wrapModeT; - VkComponentSwizzle swizzleRed; - VkComponentSwizzle swizzleGreen; - VkComponentSwizzle swizzleBlue; - VkComponentSwizzle swizzleAlpha; - float maxAnisotropy; - XrColor4f borderColor; + XrSystemId systemId; + uint32_t vendorId; + char systemName[XR_MAX_SYSTEM_NAME_SIZE]; + XrSystemGraphicsProperties graphicsProperties; + XrSystemTrackingProperties trackingProperties; }; -struct XrSystemEyeGazeInteractionPropertiesEXT +struct XrVector3f { - XrStructureType type; - void *next; - XrBool32 supportsEyeGazeInteraction; -}; - -struct XrSystemHandTrackingMeshPropertiesMSFT -{ - XrStructureType type; - void *next; - XrBool32 supportsHandTrackingMesh; - uint32_t maxHandMeshIndexCount; - uint32_t maxHandMeshVertexCount; -}; - -struct XrUuidMSFT -{ - uint8_t bytes[16]; + float x; + float y; + float z; }; struct XrViewConfigurationProperties @@ -1854,12 +1974,32 @@ struct XrBaseInStructure const struct XrBaseInStructure *next; }; -struct XrCompositionLayerColorScaleBiasKHR +struct XrCompositionLayerBaseHeader { XrStructureType type; const void *next; - XrColor4f colorScale; - XrColor4f colorBias; + XrCompositionLayerFlags layerFlags; + XrSpace space; +}; + +struct XrCompositionLayerDepthInfoKHR +{ + XrStructureType type; + const void *next; + XrSwapchainSubImage subImage; + float minDepth; + float maxDepth; + float nearZ; + float farZ; +}; + +struct XrCompositionLayerReprojectionPlaneOverrideMSFT +{ + XrStructureType type; + const void *next; + XrVector3f position; + XrVector3f normal; + XrVector3f velocity; }; struct XrDebugUtilsMessengerCallbackDataEXT @@ -1888,178 +2028,25 @@ struct XrExtent2Df float height; }; -struct XrFrameWaitInfo +struct XrFrameEndInfo { XrStructureType type; const void *next; + XrTime displayTime; + XrEnvironmentBlendMode environmentBlendMode; + uint32_t layerCount; + const XrCompositionLayerBaseHeader * const*layers; }; -struct XrGraphicsRequirementsD3D12KHR -{ - XrStructureType type; - void *next; - LUID adapterLuid; - D3D_FEATURE_LEVEL minFeatureLevel; -}; - -struct XrHapticBaseHeader +struct XrGraphicsBindingVulkanKHR { XrStructureType type; const void *next; -}; - -struct XrInteractionProfileAnalogThresholdVALVE -{ - XrStructureType type; - const void *next; - XrAction action; - XrPath binding; - float onThreshold; - float offThreshold; - const XrHapticBaseHeader *onHaptic; - const XrHapticBaseHeader *offHaptic; -}; - -struct XrRect2Df -{ - XrOffset2Df offset; - XrExtent2Df extent; -}; - -struct XrSceneComponentMSFT -{ - XrSceneComponentTypeMSFT componentType; - XrUuidMSFT id; - XrUuidMSFT parentId; - XrTime updateTime; -}; - -struct XrSceneComponentsLocateInfoMSFT -{ - XrStructureType type; - const void *next; - XrSpace baseSpace; - XrTime time; - uint32_t componentIdCount; - const XrUuidMSFT *componentIds; -}; - -struct XrSceneMeshIndicesUint32MSFT -{ - XrStructureType type; - void *next; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint32_t *indices; -}; - -struct XrSceneObjectsMSFT -{ - XrStructureType type; - void *next; - uint32_t sceneObjectCount; - XrSceneObjectMSFT *sceneObjects; -}; - -struct XrScenePlaneMSFT -{ - XrScenePlaneAlignmentTypeMSFT alignment; - XrExtent2Df size; - uint64_t WINE_XR_ALIGN(8) meshBufferId; - XrBool32 supportsIndicesUint16; -}; - -struct XrSecondaryViewConfigurationFrameStateMSFT -{ - XrStructureType type; - void *next; - uint32_t viewConfigurationCount; - XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates; -}; - -struct XrSerializedSceneFragmentDataGetInfoMSFT -{ - XrStructureType type; - const void *next; - XrUuidMSFT sceneFragmentId; -}; - -struct XrSwapchainImageD3D11KHR -{ - XrStructureType type; - void *next; - ID3D11Texture2D *texture; -}; - -struct XrSwapchainStateBaseHeaderFB -{ - XrStructureType type; - void *next; -}; - -struct XrSystemGetInfo -{ - XrStructureType type; - const void *next; - XrFormFactor formFactor; -}; - -struct XrVector3f -{ - float x; - float y; - float z; -}; - -struct XrVisibilityMaskKHR -{ - XrStructureType type; - void *next; - uint32_t vertexCapacityInput; - uint32_t vertexCountOutput; - XrVector2f *vertices; - uint32_t indexCapacityInput; - uint32_t indexCountOutput; - uint32_t *indices; -}; - -struct XrActionsSyncInfo -{ - XrStructureType type; - const void *next; - uint32_t countActiveActionSets; - const XrActiveActionSet *activeActionSets; -}; - -struct XrCompositionLayerReprojectionPlaneOverrideMSFT -{ - XrStructureType type; - const void *next; - XrVector3f position; - XrVector3f normal; - XrVector3f velocity; -}; - -struct XrEventDataBaseHeader -{ - XrStructureType type; - const void *next; -}; - -struct XrFovf -{ - float angleLeft; - float angleRight; - float angleUp; - float angleDown; -}; - -struct XrGraphicsRequirementsVulkanKHR -{ - XrStructureType type; - void *next; - XrVersion minApiVersionSupported; - XrVersion maxApiVersionSupported; + VkInstance instance; + VkPhysicalDevice physicalDevice; + VkDevice device; + uint32_t queueFamilyIndex; + uint32_t queueIndex; }; struct XrHandJointVelocityEXT @@ -2075,25 +2062,38 @@ struct XrHandMeshVertexMSFT XrVector3f normal; }; +struct XrInstanceCreateInfo +{ + XrStructureType type; + const void *next; + XrInstanceCreateFlags createFlags; + XrApplicationInfo applicationInfo; + uint32_t enabledApiLayerCount; + const char * const*enabledApiLayerNames; + uint32_t enabledExtensionCount; + const char * const*enabledExtensionNames; +}; + struct XrPosef { XrQuaternionf orientation; XrVector3f position; }; +struct XrReferenceSpaceCreateInfo +{ + XrStructureType type; + const void *next; + XrReferenceSpaceType referenceSpaceType; + XrPosef poseInReferenceSpace; +}; + struct XrSceneComponentLocationMSFT { XrSpaceLocationFlags flags; XrPosef pose; }; -struct XrSceneComponentParentFilterInfoMSFT -{ - XrStructureType type; - const void *next; - XrUuidMSFT parentId; -}; - struct XrSceneFrustumBoundMSFT { XrPosef pose; @@ -2101,6 +2101,15 @@ struct XrSceneFrustumBoundMSFT float farDistance; }; +struct XrSceneMeshVertexBufferMSFT +{ + XrStructureType type; + void *next; + uint32_t vertexCapacityInput; + uint32_t vertexCountOutput; + XrVector3f *vertices; +}; + struct XrSceneOrientedBoxBoundMSFT { XrPosef pose; @@ -2113,6 +2122,14 @@ struct XrSceneSphereBoundMSFT float radius; }; +struct XrSecondaryViewConfigurationFrameStateMSFT +{ + XrStructureType type; + void *next; + uint32_t viewConfigurationCount; + XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates; +}; + struct XrSessionCreateInfoOverlayEXTX { XrStructureType type; @@ -2130,37 +2147,67 @@ struct XrSpaceVelocity XrVector3f angularVelocity; }; -struct XrSpatialAnchorSpaceCreateInfoMSFT +struct XrSpatialAnchorPersistenceInfoMSFT { XrStructureType type; const void *next; - XrSpatialAnchorMSFT anchor; - XrPosef poseInAnchorSpace; + XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName; + XrSpatialAnchorMSFT spatialAnchor; }; -struct XrSwapchainImageReleaseInfo +struct XrSpatialGraphNodeSpaceCreateInfoMSFT { XrStructureType type; const void *next; + XrSpatialGraphNodeTypeMSFT nodeType; + uint8_t nodeId[16]; + XrPosef pose; }; -struct XrSystemProperties +struct XrSwapchainStateSamplerVulkanFB { XrStructureType type; void *next; - XrSystemId systemId; - uint32_t vendorId; - char systemName[XR_MAX_SYSTEM_NAME_SIZE]; - XrSystemGraphicsProperties graphicsProperties; - XrSystemTrackingProperties trackingProperties; + VkFilter minFilter; + VkFilter magFilter; + VkSamplerMipmapMode mipmapMode; + VkSamplerAddressMode wrapModeS; + VkSamplerAddressMode wrapModeT; + VkComponentSwizzle swizzleRed; + VkComponentSwizzle swizzleGreen; + VkComponentSwizzle swizzleBlue; + VkComponentSwizzle swizzleAlpha; + float maxAnisotropy; + XrColor4f borderColor; }; -struct XrViewConfigurationViewFovEPIC +struct XrSystemHandTrackingMeshPropertiesMSFT { XrStructureType type; - const void *next; - XrFovf recommendedFov; - XrFovf maxMutableFov; + void *next; + XrBool32 supportsHandTrackingMesh; + uint32_t maxHandMeshIndexCount; + uint32_t maxHandMeshVertexCount; +}; + +struct XrView +{ + XrStructureType type; + void *next; + XrPosef pose; + XrFovf fov; +}; + +struct XrVisibilityMaskKHR +{ + XrStructureType type; + void *next; + uint32_t vertexCapacityInput; + uint32_t vertexCountOutput; + XrVector2f *vertices; + uint32_t indexCapacityInput; + uint32_t indexCountOutput; + uint32_t *indices; }; struct XrActionSpaceCreateInfo @@ -2172,118 +2219,6 @@ struct XrActionSpaceCreateInfo XrPosef poseInActionSpace; }; -struct XrControllerModelNodeStateMSFT -{ - XrStructureType type; - void *next; - XrPosef nodePose; -}; - -struct XrEventDataReferenceSpaceChangePending -{ - XrStructureType type; - const void *next; - XrSession session; - XrReferenceSpaceType referenceSpaceType; - XrTime changeTime; - XrBool32 poseValid; - XrPosef poseInPreviousSpace; -}; - -struct XrHandJointLocationEXT -{ - XrSpaceLocationFlags locationFlags; - XrPosef pose; - float radius; -}; - -struct XrHandJointVelocitiesEXT -{ - XrStructureType type; - void *next; - uint32_t jointCount; - XrHandJointVelocityEXT *jointVelocities; -}; - -struct XrHandMeshSpaceCreateInfoMSFT -{ - XrStructureType type; - const void *next; - XrHandPoseTypeMSFT handPoseType; - XrPosef poseInHandMeshSpace; -}; - -struct XrInstanceCreateInfo -{ - XrStructureType type; - const void *next; - XrInstanceCreateFlags createFlags; - XrApplicationInfo applicationInfo; - uint32_t enabledApiLayerCount; - const char * const*enabledApiLayerNames; - uint32_t enabledExtensionCount; - const char * const*enabledExtensionNames; -}; - -struct XrReferenceSpaceCreateInfo -{ - XrStructureType type; - const void *next; - XrReferenceSpaceType referenceSpaceType; - XrPosef poseInReferenceSpace; -}; - -struct XrSceneComponentLocationsMSFT -{ - XrStructureType type; - void *next; - uint32_t locationCount; - XrSceneComponentLocationMSFT *locations; -}; - -struct XrSceneMeshVertexBufferMSFT -{ - XrStructureType type; - void *next; - uint32_t vertexCapacityInput; - uint32_t vertexCountOutput; - XrVector3f *vertices; -}; - -struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT -{ - XrStructureType type; - const void *next; - XrViewConfigurationType viewConfigurationType; -}; - -struct XrSpatialAnchorCreateInfoMSFT -{ - XrStructureType type; - const void *next; - XrSpace space; - XrPosef pose; - XrTime time; -}; - -struct XrSwapchainSubImage -{ - XrSwapchain swapchain; - XrRect2Di imageRect; - uint32_t imageArrayIndex; -}; - -struct XrVulkanInstanceCreateInfoKHR -{ - XrStructureType type; - const void *next; - XrSystemId systemId; - XrVulkanInstanceCreateFlagsKHR createFlags; - PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr; - const VkInstanceCreateInfo *vulkanCreateInfo; - const VkAllocationCallbacks *vulkanAllocator; -}; - struct XrBindingModificationsKHR { XrStructureType type; @@ -2292,15 +2227,18 @@ struct XrBindingModificationsKHR const XrBindingModificationBaseHeaderKHR * const*bindingModifications; }; -struct XrCompositionLayerDepthInfoKHR +struct XrCompositionLayerCylinderKHR { XrStructureType type; const void *next; + XrCompositionLayerFlags layerFlags; + XrSpace space; + XrEyeVisibility eyeVisibility; XrSwapchainSubImage subImage; - float minDepth; - float maxDepth; - float nearZ; - float farZ; + XrPosef pose; + float radius; + float centralAngle; + float aspectRatio; }; struct XrCompositionLayerEquirectKHR @@ -2326,22 +2264,189 @@ struct XrCompositionLayerProjectionView XrSwapchainSubImage subImage; }; -struct XrControllerModelStateMSFT +struct XrControllerModelNodeStateMSFT { XrStructureType type; void *next; - uint32_t nodeCapacityInput; - uint32_t nodeCountOutput; - XrControllerModelNodeStateMSFT *nodeStates; + XrPosef nodePose; }; -struct XrHandJointLocationsEXT +struct XrEventDataBaseHeader +{ + XrStructureType type; + const void *next; +}; + +struct XrFoveationLevelProfileCreateInfoFB +{ + XrStructureType type; + void *next; + XrFoveationLevelFB level; + float verticalOffset; + XrFoveationDynamicFB dynamic; +}; + +struct XrGraphicsRequirementsOpenGLKHR +{ + XrStructureType type; + void *next; + XrVersion minApiVersionSupported; + XrVersion maxApiVersionSupported; +}; + +struct XrHandJointVelocitiesEXT { XrStructureType type; void *next; - XrBool32 isActive; uint32_t jointCount; - XrHandJointLocationEXT *jointLocations; + XrHandJointVelocityEXT *jointVelocities; +}; + +struct XrHandMeshSpaceCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrHandPoseTypeMSFT handPoseType; + XrPosef poseInHandMeshSpace; +}; + +struct XrHapticBaseHeader +{ + XrStructureType type; + const void *next; +}; + +struct XrRect2Df +{ + XrOffset2Df offset; + XrExtent2Df extent; +}; + +struct XrSceneComponentLocationsMSFT +{ + XrStructureType type; + void *next; + uint32_t locationCount; + XrSceneComponentLocationMSFT *locations; +}; + +struct XrSceneMeshIndicesUint32MSFT +{ + XrStructureType type; + void *next; + uint32_t indexCapacityInput; + uint32_t indexCountOutput; + uint32_t *indices; +}; + +struct XrScenePlaneMSFT +{ + XrScenePlaneAlignmentTypeMSFT alignment; + XrExtent2Df size; + uint64_t WINE_XR_ALIGN(8) meshBufferId; + XrBool32 supportsIndicesUint16; +}; + +struct XrSecondaryViewConfigurationLayerInfoMSFT +{ + XrStructureType type; + const void *next; + XrViewConfigurationType viewConfigurationType; + XrEnvironmentBlendMode environmentBlendMode; + uint32_t layerCount; + const XrCompositionLayerBaseHeader * const*layers; +}; + +struct XrSpaceLocation +{ + XrStructureType type; + void *next; + XrSpaceLocationFlags locationFlags; + XrPosef pose; +}; + +struct XrSpatialAnchorSpaceCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrSpatialAnchorMSFT anchor; + XrPosef poseInAnchorSpace; +}; + +struct XrSwapchainImageVulkanKHR +{ + XrStructureType type; + void *next; + VkImage image; +}; + +struct XrUuidMSFT +{ + uint8_t bytes[16]; +}; + +struct XrVulkanInstanceCreateInfoKHR +{ + XrStructureType type; + const void *next; + XrSystemId systemId; + XrVulkanInstanceCreateFlagsKHR createFlags; + PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr; + const VkInstanceCreateInfo *vulkanCreateInfo; + const VkAllocationCallbacks *vulkanAllocator; +}; + +struct XrActionsSyncInfo +{ + XrStructureType type; + const void *next; + uint32_t countActiveActionSets; + const XrActiveActionSet *activeActionSets; +}; + +struct XrCompositionLayerEquirect2KHR +{ + XrStructureType type; + const void *next; + XrCompositionLayerFlags layerFlags; + XrSpace space; + XrEyeVisibility eyeVisibility; + XrSwapchainSubImage subImage; + XrPosef pose; + float radius; + float centralHorizontalAngle; + float upperVerticalAngle; + float lowerVerticalAngle; +}; + +struct XrCompositionLayerQuad +{ + XrStructureType type; + const void *next; + XrCompositionLayerFlags layerFlags; + XrSpace space; + XrEyeVisibility eyeVisibility; + XrSwapchainSubImage subImage; + XrPosef pose; + XrExtent2Df size; +}; + +struct XrEventDataReferenceSpaceChangePending +{ + XrStructureType type; + const void *next; + XrSession session; + XrReferenceSpaceType referenceSpaceType; + XrTime changeTime; + XrBool32 poseValid; + XrPosef poseInPreviousSpace; +}; + +struct XrHandJointLocationEXT +{ + XrSpaceLocationFlags locationFlags; + XrPosef pose; + float radius; }; struct XrHandMeshVertexBufferMSFT @@ -2364,35 +2469,117 @@ struct XrSceneBoundsMSFT const XrSceneFrustumBoundMSFT *frustums; }; -struct XrScenePlanesMSFT -{ - XrStructureType type; - void *next; - uint32_t scenePlaneCount; - XrScenePlaneMSFT *scenePlanes; -}; - -struct XrSpatialGraphNodeSpaceCreateInfoMSFT +struct XrSceneComponentParentFilterInfoMSFT { XrStructureType type; const void *next; - XrSpatialGraphNodeTypeMSFT nodeType; - uint8_t nodeId[16]; - XrPosef pose; + XrUuidMSFT parentId; }; -struct XrCompositionLayerCylinderKHR +struct XrSceneObjectsMSFT +{ + XrStructureType type; + void *next; + uint32_t sceneObjectCount; + XrSceneObjectMSFT *sceneObjects; +}; + +struct XrSecondaryViewConfigurationFrameEndInfoMSFT +{ + XrStructureType type; + const void *next; + uint32_t viewConfigurationCount; + const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo; +}; + +struct XrSpatialAnchorCreateInfoMSFT +{ + XrStructureType type; + const void *next; + XrSpace space; + XrPosef pose; + XrTime time; +}; + +struct XrSystemEyeGazeInteractionPropertiesEXT +{ + XrStructureType type; + void *next; + XrBool32 supportsEyeGazeInteraction; +}; + +struct XrCompositionLayerCubeKHR { XrStructureType type; const void *next; XrCompositionLayerFlags layerFlags; XrSpace space; XrEyeVisibility eyeVisibility; - XrSwapchainSubImage subImage; - XrPosef pose; - float radius; - float centralAngle; - float aspectRatio; + XrSwapchain swapchain; + uint32_t imageArrayIndex; + XrQuaternionf orientation; +}; + +struct XrControllerModelStateMSFT +{ + XrStructureType type; + void *next; + uint32_t nodeCapacityInput; + uint32_t nodeCountOutput; + XrControllerModelNodeStateMSFT *nodeStates; +}; + +struct XrHandJointLocationsEXT +{ + XrStructureType type; + void *next; + XrBool32 isActive; + uint32_t jointCount; + XrHandJointLocationEXT *jointLocations; +}; + +struct XrInteractionProfileAnalogThresholdVALVE +{ + XrStructureType type; + const void *next; + XrAction action; + XrPath binding; + float onThreshold; + float offThreshold; + const XrHapticBaseHeader *onHaptic; + const XrHapticBaseHeader *offHaptic; +}; + +struct XrSceneComponentMSFT +{ + XrSceneComponentTypeMSFT componentType; + XrUuidMSFT id; + XrUuidMSFT parentId; + XrTime updateTime; +}; + +struct XrSceneComponentsMSFT +{ + XrStructureType type; + void *next; + uint32_t componentCapacityInput; + uint32_t componentCountOutput; + XrSceneComponentMSFT *components; +}; + +struct XrSerializedSceneFragmentDataGetInfoMSFT +{ + XrStructureType type; + const void *next; + XrUuidMSFT sceneFragmentId; +}; + +struct XrViewConfigurationViewFovEPIC +{ + XrStructureType type; + const void *next; + XrFovf recommendedFov; + XrFovf maxMutableFov; }; struct XrCompositionLayerProjection @@ -2405,47 +2592,6 @@ struct XrCompositionLayerProjection const XrCompositionLayerProjectionView *views; }; -struct XrGraphicsBindingOpenGLWin32KHR -{ - XrStructureType type; - const void *next; - HDC hDC; - HGLRC hGLRC; -}; - -struct XrNewSceneComputeInfoMSFT -{ - XrStructureType type; - const void *next; - uint32_t requestedFeatureCount; - const XrSceneComputeFeatureMSFT *requestedFeatures; - XrSceneComputeConsistencyMSFT consistency; - XrSceneBoundsMSFT bounds; -}; - -struct XrSpaceLocation -{ - XrStructureType type; - void *next; - XrSpaceLocationFlags locationFlags; - XrPosef pose; -}; - -struct XrCompositionLayerEquirect2KHR -{ - XrStructureType type; - const void *next; - XrCompositionLayerFlags layerFlags; - XrSpace space; - XrEyeVisibility eyeVisibility; - XrSwapchainSubImage subImage; - XrPosef pose; - float radius; - float centralHorizontalAngle; - float upperVerticalAngle; - float lowerVerticalAngle; -}; - struct XrHandMeshMSFT { XrStructureType type; @@ -2457,33 +2603,46 @@ struct XrHandMeshMSFT XrHandMeshVertexBufferMSFT vertexBuffer; }; -struct XrView -{ - XrStructureType type; - void *next; - XrPosef pose; - XrFovf fov; -}; - -struct XrCompositionLayerQuad +struct XrSceneComponentsLocateInfoMSFT { XrStructureType type; const void *next; - XrCompositionLayerFlags layerFlags; - XrSpace space; - XrEyeVisibility eyeVisibility; - XrSwapchainSubImage subImage; - XrPosef pose; - XrExtent2Df size; + XrSpace baseSpace; + XrTime time; + uint32_t componentIdCount; + const XrUuidMSFT *componentIds; }; -struct XrSceneComponentsMSFT +struct XrSwapchainImageBaseHeader { XrStructureType type; void *next; - uint32_t componentCapacityInput; - uint32_t componentCountOutput; - XrSceneComponentMSFT *components; +}; + +struct XrGraphicsBindingD3D12KHR +{ + XrStructureType type; + const void *next; + ID3D12Device *device; + ID3D12CommandQueue *queue; +}; + +struct XrScenePlanesMSFT +{ + XrStructureType type; + void *next; + uint32_t scenePlaneCount; + XrScenePlaneMSFT *scenePlanes; +}; + +struct XrNewSceneComputeInfoMSFT +{ + XrStructureType type; + const void *next; + uint32_t requestedFeatureCount; + const XrSceneComputeFeatureMSFT *requestedFeatures; + XrSceneComputeConsistencyMSFT consistency; + XrSceneBoundsMSFT bounds; }; typedef XrResult (XRAPI_PTR *PFN_xrAcquireSwapchainImage)(XrSwapchain, const XrSwapchainImageAcquireInfo *, uint32_t *); @@ -2491,12 +2650,14 @@ typedef XrResult (XRAPI_PTR *PFN_xrApplyHapticFeedback)(XrSession, const XrHapti typedef XrResult (XRAPI_PTR *PFN_xrAttachSessionActionSets)(XrSession, const XrSessionActionSetsAttachInfo *); typedef XrResult (XRAPI_PTR *PFN_xrBeginFrame)(XrSession, const XrFrameBeginInfo *); typedef XrResult (XRAPI_PTR *PFN_xrBeginSession)(XrSession, const XrSessionBeginInfo *); +typedef XrResult (XRAPI_PTR *PFN_xrClearSpatialAnchorStoreMSFT)(XrSpatialAnchorStoreConnectionMSFT); typedef XrResult (XRAPI_PTR *PFN_xrComputeNewSceneMSFT)(XrSceneObserverMSFT, const XrNewSceneComputeInfoMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrConvertTimeToWin32PerformanceCounterKHR)(XrInstance, XrTime, LARGE_INTEGER *); typedef XrResult (XRAPI_PTR *PFN_xrConvertWin32PerformanceCounterToTimeKHR)(XrInstance, const LARGE_INTEGER *, XrTime *); typedef XrResult (XRAPI_PTR *PFN_xrCreateAction)(XrActionSet, const XrActionCreateInfo *, XrAction *); typedef XrResult (XRAPI_PTR *PFN_xrCreateActionSet)(XrInstance, const XrActionSetCreateInfo *, XrActionSet *); typedef XrResult (XRAPI_PTR *PFN_xrCreateActionSpace)(XrSession, const XrActionSpaceCreateInfo *, XrSpace *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateFoveationProfileFB)(XrSession, const XrFoveationProfileCreateInfoFB *, XrFoveationProfileFB *); typedef XrResult (XRAPI_PTR *PFN_xrCreateHandMeshSpaceMSFT)(XrHandTrackerEXT, const XrHandMeshSpaceCreateInfoMSFT *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreateHandTrackerEXT)(XrSession, const XrHandTrackerCreateInfoEXT *, XrHandTrackerEXT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateInstance)(const XrInstanceCreateInfo *, XrInstance *); @@ -2504,8 +2665,10 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateReferenceSpace)(XrSession, const XrRefe typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneMSFT)(XrSceneObserverMSFT, const XrSceneCreateInfoMSFT *, XrSceneMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSceneObserverMSFT)(XrSession, const XrSceneObserverCreateInfoMSFT *, XrSceneObserverMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSession)(XrInstance, const XrSessionCreateInfo *, XrSession *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorFromPersistedNameMSFT)(XrSession, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorMSFT)(XrSession, const XrSpatialAnchorCreateInfoMSFT *, XrSpatialAnchorMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorSpaceMSFT)(XrSession, const XrSpatialAnchorSpaceCreateInfoMSFT *, XrSpace *); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorStoreConnectionMSFT)(XrSession, XrSpatialAnchorStoreConnectionMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialGraphNodeSpaceMSFT)(XrSession, const XrSpatialGraphNodeSpaceCreateInfoMSFT *, XrSpace *); typedef XrResult (XRAPI_PTR *PFN_xrCreateSwapchain)(XrSession, const XrSwapchainCreateInfo *, XrSwapchain *); typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanDeviceKHR)(XrInstance, const XrVulkanDeviceCreateInfoKHR *, VkDevice *, VkResult *); @@ -2513,6 +2676,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrCreateVulkanInstanceKHR)(XrInstance, const Xr typedef XrResult (XRAPI_PTR *PFN_xrDeserializeSceneMSFT)(XrSceneObserverMSFT, const XrSceneDeserializeInfoMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrDestroyAction)(XrAction); typedef XrResult (XRAPI_PTR *PFN_xrDestroyActionSet)(XrActionSet); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyFoveationProfileFB)(XrFoveationProfileFB); typedef XrResult (XRAPI_PTR *PFN_xrDestroyHandTrackerEXT)(XrHandTrackerEXT); typedef XrResult (XRAPI_PTR *PFN_xrDestroyInstance)(XrInstance); typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneMSFT)(XrSceneMSFT); @@ -2520,6 +2684,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrDestroySceneObserverMSFT)(XrSceneObserverMSFT typedef XrResult (XRAPI_PTR *PFN_xrDestroySession)(XrSession); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpace)(XrSpace); typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorMSFT)(XrSpatialAnchorMSFT); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialAnchorStoreConnectionMSFT)(XrSpatialAnchorStoreConnectionMSFT); typedef XrResult (XRAPI_PTR *PFN_xrDestroySwapchain)(XrSwapchain); typedef XrResult (XRAPI_PTR *PFN_xrEndFrame)(XrSession, const XrFrameEndInfo *); typedef XrResult (XRAPI_PTR *PFN_xrEndSession)(XrSession); @@ -2529,6 +2694,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrEnumerateColorSpacesFB)(XrSession, uint32_t, typedef XrResult (XRAPI_PTR *PFN_xrEnumerateDisplayRefreshRatesFB)(XrSession, uint32_t, uint32_t *, float *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateEnvironmentBlendModes)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrEnvironmentBlendMode *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateInstanceExtensionProperties)(const char *, uint32_t, uint32_t *, XrExtensionProperties *); +typedef XrResult (XRAPI_PTR *PFN_xrEnumeratePersistedSpatialAnchorNamesMSFT)(XrSpatialAnchorStoreConnectionMSFT, uint32_t, uint32_t *, XrSpatialAnchorPersistenceNameMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReferenceSpaces)(XrSession, uint32_t, uint32_t *, XrReferenceSpaceType *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateReprojectionModesMSFT)(XrInstance, XrSystemId, XrViewConfigurationType, uint32_t, uint32_t *, XrReprojectionModeMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSceneComputeFeaturesMSFT)(XrInstance, XrSystemId, uint32_t, uint32_t *, XrSceneComputeFeatureMSFT *); @@ -2576,6 +2742,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrLocateSpace)(XrSpace, XrSpace, XrTime, XrSpac typedef XrResult (XRAPI_PTR *PFN_xrLocateViews)(XrSession, const XrViewLocateInfo *, XrViewState *, uint32_t, uint32_t *, XrView *); typedef XrResult (XRAPI_PTR *PFN_xrPathToString)(XrInstance, XrPath, uint32_t, uint32_t *, char *); typedef XrResult (XRAPI_PTR *PFN_xrPerfSettingsSetPerformanceLevelEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsLevelEXT); +typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceInfoMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrPollEvent)(XrInstance, XrEventDataBuffer *); typedef XrResult (XRAPI_PTR *PFN_xrReleaseSwapchainImage)(XrSwapchain, const XrSwapchainImageReleaseInfo *); typedef XrResult (XRAPI_PTR *PFN_xrRequestDisplayRefreshRateFB)(XrSession, float); @@ -2594,6 +2761,7 @@ typedef XrResult (XRAPI_PTR *PFN_xrStructureTypeToString)(XrInstance, XrStructur typedef XrResult (XRAPI_PTR *PFN_xrSuggestInteractionProfileBindings)(XrInstance, const XrInteractionProfileSuggestedBinding *); typedef XrResult (XRAPI_PTR *PFN_xrSyncActions)(XrSession, const XrActionsSyncInfo *); typedef XrResult (XRAPI_PTR *PFN_xrThermalGetTemperatureTrendEXT)(XrSession, XrPerfSettingsDomainEXT, XrPerfSettingsNotificationLevelEXT *, float *, float *); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialAnchorMSFT)(XrSpatialAnchorStoreConnectionMSFT, const XrSpatialAnchorPersistenceNameMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrUpdateHandMeshMSFT)(XrHandTrackerEXT, const XrHandMeshUpdateInfoMSFT *, XrHandMeshMSFT *); typedef XrResult (XRAPI_PTR *PFN_xrUpdateSwapchainFB)(XrSwapchain, const XrSwapchainStateBaseHeaderFB *); typedef XrResult (XRAPI_PTR *PFN_xrWaitFrame)(XrSession, const XrFrameWaitInfo *, XrFrameState *); @@ -2605,12 +2773,14 @@ XrResult XRAPI_CALL xrApplyHapticFeedback(XrSession session, const XrHapticActio XrResult XRAPI_CALL xrAttachSessionActionSets(XrSession session, const XrSessionActionSetsAttachInfo *attachInfo); XrResult XRAPI_CALL xrBeginFrame(XrSession session, const XrFrameBeginInfo *frameBeginInfo); XrResult XRAPI_CALL xrBeginSession(XrSession session, const XrSessionBeginInfo *beginInfo); +XrResult XRAPI_CALL xrClearSpatialAnchorStoreMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); XrResult XRAPI_CALL xrComputeNewSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrNewSceneComputeInfoMSFT *computeInfo); XrResult XRAPI_CALL xrConvertTimeToWin32PerformanceCounterKHR(XrInstance instance, XrTime time, LARGE_INTEGER *performanceCounter); XrResult XRAPI_CALL xrConvertWin32PerformanceCounterToTimeKHR(XrInstance instance, const LARGE_INTEGER *performanceCounter, XrTime *time); XrResult XRAPI_CALL xrCreateAction(XrActionSet actionSet, const XrActionCreateInfo *createInfo, XrAction *action); XrResult XRAPI_CALL xrCreateActionSet(XrInstance instance, const XrActionSetCreateInfo *createInfo, XrActionSet *actionSet); XrResult XRAPI_CALL xrCreateActionSpace(XrSession session, const XrActionSpaceCreateInfo *createInfo, XrSpace *space); +XrResult XRAPI_CALL xrCreateFoveationProfileFB(XrSession session, const XrFoveationProfileCreateInfoFB *createInfo, XrFoveationProfileFB *profile); XrResult XRAPI_CALL xrCreateHandMeshSpaceMSFT(XrHandTrackerEXT handTracker, const XrHandMeshSpaceCreateInfoMSFT *createInfo, XrSpace *space); XrResult XRAPI_CALL xrCreateHandTrackerEXT(XrSession session, const XrHandTrackerCreateInfoEXT *createInfo, XrHandTrackerEXT *handTracker); XrResult XRAPI_CALL xrCreateInstance(const XrInstanceCreateInfo *createInfo, XrInstance *instance); @@ -2618,8 +2788,10 @@ XrResult XRAPI_CALL xrCreateReferenceSpace(XrSession session, const XrReferenceS XrResult XRAPI_CALL xrCreateSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneCreateInfoMSFT *createInfo, XrSceneMSFT *scene); XrResult XRAPI_CALL xrCreateSceneObserverMSFT(XrSession session, const XrSceneObserverCreateInfoMSFT *createInfo, XrSceneObserverMSFT *sceneObserver); XrResult XRAPI_CALL xrCreateSession(XrInstance instance, const XrSessionCreateInfo *createInfo, XrSession *session); +XrResult XRAPI_CALL xrCreateSpatialAnchorFromPersistedNameMSFT(XrSession session, const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT *spatialAnchorCreateInfo, XrSpatialAnchorMSFT *spatialAnchor); XrResult XRAPI_CALL xrCreateSpatialAnchorMSFT(XrSession session, const XrSpatialAnchorCreateInfoMSFT *createInfo, XrSpatialAnchorMSFT *anchor); XrResult XRAPI_CALL xrCreateSpatialAnchorSpaceMSFT(XrSession session, const XrSpatialAnchorSpaceCreateInfoMSFT *createInfo, XrSpace *space); +XrResult XRAPI_CALL xrCreateSpatialAnchorStoreConnectionMSFT(XrSession session, XrSpatialAnchorStoreConnectionMSFT *spatialAnchorStore); XrResult XRAPI_CALL xrCreateSpatialGraphNodeSpaceMSFT(XrSession session, const XrSpatialGraphNodeSpaceCreateInfoMSFT *createInfo, XrSpace *space); XrResult XRAPI_CALL xrCreateSwapchain(XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain); XrResult XRAPI_CALL xrCreateVulkanDeviceKHR(XrInstance instance, const XrVulkanDeviceCreateInfoKHR *createInfo, VkDevice *vulkanDevice, VkResult *vulkanResult); @@ -2627,6 +2799,7 @@ XrResult XRAPI_CALL xrCreateVulkanInstanceKHR(XrInstance instance, const XrVulka XrResult XRAPI_CALL xrDeserializeSceneMSFT(XrSceneObserverMSFT sceneObserver, const XrSceneDeserializeInfoMSFT *deserializeInfo); XrResult XRAPI_CALL xrDestroyAction(XrAction action); XrResult XRAPI_CALL xrDestroyActionSet(XrActionSet actionSet); +XrResult XRAPI_CALL xrDestroyFoveationProfileFB(XrFoveationProfileFB profile); XrResult XRAPI_CALL xrDestroyHandTrackerEXT(XrHandTrackerEXT handTracker); XrResult XRAPI_CALL xrDestroyInstance(XrInstance instance); XrResult XRAPI_CALL xrDestroySceneMSFT(XrSceneMSFT scene); @@ -2634,6 +2807,7 @@ XrResult XRAPI_CALL xrDestroySceneObserverMSFT(XrSceneObserverMSFT sceneObserver XrResult XRAPI_CALL xrDestroySession(XrSession session); XrResult XRAPI_CALL xrDestroySpace(XrSpace space); XrResult XRAPI_CALL xrDestroySpatialAnchorMSFT(XrSpatialAnchorMSFT anchor); +XrResult XRAPI_CALL xrDestroySpatialAnchorStoreConnectionMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore); XrResult XRAPI_CALL xrDestroySwapchain(XrSwapchain swapchain); XrResult XRAPI_CALL xrEndFrame(XrSession session, const XrFrameEndInfo *frameEndInfo); XrResult XRAPI_CALL xrEndSession(XrSession session); @@ -2643,6 +2817,7 @@ XrResult XRAPI_CALL xrEnumerateColorSpacesFB(XrSession session, uint32_t colorSp XrResult XRAPI_CALL xrEnumerateDisplayRefreshRatesFB(XrSession session, uint32_t displayRefreshRateCapacityInput, uint32_t *displayRefreshRateCountOutput, float *displayRefreshRates); XrResult XRAPI_CALL xrEnumerateEnvironmentBlendModes(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t environmentBlendModeCapacityInput, uint32_t *environmentBlendModeCountOutput, XrEnvironmentBlendMode *environmentBlendModes); XrResult XRAPI_CALL xrEnumerateInstanceExtensionProperties(const char *layerName, uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrExtensionProperties *properties); +XrResult XRAPI_CALL xrEnumeratePersistedSpatialAnchorNamesMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, uint32_t spatialAnchorNamesCapacityInput, uint32_t *spatialAnchorNamesCountOutput, XrSpatialAnchorPersistenceNameMSFT *persistedAnchorNames); XrResult XRAPI_CALL xrEnumerateReferenceSpaces(XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces); XrResult XRAPI_CALL xrEnumerateReprojectionModesMSFT(XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t modeCapacityInput, uint32_t *modeCountOutput, XrReprojectionModeMSFT *modes); XrResult XRAPI_CALL xrEnumerateSceneComputeFeaturesMSFT(XrInstance instance, XrSystemId systemId, uint32_t featureCapacityInput, uint32_t *featureCountOutput, XrSceneComputeFeatureMSFT *features); @@ -2690,6 +2865,7 @@ XrResult XRAPI_CALL xrLocateSpace(XrSpace space, XrSpace baseSpace, XrTime time, XrResult XRAPI_CALL xrLocateViews(XrSession session, const XrViewLocateInfo *viewLocateInfo, XrViewState *viewState, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrView *views); XrResult XRAPI_CALL xrPathToString(XrInstance instance, XrPath path, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer); XrResult XRAPI_CALL xrPerfSettingsSetPerformanceLevelEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level); +XrResult XRAPI_CALL xrPersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceInfoMSFT *spatialAnchorPersistenceInfo); XrResult XRAPI_CALL xrPollEvent(XrInstance instance, XrEventDataBuffer *eventData); XrResult XRAPI_CALL xrReleaseSwapchainImage(XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *releaseInfo); XrResult XRAPI_CALL xrRequestDisplayRefreshRateFB(XrSession session, float displayRefreshRate); @@ -2708,6 +2884,7 @@ XrResult XRAPI_CALL xrStructureTypeToString(XrInstance instance, XrStructureType XrResult XRAPI_CALL xrSuggestInteractionProfileBindings(XrInstance instance, const XrInteractionProfileSuggestedBinding *suggestedBindings); XrResult XRAPI_CALL xrSyncActions(XrSession session, const XrActionsSyncInfo *syncInfo); XrResult XRAPI_CALL xrThermalGetTemperatureTrendEXT(XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsNotificationLevelEXT *notificationLevel, float *tempHeadroom, float *tempSlope); +XrResult XRAPI_CALL xrUnpersistSpatialAnchorMSFT(XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore, const XrSpatialAnchorPersistenceNameMSFT *spatialAnchorPersistenceName); XrResult XRAPI_CALL xrUpdateHandMeshMSFT(XrHandTrackerEXT handTracker, const XrHandMeshUpdateInfoMSFT *updateInfo, XrHandMeshMSFT *handMesh); XrResult XRAPI_CALL xrUpdateSwapchainFB(XrSwapchain swapchain, const XrSwapchainStateBaseHeaderFB *state); XrResult XRAPI_CALL xrWaitFrame(XrSession session, const XrFrameWaitInfo *frameWaitInfo, XrFrameState *frameState); diff --git a/wineopenxr/xr.xml b/wineopenxr/xr.xml index 4570a1e7..90cd3113 100644 --- a/wineopenxr/xr.xml +++ b/wineopenxr/xr.xml @@ -1,4 +1,7 @@ + + + Copyright (c) 2017-2021, The Khronos Group Inc. @@ -48,6 +51,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. + @@ -116,7 +120,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. updates them automatically by processing a line at a time. --> // OpenXR current version number. -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 17) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 18) typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB; + + typedef XrFlags64 XrCompositionLayerImageLayoutFlagsFB; + + + typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB; + + + typedef XrFlags64 XrSwapchainCreateFoveationFlagsFB; + typedef XrFlags64 XrSwapchainStateFoveationFlagsFB; + XR_DEFINE_HANDLE(XrInstance) @@ -261,9 +275,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XR_DEFINE_HANDLE(XrSpace) XR_DEFINE_HANDLE(XrDebugUtilsMessengerEXT) XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) + XR_DEFINE_HANDLE(XrHandTrackerEXT) + + XR_DEFINE_HANDLE(XrFoveationProfileFB) + @@ -308,9 +326,22 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + + + + + + + + + + + + + + float x @@ -1135,6 +1166,23 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrPosef poseInAnchorSpace + + + XrStructureType type + void* next + XrCompositionLayerImageLayoutFlagsFB flags + + + + + XrStructureType type + void* next + XrBlendFactorFB srcFactorColor + XrBlendFactorFB dstFactorColor + XrBlendFactorFB srcFactorAlpha + XrBlendFactorFB dstFactorAlpha + + XrStructureType type @@ -1361,6 +1409,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrColor4f borderColor + + + XrStructureType type + const void* next + XrCompositionLayerSecureContentFlagsFB flags + + XrStructureType type @@ -1629,6 +1684,43 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrColorSpaceFB colorSpace + + + XrStructureType type + void* next + + + XrStructureType type + void* next + XrSwapchainCreateFoveationFlagsFB flags + + + XrStructureType type + void* next + XrSwapchainStateFoveationFlagsFB flags + XrFoveationProfileFB profile + + + + + XrStructureType type + void* next + VkImage image + uint32_t width + uint32_t height + + + + + + + XrStructureType type + void* next + XrFoveationLevelFB level + float verticalOffset + XrFoveationDynamicFB dynamic + + XrStructureType type @@ -1671,6 +1763,25 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrVector3f velocity + + XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT) + + + char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT] + + + XrStructureType type + const void* next + XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName + XrSpatialAnchorMSFT spatialAnchor + + + XrStructureType type + const void* next + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName + + @@ -1982,6 +2093,16 @@ maintained in the default branch of the Khronos OpenXR GitHub project. + + + + + + + + + + @@ -2126,6 +2247,38 @@ maintained in the default branch of the Khronos OpenXR GitHub project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2652,7 +2805,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrResult xrDestroySpatialAnchorMSFT - XrSpatialAnchorMSFT anchor + XrSpatialAnchorMSFT anchor @@ -2900,6 +3053,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project. const XrColorSpaceFB colorspace + + + XrResult xrCreateFoveationProfileFB + XrSession session + const XrFoveationProfileCreateInfoFB* createInfo + XrFoveationProfileFB* profile + + + XrResult xrDestroyFoveationProfileFB + XrFoveationProfileFB profile + + XrResult xrSetEnvironmentDepthEstimationVARJO @@ -2930,6 +3095,45 @@ maintained in the default branch of the Khronos OpenXR GitHub project. XrInstance instance wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS] + + + + XrResult xrCreateSpatialAnchorStoreConnectionMSFT + XrSession session + XrSpatialAnchorStoreConnectionMSFT* spatialAnchorStore + + + XrResult xrDestroySpatialAnchorStoreConnectionMSFT + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + + + XrResult xrPersistSpatialAnchorMSFT + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + const XrSpatialAnchorPersistenceInfoMSFT* spatialAnchorPersistenceInfo + + + XrResult xrEnumeratePersistedSpatialAnchorNamesMSFT + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + uint32_t spatialAnchorNamesCapacityInput + uint32_t* spatialAnchorNamesCountOutput + XrSpatialAnchorPersistenceNameMSFT* persistedAnchorNames + + + XrResult xrCreateSpatialAnchorFromPersistedNameMSFT + XrSession session + const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT* spatialAnchorCreateInfo + XrSpatialAnchorMSFT* spatialAnchor + + + XrResult xrUnpersistSpatialAnchorMSFT + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + const XrSpatialAnchorPersistenceNameMSFT* spatialAnchorPersistenceName + + + XrResult xrClearSpatialAnchorStoreMSFT + XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore + + @@ -3090,7 +3294,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -3452,7 +3656,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -3465,17 +3669,22 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + + - + - - + + + + + @@ -3797,10 +4006,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + + + @@ -3994,11 +4206,11 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - + @@ -4222,17 +4434,36 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + + + + + + + + + + + + + - + - - + + + + + + + + @@ -4276,7 +4507,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -4292,7 +4523,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -4433,13 +4664,35 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -4562,14 +4815,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + + + + - + @@ -4578,7 +4835,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -4587,7 +4844,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + @@ -4603,10 +4860,11 @@ maintained in the default branch of the Khronos OpenXR GitHub project. - + - - + + + @@ -4680,6 +4938,146 @@ maintained in the default branch of the Khronos OpenXR GitHub project. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +