@@ -192,8 +192,10 @@ typedef enum XrResult {
192192 XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT = -1000097001 ,
193193 XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT = -1000097002 ,
194194 XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT = -1000097003 ,
195- XR_ERROR_SERIALIZATION_NOT_REQUESTED_MSFT = -1000098000 ,
196195 XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT = -1000066000 ,
196+ XR_SPATIAL_ANCHOR_EXPORT_DATA_UNAVAILABLE_MSFT = 1000062000 ,
197+ XR_ERROR_SPATIAL_ANCHOR_EXPORT_FAILED_MSFT = -1000062000 ,
198+ XR_ERROR_SPATIAL_ANCHOR_SUFFICIENCY_QUERY_FAILED_MSFT = -1000062001 ,
197199 XR_RESULT_MAX_ENUM = 0x7FFFFFFF
198200} XrResult ;
199201
@@ -312,6 +314,7 @@ typedef enum XrStructureType {
312314 XR_TYPE_CONTROLLER_MODEL_STATE_MSFT = 1000055004 ,
313315 XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000 ,
314316 XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000 ,
317+ XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB = 1000070000 ,
315318 XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000 ,
316319 XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR = 1000089000 ,
317320 XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR = 1000090000 ,
@@ -341,6 +344,8 @@ typedef enum XrStructureType {
341344 XR_TYPE_SERIALIZE_SCENE_MSFT = 1000098001 ,
342345 XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT = 1000066000 ,
343346 XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT = 1000066001 ,
347+ XR_TYPE_SPATIAL_ANCHOR_EXPORT_PURPOSE_INFO_MSFT = 1000062000 ,
348+ XR_TYPE_SPATIAL_ANCHOR_EXPORT_SUFFICIENCY_MSFT = 1000062001 ,
344349 XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR ,
345350 XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR ,
346351 XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR ,
@@ -418,6 +423,7 @@ typedef enum XrObjectType {
418423 XR_OBJECT_TYPE_HAND_TRACKER_EXT = 1000051000 ,
419424 XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT = 1000097000 ,
420425 XR_OBJECT_TYPE_SCENE_MSFT = 1000097001 ,
426+ XR_OBJECT_TYPE_SPATIAL_ANCHOR_NEIGHBORHOOD_DATA_STREAM_MSFT = 1000062000 ,
421427 XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
422428} XrObjectType ;
423429typedef XrFlags64 XrInstanceCreateFlags ;
@@ -2199,6 +2205,59 @@ typedef struct XrViewConfigurationViewFovEPIC {
21992205
22002206
22012207
2208+ #define XR_MSFT_spatial_anchor_export_preview 1
2209+
2210+ XR_DEFINE_HANDLE (XrSpatialAnchorNeighborhoodDataStreamMSFT )
2211+
2212+ #define XR_MSFT_spatial_anchor_export_preview_SPEC_VERSION 1
2213+ #define XR_MSFT_SPATIAL_ANCHOR_EXPORT_PREVIEW_EXTENSION_NAME "XR_MSFT_spatial_anchor_export_preview"
2214+
2215+ typedef enum XrSpatialAnchorExportPurposeMSFT {
2216+ XR_SPATIAL_ANCHOR_EXPORT_PURPOSE_RELOCALIZATION_MSFT = 0 ,
2217+ XR_SPATIAL_ANCHOR_EXPORT_PURPOSE_SHARING_MSFT = 1 ,
2218+ XR_SPATIAL_ANCHOR_EXPORT_PURPOSE_MAX_ENUM_MSFT = 0x7FFFFFFF
2219+ } XrSpatialAnchorExportPurposeMSFT ;
2220+ typedef struct XrSpatialAnchorExportPurposeInfoMSFT {
2221+ XrStructureType type ;
2222+ const void * XR_MAY_ALIAS next ;
2223+ XrSpatialAnchorExportPurposeMSFT exportPurpose ;
2224+ } XrSpatialAnchorExportPurposeInfoMSFT ;
2225+
2226+ typedef struct XrSpatialAnchorExportSufficiencyMSFT {
2227+ XrStructureType type ;
2228+ const void * XR_MAY_ALIAS next ;
2229+ XrBool32 isMinimallySufficient ;
2230+ float recommendedSufficiencyLevel ;
2231+ float sufficiencyLevel ;
2232+ } XrSpatialAnchorExportSufficiencyMSFT ;
2233+
2234+ typedef XrResult (XRAPI_PTR * PFN_xrCreateSpatialAnchorNeighborhoodDataStreamMSFT )(XrSpatialAnchorMSFT spatialAnchor , const XrSpatialAnchorExportPurposeInfoMSFT * exportPurposeInfo , XrSpatialAnchorNeighborhoodDataStreamMSFT * neighborhoodDataStream );
2235+ typedef XrResult (XRAPI_PTR * PFN_xrDestroySpatialAnchorNeighborhoodDataStreamMSFT )(XrSpatialAnchorNeighborhoodDataStreamMSFT neighborhoodDataStream );
2236+ typedef XrResult (XRAPI_PTR * PFN_xrReadSpatialAnchorNeighborhoodDataMSFT )(XrSpatialAnchorNeighborhoodDataStreamMSFT neighborhoodDataStream , uint32_t bytesToRead , uint32_t * bytesRead , void * buffer );
2237+ typedef XrResult (XRAPI_PTR * PFN_xrGetSpatialAnchorExportSufficiencyMSFT )(XrSpatialAnchorMSFT spatialAnchor , const XrSpatialAnchorExportPurposeInfoMSFT * exportPurposeInfo , XrSpatialAnchorExportSufficiencyMSFT * exportSufficiency );
2238+
2239+ #ifndef XR_NO_PROTOTYPES
2240+ XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorNeighborhoodDataStreamMSFT (
2241+ XrSpatialAnchorMSFT spatialAnchor ,
2242+ const XrSpatialAnchorExportPurposeInfoMSFT * exportPurposeInfo ,
2243+ XrSpatialAnchorNeighborhoodDataStreamMSFT * neighborhoodDataStream );
2244+
2245+ XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialAnchorNeighborhoodDataStreamMSFT (
2246+ XrSpatialAnchorNeighborhoodDataStreamMSFT neighborhoodDataStream );
2247+
2248+ XRAPI_ATTR XrResult XRAPI_CALL xrReadSpatialAnchorNeighborhoodDataMSFT (
2249+ XrSpatialAnchorNeighborhoodDataStreamMSFT neighborhoodDataStream ,
2250+ uint32_t bytesToRead ,
2251+ uint32_t * bytesRead ,
2252+ void * XR_MAY_ALIAS buffer );
2253+
2254+ XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialAnchorExportSufficiencyMSFT (
2255+ XrSpatialAnchorMSFT spatialAnchor ,
2256+ const XrSpatialAnchorExportPurposeInfoMSFT * exportPurposeInfo ,
2257+ XrSpatialAnchorExportSufficiencyMSFT * exportSufficiency );
2258+ #endif
2259+
2260+
22022261#define XR_MSFT_composition_layer_reprojection_preview 1
22032262#define XR_MSFT_composition_layer_reprojection_preview_SPEC_VERSION 1
22042263#define XR_MSFT_COMPOSITION_LAYER_REPROJECTION_PREVIEW_EXTENSION_NAME "XR_MSFT_composition_layer_reprojection_preview"
@@ -2287,6 +2346,7 @@ typedef enum XrWorldMeshLodMSFT {
22872346 XR_WORLD_MESH_LOD_COARSE_MSFT = 1 ,
22882347 XR_WORLD_MESH_LOD_MEDIUM_MSFT = 2 ,
22892348 XR_WORLD_MESH_LOD_FINE_MSFT = 3 ,
2349+ XR_WORLD_MESH_LOD_UNLIMITED_MSFT = 4 ,
22902350 XR_WORLD_MESH_LOD_MAX_ENUM_MSFT = 0x7FFFFFFF
22912351} XrWorldMeshLodMSFT ;
22922352
@@ -2322,6 +2382,7 @@ typedef enum XrSceneComputeStateMSFT {
23222382 XR_SCENE_COMPUTE_STATE_NONE_MSFT = 0 ,
23232383 XR_SCENE_COMPUTE_STATE_UPDATING_MSFT = 1 ,
23242384 XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT = 2 ,
2385+ XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT = 3 ,
23252386 XR_SCENE_COMPUTE_STATE_MAX_ENUM_MSFT = 0x7FFFFFFF
23262387} XrSceneComputeStateMSFT ;
23272388typedef struct XrUuidMSFT {
0 commit comments