Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gofman <pgofman@codeweavers.com>2021-08-03 19:53:18 +0300
committerAndrew Eikum <aeikum@codeweavers.com>2021-08-12 18:54:19 +0300
commit9cf5ff5cec3100e1e5bc93c1baec6d7332c727a6 (patch)
treee3b744c7f401eeda5311896e24e4d4c2b9c6f9ef
parent95b1dc2b0b3b9f1edfed245528d15b3d5b917f65 (diff)
wineopenxr: Update to 1.0.18 registry version.
-rwxr-xr-xwineopenxr/make_openxr8
-rw-r--r--wineopenxr/openxr.c127
-rw-r--r--wineopenxr/openxr_private.h10
-rw-r--r--wineopenxr/openxr_thunks.c41
-rw-r--r--wineopenxr/openxr_thunks.h23
-rw-r--r--wineopenxr/wineopenxr.h1093
-rw-r--r--wineopenxr/xr.xml472
7 files changed, 1279 insertions, 495 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 XrBindingModificationsKHR XrBindingModificationsKHR;
+typedef struct XrCompositionLayerCylinderKHR XrCompositionLayerCylinderKHR;
+typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR;
+typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView;
typedef struct XrControllerModelNodeStateMSFT XrControllerModelNodeStateMSFT;
-typedef struct XrEventDataReferenceSpaceChangePending XrEventDataReferenceSpaceChangePending;
-typedef struct XrHandJointLocationEXT XrHandJointLocationEXT;
+typedef struct XrEventDataBaseHeader XrEventDataBaseHeader;
+typedef struct XrFoveationLevelProfileCreateInfoFB XrFoveationLevelProfileCreateInfoFB;
+typedef struct XrGraphicsRequirementsOpenGLKHR XrGraphicsRequirementsOpenGLKHR;
typedef struct XrHandJointVelocitiesEXT XrHandJointVelocitiesEXT;
typedef struct XrHandMeshSpaceCreateInfoMSFT XrHandMeshSpaceCreateInfoMSFT;
-typedef struct XrInstanceCreateInfo XrInstanceCreateInfo;
-typedef struct XrReferenceSpaceCreateInfo XrReferenceSpaceCreateInfo;
+typedef struct XrHapticBaseHeader XrHapticBaseHeader;
+typedef struct XrRect2Df XrRect2Df;
typedef struct XrSceneComponentLocationsMSFT XrSceneComponentLocationsMSFT;
-typedef struct XrSceneMeshVertexBufferMSFT XrSceneMeshVertexBufferMSFT;
-typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT XrSecondaryViewConfigurationSwapchainCreateInfoMSFT;
-typedef struct XrSpatialAnchorCreateInfoMSFT XrSpatialAnchorCreateInfoMSFT;
-typedef struct XrSwapchainSubImage XrSwapchainSubImage;
+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 XrBindingModificationsKHR XrBindingModificationsKHR;
-typedef struct XrCompositionLayerDepthInfoKHR XrCompositionLayerDepthInfoKHR;
-typedef struct XrCompositionLayerEquirectKHR XrCompositionLayerEquirectKHR;
-typedef struct XrCompositionLayerProjectionView XrCompositionLayerProjectionView;
-typedef struct XrControllerModelStateMSFT XrControllerModelStateMSFT;
-typedef struct XrHandJointLocationsEXT XrHandJointLocationsEXT;
+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 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 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 XrSceneComponentsMSFT XrSceneComponentsMSFT;
+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;
- XrViewConfigurationType viewConfigurationType;
- XrEnvironmentBlendMode environmentBlendMode;
- uint32_t layerCount;
- const XrCompositionLayerBaseHeader * const*layers;
+ uint32_t viewConfigurationCount;
+ const XrViewConfigurationType *enabledViewConfigurationTypes;
};
-struct XrSecondaryViewConfigurationStateMSFT
+struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT
{
XrStructureType type;
- void *next;
+ const 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;
+ const void *next;
+};
+
+struct XrSwapchainImageD3D11KHR
{
XrStructureType type;
void *next;
+ ID3D11Texture2D *texture;
};
-struct XrSwapchainImageD3D12KHR
+struct XrSwapchainImageFoveationVulkanFB
{
XrStructureType type;
void *next;
- ID3D12Resource *texture;
+ 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;
-};
-
-struct XrControllerModelNodePropertiesMSFT
-{
- XrStructureType type;
- void *next;
- char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT];
- char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT];
+ XrColor4f colorScale;
+ XrColor4f colorBias;
};
-struct XrControllerModelPropertiesMSFT
+struct XrControllerModelKeyStateMSFT
{
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,78 +1851,85 @@ struct XrSceneObjectMSFT
XrSceneObjectTypeMSFT objectType;
};
-struct XrSecondaryViewConfigurationFrameEndInfoMSFT
+struct XrSecondaryViewConfigurationStateMSFT
{
XrStructureType type;
- const void *next;
- uint32_t viewConfigurationCount;
- const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo;
+ void *next;
+ XrViewConfigurationType viewConfigurationType;
+ XrBool32 active;
};
-struct XrSecondaryViewConfigurationSessionBeginInfoMSFT
+struct XrSessionBeginInfo
{
XrStructureType type;
const void *next;
- uint32_t viewConfigurationCount;
- const XrViewConfigurationType *enabledViewConfigurationTypes;
+ XrViewConfigurationType primaryViewConfigurationType;
};
-struct XrSessionBeginInfo
+struct XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT
{
XrStructureType type;
const void *next;
- XrViewConfigurationType primaryViewConfigurationType;
+ XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore;
+ XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName;
};
-struct XrSwapchainImageAcquireInfo
+struct XrSwapchainCreateInfoFoveationFB
{
XrStructureType type;
- const void *next;
+ void *next;
+ XrSwapchainCreateFoveationFlagsFB flags;
};
-struct XrSwapchainImageVulkanKHR
+struct XrSwapchainImageD3D12KHR
{
XrStructureType type;
void *next;
- VkImage image;
+ ID3D12Resource *texture;
};
-struct XrSwapchainStateSamplerVulkanFB
+struct XrSwapchainImageReleaseInfo
{
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;
+ const void *next;
};
-struct XrSystemEyeGazeInteractionPropertiesEXT
+struct XrSwapchainStateBaseHeaderFB
{
XrStructureType type;
void *next;
- XrBool32 supportsEyeGazeInteraction;
};
-struct XrSystemHandTrackingMeshPropertiesMSFT
+struct XrSwapchainSubImage
+{
+ XrSwapchain swapchain;
+ XrRect2Di imageRect;
+ uint32_t imageArrayIndex;
+};
+
+struct XrSystemGetInfo
+{
+ XrStructureType type;
+ const void *next;
+ XrFormFactor formFactor;
+};
+
+struct XrSystemProperties
{
XrStructureType type;
void *next;
- XrBool32 supportsHandTrackingMesh;
- uint32_t maxHandMeshIndexCount;
- uint32_t maxHandMeshVertexCount;
+ XrSystemId systemId;
+ uint32_t vendorId;
+ char systemName[XR_MAX_SYSTEM_NAME_SIZE];
+ XrSystemGraphicsProperties graphicsProperties;
+ XrSystemTrackingProperties trackingProperties;
};
-struct XrUuidMSFT
+struct XrVector3f
{
- 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,288 +2028,240 @@ 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;
+ VkInstance instance;
+ VkPhysicalDevice physicalDevice;
+ VkDevice device;
+ uint32_t queueFamilyIndex;
+ uint32_t queueIndex;
};
-struct XrInteractionProfileAnalogThresholdVALVE
+struct XrHandJointVelocityEXT
{
- XrStructureType type;
- const void *next;
- XrAction action;
- XrPath binding;
- float onThreshold;
- float offThreshold;
- const XrHapticBaseHeader *onHaptic;
- const XrHapticBaseHeader *offHaptic;
+ XrSpaceVelocityFlags velocityFlags;
+ XrVector3f linearVelocity;
+ XrVector3f angularVelocity;
};
-struct XrRect2Df
+struct XrHandMeshVertexMSFT
{
- XrOffset2Df offset;
- XrExtent2Df extent;
+ XrVector3f position;
+ XrVector3f normal;
};
-struct XrSceneComponentMSFT
+struct XrInstanceCreateInfo
{
- XrSceneComponentTypeMSFT componentType;
- XrUuidMSFT id;
- XrUuidMSFT parentId;
- XrTime updateTime;
+ XrStructureType type;
+ const void *next;
+ XrInstanceCreateFlags createFlags;
+ XrApplicationInfo applicationInfo;
+ uint32_t enabledApiLayerCount;
+ const char * const*enabledApiLayerNames;
+ uint32_t enabledExtensionCount;
+ const char * const*enabledExtensionNames;
};
-struct XrSceneComponentsLocateInfoMSFT
+struct XrPosef
{
- XrStructureType type;
- const void *next;
- XrSpace baseSpace;
- XrTime time;
- uint32_t componentIdCount;
- const XrUuidMSFT *componentIds;
+ XrQuaternionf orientation;
+ XrVector3f position;
};
-struct XrSceneMeshIndicesUint32MSFT
+struct XrReferenceSpaceCreateInfo
{
XrStructureType type;
- void *next;
- uint32_t indexCapacityInput;
- uint32_t indexCountOutput;
- uint32_t *indices;
+ const void *next;
+ XrReferenceSpaceType referenceSpaceType;
+ XrPosef poseInReferenceSpace;
};
-struct XrSceneObjectsMSFT
+struct XrSceneComponentLocationMSFT
{
- XrStructureType type;
- void *next;
- uint32_t sceneObjectCount;
- XrSceneObjectMSFT *sceneObjects;
+ XrSpaceLocationFlags flags;
+ XrPosef pose;
};
-struct XrScenePlaneMSFT
+struct XrSceneFrustumBoundMSFT
{
- XrScenePlaneAlignmentTypeMSFT alignment;
- XrExtent2Df size;
- uint64_t WINE_XR_ALIGN(8) meshBufferId;
- XrBool32 supportsIndicesUint16;
+ XrPosef pose;
+ XrFovf fov;
+ float farDistance;
};
-struct XrSecondaryViewConfigurationFrameStateMSFT
+struct XrSceneMeshVertexBufferMSFT
{
XrStructureType type;
void *next;
- uint32_t viewConfigurationCount;
- XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates;
+ uint32_t vertexCapacityInput;
+ uint32_t vertexCountOutput;
+ XrVector3f *vertices;
};
-struct XrSerializedSceneFragmentDataGetInfoMSFT
+struct XrSceneOrientedBoxBoundMSFT
{
- XrStructureType type;
- const void *next;
- XrUuidMSFT sceneFragmentId;
+ XrPosef pose;
+ XrVector3f extents;
};
-struct XrSwapchainImageD3D11KHR
+struct XrSceneSphereBoundMSFT
{
- XrStructureType type;
- void *next;
- ID3D11Texture2D *texture;
+ XrVector3f center;
+ float radius;
};
-struct XrSwapchainStateBaseHeaderFB
+struct XrSecondaryViewConfigurationFrameStateMSFT
{
XrStructureType type;
void *next;
+ uint32_t viewConfigurationCount;
+ XrSecondaryViewConfigurationStateMSFT *viewConfigurationStates;
};
-struct XrSystemGetInfo
+struct XrSessionCreateInfoOverlayEXTX
{
XrStructureType type;
const void *next;
- XrFormFactor formFactor;
-};
-
-struct XrVector3f
-{
- float x;
- float y;
- float z;
+ XrOverlaySessionCreateFlagsEXTX createFlags;
+ uint32_t sessionLayersPlacement;
};
-struct XrVisibilityMaskKHR
+struct XrSpaceVelocity
{
XrStructureType type;
void *next;
- uint32_t vertexCapacityInput;
- uint32_t vertexCountOutput;
- XrVector2f *vertices;
- uint32_t indexCapacityInput;
- uint32_t indexCountOutput;
- uint32_t *indices;
+ XrSpaceVelocityFlags velocityFlags;
+ XrVector3f linearVelocity;
+ XrVector3f angularVelocity;
};
-struct XrActionsSyncInfo
+struct XrSpatialAnchorPersistenceInfoMSFT
{
XrStructureType type;
const void *next;
- uint32_t countActiveActionSets;
- const XrActiveActionSet *activeActionSets;
+ XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName;
+ XrSpatialAnchorMSFT spatialAnchor;
};
-struct XrCompositionLayerReprojectionPlaneOverrideMSFT
+struct XrSpatialGraphNodeSpaceCreateInfoMSFT
{
XrStructureType type;
const void *next;
- XrVector3f position;
- XrVector3f normal;
- XrVector3f velocity;
+ XrSpatialGraphNodeTypeMSFT nodeType;
+ uint8_t nodeId[16];
+ XrPosef pose;
};
-struct XrEventDataBaseHeader
+struct XrSwapchainStateSamplerVulkanFB
{
XrStructureType type;
- const void *next;
-};
-
-struct XrFovf
-{
- float angleLeft;
- float angleRight;
- float angleUp;
- float angleDown;
+ void *next;
+ VkFilter minFilter;
+ VkFilter magFilter;
+ VkSamplerMipmapMode mipmapMode;
+ VkSamplerAddressMode wrapModeS;
+ VkSamplerAddressMode wrapModeT;
+ VkComponentSwizzle swizzleRed;
+ VkComponentSwizzle swizzleGreen;
+ VkComponentSwizzle swizzleBlue;
+ VkComponentSwizzle swizzleAlpha;
+ float maxAnisotropy;
+ XrColor4f borderColor;
};
-struct XrGraphicsRequirementsVulkanKHR
+struct XrSystemHandTrackingMeshPropertiesMSFT
{
XrStructureType type;
void *next;
- XrVersion minApiVersionSupported;
- XrVersion maxApiVersionSupported;
-};
-
-struct XrHandJointVelocityEXT
-{
- XrSpaceVelocityFlags velocityFlags;
- XrVector3f linearVelocity;
- XrVector3f angularVelocity;
-};
-
-struct XrHandMeshVertexMSFT
-{
- XrVector3f position;
- XrVector3f normal;
-};
-
-struct XrPosef
-{
- XrQuaternionf orientation;
- XrVector3f position;
-};
-
-struct XrSceneComponentLocationMSFT
-{
- XrSpaceLocationFlags flags;
- XrPosef pose;
+ XrBool32 supportsHandTrackingMesh;
+ uint32_t maxHandMeshIndexCount;
+ uint32_t maxHandMeshVertexCount;
};
-struct XrSceneComponentParentFilterInfoMSFT
+struct XrView
{
XrStructureType type;
- const void *next;
- XrUuidMSFT parentId;
-};
-
-struct XrSceneFrustumBoundMSFT
-{
+ void *next;
XrPosef pose;
XrFovf fov;
- float farDistance;
-};
-
-struct XrSceneOrientedBoxBoundMSFT
-{
- XrPosef pose;
- XrVector3f extents;
};
-struct XrSceneSphereBoundMSFT
-{
- XrVector3f center;
- float radius;
-};
-
-struct XrSessionCreateInfoOverlayEXTX
-{
- XrStructureType type;
- const void *next;
- XrOverlaySessionCreateFlagsEXTX createFlags;
- uint32_t sessionLayersPlacement;
-};
-
-struct XrSpaceVelocity
+struct XrVisibilityMaskKHR
{
XrStructureType type;
void *next;
- XrSpaceVelocityFlags velocityFlags;
- XrVector3f linearVelocity;
- XrVector3f angularVelocity;
+ uint32_t vertexCapacityInput;
+ uint32_t vertexCountOutput;
+ XrVector2f *vertices;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint32_t *indices;
};
-struct XrSpatialAnchorSpaceCreateInfoMSFT
+struct XrActionSpaceCreateInfo
{
XrStructureType type;
const void *next;
- XrSpatialAnchorMSFT anchor;
- XrPosef poseInAnchorSpace;
+ XrAction action;
+ XrPath subactionPath;
+ XrPosef poseInActionSpace;
};
-struct XrSwapchainImageReleaseInfo
+struct XrBindingModificationsKHR
{
XrStructureType type;
const void *next;
+ uint32_t bindingModificationCount;
+ const XrBindingModificationBaseHeaderKHR * const*bindingModifications;
};
-struct XrSystemProperties
+struct XrCompositionLayerCylinderKHR
{
XrStructureType type;
- void *next;
- XrSystemId systemId;
- uint32_t vendorId;
- char systemName[XR_MAX_SYSTEM_NAME_SIZE];
- XrSystemGraphicsProperties graphicsProperties;
- XrSystemTrackingProperties trackingProperties;
+ const void *next;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ XrEyeVisibility eyeVisibility;
+ XrSwapchainSubImage subImage;
+ XrPosef pose;
+ float radius;
+ float centralAngle;
+ float aspectRatio;
};
-struct XrViewConfigurationViewFovEPIC
+struct XrCompositionLayerEquirectKHR
{
XrStructureType type;
const void *next;
- XrFovf recommendedFov;
- XrFovf maxMutableFov;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ XrEyeVisibility eyeVisibility;
+ XrSwapchainSubImage subImage;
+ XrPosef pose;
+ float radius;
+ XrVector2f scale;
+ XrVector2f bias;
};
-struct XrActionSpaceCreateInfo
+struct XrCompositionLayerProjectionView
{
XrStructureType type;
const void *next;
- XrAction action;
- XrPath subactionPath;
- XrPosef poseInActionSpace;
+ XrPosef pose;
+ XrFovf fov;
+ XrSwapchainSubImage subImage;
};
struct XrControllerModelNodeStateMSFT
@@ -2179,22 +2271,27 @@ struct XrControllerModelNodeStateMSFT
XrPosef nodePose;
};
-struct XrEventDataReferenceSpaceChangePending
+struct XrEventDataBaseHeader
{
XrStructureType type;
const void *next;
- XrSession session;
- XrReferenceSpaceType referenceSpaceType;
- XrTime changeTime;
- XrBool32 poseValid;
- XrPosef poseInPreviousSpace;
};
-struct XrHandJointLocationEXT
+struct XrFoveationLevelProfileCreateInfoFB
{
- XrSpaceLocationFlags locationFlags;
- XrPosef pose;
- float radius;
+ XrStructureType type;
+ void *next;
+ XrFoveationLevelFB level;
+ float verticalOffset;
+ XrFoveationDynamicFB dynamic;
+};
+
+struct XrGraphicsRequirementsOpenGLKHR
+{
+ XrStructureType type;
+ void *next;
+ XrVersion minApiVersionSupported;
+ XrVersion maxApiVersionSupported;
};
struct XrHandJointVelocitiesEXT
@@ -2213,24 +2310,16 @@ struct XrHandMeshSpaceCreateInfoMSFT
XrPosef poseInHandMeshSpace;
};
-struct XrInstanceCreateInfo
+struct XrHapticBaseHeader
{
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
+struct XrRect2Df
{
- XrStructureType type;
- const void *next;
- XrReferenceSpaceType referenceSpaceType;
- XrPosef poseInReferenceSpace;
+ XrOffset2Df offset;
+ XrExtent2Df extent;
};
struct XrSceneComponentLocationsMSFT
@@ -2241,36 +2330,59 @@ struct XrSceneComponentLocationsMSFT
XrSceneComponentLocationMSFT *locations;
};
-struct XrSceneMeshVertexBufferMSFT
+struct XrSceneMeshIndicesUint32MSFT
{
XrStructureType type;
void *next;
- uint32_t vertexCapacityInput;
- uint32_t vertexCountOutput;
- XrVector3f *vertices;
+ uint32_t indexCapacityInput;
+ uint32_t indexCountOutput;
+ uint32_t *indices;
};
-struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT
+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 XrSpatialAnchorCreateInfoMSFT
+struct XrSpaceLocation
{
XrStructureType type;
- const void *next;
- XrSpace space;
+ void *next;
+ XrSpaceLocationFlags locationFlags;
XrPosef pose;
- XrTime time;
};
-struct XrSwapchainSubImage
+struct XrSpatialAnchorSpaceCreateInfoMSFT
{
- XrSwapchain swapchain;
- XrRect2Di imageRect;
- uint32_t imageArrayIndex;
+ 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
@@ -2284,26 +2396,15 @@ struct XrVulkanInstanceCreateInfoKHR
const VkAllocationCallbacks *vulkanAllocator;
};
-struct XrBindingModificationsKHR
-{
- XrStructureType type;
- const void *next;
- uint32_t bindingModificationCount;
- const XrBindingModificationBaseHeaderKHR * const*bindingModifications;
-};
-
-struct XrCompositionLayerDepthInfoKHR
+struct XrActionsSyncInfo
{
XrStructureType type;
const void *next;
- XrSwapchainSubImage subImage;
- float minDepth;
- float maxDepth;
- float nearZ;
- float farZ;
+ uint32_t countActiveActionSets;
+ const XrActiveActionSet *activeActionSets;
};
-struct XrCompositionLayerEquirectKHR
+struct XrCompositionLayerEquirect2KHR
{
XrStructureType type;
const void *next;
@@ -2313,35 +2414,39 @@ struct XrCompositionLayerEquirectKHR
XrSwapchainSubImage subImage;
XrPosef pose;
float radius;
- XrVector2f scale;
- XrVector2f bias;
+ float centralHorizontalAngle;
+ float upperVerticalAngle;
+ float lowerVerticalAngle;
};
-struct XrCompositionLayerProjectionView
+struct XrCompositionLayerQuad
{
XrStructureType type;
const void *next;
- XrPosef pose;
- XrFovf fov;
+ XrCompositionLayerFlags layerFlags;
+ XrSpace space;
+ XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
+ XrPosef pose;
+ XrExtent2Df size;
};
-struct XrControllerModelStateMSFT
+struct XrEventDataReferenceSpaceChangePending
{
XrStructureType type;
- void *next;
- uint32_t nodeCapacityInput;
- uint32_t nodeCountOutput;
- XrControllerModelNodeStateMSFT *nodeStates;
+ const void *next;
+ XrSession session;
+ XrReferenceSpaceType referenceSpaceType;
+ XrTime changeTime;
+ XrBool32 poseValid;
+ XrPosef poseInPreviousSpace;
};
-struct XrHandJointLocationsEXT
+struct XrHandJointLocationEXT
{
- XrStructureType type;
- void *next;
- XrBool32 isActive;
- uint32_t jointCount;
- XrHandJointLocationEXT *jointLocations;
+ XrSpaceLocationFlags locationFlags;
+ XrPosef pose;
+ float radius;
};
struct XrHandMeshVertexBufferMSFT
@@ -2364,86 +2469,127 @@ struct XrSceneBoundsMSFT
const XrSceneFrustumBoundMSFT *frustums;
};
-struct XrScenePlanesMSFT
+struct XrSceneComponentParentFilterInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrUuidMSFT parentId;
+};
+
+struct XrSceneObjectsMSFT
{
XrStructureType type;
void *next;
- uint32_t scenePlaneCount;
- XrScenePlaneMSFT *scenePlanes;
+ uint32_t sceneObjectCount;
+ XrSceneObjectMSFT *sceneObjects;
};
-struct XrSpatialGraphNodeSpaceCreateInfoMSFT
+struct XrSecondaryViewConfigurationFrameEndInfoMSFT
{
XrStructureType type;
const void *next;
- XrSpatialGraphNodeTypeMSFT nodeType;
- uint8_t nodeId[16];
- XrPosef pose;
+ uint32_t viewConfigurationCount;
+ const XrSecondaryViewConfigurationLayerInfoMSFT *viewConfigurationLayersInfo;
};
-struct XrCompositionLayerCylinderKHR
+struct XrSpatialAnchorCreateInfoMSFT
{
XrStructureType type;
const void *next;
- XrCompositionLayerFlags layerFlags;
XrSpace space;
- XrEyeVisibility eyeVisibility;
- XrSwapchainSubImage subImage;
XrPosef pose;
- float radius;
- float centralAngle;
- float aspectRatio;
+ XrTime time;
};
-struct XrCompositionLayerProjection
+struct XrSystemEyeGazeInteractionPropertiesEXT
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 supportsEyeGazeInteraction;
+};
+
+struct XrCompositionLayerCubeKHR
{
XrStructureType type;
const void *next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
- uint32_t viewCount;
- const XrCompositionLayerProjectionView *views;
+ XrEyeVisibility eyeVisibility;
+ XrSwapchain swapchain;
+ uint32_t imageArrayIndex;
+ XrQuaternionf orientation;
};
-struct XrGraphicsBindingOpenGLWin32KHR
+struct XrControllerModelStateMSFT
{
XrStructureType type;
- const void *next;
- HDC hDC;
- HGLRC hGLRC;
+ void *next;
+ uint32_t nodeCapacityInput;
+ uint32_t nodeCountOutput;
+ XrControllerModelNodeStateMSFT *nodeStates;
};
-struct XrNewSceneComputeInfoMSFT
+struct XrHandJointLocationsEXT
+{
+ XrStructureType type;
+ void *next;
+ XrBool32 isActive;
+ uint32_t jointCount;
+ XrHandJointLocationEXT *jointLocations;
+};
+
+struct XrInteractionProfileAnalogThresholdVALVE
{
XrStructureType type;
const void *next;
- uint32_t requestedFeatureCount;
- const XrSceneComputeFeatureMSFT *requestedFeatures;
- XrSceneComputeConsistencyMSFT consistency;
- XrSceneBoundsMSFT bounds;
+ XrAction action;
+ XrPath binding;
+ float onThreshold;
+ float offThreshold;
+ const XrHapticBaseHeader *onHaptic;
+ const XrHapticBaseHeader *offHaptic;
};
-struct XrSpaceLocation
+struct XrSceneComponentMSFT
+{
+ XrSceneComponentTypeMSFT componentType;
+ XrUuidMSFT id;
+ XrUuidMSFT parentId;
+ XrTime updateTime;
+};
+
+struct XrSceneComponentsMSFT
{
XrStructureType type;
void *next;
- XrSpaceLocationFlags locationFlags;
- XrPosef pose;
+ uint32_t componentCapacityInput;
+ uint32_t componentCountOutput;
+ XrSceneComponentMSFT *components;
};
-struct XrCompositionLayerEquirect2KHR
+struct XrSerializedSceneFragmentDataGetInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrUuidMSFT sceneFragmentId;
+};
+
+struct XrViewConfigurationViewFovEPIC
+{
+ XrStructureType type;
+ const void *next;
+ XrFovf recommendedFov;
+ XrFovf maxMutableFov;
+};
+
+struct XrCompositionLayerProjection
{
XrStructureType type;
const void *next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
- XrEyeVisibility eyeVisibility;
- XrSwapchainSubImage subImage;
- XrPosef pose;
- float radius;
- float centralHorizontalAngle;
- float upperVerticalAngle;
- float lowerVerticalAngle;
+ uint32_t viewCount;
+ const XrCompositionLayerProjectionView *views;
};
struct XrHandMeshMSFT
@@ -2457,33 +2603,46 @@ struct XrHandMeshMSFT
XrHandMeshVertexBufferMSFT vertexBuffer;
};
-struct XrView
+struct XrSceneComponentsLocateInfoMSFT
+{
+ XrStructureType type;
+ const void *next;
+ XrSpace baseSpace;
+ XrTime time;
+ uint32_t componentIdCount;
+ const XrUuidMSFT *componentIds;
+};
+
+struct XrSwapchainImageBaseHeader
{
XrStructureType type;
void *next;
- XrPosef pose;
- XrFovf fov;
};
-struct XrCompositionLayerQuad
+struct XrGraphicsBindingD3D12KHR
{
XrStructureType type;
const void *next;
- XrCompositionLayerFlags layerFlags;
- XrSpace space;
- XrEyeVisibility eyeVisibility;
- XrSwapchainSubImage subImage;
- XrPosef pose;
- XrExtent2Df size;
+ ID3D12Device *device;
+ ID3D12CommandQueue *queue;
};
-struct XrSceneComponentsMSFT
+struct XrScenePlanesMSFT
{
XrStructureType type;
void *next;
- uint32_t componentCapacityInput;
- uint32_t componentCountOutput;
- XrSceneComponentMSFT *components;
+ 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 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xml>
+<?xml-model href="registry.rnc" type="application/relax-ng-compact-syntax"?>
+<?xml-model href="registry.sch" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<registry>
<comment>
Copyright (c) 2017-2021, The Khronos Group Inc.
@@ -48,6 +51,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<tag name="STARBREEZE" author="Starbreeze" contact="David Srour @dsrour"/>
<tag name="TOBII" author="Tobii" contact="Denny Rönngren @denron"/>
<tag name="ULTRALEAP" author="Ultraleap" contact="Robert Blenkinsopp @rblenkinsopp"/>
+ <tag name="UNITY" author="Unity Technologies" contact="Jack Pritz @jackpritz, Peter Kuhn @peterunity"/>
<tag name="VALVE" author="Valve" contact="Joe Ludwig @JoeLudwig"/>
<tag name="VARJO" author="Varjo" contact="Sergiy Dubovik @dubik, Rémi Arnaud @VarjoRemi"/>
</tags>
@@ -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.
-->
<type category="define">// OpenXR current version number.
-#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 17)</type>
+#define <name>XR_CURRENT_API_VERSION</name> <type>XR_MAKE_VERSION</type>(1, 0, 18)</type>
<!--
NOTE: For avoidance of ambiguity, there should only be 1 <name> tag immediately in
@@ -251,6 +255,16 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<!-- Bitmask types for XR_FB_android_surface_swapchain_create -->
<type bitvalues="XrAndroidSurfaceSwapchainFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrAndroidSurfaceSwapchainFlagsFB</name>;</type>
+ <!-- Bitmask types for XR_FB_composition_layer_image_layout -->
+ <type bitvalues="XrCompositionLayerImageLayoutFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrCompositionLayerImageLayoutFlagsFB</name>;</type>
+
+ <!-- Bitmask types for XR_FB_composition_layer_secure_content -->
+ <type bitvalues="XrCompositionLayerSecureContentFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrCompositionLayerSecureContentFlagsFB</name>;</type>
+
+ <!-- Bitmask types for XR_FB_foveation -->
+ <type bitvalues="XrSwapchainCreateFoveationFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrSwapchainCreateFoveationFlagsFB</name>;</type>
+ <type bitvalues="XrSwapchainStateFoveationFlagBitsFB" category="bitmask">typedef <type>XrFlags64</type> <name>XrSwapchainStateFoveationFlagsFB</name>;</type>
+
<!-- Handles referring to internally-maintained objects. -->
<!-- These types which can be 64-bit integers or opaque pointers, selected at compile time based on pointer size -->
<type category="handle"><type>XR_DEFINE_HANDLE</type>(<name>XrInstance</name>)</type>
@@ -261,9 +275,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<type category="handle" parent="XrSession"><type>XR_DEFINE_HANDLE</type>(<name>XrSpace</name>)</type>
<type category="handle" parent="XrInstance"><type>XR_DEFINE_HANDLE</type>(<name>XrDebugUtilsMessengerEXT</name>)</type>
<type category="handle" parent="XrSession"><type>XR_DEFINE_HANDLE</type>(<name>XrSpatialAnchorMSFT</name>)</type>
+
<!-- XR_EXT_hand_tracking -->
<type category="handle" parent="XrSession"><type>XR_DEFINE_HANDLE</type>(<name>XrHandTrackerEXT</name>)</type>
+ <!-- XR_FB_foveation -->
+ <type category="handle" parent="XrSession"><type>XR_DEFINE_HANDLE</type>(<name>XrFoveationProfileFB</name>)</type>
+
<!-- enums and flag bits generated from corresponding <enums> tags below -->
<type name="XrStructureType" category="enum"/>
<type name="XrResult" category="enum"/>
@@ -308,9 +326,22 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<!-- enums for XR_MSFT_spatial_graph_bridge -->
<type name="XrSpatialGraphNodeTypeMSFT" category="enum"/>
- <!-- enums and flag bits for XR_FB_android_surface_swapchain_create -->
+ <!-- enums for XR_FB_android_surface_swapchain_create -->
<type name="XrAndroidSurfaceSwapchainFlagBitsFB" category="enum"/>
+ <!-- enums for XR_FB_composition_layer_image_layout -->
+ <type name="XrCompositionLayerImageLayoutFlagBitsFB" category="enum"/>
+
+ <!-- enums for XR_FB_composition_layer_alpha_blend -->
+ <type name="XrBlendFactorFB" category="enum"/>
+
+ <!-- enums for XR_FB_composition_layer_secure_content -->
+ <type name="XrCompositionLayerSecureContentFlagBitsFB" category="enum"/>
+
+ <!-- enums and flag bits for XR_FB_foveation -->
+ <type name="XrSwapchainCreateFoveationFlagBitsFB" category="enum"/>
+ <type name="XrSwapchainStateFoveationFlagBitsFB" category="enum"/>
+
<!-- Struct types -->
<type category="struct" name="XrVector2f">
<member><type>float</type> <name>x</name></member>
@@ -1135,6 +1166,23 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<member><type>XrPosef</type> <name>poseInAnchorSpace</name></member>
</type>
+ <!-- types for XR_FB_composition_layer_image_layout -->
+ <type category="struct" name="XrCompositionLayerImageLayoutFB" structextends="XrCompositionLayerBaseHeader">
+ <member values="XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member optional="true"><type>XrCompositionLayerImageLayoutFlagsFB</type> <name>flags</name></member>
+ </type>
+
+ <!-- types for XR_FB_composition_layer_alpha_blend -->
+ <type category="struct" name="XrCompositionLayerAlphaBlendFB" structextends="XrCompositionLayerBaseHeader">
+ <member values="XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member><type>XrBlendFactorFB</type> <name>srcFactorColor</name></member>
+ <member><type>XrBlendFactorFB</type> <name>dstFactorColor</name></member>
+ <member><type>XrBlendFactorFB</type> <name>srcFactorAlpha</name></member>
+ <member><type>XrBlendFactorFB</type> <name>dstFactorAlpha</name></member>
+ </type>
+
<!-- types for XR_MNDX_egl_enable -->
<type category="struct" name="XrGraphicsBindingEGLMNDX" structextends="XrSessionCreateInfo">
<member values="XR_TYPE_GRAPHICS_BINDING_EGL_MNDX"><type>XrStructureType</type> <name>type</name></member>
@@ -1361,6 +1409,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<member><type>XrColor4f</type> <name>borderColor</name></member>
</type>
+ <!-- XR_FB_composition_layer_secure_content structs -->
+ <type category="struct" name="XrCompositionLayerSecureContentFB" structextends="XrCompositionLayerBaseHeader">
+ <member values="XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member>const <type>void</type>* <name>next</name></member>
+ <member><type>XrCompositionLayerSecureContentFlagsFB</type> <name>flags</name></member>
+ </type>
+
<!-- XR_KHR_loader_init -->
<type category="struct" name="XrLoaderInitInfoBaseHeaderKHR">
<member><type>XrStructureType</type> <name>type</name></member>
@@ -1629,6 +1684,43 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<member><type>XrColorSpaceFB</type> <name>colorSpace</name></member>
</type>
+ <!-- XR_FB_foveation structs -->
+ <type category="struct" name="XrFoveationProfileCreateInfoFB">
+ <member values="XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ </type>
+ <type category="struct" name="XrSwapchainCreateInfoFoveationFB" structextends="XrSwapchainCreateInfo">
+ <member values="XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member optional="true"><type>XrSwapchainCreateFoveationFlagsFB</type> <name>flags</name></member>
+ </type>
+ <type category="struct" name="XrSwapchainStateFoveationFB" parentstruct="XrSwapchainStateBaseHeaderFB">
+ <member values="XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member optional="true"><type>XrSwapchainStateFoveationFlagsFB</type> <name>flags</name></member>
+ <member><type>XrFoveationProfileFB</type> <name>profile</name></member>
+ </type>
+
+ <!-- XR_FB_foveation_vulkan structs -->
+ <type category="struct" name="XrSwapchainImageFoveationVulkanFB" structextends="XrSwapchainImageVulkanKHR" returnedonly="true">
+ <member values="XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member><type>VkImage</type> <name>image</name></member>
+ <member><type>uint32_t</type> <name>width</name></member>
+ <member><type>uint32_t</type> <name>height</name></member>
+ </type>
+
+ <!-- XR_FB_foveation_configuration structs -->
+ <type name="XrFoveationLevelFB" category="enum"/>
+ <type name="XrFoveationDynamicFB" category="enum"/>
+ <type category="struct" name="XrFoveationLevelProfileCreateInfoFB" structextends="XrFoveationProfileCreateInfoFB">
+ <member values="XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB"><type>XrStructureType</type> <name>type</name></member>
+ <member><type>void</type>* <name>next</name></member>
+ <member><type>XrFoveationLevelFB</type> <name>level</name></member>
+ <member><type>float</type> <name>verticalOffset</name></member>
+ <member><type>XrFoveationDynamicFB</type> <name>dynamic</name></member>
+ </type>
+
<!-- XR_VARJO_composition_layer_depth_test -->
<type category="struct" name="XrCompositionLayerDepthTestVARJO" structextends="XrCompositionLayerProjection">
<member values="XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO"><type>XrStructureType</type> <name>type</name></member>
@@ -1671,6 +1763,25 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<member><type>XrVector3f</type> <name>velocity</name></member>
</type>
+ <!-- XR_MSFT_spatial_anchor_persistence -->
+ <type category="handle" parent="XrSession"><type>XR_DEFINE_HANDLE</type>(<name>XrSpatialAnchorStoreConnectionMSFT</name>)</type>
+
+ <type category="struct" name="XrSpatialAnchorPersistenceNameMSFT">
+ <member><type>char</type> <name>name</name>[<enum>XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT</enum>]</member>
+ </type>
+ <type category="struct" name="XrSpatialAnchorPersistenceInfoMSFT">
+ <member values="XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT"><type>XrStructureType</type> <name>type</name></member>
+ <member>const <type>void</type>* <name>next</name></member>
+ <member><type>XrSpatialAnchorPersistenceNameMSFT</type> <name>spatialAnchorPersistenceName</name></member>
+ <member><type>XrSpatialAnchorMSFT</type> <name>spatialAnchor</name></member>
+ </type>
+ <type category="struct" name="XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT">
+ <member values="XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT"><type>XrStructureType</type> <name>type</name></member>
+ <member>const <type>void</type>* <name>next</name></member>
+ <member><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></member>
+ <member><type>XrSpatialAnchorPersistenceNameMSFT</type> <name>spatialAnchorPersistenceName</name></member>
+ </type>
+
</types>
<!-- SECTION: OpenXR enumerant (token) definitions. -->
@@ -1982,6 +2093,16 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<enum value="7" name="XR_COLOR_SPACE_ADOBE_RGB_FB"/>
</enums>
+ <!-- XR_FB_composition_layer_alpha_blend -->
+ <enums name="XrBlendFactorFB" type="enum">
+ <enum value="0" name="XR_BLEND_FACTOR_ZERO_FB"/>
+ <enum value="1" name="XR_BLEND_FACTOR_ONE_FB"/>
+ <enum value="2" name="XR_BLEND_FACTOR_SRC_ALPHA_FB"/>
+ <enum value="3" name="XR_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA_FB"/>
+ <enum value="4" name="XR_BLEND_FACTOR_DST_ALPHA_FB"/>
+ <enum value="5" name="XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB"/>
+ </enums>
+
<!-- XR_MSFT_composition_layer_reprojection -->
<enums name="XrReprojectionModeMSFT" type="enum">
<enum value="1" name="XR_REPROJECTION_MODE_DEPTH_MSFT"/>
@@ -2126,6 +2247,38 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<enum bitpos="1" name="XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB" comment="Acquire most recent buffer whose presentation timestamp is not greater than display time of final composited frame"/>
</enums>
+ <!-- flags for XR_FB_composition_layer_image_layout -->
+ <enums name="XrCompositionLayerImageLayoutFlagBitsFB" type="bitmask">
+ <enum bitpos="0" name="XR_COMPOSITION_LAYER_IMAGE_LAYOUT_VERTICAL_FLIP_BIT_FB" comment="The coordinate origin of the swapchain image must be considered to be flipped vertically."/>
+ </enums>
+
+ <!-- flags for XR_FB_foveation -->
+ <enums name="XrSwapchainCreateFoveationFlagBitsFB" type="bitmask">
+ <enum bitpos="0" name="XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB" comment="Explicitly create the swapchain with scaled bin foveation support. The application must ensure that the swapchain is using the OpenGL graphics API and that the QCOM_texture_foveated extension is supported and enabled."/>
+ <enum bitpos="1" name="XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB" comment="Explicitly create the swapchain with fragment density map foveation support. The application must ensure that the swapchain is using the Vulkan graphics API and that the VK_EXT_fragment_density_map extension is supported and enabled."/>
+ </enums>
+ <enums name="XrSwapchainStateFoveationFlagBitsFB" type="bitmask">
+ <!-- This is currently empty, awaiting future flags. -->
+ </enums>
+
+ <!-- flags for XR_FB_composition_layer_secure_content -->
+ <enums name="XrCompositionLayerSecureContentFlagBitsFB" type="bitmask">
+ <enum bitpos="0" name="XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB" comment="Indicates the layer will only be visible inside the HMD, and not visible to external sources"/>
+ <enum bitpos="1" name="XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB" comment="Indicates the layer will be displayed inside the HMD, but replaced by proxy content when written to external sources"/>
+ </enums>
+
+ <!-- enums for XR_FB_foveation_configuration -->
+ <enums name="XrFoveationLevelFB" type="enum">
+ <enum value="0" name="XR_FOVEATION_LEVEL_NONE_FB" comment="No foveation"/>
+ <enum value="1" name="XR_FOVEATION_LEVEL_LOW_FB" comment="Less foveation (higher periphery visual fidelity, lower performance)"/>
+ <enum value="2" name="XR_FOVEATION_LEVEL_MEDIUM_FB" comment="Medium foveation (medium periphery visual fidelity, medium performance)"/>
+ <enum value="3" name="XR_FOVEATION_LEVEL_HIGH_FB" comment="High foveation (lower periphery visual fidelity, higher performance)"/>
+ </enums>
+ <enums name="XrFoveationDynamicFB" type="enum">
+ <enum value="0" name="XR_FOVEATION_DYNAMIC_DISABLED_FB" comment="Static foveation at the maximum desired level"/>
+ <enum value="1" name="XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_FB" comment="Dynamic changing foveation based on performance headroom available up to the maximum desired level"/>
+ </enums>
+
<!-- SECTION: OpenXR command definitions -->
<commands>
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_OUT_OF_MEMORY">
@@ -2652,7 +2805,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</command>
<command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_HANDLE_INVALID">
<proto><type>XrResult</type> <name>xrDestroySpatialAnchorMSFT</name></proto>
- <param><type>XrSpatialAnchorMSFT</type> <name>anchor</name></param>
+ <param externsync="true_with_children"><type>XrSpatialAnchorMSFT</type> <name>anchor</name></param>
</command>
<!-- commands for XR_EXT_conformance_automation -->
@@ -2900,6 +3053,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<param>const <type>XrColorSpaceFB</type> <name>colorspace</name></param>
</command>
+ <!-- XR_FB_foveation -->
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_LIMIT_REACHED">
+ <proto><type>XrResult</type> <name>xrCreateFoveationProfileFB</name></proto>
+ <param><type>XrSession</type> <name>session</name></param>
+ <param>const <type>XrFoveationProfileCreateInfoFB</type>* <name>createInfo</name></param>
+ <param><type>XrFoveationProfileFB</type>* <name>profile</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID">
+ <proto><type>XrResult</type> <name>xrDestroyFoveationProfileFB</name></proto>
+ <param externsync="true_with_children"><type>XrFoveationProfileFB</type> <name>profile</name></param>
+ </command>
+
<!-- commands for XR_VARJO_environment_depth_estimation -->
<command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_RUNTIME_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_FEATURE_UNSUPPORTED">
<proto><type>XrResult</type> <name>xrSetEnvironmentDepthEstimationVARJO</name></proto>
@@ -2930,6 +3095,45 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<param><type>XrInstance</type> <name>instance</name></param>
<param><type>wchar_t</type> <name>buffer</name>[<enum>XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS</enum>]</param>
</command>
+
+ <!-- XR_MSFT_spatial_anchor_persistence -->
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_LIMIT_REACHED">
+ <proto><type>XrResult</type> <name>xrCreateSpatialAnchorStoreConnectionMSFT</name></proto>
+ <param><type>XrSession</type> <name>session</name></param>
+ <param><type>XrSpatialAnchorStoreConnectionMSFT</type>* <name>spatialAnchorStore</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_HANDLE_INVALID,XR_ERROR_OUT_OF_MEMORY">
+ <proto><type>XrResult</type> <name>xrDestroySpatialAnchorStoreConnectionMSFT</name></proto>
+ <param externsync="true_with_children"><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT">
+ <proto><type>XrResult</type> <name>xrPersistSpatialAnchorMSFT</name></proto>
+ <param><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></param>
+ <param>const <type>XrSpatialAnchorPersistenceInfoMSFT</type>* <name>spatialAnchorPersistenceInfo</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_SIZE_INSUFFICIENT">
+ <proto><type>XrResult</type> <name>xrEnumeratePersistedSpatialAnchorNamesMSFT</name></proto>
+ <param><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></param>
+ <param optional="true"><type>uint32_t</type> <name>spatialAnchorNamesCapacityInput</name></param>
+ <param optional="true"><type>uint32_t</type>* <name>spatialAnchorNamesCountOutput</name></param>
+ <param optional="true" len="spatialAnchorNamesCapacityInput"><type>XrSpatialAnchorPersistenceNameMSFT</type>* <name>persistedAnchorNames</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_LIMIT_REACHED,XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT,XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT">
+ <proto><type>XrResult</type> <name>xrCreateSpatialAnchorFromPersistedNameMSFT</name></proto>
+ <param><type>XrSession</type> <name>session</name></param>
+ <param>const <type>XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT</type>* <name>spatialAnchorCreateInfo</name></param>
+ <param><type>XrSpatialAnchorMSFT</type>* <name>spatialAnchor</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY,XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT,XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT">
+ <proto><type>XrResult</type> <name>xrUnpersistSpatialAnchorMSFT</name></proto>
+ <param><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></param>
+ <param>const <type>XrSpatialAnchorPersistenceNameMSFT</type>* <name>spatialAnchorPersistenceName</name></param>
+ </command>
+ <command successcodes="XR_SUCCESS,XR_SESSION_LOSS_PENDING" errorcodes="XR_ERROR_FUNCTION_UNSUPPORTED,XR_ERROR_VALIDATION_FAILURE,XR_ERROR_HANDLE_INVALID,XR_ERROR_INSTANCE_LOST,XR_ERROR_SESSION_LOST,XR_ERROR_OUT_OF_MEMORY">
+ <proto><type>XrResult</type> <name>xrClearSpatialAnchorStoreMSFT</name></proto>
+ <param><type>XrSpatialAnchorStoreConnectionMSFT</type> <name>spatialAnchorStore</name></param>
+ </command>
+
</commands>
<!-- SECTION: OpenXR API interface definitions -->
@@ -3090,7 +3294,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<!-- Core-like basic data types, documented in core spec, though currently only used by KHR extensions: -->
- <!-- used in XR_KHR_composition_layer_color_modulation -->
+ <!-- used in XR_KHR_composition_layer_color_scale_bias -->
<type name="XrColor4f"/>
<!-- used in XR_KHR_space bounds -->
<type name="XrExtent2Df"/>
@@ -3452,7 +3656,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<extension name="XR_MSFT_spatial_anchor" number="40" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_MSFT_spatial_anchor_SPEC_VERSION"/>
+ <enum value="2" name="XR_MSFT_spatial_anchor_SPEC_VERSION"/>
<enum value="&quot;XR_MSFT_spatial_anchor&quot;" name="XR_MSFT_SPATIAL_ANCHOR_EXTENSION_NAME"/>
<enum offset="0" extends="XrStructureType" name="XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT"/>
@@ -3465,17 +3669,22 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_OCULUS_extension_41" number="41" type="instance" supported="disabled">
+ <extension name="XR_FB_composition_layer_image_layout" number="41" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_OCULUS_extension_41_SPEC_VERSION"/>
- <enum value="&quot;XR_OCULUS_extension_41&quot;" name="XR_OCULUS_EXTENSION_41_EXTENSION_NAME"/>
+ <enum value="1" name="XR_FB_composition_layer_image_layout_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_composition_layer_image_layout&quot;" name="XR_FB_COMPOSITION_LAYER_IMAGE_LAYOUT_EXTENSION_NAME"/>
+ <type name="XrCompositionLayerImageLayoutFB"/>
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB"/>
</require>
</extension>
- <extension name="XR_OCULUS_extension_42" number="42" type="instance" supported="disabled">
+ <extension name="XR_FB_composition_layer_alpha_blend" number="42" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_OCULUS_extension_42_SPEC_VERSION"/>
- <enum value="&quot;XR_OCULUS_extension_42&quot;" name="XR_OCULUS_EXTENSION_42_EXTENSION_NAME"/>
+ <enum value="2" name="XR_FB_composition_layer_alpha_blend_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_composition_layer_alpha_blend&quot;" name="XR_FB_COMPOSITION_LAYER_ALPHA_BLEND_EXTENSION_NAME"/>
+ <type name="XrBlendFactorFB"/>
+ <type name="XrCompositionLayerAlphaBlendFB"/>
+ <enum offset="1" extends="XrStructureType" name="XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB"/>
</require>
</extension>
@@ -3797,10 +4006,13 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_FB_extension_73" number="73" type="instance" supported="disabled">
+ <extension name="XR_FB_composition_layer_secure_content" number="73" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_FB_extension_73_SPEC_VERSION"/>
- <enum value="&quot;XR_FB_extension_73&quot;" name="XR_FB_extension_73_EXTENSION_NAME"/>
+ <enum value="1" name="XR_FB_composition_layer_secure_content_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_composition_layer_secure_content&quot;" name="XR_FB_COMPOSITION_LAYER_SECURE_CONTENT_EXTENSION_NAME"/>
+
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB"/>
+ <type name="XrCompositionLayerSecureContentFB"/>
</require>
</extension>
@@ -3994,11 +4206,11 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_MND_swapchain_usage_input_attachment_bit" number="97" type="instance" supported="openxr">
+ <extension name="XR_MND_swapchain_usage_input_attachment_bit" number="97" type="instance" supported="openxr" promotedto="XR_KHR_swapchain_usage_input_attachment_bit">
<require>
<enum value="2" name="XR_MND_swapchain_usage_input_attachment_bit_SPEC_VERSION"/>
<enum value="&quot;XR_MND_swapchain_usage_input_attachment_bit&quot;" name="XR_MND_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME"/>
- <!-- NOTE: This was added before the working group established a process. Future vendor extensions MUST NOT extend core bitmasks. -->
+ <!-- NOTE: This was added before the working group established a process, and has been normalized by promotion to KHR. Future vendor extensions MUST NOT extend core bitmasks. -->
<enum bitpos="7" extends="XrSwapchainUsageFlagBits" name="XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND" comment="Specifies that the image may: be used as a input attachment."/>
</require>
</extension>
@@ -4222,17 +4434,36 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_FB_extension_115" number="115" type="instance" supported="disabled">
+ <extension name="XR_FB_foveation" number="115" type="instance" requires="XR_FB_swapchain_update_state" supported="openxr">
<require>
- <enum value="1" name="XR_FB_extension_115_SPEC_VERSION"/>
- <enum value="&quot;XR_FB_extension_115&quot;" name="XR_FB_extension_115_EXTENSION_NAME"/>
+ <enum value="1" name="XR_FB_foveation_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_foveation&quot;" name="XR_FB_FOVEATION_EXTENSION_NAME"/>
+
+ <enum offset="0" extends="XrObjectType" name="XR_OBJECT_TYPE_FOVEATION_PROFILE_FB" comment="XrFoveationProfileFB"/>
+
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB"/>
+ <enum offset="1" extends="XrStructureType" name="XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB"/>
+ <enum offset="2" extends="XrStructureType" name="XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB"/>
+
+ <type name="XrFoveationProfileCreateInfoFB"/>
+ <type name="XrSwapchainCreateInfoFoveationFB"/>
+ <type name="XrSwapchainStateFoveationFB"/>
+
+ <command name="xrCreateFoveationProfileFB"/>
+ <command name="xrDestroyFoveationProfileFB"/>
</require>
</extension>
- <extension name="XR_FB_extension_116" number="116" type="instance" supported="disabled">
+ <extension name="XR_FB_foveation_configuration" number="116" type="instance" requires="XR_FB_foveation" supported="openxr">
<require>
- <enum value="1" name="XR_FB_extension_116_SPEC_VERSION"/>
- <enum value="&quot;XR_FB_extension_116&quot;" name="XR_FB_extension_116_EXTENSION_NAME"/>
+ <enum value="1" name="XR_FB_foveation_configuration_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_foveation_configuration&quot;" name="XR_FB_FOVEATION_CONFIGURATION_EXTENSION_NAME"/>
+
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB"/>
+
+ <type name="XrFoveationLevelFB"/>
+ <type name="XrFoveationDynamicFB"/>
+ <type name="XrFoveationLevelProfileCreateInfoFB"/>
</require>
</extension>
@@ -4276,7 +4507,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<extension name="XR_VARJO_foveated_rendering" number="122" type="instance" requires="XR_VARJO_quad_views" supported="openxr">
<require>
- <enum value="1" name="XR_VARJO_foveated_rendering_SPEC_VERSION"/>
+ <enum value="2" name="XR_VARJO_foveated_rendering_SPEC_VERSION"/>
<enum value="&quot;XR_VARJO_foveated_rendering&quot;" name="XR_VARJO_FOVEATED_RENDERING_EXTENSION_NAME"/>
<enum offset="0" extends="XrStructureType" name="XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO"/>
<enum offset="1" extends="XrStructureType" name="XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO"/>
@@ -4292,7 +4523,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
<extension name="XR_VARJO_composition_layer_depth_test" number="123" type="instance" requires="XR_KHR_composition_layer_depth" supported="openxr">
<require>
- <enum value="1" name="XR_VARJO_composition_layer_depth_test_SPEC_VERSION"/>
+ <enum value="2" name="XR_VARJO_composition_layer_depth_test_SPEC_VERSION"/>
<enum value="&quot;XR_VARJO_composition_layer_depth_test&quot;" name="XR_VARJO_COMPOSITION_LAYER_DEPTH_TEST_EXTENSION_NAME"/>
<enum offset="0" extends="XrStructureType" name="XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO"/>
<type name="XrCompositionLayerDepthTestVARJO"/>
@@ -4433,13 +4664,35 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_MSFT_extension_143" number="143" type="instance" supported="disabled">
+ <extension name="XR_MSFT_spatial_anchor_persistence" number="143" requires="XR_MSFT_spatial_anchor" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_MSFT_extension_143_SPEC_VERSION"/>
- <enum value="&quot;XR_MSFT_extension_143&quot;" name="XR_MSFT_extension_143_EXTENSION_NAME"/>
+ <enum value="2" name="XR_MSFT_spatial_anchor_persistence_SPEC_VERSION"/>
+ <enum value="&quot;XR_MSFT_spatial_anchor_persistence&quot;" name="XR_MSFT_SPATIAL_ANCHOR_PERSISTENCE_EXTENSION_NAME"/>
+
+ <type name="XrSpatialAnchorStoreConnectionMSFT"/>
+ <type name="XrSpatialAnchorPersistenceNameMSFT"/>
+ <type name="XrSpatialAnchorPersistenceInfoMSFT"/>
+ <type name="XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT"/>
+
+ <command name="xrCreateSpatialAnchorStoreConnectionMSFT"/>
+ <command name="xrDestroySpatialAnchorStoreConnectionMSFT"/>
+ <command name="xrPersistSpatialAnchorMSFT"/>
+ <command name="xrEnumeratePersistedSpatialAnchorNamesMSFT"/>
+ <command name="xrCreateSpatialAnchorFromPersistedNameMSFT"/>
+ <command name="xrUnpersistSpatialAnchorMSFT"/>
+ <command name="xrClearSpatialAnchorStoreMSFT"/>
+
+ <enum offset="0" extends="XrObjectType" name="XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT" comment="XrSpatialAnchorStoreConnectionMSFT"/>
+
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT"/>
+ <enum offset="1" extends="XrStructureType" name="XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT"/>
+
+ <enum offset="1" dir="-" extends="XrResult" name="XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT" comment="A spatial anchor was not found associated with the spatial anchor name provided"/>
+ <enum offset="2" dir="-" extends="XrResult" name="XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT" comment="The spatial anchor name provided was not valid"/>
+
+ <enum value="256" name="XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT"/>
</require>
</extension>
-
<extension name="XR_MSFT_extension_144" number="144" type="instance" supported="disabled">
<require>
<enum value="1" name="XR_MSFT_extension_144_SPEC_VERSION"/>
@@ -4562,14 +4815,18 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_FB_extension_161" number="161" type="instance" supported="disabled">
+ <extension name="XR_FB_foveation_vulkan" number="161" type="instance" requires="XR_FB_foveation" protect="XR_USE_GRAPHICS_API_VULKAN" supported="openxr">
<require>
- <enum value="1" name="XR_FB_extension_161_SPEC_VERSION"/>
- <enum value="&quot;XR_FB_extension_161&quot;" name="XR_FB_extension_161_EXTENSION_NAME"/>
+ <enum value="1" name="XR_FB_foveation_vulkan_SPEC_VERSION"/>
+ <enum value="&quot;XR_FB_foveation_vulkan&quot;" name="XR_FB_FOVEATION_VULKAN_EXTENSION_NAME"/>
+
+ <enum offset="0" extends="XrStructureType" name="XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB"/>
+
+ <type name="XrSwapchainImageFoveationVulkanFB"/>
</require>
</extension>
- <extension name="XR_FB_swapchain_update_state_android_surface" number="162" type="instance" supported="openxr" protect="XR_USE_PLATFORM_ANDROID" requires="XR_FB_swapchain_update_state">
+ <extension name="XR_FB_swapchain_update_state_android_surface" number="162" type="instance" supported="openxr" protect="XR_USE_PLATFORM_ANDROID" requires="XR_KHR_android_surface_swapchain,XR_FB_swapchain_update_state">
<require>
<enum value="1" name="XR_FB_swapchain_update_state_android_surface_SPEC_VERSION"/>
<enum value="&quot;XR_FB_swapchain_update_state_android_surface&quot;" name="XR_FB_SWAPCHAIN_UPDATE_STATE_ANDROID_SURFACE_EXTENSION_NAME"/>
@@ -4578,7 +4835,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_FB_swapchain_update_state_opengl_es" number="163" type="instance" supported="openxr" protect="XR_USE_GRAPHICS_API_OPENGL_ES" requires="XR_FB_swapchain_update_state">
+ <extension name="XR_FB_swapchain_update_state_opengl_es" number="163" type="instance" supported="openxr" protect="XR_USE_GRAPHICS_API_OPENGL_ES" requires="XR_KHR_opengl_es_enable,XR_FB_swapchain_update_state">
<require>
<enum value="1" name="XR_FB_swapchain_update_state_opengl_es_SPEC_VERSION"/>
<enum value="&quot;XR_FB_swapchain_update_state_opengl_es&quot;" name="XR_FB_SWAPCHAIN_UPDATE_STATE_OPENGL_ES_EXTENSION_NAME"/>
@@ -4587,7 +4844,7 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_FB_swapchain_update_state_vulkan" number="164" type="instance" supported="openxr" protect="XR_USE_GRAPHICS_API_VULKAN" requires="XR_FB_swapchain_update_state">
+ <extension name="XR_FB_swapchain_update_state_vulkan" number="164" type="instance" supported="openxr" protect="XR_USE_GRAPHICS_API_VULKAN" requires="XR_KHR_vulkan_enable,XR_FB_swapchain_update_state">
<require>
<enum value="1" name="XR_FB_swapchain_update_state_vulkan_SPEC_VERSION"/>
<enum value="&quot;XR_FB_swapchain_update_state_vulkan&quot;" name="XR_FB_SWAPCHAIN_UPDATE_STATE_VULKAN_EXTENSION_NAME"/>
@@ -4603,10 +4860,11 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
- <extension name="XR_KHR_extension_166" number="166" type="instance" supported="disabled">
+ <extension name="XR_KHR_swapchain_usage_input_attachment_bit" number="166" type="instance" supported="openxr">
<require>
- <enum value="1" name="XR_KHR_extension_166_SPEC_VERSION"/>
- <enum value="&quot;XR_KHR_extension_166&quot;" name="XR_KHR_extension_166_EXTENSION_NAME"/>
+ <enum value="3" name="XR_KHR_swapchain_usage_input_attachment_bit_SPEC_VERSION"/>
+ <enum value="&quot;XR_KHR_swapchain_usage_input_attachment_bit&quot;" name="XR_KHR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_EXTENSION_NAME"/>
+ <enum extends="XrSwapchainUsageFlagBits" name="XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR" alias="XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND" comment="Specifies that the image may: be used as a input attachment."/>
</require>
</extension>
@@ -4680,6 +4938,146 @@ maintained in the default branch of the Khronos OpenXR GitHub project.
</require>
</extension>
+ <extension name="XR_UNITY_hand_model_pose" number="177" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_hand_model_pose_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_hand_model_pose&quot;" name="XR_UNITY_HAND_MODEL_POSE_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_178" number="178" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_178_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_178&quot;" name="XR_UNITY_EXTENSION_178_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_179" number="179" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_179_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_179&quot;" name="XR_UNITY_EXTENSION_179_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_180" number="180" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_180_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_180&quot;" name="XR_UNITY_EXTENSION_180_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_181" number="181" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_181_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_181&quot;" name="XR_UNITY_EXTENSION_181_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_182" number="182" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_182_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_182&quot;" name="XR_UNITY_EXTENSION_182_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_183" number="183" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_183_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_183&quot;" name="XR_UNITY_EXTENSION_183_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_184" number="184" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_184_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_184&quot;" name="XR_UNITY_EXTENSION_184_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_185" number="185" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_185_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_185&quot;" name="XR_UNITY_EXTENSION_185_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_UNITY_extension_186" number="186" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_UNITY_extension_186_SPEC_VERSION"/>
+ <enum value="&quot;XR_UNITY_extension_186&quot;" name="XR_UNITY_EXTENSION_186_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_187" number="187" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_187_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_187&quot;" name="XR_LIV_EXTENSION_187_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_188" number="188" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_188_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_188&quot;" name="XR_LIV_EXTENSION_188_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_189" number="189" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_189_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_189&quot;" name="XR_LIV_EXTENSION_189_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_190" number="190" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_190_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_190&quot;" name="XR_LIV_EXTENSION_190_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_191" number="191" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_191_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_191&quot;" name="XR_LIV_EXTENSION_191_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_192" number="192" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_192_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_192&quot;" name="XR_LIV_EXTENSION_192_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_193" number="193" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_193_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_193&quot;" name="XR_LIV_EXTENSION_193_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_194" number="194" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_194_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_194&quot;" name="XR_LIV_EXTENSION_194_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_195" number="195" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_195_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_195&quot;" name="XR_LIV_EXTENSION_195_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
+ <extension name="XR_LIV_extension_196" number="196" type="instance" supported="disabled">
+ <require>
+ <enum value="1" name="XR_LIV_extension_196_SPEC_VERSION"/>
+ <enum value="&quot;XR_LIV_extension_196&quot;" name="XR_LIV_EXTENSION_196_EXTENSION_NAME"/>
+ </require>
+ </extension>
+
</extensions>
</registry>