Copyright (c) 2017-2021, The Khronos Group Inc. SPDX-License-Identifier: Apache-2.0 OR MIT ------------------------------------------------------------------------ This file, xr.xml, is the OpenXR API Registry. It is a critically important and normative part of the OpenXR Specification, including a canonical machine-readable definition of the API, parameter and member validation language incorporated into the Specification and reference pages, and other material which is registered by Khronos, such as tags used by extension and layer authors. The only authoritative version of xr.xml is the one maintained in the default branch of the Khronos OpenXR GitHub project. #include "openxr_platform_defines.h" #define XR_MAKE_VERSION(major, minor, patch) \ ((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL)) #define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL) #define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL) #define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL) // OpenXR current version number. #define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 0, 18) #if !defined(XR_MAY_ALIAS) #if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4)) #define XR_MAY_ALIAS __attribute__((__may_alias__)) #else #define XR_MAY_ALIAS #endif #endif #if !defined(XR_DEFINE_HANDLE) #if (XR_PTR_SIZE == 8) #define XR_DEFINE_HANDLE(object) typedef struct object##_T* object; #else #define XR_DEFINE_HANDLE(object) typedef uint64_t object; #endif #endif #if !defined(XR_NULL_HANDLE) #if (XR_PTR_SIZE == 8) && XR_CPP_NULLPTR_SUPPORTED #define XR_NULL_HANDLE nullptr #else #define XR_NULL_HANDLE 0 #endif #endif #if !defined(XR_DEFINE_ATOM) #define XR_DEFINE_ATOM(object) typedef uint64_t object; #endif #define XR_NULL_PATH 0 #define XR_NULL_SYSTEM_ID 0 #define XR_SUCCEEDED(result) ((result) >= 0) #define XR_UNQUALIFIED_SUCCESS(result) ((result) == 0) #define XR_FAILED(result) ((result) < 0) #define XR_NO_DURATION 0 #define XR_INFINITE_DURATION 0x7fffffffffffffffLL #define XR_MIN_HAPTIC_DURATION -1 #define XR_FREQUENCY_UNSPECIFIED 0 #define XR_MAX_EVENT_DATA_SIZE sizeof(XrEventDataBuffer) #define XR_HAND_JOINT_COUNT_EXT 26 #define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0 typedef uint32_t XrBool32; typedef uint64_t XrFlags64; typedef int64_t XrTime; typedef int64_t XrDuration; typedef uint64_t XrVersion; XR_DEFINE_ATOM(XrPath) XR_DEFINE_ATOM(XrSystemId) XR_DEFINE_ATOM(XrControllerModelKeyMSFT) typedef XrFlags64 XrInstanceCreateFlags; typedef XrFlags64 XrSessionCreateFlags; typedef XrFlags64 XrSwapchainCreateFlags; typedef XrFlags64 XrSwapchainUsageFlags; typedef XrFlags64 XrViewStateFlags; typedef XrFlags64 XrCompositionLayerFlags; typedef XrFlags64 XrSpaceLocationFlags; typedef XrFlags64 XrSpaceVelocityFlags; typedef XrFlags64 XrInputSourceLocalizedNameFlags; typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR; typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR; typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT; typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT; typedef XrFlags64 XrOverlayMainSessionFlagsEXTX; typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX; typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB; typedef XrFlags64 XrCompositionLayerImageLayoutFlagsFB; typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB; typedef XrFlags64 XrSwapchainCreateFoveationFlagsFB; typedef XrFlags64 XrSwapchainStateFoveationFlagsFB; XR_DEFINE_HANDLE(XrInstance) XR_DEFINE_HANDLE(XrSession) XR_DEFINE_HANDLE(XrActionSet) XR_DEFINE_HANDLE(XrAction) XR_DEFINE_HANDLE(XrSwapchain) XR_DEFINE_HANDLE(XrSpace) XR_DEFINE_HANDLE(XrDebugUtilsMessengerEXT) XR_DEFINE_HANDLE(XrSpatialAnchorMSFT) XR_DEFINE_HANDLE(XrHandTrackerEXT) XR_DEFINE_HANDLE(XrFoveationProfileFB) float x float y float x float y float z float x float y float z float w float r float g float b float a float x float y float z float w XrQuaternionf orientation XrVector3f position float x float y float width float height XrOffset2Df offset XrExtent2Df extent int32_t x int32_t y int32_t width int32_t height XrOffset2Di offset XrExtent2Di extent XrBaseInStructure and XrBaseOutStructure use "struct" in their member definitions because they are recursive structures and this is easier than modifying the tooling to output forward declarations. XrStructureType type const struct XrBaseInStructure* next XrStructureType type struct XrBaseOutStructure* next XrStructureType type void* next char layerName[XR_MAX_API_LAYER_NAME_SIZE] XrVersion specVersion uint32_t layerVersion char description[XR_MAX_API_LAYER_DESCRIPTION_SIZE] XrStructureType type void* next char extensionName[XR_MAX_EXTENSION_NAME_SIZE] uint32_t extensionVersion char applicationName[XR_MAX_APPLICATION_NAME_SIZE] uint32_t applicationVersion char engineName[XR_MAX_ENGINE_NAME_SIZE] uint32_t engineVersion XrVersion apiVersion XrStructureType type const void* next XrInstanceCreateFlags createFlags XrApplicationInfo applicationInfo uint32_t enabledApiLayerCount const char* const* enabledApiLayerNames uint32_t enabledExtensionCount const char* const* enabledExtensionNames XrStructureType type void* next XrVersion runtimeVersion char runtimeName[XR_MAX_RUNTIME_NAME_SIZE] XrStructureType type const void* next XrFormFactor formFactor XrStructureType type void* next XrSystemId systemId uint32_t vendorId char systemName[XR_MAX_SYSTEM_NAME_SIZE] XrSystemGraphicsProperties graphicsProperties XrSystemTrackingProperties trackingProperties uint32_t maxSwapchainImageHeight uint32_t maxSwapchainImageWidth uint32_t maxLayerCount XrBool32 orientationTracking XrBool32 positionTracking XrStructureType type const void* next HDC hDC HGLRC hGLRC XrStructureType type const void* next Display* xDisplay uint32_t visualid GLXFBConfig glxFBConfig GLXDrawable glxDrawable GLXContext glxContext XrStructureType type const void* next xcb_connection_t* connection uint32_t screenNumber xcb_glx_fbconfig_t fbconfigid xcb_visualid_t visualid xcb_glx_drawable_t glxDrawable xcb_glx_context_t glxContext XrStructureType type const void* next struct wl_display* display XrStructureType type const void* next ID3D11Device* device XrStructureType type const void* next ID3D12Device* device ID3D12CommandQueue* queue XrStructureType type const void* next EGLDisplay display EGLConfig config EGLContext context XrStructureType type const void* next VkInstance instance VkPhysicalDevice physicalDevice VkDevice device uint32_t queueFamilyIndex uint32_t queueIndex XrStructureType type const void* next XrSessionCreateFlags createFlags XrSystemId systemId XrStructureType type const void* next XrViewConfigurationType primaryViewConfigurationType XrStructureType type const void* next XrSwapchainCreateFlags createFlags XrSwapchainUsageFlags usageFlags int64_t format uint32_t sampleCount uint32_t width uint32_t height uint32_t faceCount uint32_t arraySize uint32_t mipCount XrStructureType type void* next XrStructureType type void* next uint32_t image XrStructureType type void* next uint32_t image XrStructureType type void* next VkImage image XrStructureType type void* next ID3D11Texture2D* texture XrStructureType type void* next ID3D12Resource* texture XrStructureType type const void* next XrStructureType type const void* next XrDuration timeout XrStructureType type const void* next XrStructureType type const void* next XrReferenceSpaceType referenceSpaceType XrPosef poseInReferenceSpace XrStructureType type const void* next XrAction action XrPath subactionPath XrPosef poseInActionSpace XrStructureType type void* next XrSpaceLocationFlags locationFlags XrPosef pose XrStructureType type void* next XrSpaceVelocityFlags velocityFlags XrVector3f linearVelocity XrVector3f angularVelocity float angleLeft float angleRight float angleUp float angleDown XrStructureType type void* next XrPosef pose XrFovf fov XrStructureType type const void* next XrViewConfigurationType viewConfigurationType XrTime displayTime XrSpace space XrStructureType type void* next XrViewStateFlags viewStateFlags XrStructureType type void* next uint32_t recommendedImageRectWidth uint32_t maxImageRectWidth uint32_t recommendedImageRectHeight uint32_t maxImageRectHeight uint32_t recommendedSwapchainSampleCount uint32_t maxSwapchainSampleCount XrSwapchain swapchain XrRect2Di imageRect uint32_t imageArrayIndex XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrStructureType type const void* next XrPosef pose XrFovf fov XrSwapchainSubImage subImage XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space uint32_t viewCount const XrCompositionLayerProjectionView* views XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrEyeVisibility eyeVisibility XrSwapchainSubImage subImage XrPosef pose XrExtent2Df size XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrEyeVisibility eyeVisibility XrSwapchainSubImage subImage XrPosef pose float radius float centralAngle float aspectRatio XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrEyeVisibility eyeVisibility XrSwapchain swapchain uint32_t imageArrayIndex XrQuaternionf orientation XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrEyeVisibility eyeVisibility XrSwapchainSubImage subImage XrPosef pose float radius XrVector2f scale XrVector2f bias XrStructureType type const void* next XrSwapchainSubImage subImage float minDepth float maxDepth float nearZ float farZ XrStructureType type const void* next XrStructureType type const void* next XrTime displayTime XrEnvironmentBlendMode environmentBlendMode uint32_t layerCount const XrCompositionLayerBaseHeader* const* layers XrStructureType type const void* next XrStructureType type void* next XrTime predictedDisplayTime XrDuration predictedDisplayPeriod XrBool32 shouldRender XrStructureType type const void* next XrStructureType type const void* next XrDuration duration float frequency float amplitude XrStructureType type const void* next XrStructureType type const void* next uint8_t varying[4000] XrStructureType type const void* next uint32_t lostEventCount XrStructureType type const void* next XrTime lossTime XrStructureType type const void* next XrSession session XrSessionState state XrTime time XrStructureType type const void* next XrSession session XrReferenceSpaceType referenceSpaceType XrTime changeTime XrBool32 poseValid XrPosef poseInPreviousSpace XrStructureType type const void* next XrPerfSettingsDomainEXT domain XrPerfSettingsSubDomainEXT subDomain XrPerfSettingsNotificationLevelEXT fromLevel XrPerfSettingsNotificationLevelEXT toLevel XrStructureType type const void* next XrSession session XrViewConfigurationType viewConfigurationType uint32_t viewIndex XrStructureType type void* next XrViewConfigurationType viewConfigurationType XrBool32 fovMutable XrStructureType type void* next XrBool32 currentState XrBool32 changedSinceLastSync XrTime lastChangeTime XrBool32 isActive XrStructureType type void* next float currentState XrBool32 changedSinceLastSync XrTime lastChangeTime XrBool32 isActive XrStructureType type void* next XrVector2f currentState XrBool32 changedSinceLastSync XrTime lastChangeTime XrBool32 isActive XrStructureType type void* next XrBool32 isActive XrStructureType type const void* next XrAction action XrPath subactionPath XrStructureType type const void* next XrAction action XrPath subactionPath XrStructureType type const void* next char actionSetName[XR_MAX_ACTION_SET_NAME_SIZE] char localizedActionSetName[XR_MAX_LOCALIZED_ACTION_SET_NAME_SIZE] uint32_t priority XrAction action XrPath binding XrStructureType type const void* next XrPath interactionProfile uint32_t countSuggestedBindings const XrActionSuggestedBinding* suggestedBindings XrActionSet actionSet XrPath subactionPath XrStructureType type const void* next uint32_t countActionSets const XrActionSet* actionSets XrStructureType type const void* next uint32_t countActiveActionSets const XrActiveActionSet* activeActionSets XrStructureType type const void* next XrAction action XrStructureType type const void* next XrPath sourcePath XrInputSourceLocalizedNameFlags whichComponents XrStructureType type const void* next XrSession session XrStructureType type void* next XrPath interactionProfile XrStructureType type const void* next char actionName[XR_MAX_ACTION_NAME_SIZE] XrActionType actionType uint32_t countSubactionPaths const XrPath* subactionPaths char localizedActionName[XR_MAX_LOCALIZED_ACTION_NAME_SIZE] XrStructureType type const void* next void* applicationVM void* applicationActivity XrStructureType type const void* next uint32_t viewFormatCount const VkFormat* viewFormats XrStructureType type const void* next XrObjectType objectType uint64_t objectHandle const char* objectName XrStructureType type const void* next const char* labelName XrStructureType type const void* next const char* messageId const char* functionName const char* message uint32_t objectCount XrDebugUtilsObjectNameInfoEXT* objects uint32_t sessionLabelCount XrDebugUtilsLabelEXT* sessionLabels XrStructureType type const void* next XrDebugUtilsMessageSeverityFlagsEXT messageSeverities XrDebugUtilsMessageTypeFlagsEXT messageTypes PFN_xrDebugUtilsMessengerCallbackEXT userCallback void* userData XrStructureType type void* next uint32_t vertexCapacityInput uint32_t vertexCountOutput XrVector2f* vertices uint32_t indexCapacityInput uint32_t indexCountOutput uint32_t* indices XrStructureType type void* next XrVersion minApiVersionSupported XrVersion maxApiVersionSupported XrStructureType type void* next XrVersion minApiVersionSupported XrVersion maxApiVersionSupported XrStructureType type void* next XrVersion minApiVersionSupported XrVersion maxApiVersionSupported XrStructureType type void* next LUID adapterLuid D3D_FEATURE_LEVEL minFeatureLevel XrStructureType type void* next LUID adapterLuid D3D_FEATURE_LEVEL minFeatureLevel XrStructureType type const void* next XrSystemId systemId XrVulkanInstanceCreateFlagsKHR createFlags PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr const VkInstanceCreateInfo* vulkanCreateInfo const VkAllocationCallbacks* vulkanAllocator XrStructureType type const void* next XrSystemId systemId XrVulkanDeviceCreateFlagsKHR createFlags PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr VkPhysicalDevice vulkanPhysicalDevice const VkDeviceCreateInfo* vulkanCreateInfo const VkAllocationCallbacks* vulkanAllocator XrStructureType type const void* next XrSystemId systemId VkInstance vulkanInstance XrStructureType type const void* next XrOverlaySessionCreateFlagsEXTX createFlags uint32_t sessionLayersPlacement XrStructureType type const void* next XrBool32 visible XrOverlayMainSessionFlagsEXTX flags XrStructureType type const void* next float fromDisplayRefreshRate float toDisplayRefreshRate XrStructureType type void* next float recommendedNearZ float minNearZ float recommendedFarZ float maxFarZ XrStructureType type const void* next XrFovf recommendedFov XrFovf maxMutableFov XrStructureType type const void* next XrAction action XrPath binding float onThreshold float offThreshold const XrHapticBaseHeader* onHaptic const XrHapticBaseHeader* offHaptic XrStructureType type const void* next uint32_t bindingModificationCount const XrBindingModificationBaseHeaderKHR* const* bindingModifications XrStructureType type const void* next typedef void (XRAPI_PTR *PFN_xrVoidFunction)(void); typedef XrBool32 (XRAPI_PTR *PFN_xrDebugUtilsMessengerCallbackEXT)( XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, XrDebugUtilsMessageTypeFlagsEXT messageTypes, const XrDebugUtilsMessengerCallbackDataEXT* callbackData, void* userData); XrStructureType type void* next XrBool32 supportsEyeGazeInteraction XrStructureType type void* next XrTime time XrStructureType type const void* next XrSpace space XrPosef pose XrTime time XrStructureType type const void* next XrSpatialAnchorMSFT anchor XrPosef poseInAnchorSpace XrStructureType type void* next XrCompositionLayerImageLayoutFlagsFB flags XrStructureType type void* next XrBlendFactorFB srcFactorColor XrBlendFactorFB dstFactorColor XrBlendFactorFB srcFactorAlpha XrBlendFactorFB dstFactorAlpha XrStructureType type const void* next PFNEGLGETPROCADDRESSPROC getProcAddress EGLDisplay display EGLConfig config EGLContext context XrStructureType type const void* next XrSpatialGraphNodeTypeMSFT nodeType uint8_t nodeId[16] XrPosef pose XrStructureType type void* next XrBool32 supportsHandTracking XrStructureType type const void* next XrHandEXT hand XrHandJointSetEXT handJointSet XrStructureType type const void* next XrSpace baseSpace XrTime time XrSpaceLocationFlags locationFlags XrPosef pose float radius XrSpaceVelocityFlags velocityFlags XrVector3f linearVelocity XrVector3f angularVelocity XrStructureType type void* next XrBool32 isActive uint32_t jointCount XrHandJointLocationEXT* jointLocations XrStructureType type void* next uint32_t jointCount XrHandJointVelocityEXT* jointVelocities XrStructureType type const void* next XrHandJointsMotionRangeEXT handJointsMotionRange XrStructureType type const void* next XrHandPoseTypeMSFT handPoseType XrPosef poseInHandMeshSpace XrStructureType type const void* next XrTime time XrHandPoseTypeMSFT handPoseType XrStructureType type void* next XrBool32 isActive XrBool32 indexBufferChanged XrBool32 vertexBufferChanged XrHandMeshIndexBufferMSFT indexBuffer XrHandMeshVertexBufferMSFT vertexBuffer uint32_t indexBufferKey uint32_t indexCapacityInput uint32_t indexCountOutput uint32_t* indices XrTime vertexUpdateTime uint32_t vertexCapacityInput uint32_t vertexCountOutput XrHandMeshVertexMSFT* vertices XrVector3f position XrVector3f normal XrStructureType type void* next XrBool32 supportsHandTrackingMesh uint32_t maxHandMeshIndexCount uint32_t maxHandMeshVertexCount XrStructureType type const void* next XrHandPoseTypeMSFT handPoseType XrStructureType type const void* next uint32_t viewConfigurationCount const XrViewConfigurationType* enabledViewConfigurationTypes XrStructureType type void* next XrViewConfigurationType viewConfigurationType XrBool32 active XrStructureType type void* next uint32_t viewConfigurationCount XrSecondaryViewConfigurationStateMSFT* viewConfigurationStates XrStructureType type const void* next uint32_t viewConfigurationCount const XrSecondaryViewConfigurationLayerInfoMSFT* viewConfigurationLayersInfo XrStructureType type const void* next XrViewConfigurationType viewConfigurationType XrEnvironmentBlendMode environmentBlendMode uint32_t layerCount const XrCompositionLayerBaseHeader* const* layers XrStructureType type const void* next XrViewConfigurationType viewConfigurationType XrStructureType type const void* next IUnknown* holographicSpace IUnknown* coreWindow XrStructureType type const void* next XrAndroidSurfaceSwapchainFlagsFB createFlags XrStructureType type void* next XrStructureType type void* next uint32_t width uint32_t height XrStructureType type void* next EGLenum minFilter EGLenum magFilter EGLenum wrapModeS EGLenum wrapModeT EGLenum swizzleRed EGLenum swizzleGreen EGLenum swizzleBlue EGLenum swizzleAlpha float maxAnisotropy XrColor4f borderColor XrStructureType type void* next VkFilter minFilter VkFilter magFilter VkSamplerMipmapMode mipmapMode VkSamplerAddressMode wrapModeS VkSamplerAddressMode wrapModeT VkComponentSwizzle swizzleRed VkComponentSwizzle swizzleGreen VkComponentSwizzle swizzleBlue VkComponentSwizzle swizzleAlpha float maxAnisotropy XrColor4f borderColor XrStructureType type const void* next XrCompositionLayerSecureContentFlagsFB flags XrStructureType type const void* next XrStructureType type const void* next void* applicationVM void* applicationContext XrStructureType type const void* next XrCompositionLayerFlags layerFlags XrSpace space XrEyeVisibility eyeVisibility XrSwapchainSubImage subImage XrPosef pose float radius float centralHorizontalAngle float upperVerticalAngle float lowerVerticalAngle XrStructureType type const void* next XrColor4f colorScale XrColor4f colorBias XrStructureType type void* next XrControllerModelKeyMSFT modelKey XrStructureType type void* next char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT] char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT] XrStructureType type void* next uint32_t nodeCapacityInput uint32_t nodeCountOutput XrControllerModelNodePropertiesMSFT* nodeProperties XrStructureType type void* next XrPosef nodePose XrStructureType type void* next uint32_t nodeCapacityInput uint32_t nodeCountOutput XrControllerModelNodeStateMSFT* nodeStates XR_DEFINE_HANDLE(XrSceneObserverMSFT) XR_DEFINE_HANDLE(XrSceneMSFT) uint8_t bytes[16] XrStructureType type const void* next XrStructureType type const void* next XrStructureType type const void* next uint32_t requestedFeatureCount const XrSceneComputeFeatureMSFT* requestedFeatures XrSceneComputeConsistencyMSFT consistency XrSceneBoundsMSFT bounds XrStructureType type const void* next XrMeshComputeLodMSFT lod XrVector3f center float radius XrPosef pose XrVector3f extents XrPosef pose XrFovf fov float farDistance XrSpace space XrTime time uint32_t sphereCount const XrSceneSphereBoundMSFT* spheres uint32_t boxCount const XrSceneOrientedBoxBoundMSFT* boxes uint32_t frustumCount const XrSceneFrustumBoundMSFT* frustums XrSceneComponentTypeMSFT componentType XrUuidMSFT id XrUuidMSFT parentId XrTime updateTime XrStructureType type void* next uint32_t componentCapacityInput uint32_t componentCountOutput XrSceneComponentMSFT* components XrStructureType type const void* next XrSceneComponentTypeMSFT componentType XrSpaceLocationFlags flags XrPosef pose XrStructureType type void* next uint32_t locationCount XrSceneComponentLocationMSFT* locations XrStructureType type const void* next XrSpace baseSpace XrTime time uint32_t componentIdCount const XrUuidMSFT* componentIds XrSceneObjectTypeMSFT objectType XrStructureType type void* next uint32_t sceneObjectCount XrSceneObjectMSFT* sceneObjects XrStructureType type const void* next XrUuidMSFT parentId XrStructureType type const void* next uint32_t objectTypeCount const XrSceneObjectTypeMSFT* objectTypes XrScenePlaneAlignmentTypeMSFT alignment XrExtent2Df size uint64_t meshBufferId XrBool32 supportsIndicesUint16 XrStructureType type void* next uint32_t scenePlaneCount XrScenePlaneMSFT* scenePlanes XrStructureType type const void* next uint32_t alignmentCount const XrScenePlaneAlignmentTypeMSFT* alignments uint64_t meshBufferId XrBool32 supportsIndicesUint16 XrStructureType type void* next uint32_t sceneMeshCount XrSceneMeshMSFT* sceneMeshes XrStructureType type const void* next uint64_t meshBufferId XrStructureType type void* next XrStructureType type void* next uint32_t vertexCapacityInput uint32_t vertexCountOutput XrVector3f* vertices XrStructureType type void* next uint32_t indexCapacityInput uint32_t indexCountOutput uint32_t* indices XrStructureType type void* next uint32_t indexCapacityInput uint32_t indexCountOutput uint16_t* indices XrStructureType type const void* next XrUuidMSFT sceneFragmentId uint32_t bufferSize const uint8_t* buffer XrStructureType type const void* next uint32_t fragmentCount const XrDeserializeSceneFragmentMSFT* fragments XrStructureType type void* next XrColorSpaceFB colorSpace XrStructureType type void* next XrStructureType type void* next XrSwapchainCreateFoveationFlagsFB flags XrStructureType type void* next XrSwapchainStateFoveationFlagsFB flags XrFoveationProfileFB profile XrStructureType type void* next VkImage image uint32_t width uint32_t height XrStructureType type void* next XrFoveationLevelFB level float verticalOffset XrFoveationDynamicFB dynamic XrStructureType type const void* next float depthTestRangeNearZ float depthTestRangeFarZ XrStructureType type const void* next XrBool32 foveatedRenderingActive XrStructureType type void* next XrBool32 foveatedRenderingActive XrStructureType type void* next XrBool32 supportsFoveatedRendering XrStructureType type const void* next XrReprojectionModeMSFT reprojectionMode XrStructureType type const void* next XrVector3f position XrVector3f normal XrVector3f velocity XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT) char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT] XrStructureType type const void* next XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName XrSpatialAnchorMSFT spatialAnchor XrStructureType type const void* next XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName XrResult xrGetInstanceProcAddr XrInstance instance const char* name PFN_xrVoidFunction* function XrResult xrEnumerateApiLayerProperties uint32_t propertyCapacityInput uint32_t* propertyCountOutput XrApiLayerProperties* properties XrResult xrEnumerateInstanceExtensionProperties const char* layerName uint32_t propertyCapacityInput uint32_t* propertyCountOutput XrExtensionProperties* properties XrResult xrCreateInstance const XrInstanceCreateInfo* createInfo XrInstance* instance XrResult xrDestroyInstance XrInstance instance XrResult xrResultToString XrInstance instance XrResult value char buffer[XR_MAX_RESULT_STRING_SIZE] XrResult xrStructureTypeToString XrInstance instance XrStructureType value char buffer[XR_MAX_STRUCTURE_NAME_SIZE] XrResult xrGetInstanceProperties XrInstance instance XrInstanceProperties* instanceProperties XrResult xrGetSystem XrInstance instance const XrSystemGetInfo* getInfo XrSystemId* systemId XrResult xrGetSystemProperties XrInstance instance XrSystemId systemId XrSystemProperties* properties XrResult xrCreateSession XrInstance instance const XrSessionCreateInfo* createInfo XrSession* session XrResult xrDestroySession XrSession session XrResult xrDestroySpace XrSpace space XrResult xrEnumerateSwapchainFormats XrSession session uint32_t formatCapacityInput uint32_t* formatCountOutput int64_t* formats XrResult xrCreateSwapchain XrSession session const XrSwapchainCreateInfo* createInfo XrSwapchain* swapchain XrResult xrDestroySwapchain XrSwapchain swapchain XrResult xrEnumerateSwapchainImages XrSwapchain swapchain uint32_t imageCapacityInput uint32_t* imageCountOutput XrSwapchainImageBaseHeader* images XrResult xrAcquireSwapchainImage XrSwapchain swapchain const XrSwapchainImageAcquireInfo* acquireInfo uint32_t* index XrResult xrWaitSwapchainImage XrSwapchain swapchain const XrSwapchainImageWaitInfo* waitInfo XrResult xrReleaseSwapchainImage XrSwapchain swapchain const XrSwapchainImageReleaseInfo* releaseInfo XrResult xrBeginSession XrSession session const XrSessionBeginInfo* beginInfo XrResult xrEndSession XrSession session XrResult xrRequestExitSession XrSession session XrResult xrEnumerateReferenceSpaces XrSession session uint32_t spaceCapacityInput uint32_t* spaceCountOutput XrReferenceSpaceType* spaces XrResult xrCreateReferenceSpace XrSession session const XrReferenceSpaceCreateInfo* createInfo XrSpace* space XrResult xrCreateActionSpace XrSession session const XrActionSpaceCreateInfo* createInfo XrSpace* space XrResult xrLocateSpace XrSpace space XrSpace baseSpace XrTime time XrSpaceLocation* location XrResult xrEnumerateViewConfigurations XrInstance instance XrSystemId systemId uint32_t viewConfigurationTypeCapacityInput uint32_t* viewConfigurationTypeCountOutput XrViewConfigurationType* viewConfigurationTypes XrResult xrEnumerateEnvironmentBlendModes XrInstance instance XrSystemId systemId XrViewConfigurationType viewConfigurationType uint32_t environmentBlendModeCapacityInput uint32_t* environmentBlendModeCountOutput XrEnvironmentBlendMode* environmentBlendModes XrResult xrGetViewConfigurationProperties XrInstance instance XrSystemId systemId XrViewConfigurationType viewConfigurationType XrViewConfigurationProperties* configurationProperties XrResult xrEnumerateViewConfigurationViews XrInstance instance XrSystemId systemId XrViewConfigurationType viewConfigurationType uint32_t viewCapacityInput uint32_t* viewCountOutput XrViewConfigurationView* views XrResult xrBeginFrame XrSession session const XrFrameBeginInfo* frameBeginInfo XrResult xrLocateViews XrSession session const XrViewLocateInfo* viewLocateInfo XrViewState* viewState uint32_t viewCapacityInput uint32_t* viewCountOutput XrView* views XrResult xrEndFrame XrSession session const XrFrameEndInfo* frameEndInfo XrResult xrWaitFrame XrSession session const XrFrameWaitInfo* frameWaitInfo XrFrameState* frameState the pname:session parameter by any other flink:xrWaitFrame call XrResult xrApplyHapticFeedback XrSession session const XrHapticActionInfo* hapticActionInfo const XrHapticBaseHeader* hapticFeedback XrResult xrStopHapticFeedback XrSession session const XrHapticActionInfo* hapticActionInfo XrResult xrPollEvent XrInstance instance XrEventDataBuffer* eventData XrResult xrStringToPath XrInstance instance const char* pathString XrPath* path XrResult xrPathToString XrInstance instance XrPath path uint32_t bufferCapacityInput uint32_t* bufferCountOutput char* buffer XrResult xrGetReferenceSpaceBoundsRect XrSession session XrReferenceSpaceType referenceSpaceType XrExtent2Df* bounds XrResult xrSetAndroidApplicationThreadKHR XrSession session XrAndroidThreadTypeKHR threadType uint32_t threadId XrResult xrCreateSwapchainAndroidSurfaceKHR XrSession session const XrSwapchainCreateInfo* info XrSwapchain* swapchain jobject* surface XrResult xrGetActionStateBoolean XrSession session const XrActionStateGetInfo* getInfo XrActionStateBoolean* state XrResult xrGetActionStateFloat XrSession session const XrActionStateGetInfo* getInfo XrActionStateFloat* state XrResult xrGetActionStateVector2f XrSession session const XrActionStateGetInfo* getInfo XrActionStateVector2f* state XrResult xrGetActionStatePose XrSession session const XrActionStateGetInfo* getInfo XrActionStatePose* state XrResult xrCreateActionSet XrInstance instance const XrActionSetCreateInfo* createInfo XrActionSet* actionSet XrResult xrDestroyActionSet XrActionSet actionSet XrResult xrCreateAction XrActionSet actionSet const XrActionCreateInfo* createInfo XrAction* action XrResult xrDestroyAction XrAction action XrResult xrSuggestInteractionProfileBindings XrInstance instance const XrInteractionProfileSuggestedBinding* suggestedBindings XrResult xrAttachSessionActionSets XrSession session const XrSessionActionSetsAttachInfo* attachInfo XrResult xrGetCurrentInteractionProfile XrSession session XrPath topLevelUserPath XrInteractionProfileState* interactionProfile XrResult xrSyncActions XrSession session const XrActionsSyncInfo* syncInfo XrResult xrEnumerateBoundSourcesForAction XrSession session const XrBoundSourcesForActionEnumerateInfo* enumerateInfo uint32_t sourceCapacityInput uint32_t* sourceCountOutput XrPath* sources XrResult xrGetInputSourceLocalizedName XrSession session const XrInputSourceLocalizedNameGetInfo* getInfo uint32_t bufferCapacityInput uint32_t* bufferCountOutput char* buffer XrResult xrGetVulkanInstanceExtensionsKHR XrInstance instance XrSystemId systemId uint32_t bufferCapacityInput uint32_t* bufferCountOutput char* buffer XrResult xrGetVulkanDeviceExtensionsKHR XrInstance instance XrSystemId systemId uint32_t bufferCapacityInput uint32_t* bufferCountOutput char* buffer XrResult xrGetVulkanGraphicsDeviceKHR XrInstance instance XrSystemId systemId VkInstance vkInstance VkPhysicalDevice* vkPhysicalDevice XrResult xrGetOpenGLGraphicsRequirementsKHR XrInstance instance XrSystemId systemId XrGraphicsRequirementsOpenGLKHR* graphicsRequirements XrResult xrGetOpenGLESGraphicsRequirementsKHR XrInstance instance XrSystemId systemId XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements XrResult xrGetVulkanGraphicsRequirementsKHR XrInstance instance XrSystemId systemId XrGraphicsRequirementsVulkanKHR* graphicsRequirements XrResult xrGetD3D11GraphicsRequirementsKHR XrInstance instance XrSystemId systemId XrGraphicsRequirementsD3D11KHR* graphicsRequirements XrResult xrGetD3D12GraphicsRequirementsKHR XrInstance instance XrSystemId systemId XrGraphicsRequirementsD3D12KHR* graphicsRequirements XrResult xrPerfSettingsSetPerformanceLevelEXT XrSession session XrPerfSettingsDomainEXT domain XrPerfSettingsLevelEXT level XrResult xrThermalGetTemperatureTrendEXT XrSession session XrPerfSettingsDomainEXT domain XrPerfSettingsNotificationLevelEXT* notificationLevel float* tempHeadroom float* tempSlope XrResult xrSetDebugUtilsObjectNameEXT XrInstance instance const XrDebugUtilsObjectNameInfoEXT* nameInfo XrResult xrCreateDebugUtilsMessengerEXT XrInstance instance const XrDebugUtilsMessengerCreateInfoEXT* createInfo XrDebugUtilsMessengerEXT* messenger XrResult xrDestroyDebugUtilsMessengerEXT XrDebugUtilsMessengerEXT messenger the slink:XrInstance used to create pname:messenger, and all of its child handles XrResult xrSubmitDebugUtilsMessageEXT XrInstance instance XrDebugUtilsMessageSeverityFlagsEXT messageSeverity XrDebugUtilsMessageTypeFlagsEXT messageTypes const XrDebugUtilsMessengerCallbackDataEXT* callbackData XrResult xrSessionBeginDebugUtilsLabelRegionEXT XrSession session const XrDebugUtilsLabelEXT* labelInfo XrResult xrSessionEndDebugUtilsLabelRegionEXT XrSession session XrResult xrSessionInsertDebugUtilsLabelEXT XrSession session const XrDebugUtilsLabelEXT* labelInfo XrResult xrConvertTimeToWin32PerformanceCounterKHR XrInstance instance XrTime time LARGE_INTEGER* performanceCounter XrResult xrConvertWin32PerformanceCounterToTimeKHR XrInstance instance const LARGE_INTEGER* performanceCounter XrTime* time XrResult xrCreateVulkanInstanceKHR XrInstance instance const XrVulkanInstanceCreateInfoKHR*createInfo VkInstance* vulkanInstance VkResult* vulkanResult XrResult xrCreateVulkanDeviceKHR XrInstance instance const XrVulkanDeviceCreateInfoKHR* createInfo VkDevice* vulkanDevice VkResult* vulkanResult XrResult xrGetVulkanGraphicsDevice2KHR XrInstance instance const XrVulkanGraphicsDeviceGetInfoKHR* getInfo VkPhysicalDevice* vulkanPhysicalDevice XrResult xrConvertTimeToTimespecTimeKHR XrInstance instance XrTime time struct timespec* timespecTime XrResult xrConvertTimespecTimeToTimeKHR XrInstance instance const struct timespec* timespecTime XrTime* time XrResult xrGetVisibilityMaskKHR XrSession session XrViewConfigurationType viewConfigurationType uint32_t viewIndex XrVisibilityMaskTypeKHR visibilityMaskType XrVisibilityMaskKHR* visibilityMask XrResult xrCreateSpatialAnchorMSFT XrSession session const XrSpatialAnchorCreateInfoMSFT* createInfo XrSpatialAnchorMSFT* anchor XrResult xrCreateSpatialAnchorSpaceMSFT XrSession session const XrSpatialAnchorSpaceCreateInfoMSFT* createInfo XrSpace* space XrResult xrDestroySpatialAnchorMSFT XrSpatialAnchorMSFT anchor XrResult xrSetInputDeviceActiveEXT XrSession session XrPath interactionProfile XrPath topLevelPath XrBool32 isActive XrResult xrSetInputDeviceStateBoolEXT XrSession session XrPath topLevelPath XrPath inputSourcePath XrBool32 state XrResult xrSetInputDeviceStateFloatEXT XrSession session XrPath topLevelPath XrPath inputSourcePath float state XrResult xrSetInputDeviceStateVector2fEXT XrSession session XrPath topLevelPath XrPath inputSourcePath XrVector2f state XrResult xrSetInputDeviceLocationEXT XrSession session XrPath topLevelPath XrPath inputSourcePath XrSpace space XrPosef pose XrResult xrInitializeLoaderKHR const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo XrResult xrCreateSpatialGraphNodeSpaceMSFT XrSession session const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo XrSpace* space XrResult xrCreateHandTrackerEXT XrSession session const XrHandTrackerCreateInfoEXT* createInfo XrHandTrackerEXT* handTracker XrResult xrDestroyHandTrackerEXT XrHandTrackerEXT handTracker XrResult xrLocateHandJointsEXT XrHandTrackerEXT handTracker const XrHandJointsLocateInfoEXT* locateInfo XrHandJointLocationsEXT* locations XrResult xrCreateHandMeshSpaceMSFT XrHandTrackerEXT handTracker const XrHandMeshSpaceCreateInfoMSFT* createInfo XrSpace* space XrResult xrUpdateHandMeshMSFT XrHandTrackerEXT handTracker const XrHandMeshUpdateInfoMSFT* updateInfo XrHandMeshMSFT* handMesh XrResult xrGetControllerModelKeyMSFT XrSession session XrPath topLevelUserPath XrControllerModelKeyStateMSFT* controllerModelKeyState XrResult xrLoadControllerModelMSFT XrSession session XrControllerModelKeyMSFT modelKey uint32_t bufferCapacityInput uint32_t* bufferCountOutput uint8_t* buffer XrResult xrGetControllerModelPropertiesMSFT XrSession session XrControllerModelKeyMSFT modelKey XrControllerModelPropertiesMSFT* properties XrResult xrGetControllerModelStateMSFT XrSession session XrControllerModelKeyMSFT modelKey XrControllerModelStateMSFT* state XrResult xrEnumerateSceneComputeFeaturesMSFT XrInstance instance XrSystemId systemId uint32_t featureCapacityInput uint32_t* featureCountOutput XrSceneComputeFeatureMSFT* features XrResult xrCreateSceneObserverMSFT XrSession session const XrSceneObserverCreateInfoMSFT* createInfo XrSceneObserverMSFT* sceneObserver XrResult xrDestroySceneObserverMSFT XrSceneObserverMSFT sceneObserver XrResult xrCreateSceneMSFT XrSceneObserverMSFT sceneObserver const XrSceneCreateInfoMSFT* createInfo XrSceneMSFT* scene XrResult xrDestroySceneMSFT XrSceneMSFT scene XrResult xrComputeNewSceneMSFT XrSceneObserverMSFT sceneObserver const XrNewSceneComputeInfoMSFT* computeInfo XrResult xrGetSceneComputeStateMSFT XrSceneObserverMSFT sceneObserver XrSceneComputeStateMSFT* state XrResult xrGetSceneComponentsMSFT XrSceneMSFT scene const XrSceneComponentsGetInfoMSFT* getInfo XrSceneComponentsMSFT* components XrResult xrLocateSceneComponentsMSFT XrSceneMSFT scene const XrSceneComponentsLocateInfoMSFT* locateInfo XrSceneComponentLocationsMSFT* locations XrResult xrGetSceneMeshBuffersMSFT XrSceneMSFT scene const XrSceneMeshBuffersGetInfoMSFT* getInfo XrSceneMeshBuffersMSFT* buffers XrResult xrDeserializeSceneMSFT XrSceneObserverMSFT sceneObserver const XrSceneDeserializeInfoMSFT* deserializeInfo XrResult xrGetSerializedSceneFragmentDataMSFT XrSceneMSFT scene const XrSerializedSceneFragmentDataGetInfoMSFT* getInfo uint32_t countInput uint32_t* readOutput uint8_t* buffer XrResult xrEnumerateDisplayRefreshRatesFB XrSession session uint32_t displayRefreshRateCapacityInput uint32_t* displayRefreshRateCountOutput float* displayRefreshRates XrResult xrGetDisplayRefreshRateFB XrSession session float* displayRefreshRate XrResult xrRequestDisplayRefreshRateFB XrSession session float displayRefreshRate XrResult xrCreateSpatialAnchorFromPerceptionAnchorMSFT XrSession session IUnknown* perceptionAnchor XrSpatialAnchorMSFT* anchor XrResult xrTryGetPerceptionAnchorFromSpatialAnchorMSFT XrSession session XrSpatialAnchorMSFT anchor IUnknown** perceptionAnchor XrResult xrUpdateSwapchainFB XrSwapchain swapchain const XrSwapchainStateBaseHeaderFB* state XrResult xrGetSwapchainStateFB XrSwapchain swapchain XrSwapchainStateBaseHeaderFB* state XrResult xrEnumerateColorSpacesFB XrSession session uint32_t colorSpaceCapacityInput uint32_t* colorSpaceCountOutput XrColorSpaceFB* colorSpaces XrResult xrSetColorSpaceFB XrSession session const XrColorSpaceFB colorspace XrResult xrCreateFoveationProfileFB XrSession session const XrFoveationProfileCreateInfoFB* createInfo XrFoveationProfileFB* profile XrResult xrDestroyFoveationProfileFB XrFoveationProfileFB profile XrResult xrSetEnvironmentDepthEstimationVARJO XrSession session XrBool32 enabled XrResult xrEnumerateReprojectionModesMSFT XrInstance instance XrSystemId systemId XrViewConfigurationType viewConfigurationType uint32_t modeCapacityInput uint32_t* modeCountOutput XrReprojectionModeMSFT* modes XrResult xrGetAudioOutputDeviceGuidOculus XrInstance instance wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS] XrResult xrGetAudioInputDeviceGuidOculus XrInstance instance wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS] XrResult xrCreateSpatialAnchorStoreConnectionMSFT XrSession session XrSpatialAnchorStoreConnectionMSFT* spatialAnchorStore XrResult xrDestroySpatialAnchorStoreConnectionMSFT XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore XrResult xrPersistSpatialAnchorMSFT XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore const XrSpatialAnchorPersistenceInfoMSFT* spatialAnchorPersistenceInfo XrResult xrEnumeratePersistedSpatialAnchorNamesMSFT XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore uint32_t spatialAnchorNamesCapacityInput uint32_t* spatialAnchorNamesCountOutput XrSpatialAnchorPersistenceNameMSFT* persistedAnchorNames XrResult xrCreateSpatialAnchorFromPersistedNameMSFT XrSession session const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT* spatialAnchorCreateInfo XrSpatialAnchorMSFT* spatialAnchor XrResult xrUnpersistSpatialAnchorMSFT XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore const XrSpatialAnchorPersistenceNameMSFT* spatialAnchorPersistenceName XrResult xrClearSpatialAnchorStoreMSFT XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore