diff --git a/thirdparty/README.md b/thirdparty/README.md index 61e307e26a6..5a37406ac2f 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -851,7 +851,7 @@ Files extracted from the upstream source: ## openxr - Upstream: https://github.com/KhronosGroup/OpenXR-SDK -- Version: 1.1.48 (6eed4f4d6dd17c10acc11c0a3b1f55d9eabe1593, 2025) +- Version: 1.1.49 (977f6675bc0057d5a54ed290cb5c71c699b1c0ab, 2025) - License: Apache 2.0 Files extracted from upstream source: diff --git a/thirdparty/openxr/include/openxr/openxr.h b/thirdparty/openxr/include/openxr/openxr.h index 586827b6e1d..075daa8116f 100644 --- a/thirdparty/openxr/include/openxr/openxr.h +++ b/thirdparty/openxr/include/openxr/openxr.h @@ -26,7 +26,7 @@ extern "C" { ((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL)) // OpenXR current version number. -#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 48) +#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 49) // OpenXR 1.0 version number #define XR_API_VERSION_1_0 XR_MAKE_VERSION(1, 0, XR_VERSION_PATCH(XR_CURRENT_API_VERSION)) @@ -257,6 +257,10 @@ typedef enum XrResult { XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB = -1000169004, XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META = -1000266000, XR_ENVIRONMENT_DEPTH_NOT_AVAILABLE_META = 1000291000, + XR_ERROR_RENDER_MODEL_ID_INVALID_EXT = -1000300000, + XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT = -1000300001, + XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT = -1000300002, + XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT = -1000301000, XR_ERROR_HINT_ALREADY_SET_QCOM = -1000306000, XR_ERROR_NOT_AN_ANCHOR_HTC = -1000319000, XR_ERROR_SPATIAL_ENTITY_ID_INVALID_BD = -1000389000, @@ -283,6 +287,14 @@ typedef enum XrResult { XR_COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META = 1000571003, XR_COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META = 1000571004, XR_ERROR_SPACE_GROUP_NOT_FOUND_META = -1000572002, + XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT = -1000740001, + XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT = -1000740002, + XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT = -1000740003, + XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT = -1000740004, + XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT = -1000740005, + XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT = -1000740006, + XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT = -1000763001, + XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT = -1000781001, XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR = XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED, XR_ERROR_PERMISSION_INSUFFICIENT_KHR = XR_ERROR_PERMISSION_INSUFFICIENT, XR_RESULT_MAX_ENUM = 0x7FFFFFFF @@ -641,6 +653,21 @@ typedef enum XrStructureType { XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META = 1000291005, XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META = 1000291006, XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META = 1000291007, + XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT = 1000300000, + XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT = 1000300001, + XR_TYPE_RENDER_MODEL_PROPERTIES_EXT = 1000300002, + XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT = 1000300003, + XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT = 1000300004, + XR_TYPE_RENDER_MODEL_STATE_EXT = 1000300005, + XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT = 1000300006, + XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT = 1000300007, + XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT = 1000300008, + XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT = 1000300009, + XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT = 1000300010, + XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT = 1000301000, + XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT = 1000301001, + XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT = 1000301002, + XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT = 1000301003, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC = 1000317001, XR_TYPE_PASSTHROUGH_COLOR_HTC = 1000317002, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC = 1000317003, @@ -697,6 +724,9 @@ typedef enum XrStructureType { XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD = 1000393000, XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD = 1000393001, XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD = 1000394001, + XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD = 1000396000, + XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD = 1000396001, + XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD = 1000396002, XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT = 1000428000, XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT = 1000428001, XR_TYPE_PLANE_DETECTOR_CREATE_INFO_EXT = 1000429001, @@ -747,6 +777,47 @@ typedef enum XrStructureType { XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META = 1000572000, XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META = 1000572001, XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META = 1000572100, + XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT = 1000740000, + XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT = 1000740001, + XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT = 1000740002, + XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT = 1000740003, + XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT = 1000740004, + XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT = 1000740005, + XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT = 1000740006, + XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT = 1000740007, + XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT = 1000740008, + XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT = 1000740009, + XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT = 1000740010, + XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT = 1000740011, + XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT = 1000740012, + XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT = 1000740013, + XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT = 1000740014, + XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT = 1000740015, + XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT = 1000740016, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT = 1000741000, + XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT = 1000741001, + XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT = 1000741002, + XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT = 1000741003, + XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT = 1000741004, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT = 1000743000, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT = 1000743001, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT = 1000743002, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT = 1000743003, + XR_TYPE_SPATIAL_MARKER_SIZE_EXT = 1000743004, + XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT = 1000743005, + XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT = 1000743006, + XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT = 1000762000, + XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT = 1000762001, + XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT = 1000762002, + XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT = 1000763000, + XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT = 1000763001, + XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT = 1000763002, + XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT = 1000763003, + XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT = 1000763004, + XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT = 1000781000, + XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781001, + XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT = 1000781002, + XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781003, XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR, XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR, XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR, @@ -853,6 +924,8 @@ typedef enum XrObjectType { XR_OBJECT_TYPE_FACE_TRACKER2_FB = 1000287012, XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_PROVIDER_META = 1000291000, XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_META = 1000291001, + XR_OBJECT_TYPE_RENDER_MODEL_EXT = 1000300000, + XR_OBJECT_TYPE_RENDER_MODEL_ASSET_EXT = 1000300001, XR_OBJECT_TYPE_PASSTHROUGH_HTC = 1000317000, XR_OBJECT_TYPE_BODY_TRACKER_HTC = 1000320000, XR_OBJECT_TYPE_BODY_TRACKER_BD = 1000385000, @@ -862,6 +935,10 @@ typedef enum XrObjectType { XR_OBJECT_TYPE_PLANE_DETECTOR_EXT = 1000429000, XR_OBJECT_TYPE_WORLD_MESH_DETECTOR_ML = 1000474000, XR_OBJECT_TYPE_FACIAL_EXPRESSION_CLIENT_ML = 1000482000, + XR_OBJECT_TYPE_SPATIAL_ENTITY_EXT = 1000740000, + XR_OBJECT_TYPE_SPATIAL_CONTEXT_EXT = 1000740001, + XR_OBJECT_TYPE_SPATIAL_SNAPSHOT_EXT = 1000740002, + XR_OBJECT_TYPE_SPATIAL_PERSISTENCE_CONTEXT_EXT = 1000763000, XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF } XrObjectType; typedef XrFlags64 XrInstanceCreateFlags; @@ -7453,6 +7530,204 @@ XRAPI_ATTR XrResult XRAPI_CALL xrSetEnvironmentDepthHandRemovalMETA( #define XR_UUID_SIZE_EXT 16 +// XR_EXT_render_model is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_render_model 1 +XR_DEFINE_ATOM(XrRenderModelIdEXT) +XR_DEFINE_HANDLE(XrRenderModelEXT) +XR_DEFINE_HANDLE(XrRenderModelAssetEXT) +#define XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT 64 +#define XR_EXT_render_model_SPEC_VERSION 1 +#define XR_EXT_RENDER_MODEL_EXTENSION_NAME "XR_EXT_render_model" +#define XR_NULL_RENDER_MODEL_ID_EXT 0 +typedef struct XrRenderModelCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrRenderModelIdEXT renderModelId; + uint32_t gltfExtensionCount; + const char* const* gltfExtensions; +} XrRenderModelCreateInfoEXT; + +typedef struct XrRenderModelPropertiesGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrRenderModelPropertiesGetInfoEXT; + +typedef struct XrRenderModelPropertiesEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrUuidEXT cacheId; + uint32_t animatableNodeCount; +} XrRenderModelPropertiesEXT; + +typedef struct XrRenderModelSpaceCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrRenderModelEXT renderModel; +} XrRenderModelSpaceCreateInfoEXT; + +typedef struct XrRenderModelStateGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrTime displayTime; +} XrRenderModelStateGetInfoEXT; + +typedef struct XrRenderModelNodeStateEXT { + XrPosef nodePose; + XrBool32 isVisible; +} XrRenderModelNodeStateEXT; + +typedef struct XrRenderModelStateEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t nodeStateCount; + XrRenderModelNodeStateEXT* nodeStates; +} XrRenderModelStateEXT; + +typedef struct XrRenderModelAssetCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrUuidEXT cacheId; +} XrRenderModelAssetCreateInfoEXT; + +typedef struct XrRenderModelAssetDataGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrRenderModelAssetDataGetInfoEXT; + +typedef struct XrRenderModelAssetDataEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t bufferCapacityInput; + uint32_t bufferCountOutput; + uint8_t* buffer; +} XrRenderModelAssetDataEXT; + +typedef struct XrRenderModelAssetPropertiesGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrRenderModelAssetPropertiesGetInfoEXT; + +typedef struct XrRenderModelAssetNodePropertiesEXT { + char uniqueName[XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT]; +} XrRenderModelAssetNodePropertiesEXT; + +typedef struct XrRenderModelAssetPropertiesEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t nodePropertyCount; + XrRenderModelAssetNodePropertiesEXT* nodeProperties; +} XrRenderModelAssetPropertiesEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelEXT)(XrSession session, const XrRenderModelCreateInfoEXT* createInfo, XrRenderModelEXT* renderModel); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyRenderModelEXT)(XrRenderModelEXT renderModel); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPropertiesEXT)(XrRenderModelEXT renderModel, const XrRenderModelPropertiesGetInfoEXT* getInfo, XrRenderModelPropertiesEXT* properties); +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelSpaceEXT)(XrSession session, const XrRenderModelSpaceCreateInfoEXT* createInfo, XrSpace* space); +typedef XrResult (XRAPI_PTR *PFN_xrCreateRenderModelAssetEXT)(XrSession session, const XrRenderModelAssetCreateInfoEXT* createInfo, XrRenderModelAssetEXT* asset); +typedef XrResult (XRAPI_PTR *PFN_xrDestroyRenderModelAssetEXT)(XrRenderModelAssetEXT asset); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelAssetDataEXT)(XrRenderModelAssetEXT asset, const XrRenderModelAssetDataGetInfoEXT* getInfo, XrRenderModelAssetDataEXT* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelAssetPropertiesEXT)(XrRenderModelAssetEXT asset, const XrRenderModelAssetPropertiesGetInfoEXT* getInfo, XrRenderModelAssetPropertiesEXT* properties); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelStateEXT)(XrRenderModelEXT renderModel, const XrRenderModelStateGetInfoEXT* getInfo, XrRenderModelStateEXT* state); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrCreateRenderModelEXT( + XrSession session, + const XrRenderModelCreateInfoEXT* createInfo, + XrRenderModelEXT* renderModel); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroyRenderModelEXT( + XrRenderModelEXT renderModel); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelPropertiesEXT( + XrRenderModelEXT renderModel, + const XrRenderModelPropertiesGetInfoEXT* getInfo, + XrRenderModelPropertiesEXT* properties); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateRenderModelSpaceEXT( + XrSession session, + const XrRenderModelSpaceCreateInfoEXT* createInfo, + XrSpace* space); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateRenderModelAssetEXT( + XrSession session, + const XrRenderModelAssetCreateInfoEXT* createInfo, + XrRenderModelAssetEXT* asset); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroyRenderModelAssetEXT( + XrRenderModelAssetEXT asset); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelAssetDataEXT( + XrRenderModelAssetEXT asset, + const XrRenderModelAssetDataGetInfoEXT* getInfo, + XrRenderModelAssetDataEXT* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelAssetPropertiesEXT( + XrRenderModelAssetEXT asset, + const XrRenderModelAssetPropertiesGetInfoEXT* getInfo, + XrRenderModelAssetPropertiesEXT* properties); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelStateEXT( + XrRenderModelEXT renderModel, + const XrRenderModelStateGetInfoEXT* getInfo, + XrRenderModelStateEXT* state); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + + +// XR_EXT_interaction_render_model is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_interaction_render_model 1 +#define XR_EXT_interaction_render_model_SPEC_VERSION 1 +#define XR_EXT_INTERACTION_RENDER_MODEL_EXTENSION_NAME "XR_EXT_interaction_render_model" +typedef struct XrInteractionRenderModelIdsEnumerateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrInteractionRenderModelIdsEnumerateInfoEXT; + +typedef struct XrInteractionRenderModelSubactionPathInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrInteractionRenderModelSubactionPathInfoEXT; + +typedef struct XrInteractionRenderModelTopLevelUserPathGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t topLevelUserPathCount; + const XrPath* topLevelUserPaths; +} XrInteractionRenderModelTopLevelUserPathGetInfoEXT; + +typedef struct XrEventDataInteractionRenderModelsChangedEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; +} XrEventDataInteractionRenderModelsChangedEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateInteractionRenderModelIdsEXT)(XrSession session, const XrInteractionRenderModelIdsEnumerateInfoEXT* getInfo, uint32_t renderModelIdCapacityInput, uint32_t* renderModelIdCountOutput, XrRenderModelIdEXT* renderModelIds); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateRenderModelSubactionPathsEXT)(XrRenderModelEXT renderModel, const XrInteractionRenderModelSubactionPathInfoEXT* info, uint32_t pathCapacityInput, uint32_t* pathCountOutput, XrPath* paths); +typedef XrResult (XRAPI_PTR *PFN_xrGetRenderModelPoseTopLevelUserPathEXT)(XrRenderModelEXT renderModel, const XrInteractionRenderModelTopLevelUserPathGetInfoEXT* info, XrPath* topLevelUserPath); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateInteractionRenderModelIdsEXT( + XrSession session, + const XrInteractionRenderModelIdsEnumerateInfoEXT* getInfo, + uint32_t renderModelIdCapacityInput, + uint32_t* renderModelIdCountOutput, + XrRenderModelIdEXT* renderModelIds); + +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateRenderModelSubactionPathsEXT( + XrRenderModelEXT renderModel, + const XrInteractionRenderModelSubactionPathInfoEXT* info, + uint32_t pathCapacityInput, + uint32_t* pathCountOutput, + XrPath* paths); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetRenderModelPoseTopLevelUserPathEXT( + XrRenderModelEXT renderModel, + const XrInteractionRenderModelTopLevelUserPathGetInfoEXT* info, + XrPath* topLevelUserPath); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + + // XR_EXT_hand_interaction is a preprocessor guard. Do not pass it to API calls. #define XR_EXT_hand_interaction 1 #define XR_EXT_hand_interaction_SPEC_VERSION 1 @@ -7968,6 +8243,7 @@ typedef enum XrSpatialEntityComponentTypeBD { XR_SPATIAL_ENTITY_COMPONENT_TYPE_POLYGON_BD = 3, XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_3D_BD = 4, XR_SPATIAL_ENTITY_COMPONENT_TYPE_TRIANGLE_MESH_BD = 5, + XR_SPATIAL_ENTITY_COMPONENT_TYPE_PLANE_ORIENTATION_BD = 1000396000, XR_SPATIAL_ENTITY_COMPONENT_TYPE_MAX_ENUM_BD = 0x7FFFFFFF } XrSpatialEntityComponentTypeBD; @@ -8004,6 +8280,7 @@ typedef enum XrSenseDataProviderTypeBD { XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD = 1000390000, XR_SENSE_DATA_PROVIDER_TYPE_SCENE_BD = 1000392000, XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD = 1000393000, + XR_SENSE_DATA_PROVIDER_TYPE_PLANE_BD = 1000396000, XR_SENSE_DATA_PROVIDER_TYPE_MAX_ENUM_BD = 0x7FFFFFFF } XrSenseDataProviderTypeBD; @@ -8505,6 +8782,42 @@ typedef struct XrFuturePollResultProgressBD { +// XR_BD_spatial_plane is a preprocessor guard. Do not pass it to API calls. +#define XR_BD_spatial_plane 1 +#define XR_BD_spatial_plane_SPEC_VERSION 1 +#define XR_BD_SPATIAL_PLANE_EXTENSION_NAME "XR_BD_spatial_plane" + +typedef enum XrPlaneOrientationBD { + XR_PLANE_ORIENTATION_HORIZONTAL_UPWARD_BD = 0, + XR_PLANE_ORIENTATION_HORIZONTAL_DOWNWARD_BD = 1, + XR_PLANE_ORIENTATION_VERTICAL_BD = 2, + XR_PLANE_ORIENTATION_ARBITRARY_BD = 3, + XR_PLANE_ORIENTATION_MAX_ENUM_BD = 0x7FFFFFFF +} XrPlaneOrientationBD; +// XrSystemSpatialPlanePropertiesBD extends XrSystemProperties +typedef struct XrSystemSpatialPlanePropertiesBD { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrBool32 supportsSpatialPlane; +} XrSystemSpatialPlanePropertiesBD; + +// XrSpatialEntityComponentDataPlaneOrientationBD extends XrSpatialEntityComponentDataBaseHeaderBD +typedef struct XrSpatialEntityComponentDataPlaneOrientationBD { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrPlaneOrientationBD orientation; +} XrSpatialEntityComponentDataPlaneOrientationBD; + +// XrSenseDataFilterPlaneOrientationBD extends XrSenseDataQueryInfoBD +typedef struct XrSenseDataFilterPlaneOrientationBD { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t orientationCount; + XrPlaneOrientationBD* orientations; +} XrSenseDataFilterPlaneOrientationBD; + + + // XR_EXT_local_floor is a preprocessor guard. Do not pass it to API calls. #define XR_EXT_local_floor 1 #define XR_EXT_local_floor_SPEC_VERSION 1 @@ -9347,11 +9660,734 @@ typedef struct XrSpaceGroupUuidFilterInfoMETA { +// XR_EXT_spatial_entity is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_entity 1 + +#define XR_NULL_SPATIAL_ENTITY_ID_EXT 0 + + +#define XR_NULL_SPATIAL_BUFFER_ID_EXT 0 + +XR_DEFINE_ATOM(XrSpatialEntityIdEXT) +XR_DEFINE_ATOM(XrSpatialBufferIdEXT) +XR_DEFINE_HANDLE(XrSpatialEntityEXT) +XR_DEFINE_HANDLE(XrSpatialContextEXT) +XR_DEFINE_HANDLE(XrSpatialSnapshotEXT) +#define XR_EXT_spatial_entity_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_ENTITY_EXTENSION_NAME "XR_EXT_spatial_entity" + +typedef enum XrSpatialCapabilityEXT { + XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT = 1000741000, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT = 1000743000, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT = 1000743001, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT = 1000743002, + XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT = 1000743003, + XR_SPATIAL_CAPABILITY_ANCHOR_EXT = 1000762000, + XR_SPATIAL_CAPABILITY_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialCapabilityEXT; + +typedef enum XrSpatialCapabilityFeatureEXT { + XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_FIXED_SIZE_MARKERS_EXT = 1000743000, + XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_STATIC_MARKERS_EXT = 1000743001, + XR_SPATIAL_CAPABILITY_FEATURE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialCapabilityFeatureEXT; + +typedef enum XrSpatialComponentTypeEXT { + XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT = 1, + XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT = 2, + XR_SPATIAL_COMPONENT_TYPE_PARENT_EXT = 3, + XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT = 4, + XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT = 1000741000, + XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT = 1000741001, + XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT = 1000741002, + XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT = 1000741003, + XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT = 1000743000, + XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT = 1000762000, + XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT = 1000763000, + XR_SPATIAL_COMPONENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialComponentTypeEXT; + +typedef enum XrSpatialEntityTrackingStateEXT { + XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT = 1, + XR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT = 2, + XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT = 3, + XR_SPATIAL_ENTITY_TRACKING_STATE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialEntityTrackingStateEXT; + +typedef enum XrSpatialBufferTypeEXT { + XR_SPATIAL_BUFFER_TYPE_UNKNOWN_EXT = 0, + XR_SPATIAL_BUFFER_TYPE_STRING_EXT = 1, + XR_SPATIAL_BUFFER_TYPE_UINT8_EXT = 2, + XR_SPATIAL_BUFFER_TYPE_UINT16_EXT = 3, + XR_SPATIAL_BUFFER_TYPE_UINT32_EXT = 4, + XR_SPATIAL_BUFFER_TYPE_FLOAT_EXT = 5, + XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT = 6, + XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT = 7, + XR_SPATIAL_BUFFER_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialBufferTypeEXT; +typedef struct XrSpatialCapabilityComponentTypesEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t componentTypeCapacityInput; + uint32_t componentTypeCountOutput; + XrSpatialComponentTypeEXT* componentTypes; +} XrSpatialCapabilityComponentTypesEXT; + +typedef struct XR_MAY_ALIAS XrSpatialCapabilityConfigurationBaseHeaderEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; +} XrSpatialCapabilityConfigurationBaseHeaderEXT; + +typedef struct XrSpatialContextCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t capabilityConfigCount; + const XrSpatialCapabilityConfigurationBaseHeaderEXT* const* capabilityConfigs; +} XrSpatialContextCreateInfoEXT; + +typedef struct XrCreateSpatialContextCompletionEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrResult futureResult; + XrSpatialContextEXT spatialContext; +} XrCreateSpatialContextCompletionEXT; + +typedef struct XrSpatialDiscoverySnapshotCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT* componentTypes; +} XrSpatialDiscoverySnapshotCreateInfoEXT; + +typedef struct XrCreateSpatialDiscoverySnapshotCompletionInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpace baseSpace; + XrTime time; + XrFutureEXT future; +} XrCreateSpatialDiscoverySnapshotCompletionInfoEXT; + +typedef struct XrCreateSpatialDiscoverySnapshotCompletionEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrResult futureResult; + XrSpatialSnapshotEXT snapshot; +} XrCreateSpatialDiscoverySnapshotCompletionEXT; + +typedef struct XrSpatialComponentDataQueryConditionEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT* componentTypes; +} XrSpatialComponentDataQueryConditionEXT; + +typedef struct XrSpatialComponentDataQueryResultEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t entityIdCapacityInput; + uint32_t entityIdCountOutput; + XrSpatialEntityIdEXT* entityIds; + uint32_t entityStateCapacityInput; + uint32_t entityStateCountOutput; + XrSpatialEntityTrackingStateEXT* entityStates; +} XrSpatialComponentDataQueryResultEXT; + +typedef struct XrSpatialBufferEXT { + XrSpatialBufferIdEXT bufferId; + XrSpatialBufferTypeEXT bufferType; +} XrSpatialBufferEXT; + +typedef struct XrSpatialBufferGetInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialBufferIdEXT bufferId; +} XrSpatialBufferGetInfoEXT; + +typedef struct XrSpatialBounded2DDataEXT { + XrPosef center; + XrExtent2Df extents; +} XrSpatialBounded2DDataEXT; + +// XrSpatialComponentBounded2DListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentBounded2DListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t boundCount; + XrSpatialBounded2DDataEXT* bounds; +} XrSpatialComponentBounded2DListEXT; + +// XrSpatialComponentBounded3DListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentBounded3DListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t boundCount; + XrBoxf* bounds; +} XrSpatialComponentBounded3DListEXT; + +// XrSpatialComponentParentListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentParentListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t parentCount; + XrSpatialEntityIdEXT* parents; +} XrSpatialComponentParentListEXT; + +typedef struct XrSpatialMeshDataEXT { + XrPosef origin; + XrSpatialBufferEXT vertexBuffer; + XrSpatialBufferEXT indexBuffer; +} XrSpatialMeshDataEXT; + +// XrSpatialComponentMesh3DListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentMesh3DListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t meshCount; + XrSpatialMeshDataEXT* meshes; +} XrSpatialComponentMesh3DListEXT; + +typedef struct XrSpatialEntityFromIdCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialEntityIdEXT entityId; +} XrSpatialEntityFromIdCreateInfoEXT; + +typedef struct XrSpatialUpdateSnapshotCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t entityCount; + const XrSpatialEntityEXT* entities; + uint32_t componentTypeCount; + const XrSpatialComponentTypeEXT* componentTypes; + XrSpace baseSpace; + XrTime time; +} XrSpatialUpdateSnapshotCreateInfoEXT; + +typedef struct XrEventDataSpatialDiscoveryRecommendedEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialContextEXT spatialContext; +} XrEventDataSpatialDiscoveryRecommendedEXT; + +// XrSpatialFilterTrackingStateEXT extends XrSpatialDiscoverySnapshotCreateInfoEXT,XrSpatialComponentDataQueryConditionEXT +typedef struct XrSpatialFilterTrackingStateEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialEntityTrackingStateEXT trackingState; +} XrSpatialFilterTrackingStateEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilitiesEXT)(XrInstance instance, XrSystemId systemId, uint32_t capabilityCapacityInput, uint32_t* capabilityCountOutput, XrSpatialCapabilityEXT* capabilities); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilityComponentTypesEXT)(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, XrSpatialCapabilityComponentTypesEXT* capabilityComponents); +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialCapabilityFeaturesEXT)(XrInstance instance, XrSystemId systemId, XrSpatialCapabilityEXT capability, uint32_t capabilityFeatureCapacityInput, uint32_t* capabilityFeatureCountOutput, XrSpatialCapabilityFeatureEXT* capabilityFeatures); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialContextAsyncEXT)(XrSession session, const XrSpatialContextCreateInfoEXT* createInfo, XrFutureEXT* future); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialContextCompleteEXT)(XrSession session, XrFutureEXT future, XrCreateSpatialContextCompletionEXT* completion); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialContextEXT)(XrSpatialContextEXT spatialContext); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialDiscoverySnapshotAsyncEXT)(XrSpatialContextEXT spatialContext, const XrSpatialDiscoverySnapshotCreateInfoEXT* createInfo, XrFutureEXT* future); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialDiscoverySnapshotCompleteEXT)(XrSpatialContextEXT spatialContext, const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT* createSnapshotCompletionInfo, XrCreateSpatialDiscoverySnapshotCompletionEXT* completion); +typedef XrResult (XRAPI_PTR *PFN_xrQuerySpatialComponentDataEXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialComponentDataQueryConditionEXT* queryCondition, XrSpatialComponentDataQueryResultEXT* queryResult); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialSnapshotEXT)(XrSpatialSnapshotEXT snapshot); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialEntityFromIdEXT)(XrSpatialContextEXT spatialContext, const XrSpatialEntityFromIdCreateInfoEXT* createInfo, XrSpatialEntityEXT* spatialEntity); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialEntityEXT)(XrSpatialEntityEXT spatialEntity); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialUpdateSnapshotEXT)(XrSpatialContextEXT spatialContext, const XrSpatialUpdateSnapshotCreateInfoEXT* createInfo, XrSpatialSnapshotEXT* snapshot); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferStringEXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, char* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint8EXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, uint8_t* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint16EXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, uint16_t* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferUint32EXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, uint32_t* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferFloatEXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, float* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferVector2fEXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, XrVector2f* buffer); +typedef XrResult (XRAPI_PTR *PFN_xrGetSpatialBufferVector3fEXT)(XrSpatialSnapshotEXT snapshot, const XrSpatialBufferGetInfoEXT* info, uint32_t bufferCapacityInput, uint32_t* bufferCountOutput, XrVector3f* buffer); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSpatialCapabilitiesEXT( + XrInstance instance, + XrSystemId systemId, + uint32_t capabilityCapacityInput, + uint32_t* capabilityCountOutput, + XrSpatialCapabilityEXT* capabilities); + +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSpatialCapabilityComponentTypesEXT( + XrInstance instance, + XrSystemId systemId, + XrSpatialCapabilityEXT capability, + XrSpatialCapabilityComponentTypesEXT* capabilityComponents); + +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSpatialCapabilityFeaturesEXT( + XrInstance instance, + XrSystemId systemId, + XrSpatialCapabilityEXT capability, + uint32_t capabilityFeatureCapacityInput, + uint32_t* capabilityFeatureCountOutput, + XrSpatialCapabilityFeatureEXT* capabilityFeatures); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialContextAsyncEXT( + XrSession session, + const XrSpatialContextCreateInfoEXT* createInfo, + XrFutureEXT* future); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialContextCompleteEXT( + XrSession session, + XrFutureEXT future, + XrCreateSpatialContextCompletionEXT* completion); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialContextEXT( + XrSpatialContextEXT spatialContext); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialDiscoverySnapshotAsyncEXT( + XrSpatialContextEXT spatialContext, + const XrSpatialDiscoverySnapshotCreateInfoEXT* createInfo, + XrFutureEXT* future); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialDiscoverySnapshotCompleteEXT( + XrSpatialContextEXT spatialContext, + const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT* createSnapshotCompletionInfo, + XrCreateSpatialDiscoverySnapshotCompletionEXT* completion); + +XRAPI_ATTR XrResult XRAPI_CALL xrQuerySpatialComponentDataEXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialComponentDataQueryConditionEXT* queryCondition, + XrSpatialComponentDataQueryResultEXT* queryResult); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialSnapshotEXT( + XrSpatialSnapshotEXT snapshot); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialEntityFromIdEXT( + XrSpatialContextEXT spatialContext, + const XrSpatialEntityFromIdCreateInfoEXT* createInfo, + XrSpatialEntityEXT* spatialEntity); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialEntityEXT( + XrSpatialEntityEXT spatialEntity); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialUpdateSnapshotEXT( + XrSpatialContextEXT spatialContext, + const XrSpatialUpdateSnapshotCreateInfoEXT* createInfo, + XrSpatialSnapshotEXT* snapshot); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferStringEXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + char* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferUint8EXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + uint8_t* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferUint16EXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + uint16_t* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferUint32EXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + uint32_t* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferFloatEXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + float* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferVector2fEXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + XrVector2f* buffer); + +XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialBufferVector3fEXT( + XrSpatialSnapshotEXT snapshot, + const XrSpatialBufferGetInfoEXT* info, + uint32_t bufferCapacityInput, + uint32_t* bufferCountOutput, + XrVector3f* buffer); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + + +// XR_EXT_spatial_plane_tracking is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_plane_tracking 1 +#define XR_EXT_spatial_plane_tracking_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PLANE_TRACKING_EXTENSION_NAME "XR_EXT_spatial_plane_tracking" + +typedef enum XrSpatialPlaneAlignmentEXT { + XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_UPWARD_EXT = 0, + XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_DOWNWARD_EXT = 1, + XR_SPATIAL_PLANE_ALIGNMENT_VERTICAL_EXT = 2, + XR_SPATIAL_PLANE_ALIGNMENT_ARBITRARY_EXT = 3, + XR_SPATIAL_PLANE_ALIGNMENT_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialPlaneAlignmentEXT; + +typedef enum XrSpatialPlaneSemanticLabelEXT { + XR_SPATIAL_PLANE_SEMANTIC_LABEL_UNCATEGORIZED_EXT = 1, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_FLOOR_EXT = 2, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_WALL_EXT = 3, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_CEILING_EXT = 4, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_TABLE_EXT = 5, + XR_SPATIAL_PLANE_SEMANTIC_LABEL_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialPlaneSemanticLabelEXT; +typedef struct XrSpatialCapabilityConfigurationPlaneTrackingEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; +} XrSpatialCapabilityConfigurationPlaneTrackingEXT; + +// XrSpatialComponentPlaneAlignmentListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentPlaneAlignmentListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t planeAlignmentCount; + XrSpatialPlaneAlignmentEXT* planeAlignments; +} XrSpatialComponentPlaneAlignmentListEXT; + +// XrSpatialComponentMesh2DListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentMesh2DListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t meshCount; + XrSpatialMeshDataEXT* meshes; +} XrSpatialComponentMesh2DListEXT; + +typedef struct XrSpatialPolygon2DDataEXT { + XrPosef origin; + XrSpatialBufferEXT vertexBuffer; +} XrSpatialPolygon2DDataEXT; + +// XrSpatialComponentPolygon2DListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentPolygon2DListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t polygonCount; + XrSpatialPolygon2DDataEXT* polygons; +} XrSpatialComponentPolygon2DListEXT; + +// XrSpatialComponentPlaneSemanticLabelListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentPlaneSemanticLabelListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t semanticLabelCount; + XrSpatialPlaneSemanticLabelEXT* semanticLabels; +} XrSpatialComponentPlaneSemanticLabelListEXT; + + + +// XR_EXT_spatial_marker_tracking is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_marker_tracking 1 +#define XR_EXT_spatial_marker_tracking_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_MARKER_TRACKING_EXTENSION_NAME "XR_EXT_spatial_marker_tracking" + +typedef enum XrSpatialMarkerArucoDictEXT { + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_50_EXT = 1, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_100_EXT = 2, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_250_EXT = 3, + XR_SPATIAL_MARKER_ARUCO_DICT_4X4_1000_EXT = 4, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_50_EXT = 5, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_100_EXT = 6, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_250_EXT = 7, + XR_SPATIAL_MARKER_ARUCO_DICT_5X5_1000_EXT = 8, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_50_EXT = 9, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_100_EXT = 10, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_250_EXT = 11, + XR_SPATIAL_MARKER_ARUCO_DICT_6X6_1000_EXT = 12, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_50_EXT = 13, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_100_EXT = 14, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_250_EXT = 15, + XR_SPATIAL_MARKER_ARUCO_DICT_7X7_1000_EXT = 16, + XR_SPATIAL_MARKER_ARUCO_DICT_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialMarkerArucoDictEXT; + +typedef enum XrSpatialMarkerAprilTagDictEXT { + XR_SPATIAL_MARKER_APRIL_TAG_DICT_16H5_EXT = 1, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_25H9_EXT = 2, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H10_EXT = 3, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H11_EXT = 4, + XR_SPATIAL_MARKER_APRIL_TAG_DICT_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialMarkerAprilTagDictEXT; +typedef struct XrSpatialCapabilityConfigurationQrCodeEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; +} XrSpatialCapabilityConfigurationQrCodeEXT; + +typedef struct XrSpatialCapabilityConfigurationMicroQrCodeEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; +} XrSpatialCapabilityConfigurationMicroQrCodeEXT; + +typedef struct XrSpatialCapabilityConfigurationArucoMarkerEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; + XrSpatialMarkerArucoDictEXT arUcoDict; +} XrSpatialCapabilityConfigurationArucoMarkerEXT; + +typedef struct XrSpatialCapabilityConfigurationAprilTagEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; + XrSpatialMarkerAprilTagDictEXT aprilDict; +} XrSpatialCapabilityConfigurationAprilTagEXT; + +// XrSpatialMarkerSizeEXT extends XrSpatialCapabilityConfigurationArucoMarkerEXT,XrSpatialCapabilityConfigurationAprilTagEXT,XrSpatialCapabilityConfigurationQrCodeEXT,XrSpatialCapabilityConfigurationMicroQrCodeEXT +typedef struct XrSpatialMarkerSizeEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + float markerSideLength; +} XrSpatialMarkerSizeEXT; + +// XrSpatialMarkerStaticOptimizationEXT extends XrSpatialCapabilityConfigurationArucoMarkerEXT,XrSpatialCapabilityConfigurationAprilTagEXT,XrSpatialCapabilityConfigurationQrCodeEXT,XrSpatialCapabilityConfigurationMicroQrCodeEXT +typedef struct XrSpatialMarkerStaticOptimizationEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrBool32 optimizeForStaticMarker; +} XrSpatialMarkerStaticOptimizationEXT; + +typedef struct XrSpatialMarkerDataEXT { + XrSpatialCapabilityEXT capability; + uint32_t markerId; + XrSpatialBufferEXT data; +} XrSpatialMarkerDataEXT; + +// XrSpatialComponentMarkerListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentMarkerListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t markerCount; + XrSpatialMarkerDataEXT* markers; +} XrSpatialComponentMarkerListEXT; + + + // XR_LOGITECH_mx_ink_stylus_interaction is a preprocessor guard. Do not pass it to API calls. #define XR_LOGITECH_mx_ink_stylus_interaction 1 #define XR_LOGITECH_mx_ink_stylus_interaction_SPEC_VERSION 1 #define XR_LOGITECH_MX_INK_STYLUS_INTERACTION_EXTENSION_NAME "XR_LOGITECH_mx_ink_stylus_interaction" + +// XR_EXT_spatial_anchor is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_anchor 1 +#define XR_EXT_spatial_anchor_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_ANCHOR_EXTENSION_NAME "XR_EXT_spatial_anchor" +typedef struct XrSpatialCapabilityConfigurationAnchorEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialCapabilityEXT capability; + uint32_t enabledComponentCount; + const XrSpatialComponentTypeEXT* enabledComponents; +} XrSpatialCapabilityConfigurationAnchorEXT; + +// XrSpatialComponentAnchorListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentAnchorListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t locationCount; + XrPosef* locations; +} XrSpatialComponentAnchorListEXT; + +typedef struct XrSpatialAnchorCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpace baseSpace; + XrTime time; + XrPosef pose; +} XrSpatialAnchorCreateInfoEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialAnchorEXT)(XrSpatialContextEXT spatialContext, const XrSpatialAnchorCreateInfoEXT* createInfo, XrSpatialEntityIdEXT* anchorEntityId, XrSpatialEntityEXT* anchorEntity); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialAnchorEXT( + XrSpatialContextEXT spatialContext, + const XrSpatialAnchorCreateInfoEXT* createInfo, + XrSpatialEntityIdEXT* anchorEntityId, + XrSpatialEntityEXT* anchorEntity); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + + +// XR_EXT_spatial_persistence is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_persistence 1 +XR_DEFINE_HANDLE(XrSpatialPersistenceContextEXT) +#define XR_EXT_spatial_persistence_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PERSISTENCE_EXTENSION_NAME "XR_EXT_spatial_persistence" + +typedef enum XrSpatialPersistenceScopeEXT { + XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT = 1, + XR_SPATIAL_PERSISTENCE_SCOPE_LOCAL_ANCHORS_EXT = 1000781000, + XR_SPATIAL_PERSISTENCE_SCOPE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialPersistenceScopeEXT; + +typedef enum XrSpatialPersistenceContextResultEXT { + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_SUCCESS_EXT = 0, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT = -1000781001, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT = -1000781002, + XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialPersistenceContextResultEXT; + +typedef enum XrSpatialPersistenceStateEXT { + XR_SPATIAL_PERSISTENCE_STATE_LOADED_EXT = 1, + XR_SPATIAL_PERSISTENCE_STATE_NOT_FOUND_EXT = 2, + XR_SPATIAL_PERSISTENCE_STATE_MAX_ENUM_EXT = 0x7FFFFFFF +} XrSpatialPersistenceStateEXT; +typedef struct XrSpatialPersistenceContextCreateInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialPersistenceScopeEXT scope; +} XrSpatialPersistenceContextCreateInfoEXT; + +typedef struct XrCreateSpatialPersistenceContextCompletionEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT createResult; + XrSpatialPersistenceContextEXT persistenceContext; +} XrCreateSpatialPersistenceContextCompletionEXT; + +// XrSpatialContextPersistenceConfigEXT extends XrSpatialContextCreateInfoEXT +typedef struct XrSpatialContextPersistenceConfigEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t persistenceContextCount; + const XrSpatialPersistenceContextEXT* persistenceContexts; +} XrSpatialContextPersistenceConfigEXT; + +// XrSpatialDiscoveryPersistenceUuidFilterEXT extends XrSpatialDiscoverySnapshotCreateInfoEXT,XrSpatialComponentDataQueryConditionEXT +typedef struct XrSpatialDiscoveryPersistenceUuidFilterEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + uint32_t persistedUuidCount; + const XrUuid* persistedUuids; +} XrSpatialDiscoveryPersistenceUuidFilterEXT; + +typedef struct XrSpatialPersistenceDataEXT { + XrUuid persistUuid; + XrSpatialPersistenceStateEXT persistState; +} XrSpatialPersistenceDataEXT; + +// XrSpatialComponentPersistenceListEXT extends XrSpatialComponentDataQueryResultEXT +typedef struct XrSpatialComponentPersistenceListEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + uint32_t persistDataCount; + XrSpatialPersistenceDataEXT* persistData; +} XrSpatialComponentPersistenceListEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrEnumerateSpatialPersistenceScopesEXT)(XrInstance instance, XrSystemId systemId, uint32_t persistenceScopeCapacityInput, uint32_t* persistenceScopeCountOutput, XrSpatialPersistenceScopeEXT* persistenceScopes); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialPersistenceContextAsyncEXT)(XrSession session, const XrSpatialPersistenceContextCreateInfoEXT* createInfo, XrFutureEXT* future); +typedef XrResult (XRAPI_PTR *PFN_xrCreateSpatialPersistenceContextCompleteEXT)(XrSession session, XrFutureEXT future, XrCreateSpatialPersistenceContextCompletionEXT* completion); +typedef XrResult (XRAPI_PTR *PFN_xrDestroySpatialPersistenceContextEXT)(XrSpatialPersistenceContextEXT persistenceContext); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSpatialPersistenceScopesEXT( + XrInstance instance, + XrSystemId systemId, + uint32_t persistenceScopeCapacityInput, + uint32_t* persistenceScopeCountOutput, + XrSpatialPersistenceScopeEXT* persistenceScopes); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialPersistenceContextAsyncEXT( + XrSession session, + const XrSpatialPersistenceContextCreateInfoEXT* createInfo, + XrFutureEXT* future); + +XRAPI_ATTR XrResult XRAPI_CALL xrCreateSpatialPersistenceContextCompleteEXT( + XrSession session, + XrFutureEXT future, + XrCreateSpatialPersistenceContextCompletionEXT* completion); + +XRAPI_ATTR XrResult XRAPI_CALL xrDestroySpatialPersistenceContextEXT( + XrSpatialPersistenceContextEXT persistenceContext); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + + +// XR_EXT_spatial_persistence_operations is a preprocessor guard. Do not pass it to API calls. +#define XR_EXT_spatial_persistence_operations 1 +#define XR_EXT_spatial_persistence_operations_SPEC_VERSION 1 +#define XR_EXT_SPATIAL_PERSISTENCE_OPERATIONS_EXTENSION_NAME "XR_EXT_spatial_persistence_operations" +typedef struct XrSpatialEntityPersistInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrSpatialContextEXT spatialContext; + XrSpatialEntityIdEXT spatialEntityId; +} XrSpatialEntityPersistInfoEXT; + +typedef struct XrPersistSpatialEntityCompletionEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT persistResult; + XrUuid persistUuid; +} XrPersistSpatialEntityCompletionEXT; + +typedef struct XrSpatialEntityUnpersistInfoEXT { + XrStructureType type; + const void* XR_MAY_ALIAS next; + XrUuid persistUuid; +} XrSpatialEntityUnpersistInfoEXT; + +typedef struct XrUnpersistSpatialEntityCompletionEXT { + XrStructureType type; + void* XR_MAY_ALIAS next; + XrResult futureResult; + XrSpatialPersistenceContextResultEXT unpersistResult; +} XrUnpersistSpatialEntityCompletionEXT; + +typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityPersistInfoEXT* persistInfo, XrFutureEXT* future); +typedef XrResult (XRAPI_PTR *PFN_xrPersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrPersistSpatialEntityCompletionEXT* completion); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialEntityAsyncEXT)(XrSpatialPersistenceContextEXT persistenceContext, const XrSpatialEntityUnpersistInfoEXT* unpersistInfo, XrFutureEXT* future); +typedef XrResult (XRAPI_PTR *PFN_xrUnpersistSpatialEntityCompleteEXT)(XrSpatialPersistenceContextEXT persistenceContext, XrFutureEXT future, XrUnpersistSpatialEntityCompletionEXT* completion); + +#ifndef XR_NO_PROTOTYPES +#ifdef XR_EXTENSION_PROTOTYPES +XRAPI_ATTR XrResult XRAPI_CALL xrPersistSpatialEntityAsyncEXT( + XrSpatialPersistenceContextEXT persistenceContext, + const XrSpatialEntityPersistInfoEXT* persistInfo, + XrFutureEXT* future); + +XRAPI_ATTR XrResult XRAPI_CALL xrPersistSpatialEntityCompleteEXT( + XrSpatialPersistenceContextEXT persistenceContext, + XrFutureEXT future, + XrPersistSpatialEntityCompletionEXT* completion); + +XRAPI_ATTR XrResult XRAPI_CALL xrUnpersistSpatialEntityAsyncEXT( + XrSpatialPersistenceContextEXT persistenceContext, + const XrSpatialEntityUnpersistInfoEXT* unpersistInfo, + XrFutureEXT* future); + +XRAPI_ATTR XrResult XRAPI_CALL xrUnpersistSpatialEntityCompleteEXT( + XrSpatialPersistenceContextEXT persistenceContext, + XrFutureEXT future, + XrUnpersistSpatialEntityCompletionEXT* completion); +#endif /* XR_EXTENSION_PROTOTYPES */ +#endif /* !XR_NO_PROTOTYPES */ + #ifdef __cplusplus } #endif diff --git a/thirdparty/openxr/include/openxr/openxr_reflection.h b/thirdparty/openxr/include/openxr/openxr_reflection.h index 7f9843a84df..b888f3959a3 100644 --- a/thirdparty/openxr/include/openxr/openxr_reflection.h +++ b/thirdparty/openxr/include/openxr/openxr_reflection.h @@ -143,6 +143,10 @@ XR_ENUM_STR(XrResult); _(XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB, -1000169004) \ _(XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META, -1000266000) \ _(XR_ENVIRONMENT_DEPTH_NOT_AVAILABLE_META, 1000291000) \ + _(XR_ERROR_RENDER_MODEL_ID_INVALID_EXT, -1000300000) \ + _(XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT, -1000300001) \ + _(XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT, -1000300002) \ + _(XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT, -1000301000) \ _(XR_ERROR_HINT_ALREADY_SET_QCOM, -1000306000) \ _(XR_ERROR_NOT_AN_ANCHOR_HTC, -1000319000) \ _(XR_ERROR_SPATIAL_ENTITY_ID_INVALID_BD, -1000389000) \ @@ -169,6 +173,14 @@ XR_ENUM_STR(XrResult); _(XR_COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META, 1000571003) \ _(XR_COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META, 1000571004) \ _(XR_ERROR_SPACE_GROUP_NOT_FOUND_META, -1000572002) \ + _(XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT, -1000740001) \ + _(XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT, -1000740002) \ + _(XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT, -1000740003) \ + _(XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT, -1000740004) \ + _(XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT, -1000740005) \ + _(XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT, -1000740006) \ + _(XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT, -1000763001) \ + _(XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT, -1000781001) \ _(XR_RESULT_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrStructureType(_) \ @@ -524,6 +536,21 @@ XR_ENUM_STR(XrResult); _(XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META, 1000291005) \ _(XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META, 1000291006) \ _(XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META, 1000291007) \ + _(XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT, 1000300000) \ + _(XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT, 1000300001) \ + _(XR_TYPE_RENDER_MODEL_PROPERTIES_EXT, 1000300002) \ + _(XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT, 1000300003) \ + _(XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT, 1000300004) \ + _(XR_TYPE_RENDER_MODEL_STATE_EXT, 1000300005) \ + _(XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT, 1000300006) \ + _(XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT, 1000300007) \ + _(XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT, 1000300008) \ + _(XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT, 1000300009) \ + _(XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT, 1000300010) \ + _(XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT, 1000301000) \ + _(XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT, 1000301001) \ + _(XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT, 1000301002) \ + _(XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT, 1000301003) \ _(XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC, 1000317001) \ _(XR_TYPE_PASSTHROUGH_COLOR_HTC, 1000317002) \ _(XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC, 1000317003) \ @@ -580,6 +607,9 @@ XR_ENUM_STR(XrResult); _(XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD, 1000393000) \ _(XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD, 1000393001) \ _(XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD, 1000394001) \ + _(XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD, 1000396000) \ + _(XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD, 1000396001) \ + _(XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD, 1000396002) \ _(XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT, 1000428000) \ _(XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT, 1000428001) \ _(XR_TYPE_PLANE_DETECTOR_CREATE_INFO_EXT, 1000429001) \ @@ -630,6 +660,47 @@ XR_ENUM_STR(XrResult); _(XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META, 1000572000) \ _(XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META, 1000572001) \ _(XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META, 1000572100) \ + _(XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT, 1000740000) \ + _(XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT, 1000740001) \ + _(XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT, 1000740002) \ + _(XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT, 1000740003) \ + _(XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT, 1000740004) \ + _(XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT, 1000740005) \ + _(XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT, 1000740006) \ + _(XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT, 1000740007) \ + _(XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT, 1000740008) \ + _(XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT, 1000740009) \ + _(XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT, 1000740010) \ + _(XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT, 1000740011) \ + _(XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT, 1000740012) \ + _(XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT, 1000740013) \ + _(XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT, 1000740014) \ + _(XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT, 1000740015) \ + _(XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT, 1000740016) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT, 1000741000) \ + _(XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT, 1000741001) \ + _(XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT, 1000741002) \ + _(XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT, 1000741003) \ + _(XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT, 1000741004) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT, 1000743000) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT, 1000743001) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT, 1000743002) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT, 1000743003) \ + _(XR_TYPE_SPATIAL_MARKER_SIZE_EXT, 1000743004) \ + _(XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT, 1000743005) \ + _(XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT, 1000743006) \ + _(XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT, 1000762000) \ + _(XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT, 1000762001) \ + _(XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT, 1000762002) \ + _(XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT, 1000763000) \ + _(XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT, 1000763001) \ + _(XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT, 1000763002) \ + _(XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT, 1000763003) \ + _(XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT, 1000763004) \ + _(XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT, 1000781000) \ + _(XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT, 1000781001) \ + _(XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT, 1000781002) \ + _(XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT, 1000781003) \ _(XR_STRUCTURE_TYPE_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrFormFactor(_) \ @@ -719,6 +790,8 @@ XR_ENUM_STR(XrResult); _(XR_OBJECT_TYPE_FACE_TRACKER2_FB, 1000287012) \ _(XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_PROVIDER_META, 1000291000) \ _(XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_META, 1000291001) \ + _(XR_OBJECT_TYPE_RENDER_MODEL_EXT, 1000300000) \ + _(XR_OBJECT_TYPE_RENDER_MODEL_ASSET_EXT, 1000300001) \ _(XR_OBJECT_TYPE_PASSTHROUGH_HTC, 1000317000) \ _(XR_OBJECT_TYPE_BODY_TRACKER_HTC, 1000320000) \ _(XR_OBJECT_TYPE_BODY_TRACKER_BD, 1000385000) \ @@ -728,6 +801,10 @@ XR_ENUM_STR(XrResult); _(XR_OBJECT_TYPE_PLANE_DETECTOR_EXT, 1000429000) \ _(XR_OBJECT_TYPE_WORLD_MESH_DETECTOR_ML, 1000474000) \ _(XR_OBJECT_TYPE_FACIAL_EXPRESSION_CLIENT_ML, 1000482000) \ + _(XR_OBJECT_TYPE_SPATIAL_ENTITY_EXT, 1000740000) \ + _(XR_OBJECT_TYPE_SPATIAL_CONTEXT_EXT, 1000740001) \ + _(XR_OBJECT_TYPE_SPATIAL_SNAPSHOT_EXT, 1000740002) \ + _(XR_OBJECT_TYPE_SPATIAL_PERSISTENCE_CONTEXT_EXT, 1000763000) \ _(XR_OBJECT_TYPE_MAX_ENUM, 0x7FFFFFFF) #define XR_LIST_ENUM_XrLoaderInterfaceStructs(_) \ @@ -1683,6 +1760,7 @@ XR_ENUM_STR(XrResult); _(XR_SPATIAL_ENTITY_COMPONENT_TYPE_POLYGON_BD, 3) \ _(XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_3D_BD, 4) \ _(XR_SPATIAL_ENTITY_COMPONENT_TYPE_TRIANGLE_MESH_BD, 5) \ + _(XR_SPATIAL_ENTITY_COMPONENT_TYPE_PLANE_ORIENTATION_BD, 1000396000) \ _(XR_SPATIAL_ENTITY_COMPONENT_TYPE_MAX_ENUM_BD, 0x7FFFFFFF) #define XR_LIST_ENUM_XrSemanticLabelBD(_) \ @@ -1717,6 +1795,7 @@ XR_ENUM_STR(XrResult); _(XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD, 1000390000) \ _(XR_SENSE_DATA_PROVIDER_TYPE_SCENE_BD, 1000392000) \ _(XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD, 1000393000) \ + _(XR_SENSE_DATA_PROVIDER_TYPE_PLANE_BD, 1000396000) \ _(XR_SENSE_DATA_PROVIDER_TYPE_MAX_ENUM_BD, 0x7FFFFFFF) #define XR_LIST_ENUM_XrSenseDataProviderStateBD(_) \ @@ -1735,6 +1814,13 @@ XR_ENUM_STR(XrResult); _(XR_SPATIAL_MESH_LOD_FINE_BD, 2) \ _(XR_SPATIAL_MESH_LOD_MAX_ENUM_BD, 0x7FFFFFFF) +#define XR_LIST_ENUM_XrPlaneOrientationBD(_) \ + _(XR_PLANE_ORIENTATION_HORIZONTAL_UPWARD_BD, 0) \ + _(XR_PLANE_ORIENTATION_HORIZONTAL_DOWNWARD_BD, 1) \ + _(XR_PLANE_ORIENTATION_VERTICAL_BD, 2) \ + _(XR_PLANE_ORIENTATION_ARBITRARY_BD, 3) \ + _(XR_PLANE_ORIENTATION_MAX_ENUM_BD, 0x7FFFFFFF) + #define XR_LIST_ENUM_XrHandTrackingDataSourceEXT(_) \ _(XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_EXT, 1) \ _(XR_HAND_TRACKING_DATA_SOURCE_CONTROLLER_EXT, 2) \ @@ -1851,6 +1937,108 @@ XR_ENUM_STR(XrResult); _(XR_FACIAL_BLEND_SHAPE_TONGUE_OUT_ML, 45) \ _(XR_FACIAL_BLEND_SHAPE_MAX_ENUM_ML, 0x7FFFFFFF) +#define XR_LIST_ENUM_XrSpatialCapabilityEXT(_) \ + _(XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT, 1000741000) \ + _(XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT, 1000743000) \ + _(XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT, 1000743001) \ + _(XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT, 1000743002) \ + _(XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT, 1000743003) \ + _(XR_SPATIAL_CAPABILITY_ANCHOR_EXT, 1000762000) \ + _(XR_SPATIAL_CAPABILITY_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialCapabilityFeatureEXT(_) \ + _(XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_FIXED_SIZE_MARKERS_EXT, 1000743000) \ + _(XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_STATIC_MARKERS_EXT, 1000743001) \ + _(XR_SPATIAL_CAPABILITY_FEATURE_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialComponentTypeEXT(_) \ + _(XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT, 1) \ + _(XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT, 2) \ + _(XR_SPATIAL_COMPONENT_TYPE_PARENT_EXT, 3) \ + _(XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT, 4) \ + _(XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT, 1000741000) \ + _(XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT, 1000741001) \ + _(XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT, 1000741002) \ + _(XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT, 1000741003) \ + _(XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT, 1000743000) \ + _(XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT, 1000762000) \ + _(XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT, 1000763000) \ + _(XR_SPATIAL_COMPONENT_TYPE_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialEntityTrackingStateEXT(_) \ + _(XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT, 1) \ + _(XR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT, 2) \ + _(XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT, 3) \ + _(XR_SPATIAL_ENTITY_TRACKING_STATE_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialBufferTypeEXT(_) \ + _(XR_SPATIAL_BUFFER_TYPE_UNKNOWN_EXT, 0) \ + _(XR_SPATIAL_BUFFER_TYPE_STRING_EXT, 1) \ + _(XR_SPATIAL_BUFFER_TYPE_UINT8_EXT, 2) \ + _(XR_SPATIAL_BUFFER_TYPE_UINT16_EXT, 3) \ + _(XR_SPATIAL_BUFFER_TYPE_UINT32_EXT, 4) \ + _(XR_SPATIAL_BUFFER_TYPE_FLOAT_EXT, 5) \ + _(XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT, 6) \ + _(XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT, 7) \ + _(XR_SPATIAL_BUFFER_TYPE_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialPlaneAlignmentEXT(_) \ + _(XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_UPWARD_EXT, 0) \ + _(XR_SPATIAL_PLANE_ALIGNMENT_HORIZONTAL_DOWNWARD_EXT, 1) \ + _(XR_SPATIAL_PLANE_ALIGNMENT_VERTICAL_EXT, 2) \ + _(XR_SPATIAL_PLANE_ALIGNMENT_ARBITRARY_EXT, 3) \ + _(XR_SPATIAL_PLANE_ALIGNMENT_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialPlaneSemanticLabelEXT(_) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_UNCATEGORIZED_EXT, 1) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_FLOOR_EXT, 2) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_WALL_EXT, 3) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_CEILING_EXT, 4) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_TABLE_EXT, 5) \ + _(XR_SPATIAL_PLANE_SEMANTIC_LABEL_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialMarkerArucoDictEXT(_) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_4X4_50_EXT, 1) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_4X4_100_EXT, 2) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_4X4_250_EXT, 3) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_4X4_1000_EXT, 4) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_5X5_50_EXT, 5) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_5X5_100_EXT, 6) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_5X5_250_EXT, 7) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_5X5_1000_EXT, 8) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_6X6_50_EXT, 9) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_6X6_100_EXT, 10) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_6X6_250_EXT, 11) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_6X6_1000_EXT, 12) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_7X7_50_EXT, 13) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_7X7_100_EXT, 14) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_7X7_250_EXT, 15) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_7X7_1000_EXT, 16) \ + _(XR_SPATIAL_MARKER_ARUCO_DICT_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialMarkerAprilTagDictEXT(_) \ + _(XR_SPATIAL_MARKER_APRIL_TAG_DICT_16H5_EXT, 1) \ + _(XR_SPATIAL_MARKER_APRIL_TAG_DICT_25H9_EXT, 2) \ + _(XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H10_EXT, 3) \ + _(XR_SPATIAL_MARKER_APRIL_TAG_DICT_36H11_EXT, 4) \ + _(XR_SPATIAL_MARKER_APRIL_TAG_DICT_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialPersistenceScopeEXT(_) \ + _(XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT, 1) \ + _(XR_SPATIAL_PERSISTENCE_SCOPE_LOCAL_ANCHORS_EXT, 1000781000) \ + _(XR_SPATIAL_PERSISTENCE_SCOPE_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialPersistenceContextResultEXT(_) \ + _(XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_SUCCESS_EXT, 0) \ + _(XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT, -1000781001) \ + _(XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT, -1000781002) \ + _(XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_MAX_ENUM_EXT, 0x7FFFFFFF) + +#define XR_LIST_ENUM_XrSpatialPersistenceStateEXT(_) \ + _(XR_SPATIAL_PERSISTENCE_STATE_LOADED_EXT, 1) \ + _(XR_SPATIAL_PERSISTENCE_STATE_NOT_FOUND_EXT, 2) \ + _(XR_SPATIAL_PERSISTENCE_STATE_MAX_ENUM_EXT, 0x7FFFFFFF) + #define XR_LIST_BITS_XrInstanceCreateFlags(_) #define XR_LIST_BITS_XrSessionCreateFlags(_) @@ -5155,6 +5343,107 @@ XR_ENUM_STR(XrResult); _(supportsEnvironmentDepth) \ _(supportsHandRemoval) \ +/// Calls your macro with the name of each member of XrRenderModelCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(renderModelId) \ + _(gltfExtensionCount) \ + _(gltfExtensions) \ + +/// Calls your macro with the name of each member of XrRenderModelPropertiesGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelPropertiesGetInfoEXT(_) \ + _(type) \ + _(next) \ + +/// Calls your macro with the name of each member of XrRenderModelPropertiesEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelPropertiesEXT(_) \ + _(type) \ + _(next) \ + _(cacheId) \ + _(animatableNodeCount) \ + +/// Calls your macro with the name of each member of XrRenderModelSpaceCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelSpaceCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(renderModel) \ + +/// Calls your macro with the name of each member of XrRenderModelStateGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelStateGetInfoEXT(_) \ + _(type) \ + _(next) \ + _(displayTime) \ + +/// Calls your macro with the name of each member of XrRenderModelNodeStateEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelNodeStateEXT(_) \ + _(nodePose) \ + _(isVisible) \ + +/// Calls your macro with the name of each member of XrRenderModelStateEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelStateEXT(_) \ + _(type) \ + _(next) \ + _(nodeStateCount) \ + _(nodeStates) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(cacheId) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetDataGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetDataGetInfoEXT(_) \ + _(type) \ + _(next) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetDataEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetDataEXT(_) \ + _(type) \ + _(next) \ + _(bufferCapacityInput) \ + _(bufferCountOutput) \ + _(buffer) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetPropertiesGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetPropertiesGetInfoEXT(_) \ + _(type) \ + _(next) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetNodePropertiesEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetNodePropertiesEXT(_) \ + _(uniqueName) \ + +/// Calls your macro with the name of each member of XrRenderModelAssetPropertiesEXT, in order. +#define XR_LIST_STRUCT_XrRenderModelAssetPropertiesEXT(_) \ + _(type) \ + _(next) \ + _(nodePropertyCount) \ + _(nodeProperties) \ + +/// Calls your macro with the name of each member of XrInteractionRenderModelIdsEnumerateInfoEXT, in order. +#define XR_LIST_STRUCT_XrInteractionRenderModelIdsEnumerateInfoEXT(_) \ + _(type) \ + _(next) \ + +/// Calls your macro with the name of each member of XrInteractionRenderModelSubactionPathInfoEXT, in order. +#define XR_LIST_STRUCT_XrInteractionRenderModelSubactionPathInfoEXT(_) \ + _(type) \ + _(next) \ + +/// Calls your macro with the name of each member of XrInteractionRenderModelTopLevelUserPathGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrInteractionRenderModelTopLevelUserPathGetInfoEXT(_) \ + _(type) \ + _(next) \ + _(topLevelUserPathCount) \ + _(topLevelUserPaths) \ + +/// Calls your macro with the name of each member of XrEventDataInteractionRenderModelsChangedEXT, in order. +#define XR_LIST_STRUCT_XrEventDataInteractionRenderModelsChangedEXT(_) \ + _(type) \ + _(next) \ + /// Calls your macro with the name of each member of XrPassthroughCreateInfoHTC, in order. #define XR_LIST_STRUCT_XrPassthroughCreateInfoHTC(_) \ _(type) \ @@ -5586,6 +5875,25 @@ XR_ENUM_STR(XrResult); _(isSupported) \ _(progressPercentage) \ +/// Calls your macro with the name of each member of XrSystemSpatialPlanePropertiesBD, in order. +#define XR_LIST_STRUCT_XrSystemSpatialPlanePropertiesBD(_) \ + _(type) \ + _(next) \ + _(supportsSpatialPlane) \ + +/// Calls your macro with the name of each member of XrSpatialEntityComponentDataPlaneOrientationBD, in order. +#define XR_LIST_STRUCT_XrSpatialEntityComponentDataPlaneOrientationBD(_) \ + _(type) \ + _(next) \ + _(orientation) \ + +/// Calls your macro with the name of each member of XrSenseDataFilterPlaneOrientationBD, in order. +#define XR_LIST_STRUCT_XrSenseDataFilterPlaneOrientationBD(_) \ + _(type) \ + _(next) \ + _(orientationCount) \ + _(orientations) \ + /// Calls your macro with the name of each member of XrHandTrackingDataSourceInfoEXT, in order. #define XR_LIST_STRUCT_XrHandTrackingDataSourceInfoEXT(_) \ _(type) \ @@ -5968,6 +6276,346 @@ XR_ENUM_STR(XrResult); _(next) \ _(groupUuid) \ +/// Calls your macro with the name of each member of XrSpatialCapabilityComponentTypesEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityComponentTypesEXT(_) \ + _(type) \ + _(next) \ + _(componentTypeCapacityInput) \ + _(componentTypeCountOutput) \ + _(componentTypes) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationBaseHeaderEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationBaseHeaderEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + +/// Calls your macro with the name of each member of XrSpatialContextCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialContextCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(capabilityConfigCount) \ + _(capabilityConfigs) \ + +/// Calls your macro with the name of each member of XrCreateSpatialContextCompletionEXT, in order. +#define XR_LIST_STRUCT_XrCreateSpatialContextCompletionEXT(_) \ + _(type) \ + _(next) \ + _(futureResult) \ + _(spatialContext) \ + +/// Calls your macro with the name of each member of XrSpatialDiscoverySnapshotCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialDiscoverySnapshotCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(componentTypeCount) \ + _(componentTypes) \ + +/// Calls your macro with the name of each member of XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, in order. +#define XR_LIST_STRUCT_XrCreateSpatialDiscoverySnapshotCompletionInfoEXT(_) \ + _(type) \ + _(next) \ + _(baseSpace) \ + _(time) \ + _(future) \ + +/// Calls your macro with the name of each member of XrCreateSpatialDiscoverySnapshotCompletionEXT, in order. +#define XR_LIST_STRUCT_XrCreateSpatialDiscoverySnapshotCompletionEXT(_) \ + _(type) \ + _(next) \ + _(futureResult) \ + _(snapshot) \ + +/// Calls your macro with the name of each member of XrSpatialComponentDataQueryConditionEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentDataQueryConditionEXT(_) \ + _(type) \ + _(next) \ + _(componentTypeCount) \ + _(componentTypes) \ + +/// Calls your macro with the name of each member of XrSpatialComponentDataQueryResultEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentDataQueryResultEXT(_) \ + _(type) \ + _(next) \ + _(entityIdCapacityInput) \ + _(entityIdCountOutput) \ + _(entityIds) \ + _(entityStateCapacityInput) \ + _(entityStateCountOutput) \ + _(entityStates) \ + +/// Calls your macro with the name of each member of XrSpatialBufferEXT, in order. +#define XR_LIST_STRUCT_XrSpatialBufferEXT(_) \ + _(bufferId) \ + _(bufferType) \ + +/// Calls your macro with the name of each member of XrSpatialBufferGetInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialBufferGetInfoEXT(_) \ + _(type) \ + _(next) \ + _(bufferId) \ + +/// Calls your macro with the name of each member of XrSpatialBounded2DDataEXT, in order. +#define XR_LIST_STRUCT_XrSpatialBounded2DDataEXT(_) \ + _(center) \ + _(extents) \ + +/// Calls your macro with the name of each member of XrSpatialComponentBounded2DListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentBounded2DListEXT(_) \ + _(type) \ + _(next) \ + _(boundCount) \ + _(bounds) \ + +/// Calls your macro with the name of each member of XrSpatialComponentBounded3DListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentBounded3DListEXT(_) \ + _(type) \ + _(next) \ + _(boundCount) \ + _(bounds) \ + +/// Calls your macro with the name of each member of XrSpatialComponentParentListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentParentListEXT(_) \ + _(type) \ + _(next) \ + _(parentCount) \ + _(parents) \ + +/// Calls your macro with the name of each member of XrSpatialMeshDataEXT, in order. +#define XR_LIST_STRUCT_XrSpatialMeshDataEXT(_) \ + _(origin) \ + _(vertexBuffer) \ + _(indexBuffer) \ + +/// Calls your macro with the name of each member of XrSpatialComponentMesh3DListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentMesh3DListEXT(_) \ + _(type) \ + _(next) \ + _(meshCount) \ + _(meshes) \ + +/// Calls your macro with the name of each member of XrSpatialEntityFromIdCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialEntityFromIdCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(entityId) \ + +/// Calls your macro with the name of each member of XrSpatialUpdateSnapshotCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialUpdateSnapshotCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(entityCount) \ + _(entities) \ + _(componentTypeCount) \ + _(componentTypes) \ + _(baseSpace) \ + _(time) \ + +/// Calls your macro with the name of each member of XrEventDataSpatialDiscoveryRecommendedEXT, in order. +#define XR_LIST_STRUCT_XrEventDataSpatialDiscoveryRecommendedEXT(_) \ + _(type) \ + _(next) \ + _(spatialContext) \ + +/// Calls your macro with the name of each member of XrSpatialFilterTrackingStateEXT, in order. +#define XR_LIST_STRUCT_XrSpatialFilterTrackingStateEXT(_) \ + _(type) \ + _(next) \ + _(trackingState) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationPlaneTrackingEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationPlaneTrackingEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + +/// Calls your macro with the name of each member of XrSpatialComponentPlaneAlignmentListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentPlaneAlignmentListEXT(_) \ + _(type) \ + _(next) \ + _(planeAlignmentCount) \ + _(planeAlignments) \ + +/// Calls your macro with the name of each member of XrSpatialComponentMesh2DListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentMesh2DListEXT(_) \ + _(type) \ + _(next) \ + _(meshCount) \ + _(meshes) \ + +/// Calls your macro with the name of each member of XrSpatialPolygon2DDataEXT, in order. +#define XR_LIST_STRUCT_XrSpatialPolygon2DDataEXT(_) \ + _(origin) \ + _(vertexBuffer) \ + +/// Calls your macro with the name of each member of XrSpatialComponentPolygon2DListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentPolygon2DListEXT(_) \ + _(type) \ + _(next) \ + _(polygonCount) \ + _(polygons) \ + +/// Calls your macro with the name of each member of XrSpatialComponentPlaneSemanticLabelListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentPlaneSemanticLabelListEXT(_) \ + _(type) \ + _(next) \ + _(semanticLabelCount) \ + _(semanticLabels) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationQrCodeEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationQrCodeEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationMicroQrCodeEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationMicroQrCodeEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationArucoMarkerEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationArucoMarkerEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + _(arUcoDict) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationAprilTagEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationAprilTagEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + _(aprilDict) \ + +/// Calls your macro with the name of each member of XrSpatialMarkerSizeEXT, in order. +#define XR_LIST_STRUCT_XrSpatialMarkerSizeEXT(_) \ + _(type) \ + _(next) \ + _(markerSideLength) \ + +/// Calls your macro with the name of each member of XrSpatialMarkerStaticOptimizationEXT, in order. +#define XR_LIST_STRUCT_XrSpatialMarkerStaticOptimizationEXT(_) \ + _(type) \ + _(next) \ + _(optimizeForStaticMarker) \ + +/// Calls your macro with the name of each member of XrSpatialMarkerDataEXT, in order. +#define XR_LIST_STRUCT_XrSpatialMarkerDataEXT(_) \ + _(capability) \ + _(markerId) \ + _(data) \ + +/// Calls your macro with the name of each member of XrSpatialComponentMarkerListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentMarkerListEXT(_) \ + _(type) \ + _(next) \ + _(markerCount) \ + _(markers) \ + +/// Calls your macro with the name of each member of XrSpatialCapabilityConfigurationAnchorEXT, in order. +#define XR_LIST_STRUCT_XrSpatialCapabilityConfigurationAnchorEXT(_) \ + _(type) \ + _(next) \ + _(capability) \ + _(enabledComponentCount) \ + _(enabledComponents) \ + +/// Calls your macro with the name of each member of XrSpatialComponentAnchorListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentAnchorListEXT(_) \ + _(type) \ + _(next) \ + _(locationCount) \ + _(locations) \ + +/// Calls your macro with the name of each member of XrSpatialAnchorCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialAnchorCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(baseSpace) \ + _(time) \ + _(pose) \ + +/// Calls your macro with the name of each member of XrSpatialPersistenceContextCreateInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialPersistenceContextCreateInfoEXT(_) \ + _(type) \ + _(next) \ + _(scope) \ + +/// Calls your macro with the name of each member of XrCreateSpatialPersistenceContextCompletionEXT, in order. +#define XR_LIST_STRUCT_XrCreateSpatialPersistenceContextCompletionEXT(_) \ + _(type) \ + _(next) \ + _(futureResult) \ + _(createResult) \ + _(persistenceContext) \ + +/// Calls your macro with the name of each member of XrSpatialContextPersistenceConfigEXT, in order. +#define XR_LIST_STRUCT_XrSpatialContextPersistenceConfigEXT(_) \ + _(type) \ + _(next) \ + _(persistenceContextCount) \ + _(persistenceContexts) \ + +/// Calls your macro with the name of each member of XrSpatialDiscoveryPersistenceUuidFilterEXT, in order. +#define XR_LIST_STRUCT_XrSpatialDiscoveryPersistenceUuidFilterEXT(_) \ + _(type) \ + _(next) \ + _(persistedUuidCount) \ + _(persistedUuids) \ + +/// Calls your macro with the name of each member of XrSpatialPersistenceDataEXT, in order. +#define XR_LIST_STRUCT_XrSpatialPersistenceDataEXT(_) \ + _(persistUuid) \ + _(persistState) \ + +/// Calls your macro with the name of each member of XrSpatialComponentPersistenceListEXT, in order. +#define XR_LIST_STRUCT_XrSpatialComponentPersistenceListEXT(_) \ + _(type) \ + _(next) \ + _(persistDataCount) \ + _(persistData) \ + +/// Calls your macro with the name of each member of XrSpatialEntityPersistInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialEntityPersistInfoEXT(_) \ + _(type) \ + _(next) \ + _(spatialContext) \ + _(spatialEntityId) \ + +/// Calls your macro with the name of each member of XrPersistSpatialEntityCompletionEXT, in order. +#define XR_LIST_STRUCT_XrPersistSpatialEntityCompletionEXT(_) \ + _(type) \ + _(next) \ + _(futureResult) \ + _(persistResult) \ + _(persistUuid) \ + +/// Calls your macro with the name of each member of XrSpatialEntityUnpersistInfoEXT, in order. +#define XR_LIST_STRUCT_XrSpatialEntityUnpersistInfoEXT(_) \ + _(type) \ + _(next) \ + _(persistUuid) \ + +/// Calls your macro with the name of each member of XrUnpersistSpatialEntityCompletionEXT, in order. +#define XR_LIST_STRUCT_XrUnpersistSpatialEntityCompletionEXT(_) \ + _(type) \ + _(next) \ + _(futureResult) \ + _(unpersistResult) \ + /// Calls your macro with the structure type name and the XrStructureType constant for @@ -6305,6 +6953,21 @@ XR_ENUM_STR(XrResult); _(XrEnvironmentDepthImageMETA, XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META) \ _(XrEnvironmentDepthHandRemovalSetInfoMETA, XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META) \ _(XrSystemEnvironmentDepthPropertiesMETA, XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META) \ + _(XrRenderModelCreateInfoEXT, XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT) \ + _(XrRenderModelPropertiesGetInfoEXT, XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT) \ + _(XrRenderModelPropertiesEXT, XR_TYPE_RENDER_MODEL_PROPERTIES_EXT) \ + _(XrRenderModelSpaceCreateInfoEXT, XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT) \ + _(XrRenderModelStateGetInfoEXT, XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT) \ + _(XrRenderModelStateEXT, XR_TYPE_RENDER_MODEL_STATE_EXT) \ + _(XrRenderModelAssetCreateInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT) \ + _(XrRenderModelAssetDataGetInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT) \ + _(XrRenderModelAssetDataEXT, XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT) \ + _(XrRenderModelAssetPropertiesGetInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT) \ + _(XrRenderModelAssetPropertiesEXT, XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT) \ + _(XrInteractionRenderModelIdsEnumerateInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT) \ + _(XrInteractionRenderModelSubactionPathInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT) \ + _(XrInteractionRenderModelTopLevelUserPathGetInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT) \ + _(XrEventDataInteractionRenderModelsChangedEXT, XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT) \ _(XrPassthroughCreateInfoHTC, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC) \ _(XrPassthroughColorHTC, XR_TYPE_PASSTHROUGH_COLOR_HTC) \ _(XrPassthroughMeshTransformInfoHTC, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC) \ @@ -6362,6 +7025,9 @@ XR_ENUM_STR(XrResult); _(XrSystemSpatialMeshPropertiesBD, XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD) \ _(XrSenseDataProviderCreateInfoSpatialMeshBD, XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD) \ _(XrFuturePollResultProgressBD, XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD) \ + _(XrSystemSpatialPlanePropertiesBD, XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD) \ + _(XrSpatialEntityComponentDataPlaneOrientationBD, XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD) \ + _(XrSenseDataFilterPlaneOrientationBD, XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD) \ _(XrHandTrackingDataSourceInfoEXT, XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT) \ _(XrHandTrackingDataSourceStateEXT, XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT) \ _(XrSystemPlaneDetectionPropertiesEXT, XR_TYPE_SYSTEM_PLANE_DETECTION_PROPERTIES_EXT) \ @@ -6414,6 +7080,47 @@ XR_ENUM_STR(XrResult); _(XrSystemSpatialEntityGroupSharingPropertiesMETA, XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META) \ _(XrShareSpacesRecipientGroupsMETA, XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META) \ _(XrSpaceGroupUuidFilterInfoMETA, XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META) \ + _(XrSpatialCapabilityComponentTypesEXT, XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT) \ + _(XrSpatialContextCreateInfoEXT, XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT) \ + _(XrCreateSpatialContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT) \ + _(XrSpatialDiscoverySnapshotCreateInfoEXT, XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT) \ + _(XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT) \ + _(XrCreateSpatialDiscoverySnapshotCompletionEXT, XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT) \ + _(XrSpatialComponentDataQueryConditionEXT, XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT) \ + _(XrSpatialComponentDataQueryResultEXT, XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT) \ + _(XrSpatialBufferGetInfoEXT, XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT) \ + _(XrSpatialComponentBounded2DListEXT, XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT) \ + _(XrSpatialComponentBounded3DListEXT, XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT) \ + _(XrSpatialComponentParentListEXT, XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT) \ + _(XrSpatialComponentMesh3DListEXT, XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT) \ + _(XrSpatialEntityFromIdCreateInfoEXT, XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT) \ + _(XrSpatialUpdateSnapshotCreateInfoEXT, XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT) \ + _(XrEventDataSpatialDiscoveryRecommendedEXT, XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT) \ + _(XrSpatialFilterTrackingStateEXT, XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT) \ + _(XrSpatialCapabilityConfigurationPlaneTrackingEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT) \ + _(XrSpatialComponentPlaneAlignmentListEXT, XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT) \ + _(XrSpatialComponentMesh2DListEXT, XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT) \ + _(XrSpatialComponentPolygon2DListEXT, XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT) \ + _(XrSpatialComponentPlaneSemanticLabelListEXT, XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT) \ + _(XrSpatialCapabilityConfigurationQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT) \ + _(XrSpatialCapabilityConfigurationMicroQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT) \ + _(XrSpatialCapabilityConfigurationArucoMarkerEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT) \ + _(XrSpatialCapabilityConfigurationAprilTagEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT) \ + _(XrSpatialMarkerSizeEXT, XR_TYPE_SPATIAL_MARKER_SIZE_EXT) \ + _(XrSpatialMarkerStaticOptimizationEXT, XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT) \ + _(XrSpatialComponentMarkerListEXT, XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT) \ + _(XrSpatialCapabilityConfigurationAnchorEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT) \ + _(XrSpatialComponentAnchorListEXT, XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT) \ + _(XrSpatialAnchorCreateInfoEXT, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT) \ + _(XrSpatialPersistenceContextCreateInfoEXT, XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT) \ + _(XrCreateSpatialPersistenceContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT) \ + _(XrSpatialContextPersistenceConfigEXT, XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT) \ + _(XrSpatialDiscoveryPersistenceUuidFilterEXT, XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT) \ + _(XrSpatialComponentPersistenceListEXT, XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT) \ + _(XrSpatialEntityPersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT) \ + _(XrPersistSpatialEntityCompletionEXT, XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ + _(XrSpatialEntityUnpersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT) \ + _(XrUnpersistSpatialEntityCompletionEXT, XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ #if defined(XR_USE_GRAPHICS_API_D3D11) @@ -6739,6 +7446,8 @@ XR_ENUM_STR(XrResult); _(XR_META_spatial_entity_sharing, 291) \ _(XR_META_environment_depth, 292) \ _(XR_EXT_uuid, 300) \ + _(XR_EXT_render_model, 301) \ + _(XR_EXT_interaction_render_model, 302) \ _(XR_EXT_hand_interaction, 303) \ _(XR_QCOM_tracking_optimization_settings, 307) \ _(XR_HTC_passthrough, 318) \ @@ -6755,6 +7464,7 @@ XR_ENUM_STR(XrResult); _(XR_BD_spatial_scene, 393) \ _(XR_BD_spatial_mesh, 394) \ _(XR_BD_future_progress, 395) \ + _(XR_BD_spatial_plane, 397) \ _(XR_EXT_local_floor, 427) \ _(XR_EXT_hand_tracking_data_source, 429) \ _(XR_EXT_plane_detection, 430) \ @@ -6773,7 +7483,13 @@ XR_ENUM_STR(XrResult); _(XR_META_colocation_discovery, 572) \ _(XR_META_spatial_entity_group_sharing, 573) \ _(XR_KHR_maintenance1, 711) \ + _(XR_EXT_spatial_entity, 741) \ + _(XR_EXT_spatial_plane_tracking, 742) \ + _(XR_EXT_spatial_marker_tracking, 744) \ _(XR_LOGITECH_mx_ink_stylus_interaction, 746) \ + _(XR_EXT_spatial_anchor, 763) \ + _(XR_EXT_spatial_persistence, 764) \ + _(XR_EXT_spatial_persistence_operations, 782) \ @@ -7607,6 +8323,32 @@ XR_ENUM_STR(XrResult); _(SetEnvironmentDepthHandRemovalMETA, META_environment_depth) \ +/// For every function defined by XR_EXT_render_model in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_render_model(_) \ + _(CreateRenderModelEXT, EXT_render_model) \ + _(DestroyRenderModelEXT, EXT_render_model) \ + _(GetRenderModelPropertiesEXT, EXT_render_model) \ + _(CreateRenderModelSpaceEXT, EXT_render_model) \ + _(CreateRenderModelAssetEXT, EXT_render_model) \ + _(DestroyRenderModelAssetEXT, EXT_render_model) \ + _(GetRenderModelAssetDataEXT, EXT_render_model) \ + _(GetRenderModelAssetPropertiesEXT, EXT_render_model) \ + _(GetRenderModelStateEXT, EXT_render_model) \ + + +/// For every function defined by XR_EXT_interaction_render_model in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_interaction_render_model(_) \ + _(EnumerateInteractionRenderModelIdsEXT, EXT_interaction_render_model) \ + _(EnumerateRenderModelSubactionPathsEXT, EXT_interaction_render_model) \ + _(GetRenderModelPoseTopLevelUserPathEXT, EXT_interaction_render_model) \ + + /// For every function defined by XR_QCOM_tracking_optimization_settings in this version of the spec, /// calls your macro with the function name and extension name. /// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, @@ -7811,6 +8553,63 @@ XR_ENUM_STR(XrResult); _(StopColocationAdvertisementMETA, META_colocation_discovery) \ +/// For every function defined by XR_EXT_spatial_entity in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_spatial_entity(_) \ + _(EnumerateSpatialCapabilitiesEXT, EXT_spatial_entity) \ + _(EnumerateSpatialCapabilityComponentTypesEXT, EXT_spatial_entity) \ + _(EnumerateSpatialCapabilityFeaturesEXT, EXT_spatial_entity) \ + _(CreateSpatialContextAsyncEXT, EXT_spatial_entity) \ + _(CreateSpatialContextCompleteEXT, EXT_spatial_entity) \ + _(DestroySpatialContextEXT, EXT_spatial_entity) \ + _(CreateSpatialDiscoverySnapshotAsyncEXT, EXT_spatial_entity) \ + _(CreateSpatialDiscoverySnapshotCompleteEXT, EXT_spatial_entity) \ + _(QuerySpatialComponentDataEXT, EXT_spatial_entity) \ + _(DestroySpatialSnapshotEXT, EXT_spatial_entity) \ + _(CreateSpatialEntityFromIdEXT, EXT_spatial_entity) \ + _(DestroySpatialEntityEXT, EXT_spatial_entity) \ + _(CreateSpatialUpdateSnapshotEXT, EXT_spatial_entity) \ + _(GetSpatialBufferStringEXT, EXT_spatial_entity) \ + _(GetSpatialBufferUint8EXT, EXT_spatial_entity) \ + _(GetSpatialBufferUint16EXT, EXT_spatial_entity) \ + _(GetSpatialBufferUint32EXT, EXT_spatial_entity) \ + _(GetSpatialBufferFloatEXT, EXT_spatial_entity) \ + _(GetSpatialBufferVector2fEXT, EXT_spatial_entity) \ + _(GetSpatialBufferVector3fEXT, EXT_spatial_entity) \ + + +/// For every function defined by XR_EXT_spatial_anchor in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_spatial_anchor(_) \ + _(CreateSpatialAnchorEXT, EXT_spatial_anchor) \ + + +/// For every function defined by XR_EXT_spatial_persistence in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_spatial_persistence(_) \ + _(EnumerateSpatialPersistenceScopesEXT, EXT_spatial_persistence) \ + _(CreateSpatialPersistenceContextAsyncEXT, EXT_spatial_persistence) \ + _(CreateSpatialPersistenceContextCompleteEXT, EXT_spatial_persistence) \ + _(DestroySpatialPersistenceContextEXT, EXT_spatial_persistence) \ + + +/// For every function defined by XR_EXT_spatial_persistence_operations in this version of the spec, +/// calls your macro with the function name and extension name. +/// Trims the leading `xr` from the function name and the leading `XR_` from the feature name, +/// because it is easy to add back but impossible to remove with the preprocessor. +#define XR_LIST_FUNCTIONS_XR_EXT_spatial_persistence_operations(_) \ + _(PersistSpatialEntityAsyncEXT, EXT_spatial_persistence_operations) \ + _(PersistSpatialEntityCompleteEXT, EXT_spatial_persistence_operations) \ + _(UnpersistSpatialEntityAsyncEXT, EXT_spatial_persistence_operations) \ + _(UnpersistSpatialEntityCompleteEXT, EXT_spatial_persistence_operations) \ + + #endif diff --git a/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h b/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h index 043c9782a79..8f5f0e81b78 100644 --- a/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h +++ b/thirdparty/openxr/include/openxr/openxr_reflection_parent_structs.h @@ -71,6 +71,7 @@ This file contains expansion macros (X Macros) for OpenXR structures that have a _avail(XrEventDataSenseDataUpdatedBD, XR_TYPE_EVENT_DATA_SENSE_DATA_UPDATED_BD) \ _avail(XrEventDataHeadsetFitChangedML, XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML) \ _avail(XrEventDataEyeCalibrationChangedML, XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML) \ + _avail(XrEventDataSpatialDiscoveryRecommendedEXT, XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT) \ @@ -272,6 +273,11 @@ This file contains expansion macros (X Macros) for OpenXR structures that have a _avail(XrSpatialAnchorCreateCompletionBD, XR_TYPE_SPATIAL_ANCHOR_CREATE_COMPLETION_BD) \ _avail(XrWorldMeshStateRequestCompletionML, XR_TYPE_WORLD_MESH_STATE_REQUEST_COMPLETION_ML) \ _avail(XrWorldMeshRequestCompletionML, XR_TYPE_WORLD_MESH_REQUEST_COMPLETION_ML) \ + _avail(XrCreateSpatialContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT) \ + _avail(XrCreateSpatialDiscoverySnapshotCompletionEXT, XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT) \ + _avail(XrCreateSpatialPersistenceContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT) \ + _avail(XrPersistSpatialEntityCompletionEXT, XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ + _avail(XrUnpersistSpatialEntityCompletionEXT, XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ @@ -330,5 +336,22 @@ This file contains expansion macros (X Macros) for OpenXR structures that have a +/// Like XR_LIST_ALL_STRUCTURE_TYPES, but only includes types whose parent struct type is XrSpatialCapabilityConfigurationBaseHeaderEXT +#define XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpatialCapabilityConfigurationBaseHeaderEXT(_avail, _unavail) \ + _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpatialCapabilityConfigurationBaseHeaderEXT_CORE(_avail, _unavail) \ + + +// Implementation detail of XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpatialCapabilityConfigurationBaseHeaderEXT() +#define _impl_XR_LIST_ALL_CHILD_STRUCTURE_TYPES_XrSpatialCapabilityConfigurationBaseHeaderEXT_CORE(_avail, _unavail) \ + _avail(XrSpatialCapabilityConfigurationPlaneTrackingEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT) \ + _avail(XrSpatialCapabilityConfigurationQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT) \ + _avail(XrSpatialCapabilityConfigurationMicroQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT) \ + _avail(XrSpatialCapabilityConfigurationArucoMarkerEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT) \ + _avail(XrSpatialCapabilityConfigurationAprilTagEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT) \ + + + + + #endif diff --git a/thirdparty/openxr/include/openxr/openxr_reflection_structs.h b/thirdparty/openxr/include/openxr/openxr_reflection_structs.h index 4d1b4b27910..e7ce2912d59 100644 --- a/thirdparty/openxr/include/openxr/openxr_reflection_structs.h +++ b/thirdparty/openxr/include/openxr/openxr_reflection_structs.h @@ -356,6 +356,21 @@ This file contains expansion macros (X Macros) for OpenXR structures. _avail(XrEnvironmentDepthImageMETA, XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META) \ _avail(XrEnvironmentDepthHandRemovalSetInfoMETA, XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META) \ _avail(XrSystemEnvironmentDepthPropertiesMETA, XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META) \ + _avail(XrRenderModelCreateInfoEXT, XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT) \ + _avail(XrRenderModelPropertiesGetInfoEXT, XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT) \ + _avail(XrRenderModelPropertiesEXT, XR_TYPE_RENDER_MODEL_PROPERTIES_EXT) \ + _avail(XrRenderModelSpaceCreateInfoEXT, XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT) \ + _avail(XrRenderModelStateGetInfoEXT, XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT) \ + _avail(XrRenderModelStateEXT, XR_TYPE_RENDER_MODEL_STATE_EXT) \ + _avail(XrRenderModelAssetCreateInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT) \ + _avail(XrRenderModelAssetDataGetInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT) \ + _avail(XrRenderModelAssetDataEXT, XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT) \ + _avail(XrRenderModelAssetPropertiesGetInfoEXT, XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT) \ + _avail(XrRenderModelAssetPropertiesEXT, XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT) \ + _avail(XrInteractionRenderModelIdsEnumerateInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT) \ + _avail(XrInteractionRenderModelSubactionPathInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT) \ + _avail(XrInteractionRenderModelTopLevelUserPathGetInfoEXT, XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT) \ + _avail(XrEventDataInteractionRenderModelsChangedEXT, XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT) \ _avail(XrPassthroughCreateInfoHTC, XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC) \ _avail(XrPassthroughColorHTC, XR_TYPE_PASSTHROUGH_COLOR_HTC) \ _avail(XrPassthroughMeshTransformInfoHTC, XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC) \ @@ -413,6 +428,9 @@ This file contains expansion macros (X Macros) for OpenXR structures. _avail(XrSystemSpatialMeshPropertiesBD, XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD) \ _avail(XrSenseDataProviderCreateInfoSpatialMeshBD, XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD) \ _avail(XrFuturePollResultProgressBD, XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD) \ + _avail(XrSystemSpatialPlanePropertiesBD, XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD) \ + _avail(XrSpatialEntityComponentDataPlaneOrientationBD, XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD) \ + _avail(XrSenseDataFilterPlaneOrientationBD, XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD) \ _avail(XrHandTrackingDataSourceInfoEXT, XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT) \ _avail(XrHandTrackingDataSourceStateEXT, XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT) \ _avail(XrSystemPlaneDetectionPropertiesEXT, XR_TYPE_SYSTEM_PLANE_DETECTION_PROPERTIES_EXT) \ @@ -465,6 +483,47 @@ This file contains expansion macros (X Macros) for OpenXR structures. _avail(XrSystemSpatialEntityGroupSharingPropertiesMETA, XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META) \ _avail(XrShareSpacesRecipientGroupsMETA, XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META) \ _avail(XrSpaceGroupUuidFilterInfoMETA, XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META) \ + _avail(XrSpatialCapabilityComponentTypesEXT, XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT) \ + _avail(XrSpatialContextCreateInfoEXT, XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT) \ + _avail(XrCreateSpatialContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT) \ + _avail(XrSpatialDiscoverySnapshotCreateInfoEXT, XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT) \ + _avail(XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT) \ + _avail(XrCreateSpatialDiscoverySnapshotCompletionEXT, XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT) \ + _avail(XrSpatialComponentDataQueryConditionEXT, XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT) \ + _avail(XrSpatialComponentDataQueryResultEXT, XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT) \ + _avail(XrSpatialBufferGetInfoEXT, XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT) \ + _avail(XrSpatialComponentBounded2DListEXT, XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT) \ + _avail(XrSpatialComponentBounded3DListEXT, XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT) \ + _avail(XrSpatialComponentParentListEXT, XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT) \ + _avail(XrSpatialComponentMesh3DListEXT, XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT) \ + _avail(XrSpatialEntityFromIdCreateInfoEXT, XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT) \ + _avail(XrSpatialUpdateSnapshotCreateInfoEXT, XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT) \ + _avail(XrEventDataSpatialDiscoveryRecommendedEXT, XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT) \ + _avail(XrSpatialFilterTrackingStateEXT, XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT) \ + _avail(XrSpatialCapabilityConfigurationPlaneTrackingEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT) \ + _avail(XrSpatialComponentPlaneAlignmentListEXT, XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT) \ + _avail(XrSpatialComponentMesh2DListEXT, XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT) \ + _avail(XrSpatialComponentPolygon2DListEXT, XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT) \ + _avail(XrSpatialComponentPlaneSemanticLabelListEXT, XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT) \ + _avail(XrSpatialCapabilityConfigurationQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT) \ + _avail(XrSpatialCapabilityConfigurationMicroQrCodeEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT) \ + _avail(XrSpatialCapabilityConfigurationArucoMarkerEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT) \ + _avail(XrSpatialCapabilityConfigurationAprilTagEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT) \ + _avail(XrSpatialMarkerSizeEXT, XR_TYPE_SPATIAL_MARKER_SIZE_EXT) \ + _avail(XrSpatialMarkerStaticOptimizationEXT, XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT) \ + _avail(XrSpatialComponentMarkerListEXT, XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT) \ + _avail(XrSpatialCapabilityConfigurationAnchorEXT, XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT) \ + _avail(XrSpatialComponentAnchorListEXT, XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT) \ + _avail(XrSpatialAnchorCreateInfoEXT, XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT) \ + _avail(XrSpatialPersistenceContextCreateInfoEXT, XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT) \ + _avail(XrCreateSpatialPersistenceContextCompletionEXT, XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT) \ + _avail(XrSpatialContextPersistenceConfigEXT, XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT) \ + _avail(XrSpatialDiscoveryPersistenceUuidFilterEXT, XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT) \ + _avail(XrSpatialComponentPersistenceListEXT, XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT) \ + _avail(XrSpatialEntityPersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT) \ + _avail(XrPersistSpatialEntityCompletionEXT, XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ + _avail(XrSpatialEntityUnpersistInfoEXT, XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT) \ + _avail(XrUnpersistSpatialEntityCompletionEXT, XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT) \ #if defined(XR_USE_GRAPHICS_API_D3D11)