Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Commands
xrAcquireEnvironmentDepthImageMETA(3)
Name
xrAcquireEnvironmentDepthImageMETA - Returns an image index in a readable depth swapchain and associated metadata.
C Specification
The xrAcquireEnvironmentDepthImageMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrAcquireEnvironmentDepthImageMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider,
const XrEnvironmentDepthImageAcquireInfoMETA* acquireInfo,
XrEnvironmentDepthImageMETA* environmentDepthImage);
Parameters
Description
Acquires the latest available swapchain image that has been generated by the depth provider and ensures it is ready to be accessed by the application. The application may access and queue GPU operations using the acquired image until the next xrEndFrame call, when the image is released and the depth provider may write new depth data into it after completion of all work queued before the xrEndFrame call.
The returned XrEnvironmentDepthImageMETA contains the swapchain index into the array enumerated by xrEnumerateEnvironmentDepthSwapchainImagesMETA. It also contains other information such as the field of view and pose that are necessary to interpret the depth data.
There must be no more than one call to xrAcquireEnvironmentDepthImageMETA between any pair of corresponding xrBeginFrame and xrEndFrame calls in a session.
-
The runtime may block if previously acquired swapchain images are still being used by the graphics API.
-
The runtime must return
XR_ERROR_CALL_ORDER_INVALIDif xrAcquireEnvironmentDepthImageMETA is called before xrBeginFrame or after xrEndFrame. -
The runtime must return
XR_ERROR_CALL_ORDER_INVALIDif xrAcquireEnvironmentDepthImageMETA is called on a stopped XrEnvironmentDepthProviderMETA. -
The runtime must return
XR_ERROR_LIMIT_REACHEDif xrAcquireEnvironmentDepthImageMETA is called more than once per frame - i.e. in a running session, after a call to xrBeginFrame that has not had an associated xrEndFrame. -
Runtimes must return
XR_ENVIRONMENT_DEPTH_NOT_AVAILABLE_METAif no depth frame is available yet (i.e. the provider was recently started and did not yet have time to compute depth). Note that this is a success code. In this case the output parameters must be unchanged. -
The application must not utilize the swapchain image in calls to the graphics API after xrEndFrame has been called.
-
A runtime may use the graphics API specific contexts provided to OpenXR. In particular:
-
For OpenGL, a runtime may use the OpenGL context specified in the call to xrCreateSession, which needs external synchronization.
-
For Vulkan, a runtime may use the
VkQueuespecified in the XrGraphicsBindingVulkan2KHR, which needs external synchronization. -
For Direct3D12, a runtime may use the
ID3D12CommandQueuespecified in the XrGraphicsBindingD3D12KHR, which needs external synchronization.
-
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrAcquireSwapchainImage(3)
Name
xrAcquireSwapchainImage - Acquire a swapchain image
C Specification
The xrAcquireSwapchainImage function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrAcquireSwapchainImage(
XrSwapchain swapchain,
const XrSwapchainImageAcquireInfo* acquireInfo,
uint32_t* index);
Parameters
Description
Acquires the image corresponding to the index position in the array
returned by xrEnumerateSwapchainImages.
The runtime must return XR_ERROR_CALL_ORDER_INVALID if the next
available index has already been acquired and not yet released with
xrReleaseSwapchainImage.
If the swapchain was created with the
XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT set in
XrSwapchainCreateInfo::createFlags, this function must not have
been previously called for this swapchain.
The runtime must return XR_ERROR_CALL_ORDER_INVALID if a
swapchain created with the XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT
set in XrSwapchainCreateInfo::createFlags and this function has
been successfully called previously for this swapchain.
This function only provides the index of the swapchain image, for example for use in recording command buffers. It does not wait for the image to be usable by the application. The application must call xrWaitSwapchainImage for each "acquire" call before submitting graphics commands that write to the image.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrAllocateWorldMeshBufferML(3)
Name
xrAllocateWorldMeshBufferML - Allocates memory.
C Specification
The xrAllocateWorldMeshBufferML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrAllocateWorldMeshBufferML(
XrWorldMeshDetectorML detector,
const XrWorldMeshBufferSizeML* size,
XrWorldMeshBufferML* buffer);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrApplyForceFeedbackCurlMNDX(3)
Name
xrApplyForceFeedbackCurlMNDX - Applies force feedback to a set of locations
C Specification
The xrApplyForceFeedbackCurlMNDX function is defined as:
// Provided by XR_MNDX_force_feedback_curl
XrResult xrApplyForceFeedbackCurlMNDX(
XrHandTrackerEXT handTracker,
const XrForceFeedbackCurlApplyLocationsMNDX* locations);
Parameters
Description
The xrApplyForceFeedbackCurlMNDX function applies force feedback to the set locations listed in XrForceFeedbackCurlApplyLocationsMNDX.
xrApplyForceFeedbackCurlMNDX should be called every time an application wishes to update a set of force feedback locations.
Submits a request for force feedback for a set of locations.
The runtime should deliver this request to the handTracker device.
If the handTracker device is not available, the runtime may ignore
this request for force feedback.
If the session associated with handTracker is not focused, the runtime
must return XR_SESSION_NOT_FOCUSED, and not apply force feedback.
When an application submits force feedback for a set of locations, the runtime must update the set of locations to that specified by the application. A runtime must set any locations not specified by the application when submitting force feedback to 0.
The runtime may discontinue force feedback if the application that set it loses focus. An application should call the function again after regaining focus if force feedback is still desired.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrApplyFoveationHTC(3)
Name
xrApplyFoveationHTC - Apply foveation config to system.
C Specification
The xrApplyFoveationHTC function is defined as:
// Provided by XR_HTC_foveation
XrResult xrApplyFoveationHTC(
XrSession session,
const XrFoveationApplyInfoHTC* applyInfo);
Parameters
Description
The foveation configuration will be applied after this call, and the state will persist until the next call to xrApplyFoveationHTC or the end of this XrSession, whichever comes first. You should not call xrApplyFoveationHTC during rendering to target image layer XrSwapchainSubImage in render loop.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrApplyHapticFeedback(3)
Name
xrApplyHapticFeedback - Apply haptic feedback
C Specification
The xrApplyHapticFeedback function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrApplyHapticFeedback(
XrSession session,
const XrHapticActionInfo* hapticActionInfo,
const XrHapticBaseHeader* hapticFeedback);
Parameters
Description
Triggers a haptic event through the specified action of type
XR_ACTION_TYPE_VIBRATION_OUTPUT.
The runtime should deliver this request to the appropriate device, but
exactly which device, if any, this event is sent to is up to the runtime to
decide.
If an appropriate device is unavailable the runtime may ignore this request
for haptic feedback.
If session is not focused, the runtime must return
XR_SESSION_NOT_FOCUSED, and not trigger a haptic event.
If another haptic event from this session is currently happening on the device bound to this action, the runtime must interrupt that other event and replace it with the new one.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrAttachSessionActionSets(3)
Name
xrAttachSessionActionSets - Attaches action sets to a given session
C Specification
The xrAttachSessionActionSets function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrAttachSessionActionSets(
XrSession session,
const XrSessionActionSetsAttachInfo* attachInfo);
Parameters
Description
xrAttachSessionActionSets attaches the XrActionSet handles in
XrSessionActionSetsAttachInfo::actionSets to the session.
Action sets must be attached in order to be synchronized with
xrSyncActions.
When an action set is attached to a session, that action set becomes immutable. See xrCreateAction and xrSuggestInteractionProfileBindings for details.
After action sets are attached to a session, if any unattached actions are
passed to functions for the same session, then for those functions the
runtime must return XR_ERROR_ACTIONSET_NOT_ATTACHED.
The runtime must return XR_ERROR_ACTIONSETS_ALREADY_ATTACHED if
xrAttachSessionActionSets is called more than once for a given
session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrBeginFrame(3)
Name
xrBeginFrame - Marks a frame
C Specification
The xrBeginFrame function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrBeginFrame(
XrSession session,
const XrFrameBeginInfo* frameBeginInfo);
Parameters
Description
xrBeginFrame is called prior to the start of frame rendering.
The application should still call xrBeginFrame but omit rendering
work for the frame if XrFrameState::shouldRender is
XR_FALSE.
Runtimes must not perform frame synchronization or throttling through the xrBeginFrame function and should instead do so through xrWaitFrame.
The runtime must return the error code XR_ERROR_CALL_ORDER_INVALID if
there was no corresponding successful call to xrWaitFrame.
The runtime must return the success code XR_FRAME_DISCARDED if a
prior xrBeginFrame has been called without an intervening call to
xrEndFrame.
Refer to xrBeginSession for details on how a transition to
session running resets the frame function call order.
The runtime must return XR_ERROR_SESSION_NOT_RUNNING if the
session is not running.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrBeginPlaneDetectionEXT(3)
Name
xrBeginPlaneDetectionEXT - Detect planes
C Specification
The xrBeginPlaneDetectionEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrBeginPlaneDetectionEXT(
XrPlaneDetectorEXT planeDetector,
const XrPlaneDetectorBeginInfoEXT* beginInfo);
Parameters
Description
The xrBeginPlaneDetectionEXT function begins the detection of planes in the scene. Detecting planes in a scene is an asynchronous operation. xrGetPlaneDetectionStateEXT can be used to determine if the query has finished. Once it has finished the results may be retrieved via xrGetPlaneDetectionsEXT. If a detection has already been started on a plane detector handle, calling xrBeginPlaneDetectionEXT again on the same handle will cancel the operation in progress and start a new detection with the new filter parameters.
The bounding volume is resolved and fixed relative to LOCAL space at the
time of the call to xrBeginPlaneDetectionEXT using
XrPlaneDetectorBeginInfoEXT::baseSpace,
XrPlaneDetectorBeginInfoEXT::time,
XrPlaneDetectorBeginInfoEXT::boundingBoxPose and
XrPlaneDetectorBeginInfoEXT::boundingBoxExtent.
The runtime must resolve the location defined by
XrPlaneDetectorBeginInfoEXT::baseSpace at the time of the call.
The XrPlaneDetectorBeginInfoEXT::boundingBoxPose is the pose of
the center of the box defined by
XrPlaneDetectorBeginInfoEXT::boundingBoxExtent.
The runtime must return XR_ERROR_SPACE_NOT_LOCATABLE_EXT if the
XrPlaneDetectorBeginInfoEXT::baseSpace is not locatable at the
time of the call.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrBeginSession(3)
Name
xrBeginSession - Begins an XrSession
C Specification
The xrBeginSession function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrBeginSession(
XrSession session,
const XrSessionBeginInfo* beginInfo);
Parameters
Description
When the application receives XrEventDataSessionStateChanged event
with the XR_SESSION_STATE_READY state, the application should then
call xrBeginSession to start rendering frames for display to the user.
After this function successfully returns, the session is considered to be running. The application should then start its frame loop consisting of some sequence of xrWaitFrame/xrBeginFrame/xrEndFrame calls.
If the session is already running when the application
calls xrBeginSession, the runtime must return error
XR_ERROR_SESSION_RUNNING.
If the session is not running when the application
calls xrBeginSession, but the session is not yet in the
XR_SESSION_STATE_READY state, the runtime must return error
XR_ERROR_SESSION_NOT_READY.
Note that a runtime may decide not to show the user any given frame from a
session at any time, for example if the user has switched to a different
application’s running session.
The application should check whether xrWaitFrame returns
XrFrameState::shouldRender set to true before rendering a given
frame to determine whether that frame will be visible to the user.
Runtime session frame state must start in a reset state when a session transitions to running so that no state is carried over from when the same session was previously running. Frame state in this context includes xrWaitFrame, xrBeginFrame, and xrEndFrame call order enforcement.
If XrSessionBeginInfo::primaryViewConfigurationType in
beginInfo is not supported by the XrSystemId used to create
the session, the runtime must return
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCancelFutureEXT(3)
Name
xrCancelFutureEXT - Cancel future
C Specification
The xrCancelFutureEXT function is defined as:
// Provided by XR_EXT_future
XrResult xrCancelFutureEXT(
XrInstance instance,
const XrFutureCancelInfoEXT* cancelInfo);
Parameters
Description
This function cancels the future and signals that the async operation is not
required.
After a future has been cancelled any functions using this future must
return XR_ERROR_FUTURE_INVALID_EXT.
A runtime may stop the asynchronous operation associated with a future after an app has cancelled it.
|
Note
|
Note
Each |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCaptureSceneAsyncBD(3)
Name
xrCaptureSceneAsyncBD - Start a scene capture process
C Specification
The xrCaptureSceneAsyncBD function is defined as:
// Provided by XR_BD_spatial_scene
XrResult xrCaptureSceneAsyncBD(
XrSenseDataProviderBD provider,
const XrSceneCaptureInfoBD* info,
XrFutureEXT* future);
Parameters
Description
The application starts the scene capture process, which guides the user to capture the scene of the physical environment, by calling xrCaptureSceneAsyncBD.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrStartSenseDataProviderCompleteBD, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure XrFutureCompletionEXT.
Note that scene capture may involve interaction by the user with system
user interfaces.
After calling this function, the system may switch the current application
to the scene capture process.
Accordingly, the runtime may emit an XrEventDataSessionStateChanged
event with XrEventDataSessionStateChanged::state set to
XR_SESSION_STATE_STOPPING, for the application to handle as usual,
before scene capture results arrive.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCaptureSceneCompleteBD(3)
Name
xrCaptureSceneCompleteBD - Get the completion of starting scene capture process
C Specification
The xrCaptureSceneCompleteBD function is defined as:
// Provided by XR_BD_spatial_scene
XrResult xrCaptureSceneCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
The application obtains the scene capture starting result using xrCaptureSceneCompleteBD.
Description
This is the completion function corresponding to the operation started by
xrCaptureSceneAsyncBD.
Do not call until the future is READY.
The XrFutureCompletionEXT structure is defined in
XR_EXT_future.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrChangeVirtualKeyboardTextContextMETA(3)
Name
xrChangeVirtualKeyboardTextContextMETA - Change virtual keyboard text context
C Specification
The xrChangeVirtualKeyboardTextContextMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrChangeVirtualKeyboardTextContextMETA(
XrVirtualKeyboardMETA keyboard,
const XrVirtualKeyboardTextContextChangeInfoMETA* changeInfo);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrClearSpatialAnchorStoreMSFT(3)
Name
xrClearSpatialAnchorStoreMSFT - Clear all spatial anchors from the spatial anchor store
C Specification
The application can use the xrClearSpatialAnchorStoreMSFT function to remove all spatial anchors from the spatial anchor store for this application. The function only removes the record of the spatial anchors in the store but does not affect any XrSpatialAnchorMSFT handles previously loaded in the current session.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrClearSpatialAnchorStoreMSFT(
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrComputeNewSceneMSFT(3)
Name
xrComputeNewSceneMSFT - Compute new scene
C Specification
The xrComputeNewSceneMSFT function begins the compute of a new scene and the runtime must return quickly without waiting for the compute to complete. The application should use xrGetSceneComputeStateMSFT to inspect the compute status.
The application can control the compute features by passing a list of
XrSceneComputeFeatureMSFT via
XrNewSceneComputeInfoMSFT::requestedFeatures.
-
If
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFTis passed, butXR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTis not passed, then:-
The application may be able to read
XR_SCENE_COMPONENT_TYPE_PLANE_MSFTandXR_SCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resulting XrSceneMSFT handle. -
XrScenePlaneMSFT::
meshBufferIdmust be zero to indicate that the plane scene component does not have a mesh buffer available to read.
-
-
If
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFTandXR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFTare passed, then:-
the application may be able to read
XR_SCENE_COMPONENT_TYPE_PLANE_MSFTandXR_SCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resulting XrSceneMSFT handle -
XrScenePlaneMSFT::
meshBufferIdmay contain a non-zero mesh buffer identifier to indicate that the plane scene component has a mesh buffer available to read.
-
-
If
XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTis passed then:-
the application may be able to read
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTandXR_SCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resulting XrSceneMSFT handle.
-
-
If
XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTis passed then:-
the application may be able to read
XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTandXR_SCENE_COMPONENT_TYPE_OBJECT_MSFTscene components from the resulting XrSceneMSFT handle.
-
// Provided by XR_MSFT_scene_understanding
XrResult xrComputeNewSceneMSFT(
XrSceneObserverMSFT sceneObserver,
const XrNewSceneComputeInfoMSFT* computeInfo);
Parameters
Description
The runtime must return
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT if incompatible
features were passed or no compatible features were passed.
The runtime must return
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT if
XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT was passed but
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT was not passed.
The runtime must return XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT
if xrComputeNewSceneMSFT is called while the scene computation is in
progress.
An application that wishes to use
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT must create an
XrSceneObserverMSFT handle that passes neither
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT nor
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT to
xrComputeNewSceneMSFT for the lifetime of that
XrSceneObserverMSFT handle.
This allows the runtime to return occlusion mesh at a different cadence than
non-occlusion mesh or planes.
-
The runtime must return
XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTif:-
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed to xrComputeNewSceneMSFT and -
a previous call to xrComputeNewSceneMSFT did not pass
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTfor the same XrSceneObserverMSFT handle.
-
-
The runtime must return
XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFTif:-
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis not passed to xrComputeNewSceneMSFT and -
a previous call to xrComputeNewSceneMSFT did pass
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTfor the same XrSceneObserverMSFT handle.
-
-
The runtime must return
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTif:-
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed to xrComputeNewSceneMSFT and -
neither
XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFTnorXR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFTare also passed.
-
-
The runtime must return
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFTif:-
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFTis passed to xrComputeNewSceneMSFT and -
at least one of
XR_SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFT,XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT,XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT, orXR_SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFTare also passed.
-
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrConvertTimeToTimespecTimeKHR(3)
Name
xrConvertTimeToTimespecTimeKHR - Convert XrTime to timespec monotonic time
C Specification
To convert from XrTime to timespec monotonic time, call:
// Provided by XR_KHR_convert_timespec_time
XrResult xrConvertTimeToTimespecTimeKHR(
XrInstance instance,
XrTime time,
struct timespec* timespecTime);
Parameters
Description
The xrConvertTimeToTimespecTimeKHR function converts an
XrTime to time as if generated by clock_gettime.
If the output timespecTime cannot represent the input time, the
runtime must return XR_ERROR_TIME_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrConvertTimeToWin32PerformanceCounterKHR(3)
Name
xrConvertTimeToWin32PerformanceCounterKHR - Convert XrTime to Win32 QueryPerformanceCounter time
C Specification
To convert from XrTime to a Windows performance counter time stamp,
call:
// Provided by XR_KHR_win32_convert_performance_counter_time
XrResult xrConvertTimeToWin32PerformanceCounterKHR(
XrInstance instance,
XrTime time,
LARGE_INTEGER* performanceCounter);
Parameters
Description
The xrConvertTimeToWin32PerformanceCounterKHR function converts an
XrTime to time as if generated by the QueryPerformanceCounter
Windows function.
If the output performanceCounter cannot represent the input
time, the runtime must return XR_ERROR_TIME_INVALID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrConvertTimespecTimeToTimeKHR(3)
Name
xrConvertTimespecTimeToTimeKHR - Convert timespec monotonic time to XrTime
C Specification
To convert from timespec monotonic time to XrTime, call:
// Provided by XR_KHR_convert_timespec_time
XrResult xrConvertTimespecTimeToTimeKHR(
XrInstance instance,
const struct timespec* timespecTime,
XrTime* time);
Parameters
Description
The xrConvertTimespecTimeToTimeKHR function converts a time obtained
by the clock_gettime function to the equivalent XrTime.
If the output time cannot represent the input timespecTime, the
runtime must return XR_ERROR_TIME_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrConvertWin32PerformanceCounterToTimeKHR(3)
Name
xrConvertWin32PerformanceCounterToTimeKHR - Convert Win32 QueryPerformanceCounter time to XrTime
C Specification
To convert from a Windows performance counter time stamp to XrTime,
call:
// Provided by XR_KHR_win32_convert_performance_counter_time
XrResult xrConvertWin32PerformanceCounterToTimeKHR(
XrInstance instance,
const LARGE_INTEGER* performanceCounter,
XrTime* time);
Parameters
Description
The xrConvertWin32PerformanceCounterToTimeKHR function converts a time
stamp obtained by the QueryPerformanceCounter Windows function to the
equivalent XrTime.
If the output time cannot represent the input
performanceCounter, the runtime must return
XR_ERROR_TIME_INVALID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateAction(3)
Name
xrCreateAction - Creates an XrAction
C Specification
The xrCreateAction function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateAction(
XrActionSet actionSet,
const XrActionCreateInfo* createInfo,
XrAction* action);
Parameters
Description
xrCreateAction creates an action and returns its handle.
If actionSet has been included in a call to
xrAttachSessionActionSets, the implementation must return
XR_ERROR_ACTIONSETS_ALREADY_ATTACHED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateActionSet(3)
Name
xrCreateActionSet - Creates an XrActionSet
C Specification
The xrCreateActionSet function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateActionSet(
XrInstance instance,
const XrActionSetCreateInfo* createInfo,
XrActionSet* actionSet);
Parameters
Description
The xrCreateActionSet function creates an action set and returns a handle to the created action set.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateActionSpace(3)
Name
xrCreateActionSpace - Creates a space based on a pose action
C Specification
The xrCreateActionSpace function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateActionSpace(
XrSession session,
const XrActionSpaceCreateInfo* createInfo,
XrSpace* space);
Parameters
Description
Creates an XrSpace handle based on a chosen pose action. Application can provide an XrPosef to define the position and orientation of the new space’s origin within the natural reference frame of the action space.
Multiple XrSpace handles may exist simultaneously, up to some limit imposed by the runtime. The XrSpace handle must be eventually freed via the xrDestroySpace function or by destroying the parent XrSession handle. See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#spaces-action-spaces-lifetime for details.
The runtime must return XR_ERROR_ACTION_TYPE_MISMATCH if the action
provided in XrActionSpaceCreateInfo::action is not of type
XR_ACTION_TYPE_POSE_INPUT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateAnchorSpaceANDROID(3)
Name
xrCreateAnchorSpaceANDROID - Create anchor space attached to trackable
C Specification
The xrCreateAnchorSpaceANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrCreateAnchorSpaceANDROID(
XrSession session,
const XrAnchorSpaceCreateInfoANDROID* createInfo,
XrSpace* anchorOutput);
Parameters
Description
At any point in time both the position and direction of the anchor is
tracked or untracked together.
This means that the runtime must either set both
XR_SPACE_LOCATION_POSITION_TRACKED_BIT and
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT or clear both
XR_SPACE_LOCATION_POSITION_TRACKED_BIT and
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT when the application calls
xrLocateSpace or xrLocateSpaces for anchorOutput.
The application must eventually free the returned XrSpace via xrDestroySpace.
-
The runtime must return
XR_ERROR_FEATURE_UNSUPPORTEDif the runtime does not support anchors. -
The runtime must return
XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROIDif the specific anchor attachment is not supported for the type of the passed XrAnchorSpaceCreateInfoANDROID::trackableas returned by xrEnumerateSupportedAnchorTrackableTypesANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateAnchorSpaceBD(3)
Name
xrCreateAnchorSpaceBD - Create a space handle for a spatial entity anchor
C Specification
The xrCreateAnchorSpaceBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrCreateAnchorSpaceBD(
XrSession session,
const XrAnchorSpaceCreateInfoBD* createInfo,
XrSpace* space);
Parameters
Description
The application can create an XrSpace for an anchor using
xrCreateAnchorSpaceBD.
Using this handle, the application can use calls like xrLocateSpace
and xrLocateSpaces to locate the anchor in a given base space at a
given time.
The createInfo parameter contains the XrAnchorBD as well as a
pose offset to apply.
Multiple XrSpace handles for a given XrAnchorBD may exist simultaneously, up to some limit imposed by the runtime. The XrSpace handle must be eventually freed via the xrDestroySpace function or by destroying the parent XrSession handle.
As the parent of all XrSpace handles, including those created with this function, is an XrSession handle, an anchor space may outlive the XrAnchorBD handle used to create it. Additionally, the ability to locate anchor spaces depends on spatial sensing being active. A valid XrSpace handle created for an XrAnchorBD must be unlocatable unless the associated XrSenseDataProviderBD has been started without since being stopped.
Such an unlocatable anchor space behaves the same as an unlocatable action space as discussed in https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#spaces-action-spaces-lifetime.
Note that destroying the XrAnchorBD used in creating an anchor space does not itself make the anchor space unlocatable; it only prevents creation of additional anchor spaces from that anchor. This mirrors the behavior of action spaces and destruction of their corresponding pose actions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateApiLayerInstance(3)
Name
xrCreateApiLayerInstance - xrCreateInstance for API layers
C Specification
The xrCreateApiLayerInstance function is defined as:
// Provided by XR_LOADER_VERSION_1_0
XrResult xrCreateApiLayerInstance(
const XrInstanceCreateInfo* info,
const XrApiLayerCreateInfo* layerInfo,
XrInstance* instance);
Parameters
Description
An API layer’s implementation of the xrCreateApiLayerInstance function is invoked during the loader’s implementation of xrCreateInstance, if the layer in question is enabled.
An API layer needs additional information during xrCreateInstance calls, so each API layer must implement the xrCreateApiLayerInstance function, which is a special API layer function.
An API layer must not implement xrCreateInstance.
xrCreateApiLayerInstance must be called by the loader during its implementation of the xrCreateInstance function.
The loader must call the first API layer’s xrCreateApiLayerInstance function passing in the pointer to the created XrApiLayerCreateInfo.
The XrApiLayerCreateInfo::nextInfo must be a linked-list of
XrApiLayerNextInfo structures with information about each of the API
layers that are to be enabled.
Note that this does not operate like a next chain in the OpenXR
application API, but instead describes the enabled API layers from outermost
to innermost.
The API layer may validate that it is getting the correct next information
by checking that the XrApiLayerNextInfo::layerName matches the
expected value.
The API layer must use the information in its XrApiLayerNextInfo to call down the call chain to the next xrCreateApiLayerInstance:
-
The API layer must copy the XrApiLayerCreateInfo structure into its own structure.
-
The API layer must then update its copy of the XrApiLayerCreateInfo structure, setting XrApiLayerCreateInfo::
nextInfoto point to the XrApiLayerNextInfo for the next API layer (e.g.layerInfoCopy→nextInfo = layerInfo→nextInfo→next;). -
The API layer must then use the pointer to its XrApiLayerCreateInfo structure (instead of the one that was passed in) when it makes a call to the xrCreateApiLayerInstance function.
-
If the nested xrCreateApiLayerInstance call succeeds, the API layer may choose to setup its own dispatch table to the next API layer’s functions using the returned XrInstance and the next API layer’s xrGetInstanceProcAddr.
-
The API layer must return the XrResult returned from the next API layer.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateBodyTrackerBD(3)
Name
xrCreateBodyTrackerBD - Create a body joints handle.
C Specification
The xrCreateBodyTrackerBD function is defined as:
// Provided by XR_BD_body_tracking
XrResult xrCreateBodyTrackerBD(
XrSession session,
const XrBodyTrackerCreateInfoBD* createInfo,
XrBodyTrackerBD* bodyTracker);
Parameters
Description
An application can create an XrBodyTrackerBD handle using xrCreateBodyTrackerBD function.
If the system does not support body tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateBodyTrackerBD.
In this case, the runtime must return XR_FALSE for
XrSystemBodyTrackingPropertiesBD::supportsBodyTracking when the
function xrGetSystemProperties is called, so that the application
avoids creating a body tracker.
If an invalid value of XrBodyTrackerCreateInfoBD::jointSet is
passed in createInfo, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateBodyTrackerFB(3)
Name
xrCreateBodyTrackerFB - Create a body joints handle.
C Specification
An application can create an XrBodyTrackerFB handle using xrCreateBodyTrackerFB function.
// Provided by XR_FB_body_tracking
XrResult xrCreateBodyTrackerFB(
XrSession session,
const XrBodyTrackerCreateInfoFB* createInfo,
XrBodyTrackerFB* bodyTracker);
Parameters
Description
If the system does not support body tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateBodyTrackerFB.
In this case, the runtime must return XR_FALSE for
XrSystemBodyTrackingPropertiesFB::supportsBodyTracking when the
function xrGetSystemProperties is called, so that the application can
avoid creating a body tracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateBodyTrackerHTC(3)
Name
xrCreateBodyTrackerHTC - Create a body tracker handle.
C Specification
The xrCreateBodyTrackerHTC function is defined as
// Provided by XR_HTC_body_tracking
XrResult xrCreateBodyTrackerHTC(
XrSession session,
const XrBodyTrackerCreateInfoHTC* createInfo,
XrBodyTrackerHTC* bodyTracker);
Parameters
Description
An application can create an XrBodyTrackerHTC handle using xrCreateBodyTrackerHTC.
If the system does not support body tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateBodyTrackerHTC.
In this case, the runtime must return XR_FALSE for
XrSystemBodyTrackingPropertiesHTC::supportsBodyTracking in
XrSystemBodyTrackingPropertiesHTC when the function
xrGetSystemProperties is called, so that the application avoids
creating a body tracker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateDebugUtilsMessengerEXT(3)
Name
xrCreateDebugUtilsMessengerEXT - Creates a debug messenger
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrCreateDebugUtilsMessengerEXT(
XrInstance instance,
const XrDebugUtilsMessengerCreateInfoEXT* createInfo,
XrDebugUtilsMessengerEXT* messenger);
Parameters
Description
The application must ensure that xrCreateDebugUtilsMessengerEXT is
not executed in parallel with any OpenXR function that is also called with
instance or child of instance.
When an event of interest occurs a debug messenger calls its
XrDebugUtilsMessengerCreateInfoEXT::userCallback with a debug
message from the producer of the event.
Additionally, the debug messenger must filter out any debug messages that
the application’s callback is not interested in based on
XrDebugUtilsMessengerCreateInfoEXT flags, as described below.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateDeviceAnchorPersistenceANDROID(3)
Name
xrCreateDeviceAnchorPersistenceANDROID - Create anchor persistence handle
C Specification
The xrCreateDeviceAnchorPersistenceANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrCreateDeviceAnchorPersistenceANDROID(
XrSession session,
const XrDeviceAnchorPersistenceCreateInfoANDROID* createInfo,
XrDeviceAnchorPersistenceANDROID* outHandle);
Parameters
Description
An application creates an XrDeviceAnchorPersistenceANDROID handle by calling xrCreateDeviceAnchorPersistenceANDROID.
This function starts off an asynchronous loading of the application’s
persisted data.
All functions of this extensions, except
xrDestroyDeviceAnchorPersistenceANDROID, must return
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROID if the data loading is not
complete.
The application retries those functions at a later time.
The XrDeviceAnchorPersistenceANDROID handle must be eventually freed via the xrDestroyDeviceAnchorPersistenceANDROID function or by destroying the parent XrSession handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateEnvironmentDepthProviderMETA(3)
Name
xrCreateEnvironmentDepthProviderMETA - Creates and initializes a depth provider.
C Specification
The xrCreateEnvironmentDepthProviderMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrCreateEnvironmentDepthProviderMETA(
XrSession session,
const XrEnvironmentDepthProviderCreateInfoMETA* createInfo,
XrEnvironmentDepthProviderMETA* environmentDepthProvider);
Parameters
Description
The xrCreateEnvironmentDepthProviderMETA function creates a depth provider instance.
Creating the depth provider may allocate resources, but should not incur any per-frame compute costs until the provider has been started.
-
Runtimes must create the provider in a stopped state.
-
Runtimes may limit the number of depth providers per XrInstance. If xrCreateEnvironmentDepthProviderMETA fails due to reaching this limit, the runtime must return
XR_ERROR_LIMIT_REACHED. -
Runtimes must support at least 1 provider per XrInstance.
-
Runtimes may return
XR_ERROR_NOT_PERMITTED_PASSTHROUGH_FBif the app permissions have not been granted to the calling app. -
Applications can call xrStartEnvironmentDepthProviderMETA to start the generation of depth maps.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateEnvironmentDepthSwapchainMETA(3)
Name
xrCreateEnvironmentDepthSwapchainMETA - Returns a readable depth swapchain.
C Specification
The xrCreateEnvironmentDepthSwapchainMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrCreateEnvironmentDepthSwapchainMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider,
const XrEnvironmentDepthSwapchainCreateInfoMETA* createInfo,
XrEnvironmentDepthSwapchainMETA* swapchain);
Parameters
Description
The xrCreateEnvironmentDepthSwapchainMETA function creates a readable swapchain, which is used for accessing the depth data.
The runtime decides on the resolution and length of the swapchain. Additional information about the swapchain can be accessed by calling xrGetEnvironmentDepthSwapchainStateMETA.
Runtimes must create a swapchain with array textures of length 2, which map
to a left-eye and right-eye view.
View index 0 must represent the left eye and view index 1 must represent
the right eye.
This is the same convention as for
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO in
XrViewConfigurationType.
Runtimes must create the swapchain with the following image formats
depending on the graphics API associated with the session:
-
OpenGL:
GL_DEPTH_COMPONENT16 -
Vulkan:
VK_FORMAT_D16_UNORM -
Direct3D:
DXGI_FORMAT_D16_UNORM
Runtimes must only allow maximum one swapchain to exist per depth provider
at any given time, and must return XR_ERROR_LIMIT_REACHED if
xrCreateEnvironmentDepthSwapchainMETA is called to create more.
Applications should destroy the swapchain when no longer needed.
Applications must be able to handle different swapchain lengths and
resolutions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateExportedLocalizationMapML(3)
Name
xrCreateExportedLocalizationMapML - Creates an exported localization map handle.
C Specification
The xrCreateExportedLocalizationMapML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrCreateExportedLocalizationMapML(
XrSession session,
const XrUuidEXT* mapUuid,
XrExportedLocalizationMapML* map);
Parameters
Description
xrCreateExportedLocalizationMapML creates a frozen copy of the
mapUuid localization map that can be exported using
xrGetExportedLocalizationMapDataML.
Applications should call xrDestroyExportedLocalizationMapML once they
are done with the data.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateEyeTrackerFB(3)
Name
xrCreateEyeTrackerFB - Create an eye gaze handle.
C Specification
An application creates an XrEyeTrackerFB handle using xrCreateEyeTrackerFB function.
// Provided by XR_FB_eye_tracking_social
XrResult xrCreateEyeTrackerFB(
XrSession session,
const XrEyeTrackerCreateInfoFB* createInfo,
XrEyeTrackerFB* eyeTracker);
Parameters
Description
If the system does not support eye tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateEyeTrackerFB.
In this case, the runtime must return XR_FALSE for
XrSystemEyeTrackingPropertiesFB::supportsEyeTracking when the
function xrGetSystemProperties is called, so that the application can
avoid creating an eye tracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFaceTracker2FB(3)
Name
xrCreateFaceTracker2FB - Create a face tracking handle.
C Specification
The xrCreateFaceTracker2FB function is defined as:
// Provided by XR_FB_face_tracking2
XrResult xrCreateFaceTracker2FB(
XrSession session,
const XrFaceTrackerCreateInfo2FB* createInfo,
XrFaceTracker2FB* faceTracker);
Parameters
Description
An application can create an XrFaceTracker2FB handle using xrCreateFaceTracker2FB function.
If the system does not support face tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFaceTracker2FB.
In this case, the runtime must return XR_FALSE for both
XrSystemFaceTrackingProperties2FB::supportsVisualFaceTracking
and XrSystemFaceTrackingProperties2FB::supportsAudioFaceTracking
when the function xrGetSystemProperties is called, so that the
application can avoid creating a face tracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFaceTrackerANDROID(3)
Name
xrCreateFaceTrackerANDROID - Create a face tracker handle
C Specification
The xrCreateFaceTrackerANDROID function is defined as:
// Provided by XR_ANDROID_face_tracking
XrResult xrCreateFaceTrackerANDROID(
XrSession session,
const XrFaceTrackerCreateInfoANDROID* createInfo,
XrFaceTrackerANDROID* faceTracker);
Parameters
Description
|
Important
|
Permissions
Android applications must have the android.permission.FACE_TRACKING permission listed in their manifest. The android.permission.FACE_TRACKING permission is considered a dangerous permission. The application must request the permission at runtime to use these functions: (protection level: dangerous) |
An application creates an XrFaceTrackerANDROID handle by calling the xrCreateFaceTrackerANDROID function.
If the system does not support face tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFaceTrackerANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFaceTrackerBD(3)
Name
xrCreateFaceTrackerBD - the function to create a XrFaceTrackerBD
C Specification
The xrCreateFaceTrackerBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrCreateFaceTrackerBD(
XrSession session,
const XrFaceTrackerCreateInfoBD* createInfo,
XrFaceTrackerBD* tracker);
Parameters
Description
An application can create an XrFaceTrackerBD handle by calling the xrCreateFaceTrackerBD function, specifying a supported mode from those defined in XrFacialSimulationModeBD.
If the runtime does not support the specified mode provided in
createInfo in XrFaceTrackerCreateInfoBD, the runtime must
return XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFaceTrackerBD.
An application can get supported modes by calling the
xrEnumerateFacialSimulationModesBD function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFaceTrackerFB(3)
Name
xrCreateFaceTrackerFB - Create a face tracking handle.
C Specification
The xrCreateFaceTrackerFB function is defined as:
// Provided by XR_FB_face_tracking
XrResult xrCreateFaceTrackerFB(
XrSession session,
const XrFaceTrackerCreateInfoFB* createInfo,
XrFaceTrackerFB* faceTracker);
Parameters
Description
An application can create an XrFaceTrackerFB handle using xrCreateFaceTrackerFB function.
If the system does not support face tracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFaceTrackerFB.
In this case, the runtime must return XR_FALSE for
XrSystemFaceTrackingPropertiesFB::supportsFaceTracking when the
function xrGetSystemProperties is called, so that the application can
avoid creating a face tracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFacialExpressionClientML(3)
Name
xrCreateFacialExpressionClientML - Creates a face tracking handle.
C Specification
The xrCreateFacialExpressionClientML function is defined as:
// Provided by XR_ML_facial_expression
XrResult xrCreateFacialExpressionClientML(
XrSession session,
const XrFacialExpressionClientCreateInfoML* createInfo,
XrFacialExpressionClientML* facialExpressionClient);
Parameters
Description
An application can create an XrFacialExpressionClientML handle using xrCreateFacialExpressionClientML function.
If the system does not support parsing facial expressions, the runtime must
return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFacialExpressionClientML.
In this case, the runtime must also return XR_FALSE for
XrSystemFacialExpressionPropertiesML::supportsFacialExpression
when the function xrGetSystemProperties is called.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFacialTrackerHTC(3)
Name
xrCreateFacialTrackerHTC - Create an facial tracker handle.
C Specification
The xrCreateFacialTrackerHTC function is defined as
// Provided by XR_HTC_facial_tracking
XrResult xrCreateFacialTrackerHTC(
XrSession session,
const XrFacialTrackerCreateInfoHTC* createInfo,
XrFacialTrackerHTC* facialTracker);
Parameters
Description
An application can create an XrFacialTrackerHTC handle using xrCreateFacialTrackerHTC.
If the system does not support eye tracking or lip tracking, runtime must
return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFacialTrackerHTC according to the corresponding case.
In this case, the runtime must return XR_FALSE for
XrSystemFacialTrackingPropertiesHTC::supportEyeFacialTracking or
XrSystemFacialTrackingPropertiesHTC::supportLipFacialTracking
when the function xrGetSystemProperties is called, so that the
application may avoid creating a facial tracker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateFoveationProfileFB(3)
Name
xrCreateFoveationProfileFB - Create a foveation profile
C Specification
The xrCreateFoveationProfileFB function is defined as:
// Provided by XR_FB_foveation
XrResult xrCreateFoveationProfileFB(
XrSession session,
const XrFoveationProfileCreateInfoFB* createInfo,
XrFoveationProfileFB* profile);
Parameters
Description
Creates an XrFoveationProfileFB handle. The returned foveation profile handle may be subsequently used in API calls.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateGeometryInstanceFB(3)
Name
xrCreateGeometryInstanceFB - Create a triangle mesh
C Specification
The xrCreateGeometryInstanceFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrCreateGeometryInstanceFB(
XrSession session,
const XrGeometryInstanceCreateInfoFB* createInfo,
XrGeometryInstanceFB* outGeometryInstance);
Parameters
Description
Creates an XrGeometryInstanceFB handle.
Geometry instance functionality requires XR_FB_triangle_mesh
extension to be enabled.
An XrGeometryInstanceFB connects a layer, a mesh, and a
transformation, with the semantics that a specific mesh will be instantiated
in a specific layer with a specific transformation.
A mesh can be instantiated multiple times, in the same or in different
layers.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateHandMeshSpaceMSFT(3)
Name
xrCreateHandMeshSpaceMSFT - Create a space for hand mesh tracking
C Specification
The application creates a hand mesh space using function xrCreateHandMeshSpaceMSFT. The position and normal of hand mesh vertices will be represented in this space.
// Provided by XR_MSFT_hand_tracking_mesh
XrResult xrCreateHandMeshSpaceMSFT(
XrHandTrackerEXT handTracker,
const XrHandMeshSpaceCreateInfoMSFT* createInfo,
XrSpace* space);
Parameters
Description
A hand mesh space location is specified by runtime preference to effectively represent hand mesh vertices without unnecessary transformations. For example, an optical hand tracking system can define the hand mesh space origin at the depth camera’s optical center.
An application should create separate hand mesh space handles for each hand to retrieve the corresponding hand mesh data. The runtime may use the lifetime of this hand mesh space handle to manage the underlying device resources. Therefore, the application should destroy the hand mesh handle after it is finished using the hand mesh.
The hand mesh space can be related to other spaces in the session, such as
view reference space, or grip action space from the
/interaction_profiles/khr/simple_controller interaction profile.
The hand mesh space may be not locatable when the hand is outside of the
tracking range, or if focus is removed from the application.
In these cases, the runtime must not set the
XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT bits on calls to
xrLocateSpace with the hand mesh space, and the application should
avoid using the returned poses or query for hand mesh data.
If the underlying XrHandTrackerEXT is destroyed, the runtime must
continue to support xrLocateSpace using the hand mesh space, and it
must return space location with XR_SPACE_LOCATION_POSITION_VALID_BIT
and XR_SPACE_LOCATION_ORIENTATION_VALID_BIT unset.
The application may create a mesh space for the reference hand by setting
XrHandPoseTypeInfoMSFT::handPoseType to
XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT.
Hand mesh spaces for the reference hand must only be locatable in reference
to mesh spaces or joint spaces of the reference hand.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateHandTrackerEXT(3)
Name
xrCreateHandTrackerEXT - Create a hand joints handle.
C Specification
An application can create an XrHandTrackerEXT handle using xrCreateHandTrackerEXT function.
// Provided by XR_EXT_hand_tracking
XrResult xrCreateHandTrackerEXT(
XrSession session,
const XrHandTrackerCreateInfoEXT* createInfo,
XrHandTrackerEXT* handTracker);
Parameters
Description
If the system does not support hand tracking, runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateHandTrackerEXT.
In this case, the runtime must return XR_FALSE for
XrSystemHandTrackingPropertiesEXT::supportsHandTracking when the
function xrGetSystemProperties is called, so that the application can
avoid creating a hand tracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateInstance(3)
Name
xrCreateInstance - Creates an OpenXR Instance
C Specification
The xrCreateInstance function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateInstance(
const XrInstanceCreateInfo* createInfo,
XrInstance* instance);
Parameters
Description
xrCreateInstance creates the XrInstance, then enables and
initializes global API layers and extensions requested by the application.
If an extension is provided by an API layer, both the API layer and
extension must be specified at xrCreateInstance time.
If a specified API layer cannot be found, no XrInstance will be
created and the function will return XR_ERROR_API_LAYER_NOT_PRESENT.
Likewise, if a specified extension cannot be found, the call must return
XR_ERROR_EXTENSION_NOT_PRESENT and no XrInstance will be
created.
Additionally, some runtimes may limit the number of concurrent instances
that may be in use.
If the application attempts to create more instances than a runtime can
simultaneously support, xrCreateInstance may return
XR_ERROR_LIMIT_REACHED.
If the XrApplicationInfo::applicationName is the empty string
the runtime must return XR_ERROR_NAME_INVALID.
If the XrInstanceCreateInfo structure contains a platform-specific
extension for a platform other than the target platform,
XR_ERROR_INITIALIZATION_FAILED may be returned.
If a mandatory platform-specific extension is defined for the target
platform but no matching extension struct is provided in
XrInstanceCreateInfo the runtime must return
XR_ERROR_INITIALIZATION_FAILED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateKeyboardSpaceFB(3)
Name
xrCreateKeyboardSpaceFB - Create a foveation profile
C Specification
The xrCreateKeyboardSpaceFB function is defined as:
// Provided by XR_FB_keyboard_tracking
XrResult xrCreateKeyboardSpaceFB(
XrSession session,
const XrKeyboardSpaceCreateInfoFB* createInfo,
XrSpace* keyboardSpace);
Parameters
Description
The xrCreateKeyboardSpaceFB function returns an XrSpace that can be used to locate a physical keyboard in space. The origin of the created XrSpace is located in the center of the bounding box in the x and z axes, and at the top of the y axis (meaning the keyboard is located entirely in negative y).
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateMarkerDetectorML(3)
Name
xrCreateMarkerDetectorML - Create a marker detection handle.
C Specification
The xrCreateMarkerDetectorML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrCreateMarkerDetectorML(
XrSession session,
const XrMarkerDetectorCreateInfoML* createInfo,
XrMarkerDetectorML* markerDetector);
Description
An application creates an XrMarkerDetectorML handle using the
xrCreateMarkerDetectorML function.
If createInfo contains mutually exclusive contents, the runtime must
return XR_ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML.
If a runtime is unable to create a marker detector due to some internal
limit, the runtime must return XR_ERROR_LIMIT_REACHED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateMarkerSpaceML(3)
Name
xrCreateMarkerSpaceML - Create an XrSpace to track a marker spatially
C Specification
The xrCreateMarkerSpaceML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrCreateMarkerSpaceML(
XrSession session,
const XrMarkerSpaceCreateInfoML* createInfo,
XrSpace* space);
Parameters
Description
Creates an XrSpace from a currently snapshotted marker.
The space may still be used even if the marker is later not in the FOV, or
even if the marker detector has been destroyed.
In such a scenario, the XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT and
XR_SPACE_LOCATION_POSITION_TRACKED_BIT must be false, but
XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT may be set as appropriate to
the last known location.
Once an application has created a space, it may stop calling xrSnapshotMarkerDetectorML, and the position of the marker must still be updated by the runtime whenever it is aware of a more up to date location.
If a runtime is unable to spatially locate a snapshotted marker, it may
return XR_ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML.
This is most likely to happen if significant time has passed since the
snapshot of markers was acquired, and the marker in question is no longer in
the user’s FOV.
Thus, an application should call xrCreateMarkerSpaceML immediately
after examining a snapshot, but should also be prepared to try again if
needed.
must only be called when the state of the detector is
XR_MARKER_DETECTOR_STATUS_READY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
session must be the same session that created the
XrMarkerSpaceCreateInfoML::markerDetector, else the runtime
must return XR_ERROR_HANDLE_INVALID.
The runtime must return XR_ERROR_MARKER_INVALID_ML if the marker atom
is invalid.
The XrSpace origin must be located at the marker’s center. The X-Y plane of the XrSpace must be aligned with the plane of the marker with the positive Z axis coming out of the marker face.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateMarkerSpaceVARJO(3)
Name
xrCreateMarkerSpaceVARJO - Creates marker space
C Specification
The xrCreateMarkerSpaceVARJO function is defined as:
// Provided by XR_VARJO_marker_tracking
XrResult xrCreateMarkerSpaceVARJO(
XrSession session,
const XrMarkerSpaceCreateInfoVARJO* createInfo,
XrSpace* space);
Parameters
Description
The xrCreateMarkerSpaceVARJO function creates marker XrSpace for
pose relative to the marker specified in XrMarkerSpaceCreateInfoVARJO.
The runtime must return XR_ERROR_MARKER_ID_INVALID_VARJO if the
supplied XrMarkerSpaceCreateInfoVARJO::markerId is invalid.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePassthroughColorLutMETA(3)
Name
xrCreatePassthroughColorLutMETA - Create a passthrough color LUT
C Specification
The xrCreatePassthroughColorLutMETA function is defined as:
// Provided by XR_META_passthrough_color_lut
XrResult xrCreatePassthroughColorLutMETA(
XrPassthroughFB passthrough,
const XrPassthroughColorLutCreateInfoMETA* createInfo,
XrPassthroughColorLutMETA* colorLut);
Parameters
Description
Creates a passthrough color LUT. The resulting XrPassthroughColorLutMETA may be referenced in XrPassthroughColorMapLutMETA and XrPassthroughColorMapInterpolatedLutMETA in subsequent calls to xrPassthroughLayerSetStyleFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePassthroughFB(3)
Name
xrCreatePassthroughFB - Create a passthrough feature
C Specification
The xrCreatePassthroughFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrCreatePassthroughFB(
XrSession session,
const XrPassthroughCreateInfoFB* createInfo,
XrPassthroughFB* outPassthrough);
Parameters
Description
Creates an XrPassthroughFB handle. The returned passthrough handle may be subsequently used in API calls.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePassthroughHTC(3)
Name
xrCreatePassthroughHTC - Create a passthrough handle.
C Specification
The xrCreatePassthroughHTC function is defined as:
// Provided by XR_HTC_passthrough
XrResult xrCreatePassthroughHTC(
XrSession session,
const XrPassthroughCreateInfoHTC* createInfo,
XrPassthroughHTC* passthrough);
Parameters
Description
Creates an XrPassthroughHTC handle.
If the function successfully returned, the output passthrough must be
a valid handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePassthroughLayerFB(3)
Name
xrCreatePassthroughLayerFB - Create a passthrough layer
C Specification
The xrCreatePassthroughLayerFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrCreatePassthroughLayerFB(
XrSession session,
const XrPassthroughLayerCreateInfoFB* createInfo,
XrPassthroughLayerFB* outLayer);
Parameters
Description
Creates an XrPassthroughLayerFB handle. The returned layer handle may be subsequently used in API calls. Layer objects may be used to specify rendering properties of the layer, such as styles, and compositing rules.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePersistedAnchorSpaceANDROID(3)
Name
xrCreatePersistedAnchorSpaceANDROID - Create anchor from persisted data
C Specification
The xrCreatePersistedAnchorSpaceANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrCreatePersistedAnchorSpaceANDROID(
XrDeviceAnchorPersistenceANDROID handle,
const XrPersistedAnchorSpaceCreateInfoANDROID* createInfo,
XrSpace* anchorOutput);
Parameters
Description
The application creates an XrSpace anchor from a previously persisted
anchor by calling xrCreatePersistedAnchorSpaceANDROID with the same
XrUuidEXT.
This is another way of creating anchors as defined in
XR_ANDROID_trackables.
-
The runtime must return
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROIDif the persisted data loading forhandleis not yet complete. -
The runtime must return
XR_ERROR_ANCHOR_ID_NOT_FOUND_ANDROIDif the anchor XrUuidEXT is not found. -
If the XrUuidEXT refers to an anchor that has not reached the
XR_ANCHOR_PERSIST_STATE_PERSISTED_ANDROIDstate yet, the runtime must returnXR_ERROR_ANCHOR_ID_NOT_FOUND_ANDROID. -
Despite the first parameter of this function being an XrDeviceAnchorPersistenceANDROID, the parent of the created XrSpace is the XrSession that is the parent of
handle. The runtime must track the anchor untilanchorOutputis destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreatePlaneDetectorEXT(3)
Name
xrCreatePlaneDetectorEXT - Create a plane detection handle.
C Specification
The xrCreatePlaneDetectorEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrCreatePlaneDetectorEXT(
XrSession session,
const XrPlaneDetectorCreateInfoEXT* createInfo,
XrPlaneDetectorEXT* planeDetector);
Parameters
Description
An application creates an XrPlaneDetectorEXT handle using xrCreatePlaneDetectorEXT function.
If the system does not support plane detection, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreatePlaneDetectorEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateReferenceSpace(3)
Name
xrCreateReferenceSpace - Creates a reference space
C Specification
The xrCreateReferenceSpace function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateReferenceSpace(
XrSession session,
const XrReferenceSpaceCreateInfo* createInfo,
XrSpace* space);
Parameters
Description
Creates an XrSpace handle based on a chosen reference space. Application can provide an XrPosef to define the position and orientation of the new space’s origin within the natural reference frame of the reference space.
Multiple XrSpace handles may exist simultaneously, up to some limit imposed by the runtime. The XrSpace handle must be eventually freed via the xrDestroySpace function.
The runtime must return XR_ERROR_REFERENCE_SPACE_UNSUPPORTED if the
given reference space type is not supported by this session.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateRenderModelAssetEXT(3)
Name
xrCreateRenderModelAssetEXT - Create a render model asset handle
C Specification
The xrCreateRenderModelAssetEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrCreateRenderModelAssetEXT(
XrSession session,
const XrRenderModelAssetCreateInfoEXT* createInfo,
XrRenderModelAssetEXT* asset);
Parameters
Description
An application can create an XrRenderModelAssetEXT handle using the
xrCreateRenderModelAssetEXT function.
The application must only call xrCreateRenderModelAssetEXT with a
UUID specified by parameter createInfo member
XrRenderModelAssetCreateInfoEXT::cacheId that has been retrieved
by calling xrGetRenderModelPropertiesEXT on a render model associated
with the current session.
If the application passes a UUID not retrieved in this way (for example,
passing a UUID received from a previous session), the runtime must return
XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT.
This implies that the runtime must track which UUIDs it has returned to the
application in a given session to validate the input to this function.
If this function returns successfully, the runtime must have the asset data
and node names in memory for immediate return to the application in a
subsequent use of xrGetRenderModelAssetDataEXT.
The runtime may return XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT if
the asset data has become unavailable for external reasons after the
creation of the relevant XrRenderModelEXT.
A valid asset handle enables the application to retrieve the data for the
glTF asset of the render model and the names of animatable nodes.
For a valid XrRenderModelPropertiesEXT::cacheId, the runtime
must return the same glTF asset data, even between different sessions, if
the cache ID is returned from both sessions.
Therefore, the application may rely on the
XrRenderModelPropertiesEXT::cacheId to cache the glTF asset data
and the processed derived data from the asset, as well as the names of
animatable nodes, for reuse across sessions.
An application may choose to use the UUID as a key to cache data associated
with the asset, but is not the asset data itself, however it is invalid to
call xrCreateRenderModelAssetEXT using a cached UUID before it is
available from the current session.
An application must not use a cached UUID to retrieve asset data from the
runtime without ensuring it is retrievable from the current session (and
identifying the semantic use of the model) by calling
xrGetRenderModelPropertiesEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateRenderModelEXT(3)
Name
xrCreateRenderModelEXT - Create a render model handle
C Specification
An application can create an XrRenderModelEXT handle using the xrCreateRenderModelEXT function.
// Provided by XR_EXT_render_model
XrResult xrCreateRenderModelEXT(
XrSession session,
const XrRenderModelCreateInfoEXT* createInfo,
XrRenderModelEXT* renderModel);
Parameters
Description
If, when attempting to create the handle, the session does not support any
render model of the given render model ID requiring only glTF extensions
from the supplied glTF extension list (in
XrRenderModelCreateInfoEXT::gltfExtensions), the runtime must
return XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateRenderModelSpaceEXT(3)
Name
xrCreateRenderModelSpaceEXT - Create an XrSpace from an XrRenderModelEXT
C Specification
The xrCreateRenderModelSpaceEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrCreateRenderModelSpaceEXT(
XrSession session,
const XrRenderModelSpaceCreateInfoEXT* createInfo,
XrSpace* space);
Parameters
Description
The application can create an XrSpace handle that tracks a render model using xrCreateRenderModelSpaceEXT.
The origin of the underlying render model space is defined to be the origin of the glTF model.
Applications can use xrLocateSpace to locate the space created this
way in a desired base space, as with all other varieties of XrSpace
handles.
Unless otherwise specified by a related extension, the pose and locatability
of a render model space have no fixed relationship with any other object or
space, and should be used only to transform the associated model for
rendering.
If a render model space is not both position and orientation TRACKED when
location is queried for a time equal to the intended display time, this
indicates that the application is intended to not render that model in
that frame, unless otherwise specified by a related extension.
This is used in lieu of an explicit visibility state flag.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSceneMSFT(3)
Name
xrCreateSceneMSFT - Create a scene handle
C Specification
The xrCreateSceneMSFT functions creates an XrSceneMSFT handle.
It can only be called after xrGetSceneComputeStateMSFT returns
XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT to indicate that the
asynchronous operation has completed.
The XrSceneMSFT handle manages the collection of scene components that
represents the detected objects found during the query.
After an XrSceneMSFT handle is created, the handle and associated data must remain valid until destroyed, even after xrCreateSceneMSFT is called again to create the next scene. The runtime must keep alive any component data and mesh buffers relating to this historical scene until its handle is destroyed.
// Provided by XR_MSFT_scene_understanding
XrResult xrCreateSceneMSFT(
XrSceneObserverMSFT sceneObserver,
const XrSceneCreateInfoMSFT* createInfo,
XrSceneMSFT* scene);
Parameters
Description
Calling xrCreateSceneMSFT when xrGetSceneComputeStateMSFT
returns XR_SCENE_COMPUTE_STATE_NONE_MSFT or
XR_SCENE_COMPUTE_STATE_UPDATING_MSFT must return the error
XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSceneObserverMSFT(3)
Name
xrCreateSceneObserverMSFT - Create a scene observer handle
C Specification
An XrSceneObserverMSFT handle is created using xrCreateSceneObserverMSFT.
// Provided by XR_MSFT_scene_understanding
XrResult xrCreateSceneObserverMSFT(
XrSession session,
const XrSceneObserverCreateInfoMSFT* createInfo,
XrSceneObserverMSFT* sceneObserver);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSenseDataProviderBD(3)
Name
xrCreateSenseDataProviderBD - Create a sense data provider
C Specification
The xrCreateSenseDataProviderBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrCreateSenseDataProviderBD(
XrSession session,
const XrSenseDataProviderCreateInfoBD* createInfo,
XrSenseDataProviderBD* provider);
Parameters
Description
The application can create a sense data provider using
xrCreateSenseDataProviderBD.
Different providers are associated with different
XrSenseDataProviderTypeBD provider type values in
XrSenseDataProviderCreateInfoBD::providerType.
Some require additional parameters in structure types chained on to
createInfo.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSession(3)
Name
xrCreateSession - Creates an XrSession
C Specification
The xrCreateSession function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateSession(
XrInstance instance,
const XrSessionCreateInfo* createInfo,
XrSession* session);
Parameters
Description
Creates a session using the provided createInfo and returns a handle
to that session.
This session is created in the XR_SESSION_STATE_IDLE state, and a
corresponding XrEventDataSessionStateChanged event to the
XR_SESSION_STATE_IDLE state must be generated as the first such event
for the new session.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if a function named like
xrGet*GraphicsRequirements has not been called for the same
instance and XrSessionCreateInfo::systemId.
(See graphics binding extensions for details.)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpaceFromCoordinateFrameUIDML(3)
Name
xrCreateSpaceFromCoordinateFrameUIDML - Creates a space based on a cfuid
C Specification
The xrCreateSpaceFromCoordinateFrameUIDML function is defined as:
// Provided by XR_ML_compat
XrResult xrCreateSpaceFromCoordinateFrameUIDML(
XrSession session,
const XrCoordinateSpaceCreateInfoML * createInfo,
XrSpace* space);
Parameters
Description
The service that created the underlying
XrCoordinateSpaceCreateInfoML::cfuid must remain active for the
lifetime of the XrSpace.
If xrLocateSpace is called on a space created from an
XrCoordinateSpaceCreateInfoML::cfuid from a no-longer-active
service, the runtime may set XrSpaceLocation::locationFlags to 0.
XrSpace handles are destroyed using xrDestroySpace.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpaceUserFB(3)
Name
xrCreateSpaceUserFB - Creates a user other than the current user
C Specification
The xrCreateSpaceUserFB function is defined as:
// Provided by XR_FB_spatial_entity_user
XrResult xrCreateSpaceUserFB(
XrSession session,
const XrSpaceUserCreateInfoFB* info,
XrSpaceUserFB* user);
Parameters
Description
The application can use this function to create a user handle with which it can then interact, such as sharing XrSpace objects.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorAsyncBD(3)
Name
xrCreateSpatialAnchorAsyncBD - Create a spatial anchor
C Specification
The xrCreateSpatialAnchorAsyncBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrCreateSpatialAnchorAsyncBD(
XrSenseDataProviderBD provider,
const XrSpatialAnchorCreateInfoBD* info,
XrFutureEXT* future);
Parameters
An application creates a spatial anchor by calling this function.
Description
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrCreateSpatialAnchorCompleteBD, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure
XrSpatialAnchorCreateCompletionBD.
If the provider was not created with the
XrSenseDataProviderTypeBD value
XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD, the function
xrCreateSpatialAnchorAsyncBD must return
XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorCompleteBD(3)
Name
xrCreateSpatialAnchorCompleteBD - Get the completion of creating a spatial anchor
C Specification
The xrCreateSpatialAnchorCompleteBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrCreateSpatialAnchorCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrSpatialAnchorCreateCompletionBD* completion);
Parameters
Description
The application obtains the spatial anchor create result using xrCreateSpatialAnchorCompleteBD, after the future is ready.
This is the completion function corresponding to
xrCreateSpatialAnchorAsyncBD.
It completes the asynchronous operation and returns the results.
Do not call until the future is READY.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorEXT(3)
Name
xrCreateSpatialAnchorEXT - Create spatial anchor.
C Specification
The xrCreateSpatialAnchorEXT function is defined as:
// Provided by XR_EXT_spatial_anchor
XrResult xrCreateSpatialAnchorEXT(
XrSpatialContextEXT spatialContext,
const XrSpatialAnchorCreateInfoEXT* createInfo,
XrSpatialEntityIdEXT* anchorEntityId,
XrSpatialEntityEXT* anchorEntity);
Parameters
The application can create a spatial anchor by using xrCreateSpatialAnchorEXT.
Description
To get updated component data for an anchor, pass the value populated in
anchorEntity into the
XrSpatialUpdateSnapshotCreateInfoEXT::entities when creating a
snapshot.
The application can use anchorEntityId to uniquely identify this
anchor in the XrSpatialComponentDataQueryResultEXT::entityIds
array when using xrQuerySpatialComponentDataEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrCreateSpatialAnchorEXT if XR_SPATIAL_CAPABILITY_ANCHOR_EXT was
not configured for spatialContext.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#ext_spatial_anchor_config for how to configure an
XrSpatialContextEXT for the XR_SPATIAL_CAPABILITY_ANCHOR_EXT
capability.
The anchor represented by anchorEntity is only valid for the lifetime
of spatialContext, or until the application calls
xrDestroySpatialEntityEXT on it, whichever comes first.
Other extensions may offer functions to persist this newly created anchor
across multiple XrSession or to share it across process boundaries
with other applications.
A newly created anchor, until destroyed, must be discoverable in its parent
spatial context.
This means that the runtime must include anchorEntityId in the
snapshot created using xrCreateSpatialDiscoverySnapshotAsyncEXT for
spatialContext if the anchor matches the discovery criteria set in
XrSpatialDiscoverySnapshotCreateInfoEXT.
The newly created anchor may also be discoverable in other spatial contexts
configured with XR_SPATIAL_CAPABILITY_ANCHOR_EXT, although with a
different XrSpatialEntityIdEXT since a particular
XrSpatialEntityIdEXT is unique to its XrSpatialContextEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorFB(3)
Name
xrCreateSpatialAnchorFB - Creates a new spatial anchor
C Specification
The xrCreateSpatialAnchorFB function is defined as:
// Provided by XR_FB_spatial_entity
XrResult xrCreateSpatialAnchorFB(
XrSession session,
const XrSpatialAnchorCreateInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
Creates a Spatial Anchor using the specified tracking origin and pose
relative to the specified tracking origin.
The anchor will be locatable at the time of creation, and the 6 DOF pose
relative to the tracking origin can be queried using the
xrLocateSpace method.
This operation is asynchronous and the runtime must post an
XrEventDataSpatialAnchorCreateCompleteFB event when the operation
completes successfully or encounters an error.
If this function returns a failure code, no event is posted.
The requestId can be used to later refer to the request, such as
identifying which request has completed when an
XrEventDataSpatialAnchorCreateCompleteFB is posted to the event queue.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorFromPerceptionAnchorMSFT(3)
Name
xrCreateSpatialAnchorFromPerceptionAnchorMSFT - Create an XrSpatialAnchorMSFT from a Windows SpatialAnchor pointer
C Specification
The xrCreateSpatialAnchorFromPerceptionAnchorMSFT function creates a
XrSpatialAnchorMSFT handle from an IUnknown pointer to
Windows.Perception.Spatial.SpatialAnchor.
// Provided by XR_MSFT_perception_anchor_interop
XrResult xrCreateSpatialAnchorFromPerceptionAnchorMSFT(
XrSession session,
IUnknown* perceptionAnchor,
XrSpatialAnchorMSFT* anchor);
Parameters
Description
The input perceptionAnchor must support successful QueryInterface
to
Windows.Perception.Spatial.SpatialAnchor
, otherwise the runtime must return XR_ERROR_VALIDATION_FAILURE.
If the function successfully returned, the output anchor must be a
valid handle.
This also increments the refcount of the perceptionAnchor object.
When application is done with the anchor handle, it can be destroyed
using xrDestroySpatialAnchorMSFT function.
This also decrements the refcount of underlying windows perception anchor
object.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorFromPersistedNameMSFT(3)
Name
xrCreateSpatialAnchorFromPersistedNameMSFT - Create a spatial anchor from the spatial anchor store by name
C Specification
The application can use the
xrCreateSpatialAnchorFromPersistedNameMSFT function to create a
XrSpatialAnchorMSFT from the spatial anchor store.
If the
XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT::spatialAnchorPersistenceName
provided does not correspond to a currently stored anchor (i.e. the list of
spatial anchor names returned from
xrEnumeratePersistedSpatialAnchorNamesMSFT), the function must return
XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrCreateSpatialAnchorFromPersistedNameMSFT(
XrSession session,
const XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT* spatialAnchorCreateInfo,
XrSpatialAnchorMSFT* spatialAnchor);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorHTC(3)
Name
xrCreateSpatialAnchorHTC - Creates a spatial anchor
C Specification
The xrCreateSpatialAnchorHTC function is defined as:
// Provided by XR_HTC_anchor
XrResult xrCreateSpatialAnchorHTC(
XrSession session,
const XrSpatialAnchorCreateInfoHTC* createInfo,
XrSpace* anchor);
Parameters
Description
The xrCreateSpatialAnchorHTC function creates a spatial anchor with specified base space and pose in the space. The anchor is represented by an XrSpace and its pose can be tracked via xrLocateSpace. Once the anchor is no longer needed, call xrDestroySpace to erase the anchor.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorMSFT(3)
Name
xrCreateSpatialAnchorMSFT - Creates a spatial anchor
C Specification
The xrCreateSpatialAnchorMSFT function is defined as:
// Provided by XR_MSFT_spatial_anchor
XrResult xrCreateSpatialAnchorMSFT(
XrSession session,
const XrSpatialAnchorCreateInfoMSFT* createInfo,
XrSpatialAnchorMSFT* anchor);
Parameters
Description
Creates an XrSpatialAnchorMSFT handle representing a spatial anchor
that will track a fixed location in the physical world over time.
That real-world location is specified by the position and orientation of the
specified XrSpatialAnchorCreateInfoMSFT::pose within
XrSpatialAnchorCreateInfoMSFT::space at
XrSpatialAnchorCreateInfoMSFT::time.
The runtime must avoid long blocking operations such as networking or disk operations for xrCreateSpatialAnchorMSFT function. The application may safely use this function in UI thread. Though, the created anchor handle may not be ready immediately for certain operations yet. For example, the corresponding anchor space may not return valid location, or its location may not be successfully saved in anchor store.
If XrSpatialAnchorCreateInfoMSFT::space cannot be located
relative to the environment at the moment of the call to
xrCreateSpatialAnchorMSFT, the runtime must return
XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT.
After the anchor is created, the runtime should then adjust its position
and orientation over time relative to other spaces so as to maintain maximum
alignment to its original real-world location, even if that changes the
anchor’s relationship to the original
XrSpatialAnchorCreateInfoMSFT::space used to initialize it.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorSpaceMSFT(3)
Name
xrCreateSpatialAnchorSpaceMSFT - Creates a space from a spatial anchor
C Specification
The xrCreateSpatialAnchorSpaceMSFT function is defined as:
// Provided by XR_MSFT_spatial_anchor
XrResult xrCreateSpatialAnchorSpaceMSFT(
XrSession session,
const XrSpatialAnchorSpaceCreateInfoMSFT* createInfo,
XrSpace* space);
Parameters
Description
Creates an XrSpace handle based on a spatial anchor. Application can provide an XrPosef to define the position and orientation of the new space’s origin relative to the anchor’s natural origin.
Multiple XrSpace handles may exist for a given XrSpatialAnchorMSFT simultaneously, up to some limit imposed by the runtime. The XrSpace handle must be eventually freed via the xrDestroySpace function or by destroying the parent XrSpatialAnchorMSFT handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorStoreConnectionMSFT(3)
Name
xrCreateSpatialAnchorStoreConnectionMSFT - Create a handle to track a connection to the spatial anchor store
C Specification
The application can use the xrCreateSpatialAnchorStoreConnectionMSFT function to create an handle to the spatial anchor store. The application can use this handle to interact with the spatial anchor store in order to persist anchors across application sessions.
The xrCreateSpatialAnchorStoreConnectionMSFT function may be a slow operation and therefore should be invoked from a non-timing critical thread.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrCreateSpatialAnchorStoreConnectionMSFT(
XrSession session,
XrSpatialAnchorStoreConnectionMSFT* spatialAnchorStore);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorsAsyncML(3)
Name
xrCreateSpatialAnchorsAsyncML - Create spatial anchors
C Specification
The xrCreateSpatialAnchorsAsyncML function is defined as:
// Provided by XR_ML_spatial_anchors
XrResult xrCreateSpatialAnchorsAsyncML(
XrSession session,
const XrSpatialAnchorsCreateInfoBaseHeaderML* createInfo,
XrFutureEXT* future);
Parameters
Description
This function starts an asynchronous spatial anchor creation. Call one of the xrPollFutureEXT functions to check the ready state on the future. Once the future is in ready state, call xrCreateSpatialAnchorsCompleteML to retrieve the results.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorsCompleteML(3)
Name
xrCreateSpatialAnchorsCompleteML - Completion function for spatial anchor creation.
C Specification
The xrCreateSpatialAnchorsCompleteML function is defined as:
// Provided by XR_ML_spatial_anchors
XrResult xrCreateSpatialAnchorsCompleteML(
XrSession session,
XrFutureEXT future,
XrCreateSpatialAnchorsCompletionML* completion);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorsStorageML(3)
Name
xrCreateSpatialAnchorsStorageML - Create spatial anchors storage connection
C Specification
The xrCreateSpatialAnchorsStorageML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrCreateSpatialAnchorsStorageML(
XrSession session,
const XrSpatialAnchorsCreateStorageInfoML* createInfo,
XrSpatialAnchorsStorageML* storage);
Parameters
Description
The xrCreateSpatialAnchorsStorageML function is used to create a XrSpatialAnchorsStorageML.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialContextAsyncEXT(3)
Name
xrCreateSpatialContextAsyncEXT - Create a spatial context handle.
C Specification
The xrCreateSpatialContextAsyncEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialContextAsyncEXT(
XrSession session,
const XrSpatialContextCreateInfoEXT* createInfo,
XrFutureEXT* future);
Parameters
Description
The application can create an XrSpatialContextEXT handle by:
-
Providing XrSpatialCapabilityConfigurationBaseHeaderEXT derived structures in XrSpatialContextCreateInfoEXT::
capabilityConfigsto enable capabilities and enable components for that capability. -
Configuring the capabilities themselves with the corresponding configuration structures of its XrSpatialCapabilityFeatureEXT.
The runtime must return
XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT if
XrSpatialContextCreateInfoEXT::capabilityConfigCount is 0.
A spatial context handle needs at least one capability.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
if any capability in the
XrSpatialContextCreateInfoEXT::capabilityConfigs array is not
enumerated by xrEnumerateSpatialCapabilitiesEXT.
The runtime must return
XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT if any
XrSpatialCapabilityConfigurationBaseHeaderEXT::enabledComponentCount
in XrSpatialContextCreateInfoEXT::capabilityConfigs is 0.
A capability configuration is incomplete without a list of component types
to enable for that capability.
The runtime must return
XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT if any
component type listed in
XrSpatialCapabilityConfigurationBaseHeaderEXT::enabledComponents
is not enumerated for
XrSpatialCapabilityConfigurationBaseHeaderEXT::capability in
xrEnumerateSpatialCapabilityComponentTypesEXT.
If any of the structures in the next chain of
XrSpatialContextCreateInfoEXT::capabilityConfigs corresponds to
an XrSpatialCapabilityFeatureEXT that is not enumerated for that
capability in xrEnumerateSpatialCapabilityFeaturesEXT, the runtime
must ignore that XrSpatialCapabilityFeatureEXT structure.
The runtime must return
XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT if
XrSpatialContextCreateInfoEXT::capabilityConfigs contains
multiple structures with the same
XrSpatialCapabilityConfigurationBaseHeaderEXT::capability.
To ensure optimal use of system resources, the runtime may use the configurations provided in XrSpatialContextCreateInfoEXT array to prepare itself for spatial requests to come in. For example, a runtime that supports plane tracking capability may only begin its plane tracking pipeline if a spatial context handle containing the plane tracking capability is created by the application. If the configured capabilities have a long warm-up time, calls to xrCreateSpatialDiscoverySnapshotAsyncEXT may result in an empty snapshot. Application can wait for XrEventDataSpatialDiscoveryRecommendedEXT before using xrCreateSpatialDiscoverySnapshotAsyncEXT to be sure that the underlying tracking services have warmed up.
If a runtime enforces a permission system to control application access to
the spatial capabilities being configured for the XrSpatialContextEXT,
then the runtime must return XR_ERROR_PERMISSION_INSUFFICIENT if
those permissions have not been granted to this application.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrCreateSpatialContextCompleteEXT, usable when a future from this
function is in the READY state, with outputs populated by that function in
the completion structure XrCreateSpatialContextCompletionEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialContextCompleteEXT(3)
Name
xrCreateSpatialContextCompleteEXT - Complete the spatial context creation async request
C Specification
The xrCreateSpatialContextCompleteEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialContextCompleteEXT(
XrSession session,
XrFutureEXT future,
XrCreateSpatialContextCompletionEXT* completion);
Parameters
Description
xrCreateSpatialContextCompleteEXT completes the asynchronous operation
started by xrCreateSpatialContextAsyncEXT.
The runtime must return XR_ERROR_FUTURE_PENDING_EXT if future
is not in ready state.
The runtime must return XR_ERROR_FUTURE_INVALID_EXT if future
has already been completed or cancelled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialDiscoverySnapshotAsyncEXT(3)
Name
xrCreateSpatialDiscoverySnapshotAsyncEXT - Create a discovery snapshot
C Specification
The xrCreateSpatialDiscoverySnapshotAsyncEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialDiscoverySnapshotAsyncEXT(
XrSpatialContextEXT spatialContext,
const XrSpatialDiscoverySnapshotCreateInfoEXT* createInfo,
XrFutureEXT* future);
Parameters
Description
The application can discover spatial entities by creating a discovery snapshot by using xrCreateSpatialDiscoverySnapshotAsyncEXT.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrCreateSpatialDiscoverySnapshotCompleteEXT, usable when a future from
this function is in the READY state, with outputs populated by that function
in the completion structure
XrCreateSpatialDiscoverySnapshotCompletionEXT.
The application can submit multiple discovery snapshot creation requests without needing to wait for the previous one to be completed. The runtime may process and complete the snapshot creation in any order. The runtime may delay the completion of the discovery snapshot creation to throttle the application if it needs to reduce the use of system resources due to power, thermal or other policies of the device.
The application can use
XrSpatialDiscoverySnapshotCreateInfoEXT::componentTypes to
filter the list of entities and the components whose data the runtime must
include in the snapshot.
If the application provides a valid list of spatial component types in
XrSpatialDiscoverySnapshotCreateInfoEXT::componentTypes, then
the runtime must only include spatial entities in the snapshot that have at
least one of the components provided in
XrSpatialDiscoverySnapshotCreateInfoEXT::componentTypes.
Also, the runtime must only include data for only those components in the
snapshot.
The runtime must return XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT if
any of the XrSpatialComponentTypeEXT in
XrSpatialDiscoverySnapshotCreateInfoEXT::componentTypes are not
enabled for the spatial capabilities passed to
XrSpatialContextCreateInfoEXT::capabilityConfigs when creating
spatialContext.
If the application does not provide a list of spatial component types in
XrSpatialDiscoverySnapshotCreateInfoEXT::componentTypes, the
runtime must include all the spatial entities in the snapshot that have the
set of components which are enumerated in
XrSpatialCapabilityConfigurationBaseHeaderEXT::enabledComponents for
the capabilities configured for spatialContext.
The runtime must include the data for all the enabled components of the
capabilities configured for spatialContext.
If XrEventDataReferenceSpaceChangePending is queued before the
completion of future, and
XrEventDataReferenceSpaceChangePending::poseValid is false, then
the runtime may either create an XrSpatialSnapshotEXT that has no
entities in it or set the XrSpatialEntityTrackingStateEXT of the
entities that are no longer locatable in
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::baseSpace at
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::time to
XR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT or
XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT.
The runtime must not set
XrCreateSpatialContextCompletionEXT::futureResult to an error
code because of XrEventDataReferenceSpaceChangePending.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialDiscoverySnapshotCompleteEXT(3)
Name
xrCreateSpatialDiscoverySnapshotCompleteEXT - Complete the discovery snapshot creation async request
C Specification
The xrCreateSpatialDiscoverySnapshotCompleteEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialDiscoverySnapshotCompleteEXT(
XrSpatialContextEXT spatialContext,
const XrCreateSpatialDiscoverySnapshotCompletionInfoEXT* createSnapshotCompletionInfo,
XrCreateSpatialDiscoverySnapshotCompletionEXT* completion);
Parameters
Description
xrCreateSpatialDiscoverySnapshotCompleteEXT completes the asynchronous
operation started by xrCreateSpatialDiscoverySnapshotAsyncEXT.
The runtime must return XR_ERROR_FUTURE_PENDING_EXT if
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::future is not
in ready state.
The runtime must return XR_ERROR_FUTURE_INVALID_EXT if
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::future has
already been completed or cancelled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialEntityAnchorBD(3)
Name
xrCreateSpatialEntityAnchorBD - Create spatial entity anchor
C Specification
The xrCreateSpatialEntityAnchorBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrCreateSpatialEntityAnchorBD(
XrSenseDataProviderBD provider,
const XrSpatialEntityAnchorCreateInfoBD* createInfo,
XrAnchorBD* anchor);
Parameters
Description
Some spatial entities may have frequently changing poses, requiring real-time acquisition of their poses. The application can create the XrAnchorBD handle bound to the spatial entity through xrCreateSpatialEntityAnchorBD, and then create the XrSpace from it using xrCreateAnchorSpaceBD, so that the application can obtain its latest pose in real time through xrLocateSpace or xrLocateSpaces.
This function is not supported for all types of sense data providers.
Whether this is supported in a type of sense data provider will be explained
in the extension that defines the specific type of sense data provider.
Otherwise, the runtime must return
XR_ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD.
This handle and associated handles continue to be valid and usable even if the XrSenseDataSnapshotBD used at its creation has since been destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialEntityFromIdEXT(3)
Name
xrCreateSpatialEntityFromIdEXT - Create a spatial entity handle.
C Specification
The xrCreateSpatialEntityFromIdEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialEntityFromIdEXT(
XrSpatialContextEXT spatialContext,
const XrSpatialEntityFromIdCreateInfoEXT* createInfo,
XrSpatialEntityEXT* spatialEntity);
Parameters
Description
The application can use xrCreateSpatialEntityFromIdEXT to create an XrSpatialEntityEXT handle which is a reference to an entity that exists in the user’s environment.
The runtime must return XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT if
XrSpatialEntityFromIdCreateInfoEXT::entityId is not a valid ID
for spatialContext.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialGraphNodeSpaceMSFT(3)
Name
xrCreateSpatialGraphNodeSpaceMSFT - Create an XrSpace from a spatial graph node.
C Specification
The xrCreateSpatialGraphNodeSpaceMSFT function creates an XrSpace handle for a given spatial graph node type and ID.
// Provided by XR_MSFT_spatial_graph_bridge
XrResult xrCreateSpatialGraphNodeSpaceMSFT(
XrSession session,
const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo,
XrSpace* space);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialPersistenceContextAsyncEXT(3)
Name
xrCreateSpatialPersistenceContextAsyncEXT - Create a spatial persistence context handle.
C Specification
The xrCreateSpatialPersistenceContextAsyncEXT function is defined as:
// Provided by XR_EXT_spatial_persistence
XrResult xrCreateSpatialPersistenceContextAsyncEXT(
XrSession session,
const XrSpatialPersistenceContextCreateInfoEXT* createInfo,
XrFutureEXT* future);
Parameters
An application can create an XrSpatialPersistenceContextEXT handle
using the xrCreateSpatialPersistenceContextAsyncEXT function and
configure the scope of the persistence context in createInfo.
Description
The runtime must return
XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT if
XrSpatialPersistenceContextCreateInfoEXT::scope is not
enumerated by xrEnumerateSpatialPersistenceScopesEXT.
If a runtime enforces a permission system to control application access to
the persistence storage represented by XrSpatialPersistenceContextEXT,
then the runtime must return XR_ERROR_PERMISSION_INSUFFICIENT if
those permissions have not been granted to this application.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialPersistenceContextCompleteEXT(3)
Name
xrCreateSpatialPersistenceContextCompleteEXT - Complete the spatial persistence context creation async request
C Specification
The xrCreateSpatialPersistenceContextCompleteEXT function is defined as:
// Provided by XR_EXT_spatial_persistence
XrResult xrCreateSpatialPersistenceContextCompleteEXT(
XrSession session,
XrFutureEXT future,
XrCreateSpatialPersistenceContextCompletionEXT* completion);
Parameters
Description
xrCreateSpatialPersistenceContextCompleteEXT completes the
asynchronous operation started by
xrCreateSpatialPersistenceContextAsyncEXT.
The runtime must return XR_ERROR_FUTURE_PENDING_EXT if future
is not in ready state.
The runtime must return XR_ERROR_FUTURE_INVALID_EXT if future
has already been completed or cancelled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialUpdateSnapshotEXT(3)
Name
xrCreateSpatialUpdateSnapshotEXT - Create update snapshot.
C Specification
The xrCreateSpatialUpdateSnapshotEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrCreateSpatialUpdateSnapshotEXT(
XrSpatialContextEXT spatialContext,
const XrSpatialUpdateSnapshotCreateInfoEXT* createInfo,
XrSpatialSnapshotEXT* snapshot);
Parameters
Description
The application can use xrCreateSpatialUpdateSnapshotEXT to create a snapshot and get the latest component data for specific entities as known by the runtime. Applications can provide the XrSpatialEntityEXT handles and the component types they are interested in when creating the snapshot.
The application can use
XrSpatialUpdateSnapshotCreateInfoEXT::componentTypes to filter
the list of components whose data must be included in the snapshot.
If the application provides a valid list of spatial component types in
XrSpatialUpdateSnapshotCreateInfoEXT::componentTypes, then the
runtime must only include spatial entities in the snapshot that have at
least one of the components provided in
XrSpatialUpdateSnapshotCreateInfoEXT::componentTypes.
Also, the runtime must only include data for those components in the
snapshot.
The runtime must return XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT if
any of the XrSpatialComponentTypeEXT in
XrSpatialUpdateSnapshotCreateInfoEXT::componentTypes are not
enabled for the spatial capabilities passed to
XrSpatialContextCreateInfoEXT::capabilityConfigs when creating
spatialContext.
If the application does not provide a list of spatial component types in
XrSpatialUpdateSnapshotCreateInfoEXT::componentTypes, the
runtime must include all the spatial entities listed in
XrSpatialUpdateSnapshotCreateInfoEXT::entities in the snapshot
and it must include the data for all the enabled components of the
capabilities configured for spatialContext.
The application can create any number of snapshots it wants but must be mindful of the memory being allocated for each new snapshot and must destroy the snapshots once it no longer needs them.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSwapchain(3)
Name
xrCreateSwapchain - Creates an XrSwapchain
C Specification
The xrCreateSwapchain function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrCreateSwapchain(
XrSession session,
const XrSwapchainCreateInfo* createInfo,
XrSwapchain* swapchain);
Parameters
Description
Creates an XrSwapchain handle.
The returned swapchain handle may be subsequently used in API calls.
Multiple XrSwapchain handles may exist simultaneously, up to some
limit imposed by the runtime.
The XrSwapchain handle must be eventually freed via the
xrDestroySwapchain function.
The runtime must return XR_ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED if the
image format specified in the XrSwapchainCreateInfo is unsupported.
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED if any bit of
the create or usage flags specified in the XrSwapchainCreateInfo is
unsupported.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSwapchainAndroidSurfaceKHR(3)
Name
xrCreateSwapchainAndroidSurfaceKHR - Creates a swapchain and an Android Surface
C Specification
To create an XrSwapchain object and an Android Surface object call:
// Provided by XR_KHR_android_surface_swapchain
XrResult xrCreateSwapchainAndroidSurfaceKHR(
XrSession session,
const XrSwapchainCreateInfo* info,
XrSwapchain* swapchain,
jobject* surface);
Parameters
Description
xrCreateSwapchainAndroidSurfaceKHR creates an XrSwapchain object
returned in swapchain and an Android Surface jobject returned in
surface.
The jobject must be valid to be passed back to Java code using JNI and
must be valid to be used with ordinary Android APIs for submitting images
to Surfaces.
The returned XrSwapchain must be valid to be referenced in
XrSwapchainSubImage structures to show content on the screen.
The width and height passed in XrSwapchainCreateInfo may not be
persistent throughout the life cycle of the created swapchain, since on
Android, the size of the images is controlled by the producer and possibly
changes at any time.
The only function that is allowed to be called on the XrSwapchain returned from this function is xrDestroySwapchain. For example, calling any of the functions xrEnumerateSwapchainImages, xrAcquireSwapchainImage, xrWaitSwapchainImage or xrReleaseSwapchainImage is invalid.
When the application receives the XrEventDataSessionStateChanged event
with the XR_SESSION_STATE_STOPPING state, it must ensure that no
threads are writing to any of the Android surfaces created with this
extension before calling xrEndSession.
The effect of writing frames to the Surface when the session is in states
other than XR_SESSION_STATE_VISIBLE or XR_SESSION_STATE_FOCUSED
is undefined.
xrCreateSwapchainAndroidSurfaceKHR must return the same set of error
codes as xrCreateSwapchain under the same circumstances, plus
XR_ERROR_FUNCTION_UNSUPPORTED in case the function is not supported.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateTrackableTrackerANDROID(3)
Name
xrCreateTrackableTrackerANDROID - Creates a trackable tracker
C Specification
The xrCreateTrackableTrackerANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrCreateTrackableTrackerANDROID(
XrSession session,
const XrTrackableTrackerCreateInfoANDROID* createInfo,
XrTrackableTrackerANDROID* trackableTracker);
Parameters
Description
The application creates trackable trackers with xrCreateTrackableTrackerANDROID.
-
The runtime must return
XR_ERROR_FEATURE_UNSUPPORTEDif the system does not support trackables of the specified XrTrackableTrackerCreateInfoANDROID::trackableTypeas returned by xrEnumerateSupportedTrackableTypesANDROID. -
The runtime must return
XR_ERROR_PERMISSION_INSUFFICIENTif the required permissions have not been granted to the calling app.
The XrTrackableTrackerANDROID handle must be eventually freed via the xrDestroyTrackableTrackerANDROID function or by destroying the parent XrSession handle.
The runtime may use the creation of an XrTrackableTrackerANDROID to
prepare itself for discovering trackables of the selected
XrTrackableTrackerCreateInfoANDROID::trackableType.
For example, the runtime may only begin its plane tracking system when a
trackable tracker handle for XR_TRACKABLE_TYPE_PLANE_ANDROID is
created by the application.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateTriangleMeshFB(3)
Name
xrCreateTriangleMeshFB - Create a triangle mesh
C Specification
The xrCreateTriangleMeshFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrCreateTriangleMeshFB(
XrSession session,
const XrTriangleMeshCreateInfoFB* createInfo,
XrTriangleMeshFB* outTriangleMesh);
Parameters
Description
This creates an XrTriangleMeshFB handle. The returned triangle mesh handle may be subsequently used in API calls.
When the mesh is mutable (the XR_TRIANGLE_MESH_MUTABLE_BIT_FB bit is
set in XrTriangleMeshCreateInfoFB::flags), the created triangle
mesh starts in the https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_undefined_topology state.
Immutable meshes have no state machine; they may be considered to be in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready with no valid edges leaving that state.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateVirtualKeyboardMETA(3)
Name
xrCreateVirtualKeyboardMETA - Create a virtual keyboard
C Specification
The xrCreateVirtualKeyboardMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrCreateVirtualKeyboardMETA(
XrSession session,
const XrVirtualKeyboardCreateInfoMETA* createInfo,
XrVirtualKeyboardMETA* keyboard);
Parameters
Description
xrCreateVirtualKeyboardMETA creates an XrVirtualKeyboardMETA handle and establishes a keyboard within the runtime XrSession. The returned virtual keyboard handle may be subsequently used in API calls.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateVirtualKeyboardSpaceMETA(3)
Name
xrCreateVirtualKeyboardSpaceMETA - Create a virtual keyboard space
C Specification
The xrCreateVirtualKeyboardSpaceMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrCreateVirtualKeyboardSpaceMETA(
XrSession session,
XrVirtualKeyboardMETA keyboard,
const XrVirtualKeyboardSpaceCreateInfoMETA* createInfo,
XrSpace* keyboardSpace);
Parameters
Description
Creates an XrSpace handle and places the keyboard in this space. The returned space handle may be subsequently used in API calls.
Once placed, the application should query the keyboard’s location each frame using xrLocateSpace. It is important to do this every frame as the runtime is in control of the keyboard’s movement.
The runtime must return XR_ERROR_HANDLE_INVALID if session is
different than what is used to create keyboard.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateVulkanDeviceKHR(3)
Name
xrCreateVulkanDeviceKHR - Create an OpenXR compatible VkDevice
C Specification
// Provided by XR_KHR_vulkan_enable2
XrResult xrCreateVulkanDeviceKHR(
XrInstance instance,
const XrVulkanDeviceCreateInfoKHR* createInfo,
VkDevice* vulkanDevice,
VkResult* vulkanResult);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateVulkanInstanceKHR(3)
Name
xrCreateVulkanInstanceKHR - Create an OpenXR compatible VkInstance
C Specification
// Provided by XR_KHR_vulkan_enable2
XrResult xrCreateVulkanInstanceKHR(
XrInstance instance,
const XrVulkanInstanceCreateInfoKHR* createInfo,
VkInstance* vulkanInstance,
VkResult* vulkanResult);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateWorldMeshDetectorML(3)
Name
xrCreateWorldMeshDetectorML - Create a world mesh detector.
C Specification
The xrCreateWorldMeshDetectorML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrCreateWorldMeshDetectorML(
XrSession session,
const XrWorldMeshDetectorCreateInfoML* createInfo,
XrWorldMeshDetectorML* detector);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDeleteSpatialAnchorsAsyncML(3)
Name
xrDeleteSpatialAnchorsAsyncML - Begin a storage query
C Specification
The xrDeleteSpatialAnchorsAsyncML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrDeleteSpatialAnchorsAsyncML(
XrSpatialAnchorsStorageML storage,
const XrSpatialAnchorsDeleteInfoML* deleteInfo,
XrFutureEXT* future);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDeleteSpatialAnchorsCompleteML(3)
Name
xrDeleteSpatialAnchorsCompleteML - Complete the asynchronous deletion operation.
C Specification
The xrDeleteSpatialAnchorsCompleteML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrDeleteSpatialAnchorsCompleteML(
XrSpatialAnchorsStorageML storage,
XrFutureEXT future,
XrSpatialAnchorsDeleteCompletionML* completion);
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDeserializeSceneMSFT(3)
Name
xrDeserializeSceneMSFT - Deserialize scene
C Specification
The xrDeserializeSceneMSFT function is defined as:
// Provided by XR_MSFT_scene_understanding_serialization
XrResult xrDeserializeSceneMSFT(
XrSceneObserverMSFT sceneObserver,
const XrSceneDeserializeInfoMSFT* deserializeInfo);
Parameters
Description
The xrDeserializeSceneMSFT function begins deserializing a list of serialized scene fragments. The runtime must return quickly without waiting for the deserialization to complete. The application should use xrGetSceneComputeStateMSFT to inspect the completeness of the deserialization.
The runtime must return XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT
if xrDeserializeSceneMSFT is called while the scene computation is in
progress.
The xrGetSceneComputeStateMSFT function must return
XR_SCENE_COMPUTE_STATE_UPDATING_MSFT while the deserialization is in
progress, and XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT when the
deserialization has completed successfully.
If the runtime fails to deserialize the binary stream,
xrGetSceneComputeStateMSFT must return
XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT to indicate that the
deserialization has completed but an error occurred.
When xrGetSceneComputeStateMSFT returns
XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT, the application may call
xrCreateSceneMSFT to create the XrSceneMSFT handle.
If xrCreateSceneMSFT is called while xrGetSceneComputeStateMSFT
returns XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT, a valid
XrSceneMSFT handle must be returned, but that handle must contain
zero scene components.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyAction(3)
Name
xrDestroyAction - Destroys an XrAction
C Specification
The xrDestroyAction function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrDestroyAction(
XrAction action);
Parameters
Description
Action handles can be destroyed by calling xrDestroyAction. Handles for actions that are part of an action set are automatically destroyed when the action set’s handle is destroyed.
The implementation must not destroy the underlying resources for an action when xrDestroyAction is called. Those resources are still used to make action spaces locatable and when processing action priority in xrSyncActions. Destroying the action handle removes the application’s access to these resources, but has no other change on actions.
Resources for all actions in an instance must be freed when the instance containing those actions sets is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyActionSet(3)
Name
xrDestroyActionSet - Destroys an XrActionSet
C Specification
The xrDestroyActionSet function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrDestroyActionSet(
XrActionSet actionSet);
Parameters
Description
Action set handles can be destroyed by calling xrDestroyActionSet. When an action set handle is destroyed, all handles of actions in that action set are also destroyed.
The implementation must not free underlying resources for the action set while there are other valid handles that refer to those resources. The implementation may release resources for an action set when all of the action spaces for actions in that action set have been destroyed. See Action Spaces Lifetime for details.
Resources for all action sets in an instance must be freed when the instance containing those actions sets is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyAnchorBD(3)
Name
xrDestroyAnchorBD - Destroy spatial entity anchor
C Specification
The xrDestroyAnchorBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrDestroyAnchorBD(
XrAnchorBD anchor);
Parameters
Description
The application can destroy an anchor using xrDestroyAnchorBD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyBodyTrackerBD(3)
Name
xrDestroyBodyTrackerBD - Destroy a body joints handle
C Specification
The xrDestroyBodyTrackerBD function is defined as:
// Provided by XR_BD_body_tracking
XrResult xrDestroyBodyTrackerBD(
XrBodyTrackerBD bodyTracker);
Parameters
Description
xrDestroyBodyTrackerBD function releases the bodyTracker and the
underlying resources when the body tracking experience is over.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyBodyTrackerFB(3)
Name
xrDestroyBodyTrackerFB - Destroy a body joints handle
C Specification
xrDestroyBodyTrackerFB function releases the bodyTracker and the
underlying resources when the body tracking experience is over.
// Provided by XR_FB_body_tracking
XrResult xrDestroyBodyTrackerFB(
XrBodyTrackerFB bodyTracker);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyBodyTrackerHTC(3)
Name
xrDestroyBodyTrackerHTC - Destroy a body tracker handle
C Specification
The xrDestroyBodyTrackerHTC function is defined as:
// Provided by XR_HTC_body_tracking
XrResult xrDestroyBodyTrackerHTC(
XrBodyTrackerHTC bodyTracker);
Parameters
Description
xrDestroyBodyTrackerHTC releases the bodyTracker and the
underlying resources when finished with body tracking experiences.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyDebugUtilsMessengerEXT(3)
Name
xrDestroyDebugUtilsMessengerEXT - Destroys a debug messenger
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrDestroyDebugUtilsMessengerEXT(
XrDebugUtilsMessengerEXT messenger);
Parameters
Description
The application must ensure that xrDestroyDebugUtilsMessengerEXT is
not executed in parallel with any OpenXR function that is also called with
the instance or child of instance that it was created with.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyDeviceAnchorPersistenceANDROID(3)
Name
xrDestroyDeviceAnchorPersistenceANDROID - Destroys the device anchor persistence handle
C Specification
The xrDestroyDeviceAnchorPersistenceANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrDestroyDeviceAnchorPersistenceANDROID(
XrDeviceAnchorPersistenceANDROID handle);
Parameters
Description
The xrDestroyDeviceAnchorPersistenceANDROID function destroys the device anchor persistence handle. After this call the runtime may free all related memory and resources.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyEnvironmentDepthProviderMETA(3)
Name
xrDestroyEnvironmentDepthProviderMETA - Destroys the depth provider and frees all memory and resources.
C Specification
The xrDestroyEnvironmentDepthProviderMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrDestroyEnvironmentDepthProviderMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider);
Parameters
Description
The xrDestroyEnvironmentDepthProviderMETA function destroys the depth provider. After this call the runtime may free all related memory and resources.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyEnvironmentDepthSwapchainMETA(3)
Name
xrDestroyEnvironmentDepthSwapchainMETA - Destroys a readable depth swapchain.
C Specification
The xrDestroyEnvironmentDepthSwapchainMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrDestroyEnvironmentDepthSwapchainMETA(
XrEnvironmentDepthSwapchainMETA swapchain);
Parameters
Description
The xrDestroyEnvironmentDepthSwapchainMETA function destroys a readable environment depth swapchain.
All submitted graphics API commands that refer to swapchain must have
completed execution.
Runtimes may continue to utilize swapchain images after
xrDestroyEnvironmentDepthSwapchainMETA is called.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyExportedLocalizationMapML(3)
Name
xrDestroyExportedLocalizationMapML - Destroys an exported localization map.
C Specification
The xrDestroyExportedLocalizationMapML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrDestroyExportedLocalizationMapML(
XrExportedLocalizationMapML map);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyEyeTrackerFB(3)
Name
xrDestroyEyeTrackerFB - Destroy an eye gaze handle
C Specification
xrDestroyEyeTrackerFB function releases the eyeTracker and the
underlying resources when the eye tracking experience is over.
// Provided by XR_FB_eye_tracking_social
XrResult xrDestroyEyeTrackerFB(
XrEyeTrackerFB eyeTracker);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFaceTracker2FB(3)
Name
xrDestroyFaceTracker2FB - Destroy a facial expressions handle
C Specification
The xrDestroyFaceTracker2FB function is defined as:
// Provided by XR_FB_face_tracking2
XrResult xrDestroyFaceTracker2FB(
XrFaceTracker2FB faceTracker);
Parameters
Description
The xrDestroyFaceTracker2FB function releases the faceTracker
and the underlying resources when face tracking experience is over.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFaceTrackerANDROID(3)
Name
xrDestroyFaceTrackerANDROID - Destroy a face tracker handle
C Specification
The xrDestroyFaceTrackerANDROID function is defined as:
// Provided by XR_ANDROID_face_tracking
XrResult xrDestroyFaceTrackerANDROID(
XrFaceTrackerANDROID faceTracker);
Parameters
Description
When the application’s face tracking experience is over it calls the
xrDestroyFaceTrackerANDROID function to release the faceTracker
and underlying resources.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFaceTrackerBD(3)
Name
xrDestroyFaceTrackerBD - destroy face tracker handle
C Specification
The xrDestroyFaceTrackerBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrDestroyFaceTrackerBD(
XrFaceTrackerBD tracker);
Parameters
Description
When facial expression tracking is no longer needed, release the
tracker and the resources associated with the tracker through
the xrDestroyFaceTrackerBD function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFaceTrackerFB(3)
Name
xrDestroyFaceTrackerFB - Destroy a facial expressions handle
C Specification
The xrDestroyFaceTrackerFB function releases the faceTracker and
the underlying resources when face tracking experience is over.
// Provided by XR_FB_face_tracking
XrResult xrDestroyFaceTrackerFB(
XrFaceTrackerFB faceTracker);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFacialExpressionClientML(3)
Name
xrDestroyFacialExpressionClientML - Destroys a facial expression client handle
C Specification
The xrDestroyFacialExpressionClientML function is defined as:
// Provided by XR_ML_facial_expression
XrResult xrDestroyFacialExpressionClientML(
XrFacialExpressionClientML facialExpressionClient);
Parameters
Description
The xrDestroyFacialExpressionClientML function releases the
facialExpressionClient and the underlying resources.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFacialTrackerHTC(3)
Name
xrDestroyFacialTrackerHTC - Destroy a facial tracker handle
C Specification
The xrDestroyFacialTrackerHTC function is defined as:
// Provided by XR_HTC_facial_tracking
XrResult xrDestroyFacialTrackerHTC(
XrFacialTrackerHTC facialTracker);
Parameters
Description
xrDestroyFacialTrackerHTC releases the facialTracker and the
underlying resources when finished with facial tracking experiences.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyFoveationProfileFB(3)
Name
xrDestroyFoveationProfileFB - Destroy a foveation profile
C Specification
The xrDestroyFoveationProfileFB function is defined as:
// Provided by XR_FB_foveation
XrResult xrDestroyFoveationProfileFB(
XrFoveationProfileFB profile);
Parameters
Description
XrFoveationProfileFB handles are destroyed using xrDestroyFoveationProfileFB. A XrFoveationProfileFB may be safely destroyed after being applied to a swapchain state using xrUpdateSwapchainFB without affecting the foveation parameters of the swapchain. The application is responsible for ensuring that it has no calls using profile in progress when the foveation profile is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyGeometryInstanceFB(3)
Name
xrDestroyGeometryInstanceFB - Destroy a geometry instance
C Specification
The xrDestroyGeometryInstanceFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrDestroyGeometryInstanceFB(
XrGeometryInstanceFB instance);
Parameters
Description
Destroys an XrGeometryInstanceFB handle. Destroying an XrGeometryInstanceFB does not destroy a mesh and does not free mesh resources. Destroying a layer invalidates all geometry instances attached to it. Destroying a mesh invalidates all its instances.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyHandTrackerEXT(3)
Name
xrDestroyHandTrackerEXT - Destroy a hand joints handle
C Specification
xrDestroyHandTrackerEXT function releases the handTracker and
the underlying resources when finished with hand tracking experiences.
// Provided by XR_EXT_hand_tracking
XrResult xrDestroyHandTrackerEXT(
XrHandTrackerEXT handTracker);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyInstance(3)
Name
xrDestroyInstance - Destroy an instance of OpenXR
C Specification
The xrDestroyInstance function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrDestroyInstance(
XrInstance instance);
Description
The xrDestroyInstance function is used to destroy an XrInstance.
XrInstance handles are destroyed using xrDestroyInstance. When an XrInstance is destroyed, all handles that are children of that XrInstance are also destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyMarkerDetectorML(3)
Name
xrDestroyMarkerDetectorML - Destroy a marker detection handle
C Specification
The xrDestroyMarkerDetectorML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrDestroyMarkerDetectorML(
XrMarkerDetectorML markerDetector);
Parameters
Description
Destroy a marker detection handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyPassthroughColorLutMETA(3)
Name
xrDestroyPassthroughColorLutMETA - Destroy a passthrough color LUT
C Specification
The xrDestroyPassthroughColorLutMETA function is defined as:
// Provided by XR_META_passthrough_color_lut
XrResult xrDestroyPassthroughColorLutMETA(
XrPassthroughColorLutMETA colorLut);
Parameters
Description
Destroys a passthrough color LUT. If the color LUT is still in use (i.e. if for at least one passthrough layer, xrPassthroughLayerSetStyleFB has last been called with an instance of XrPassthroughColorMapLutMETA or XrPassthroughColorMapInterpolatedLutMETA in the next chain that references this color LUT), the runtime must retain the color LUT data and continue applying it to the affected passthrough layer until a different style is applied.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyPassthroughFB(3)
Name
xrDestroyPassthroughFB - Destroy a passthrough feature
C Specification
The xrDestroyPassthroughFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrDestroyPassthroughFB(
XrPassthroughFB passthrough);
Parameters
Description
Destroys an XrPassthroughFB handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyPassthroughHTC(3)
Name
xrDestroyPassthroughHTC - Destroy a passthrough handle
C Specification
The xrDestroyPassthroughHTC function is defined as:
// Provided by XR_HTC_passthrough
XrResult xrDestroyPassthroughHTC(
XrPassthroughHTC passthrough);
Parameters
Description
The xrDestroyPassthroughHTC function releases the passthrough and the underlying resources.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyPassthroughLayerFB(3)
Name
xrDestroyPassthroughLayerFB - Destroy a passthrough layer
C Specification
The xrDestroyPassthroughLayerFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrDestroyPassthroughLayerFB(
XrPassthroughLayerFB layer);
Parameters
Description
Destroys an XrPassthroughLayerFB handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyPlaneDetectorEXT(3)
Name
xrDestroyPlaneDetectorEXT - Destroy a plane detection handle
C Specification
The xrDestroyPlaneDetectorEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrDestroyPlaneDetectorEXT(
XrPlaneDetectorEXT planeDetector);
Parameters
Description
xrDestroyPlaneDetectorEXT function releases the planeDetector
and the underlying resources when finished with plane detection experiences.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyRenderModelAssetEXT(3)
Name
xrDestroyRenderModelAssetEXT - Destroy a render model asset handle
C Specification
The xrDestroyRenderModelAssetEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrDestroyRenderModelAssetEXT(
XrRenderModelAssetEXT asset);
Parameters
Description
The xrDestroyRenderModelAssetEXT function releases the XrRenderModelAssetEXT handle and the underlying resources for the glTF asset data and names of animatable nodes.
For clarity, a call to xrDestroyRenderModelAssetEXT does not stop the ability to locate a render model space, nor the ability to retrieve animatable node states. The asset handle refers only to the asset data and list of animatable node names in memory for transfer to the application.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyRenderModelEXT(3)
Name
xrDestroyRenderModelEXT - Destroy a render model handle
C Specification
The xrDestroyRenderModelEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrDestroyRenderModelEXT(
XrRenderModelEXT renderModel);
Parameters
Description
xrDestroyRenderModelEXT function releases the XrRenderModelEXT handle and the underlying resources when finished with the render model tracking and animation.
Although any associated XrSpace handles created by
xrCreateRenderModelSpaceEXT are not destroyed upon calling
xrDestroyRenderModelEXT because the space is a child of the session
handle, any render model spaces created from a now-destroyed render model
handle must no longer return any XrSpaceLocationFlagBits or
XrSpaceVelocityFlagBits set in
XrSpaceLocation::locationFlags or
XrSpaceVelocity::velocityFlags, respectively.
That is, a space created from a render model handle that is now destroyed
becomes no longer locatable.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySceneMSFT(3)
Name
xrDestroySceneMSFT - Destroy a scene handle
C Specification
The xrDestroySceneMSFT function releases the scene and the
underlying resources.
// Provided by XR_MSFT_scene_understanding
XrResult xrDestroySceneMSFT(
XrSceneMSFT scene);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySceneObserverMSFT(3)
Name
xrDestroySceneObserverMSFT - Destroy a scene observer handle
C Specification
The xrDestroySceneObserverMSFT function releases the
sceneObserver and the underlying resources.
// Provided by XR_MSFT_scene_understanding
XrResult xrDestroySceneObserverMSFT(
XrSceneObserverMSFT sceneObserver);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySenseDataProviderBD(3)
Name
xrDestroySenseDataProviderBD - Destroy a sense data provider
C Specification
The xrDestroySenseDataProviderBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrDestroySenseDataProviderBD(
XrSenseDataProviderBD provider);
Parameters
Description
The application should destroy a sense data provider using xrDestroySenseDataProviderBD to release the resources related to it.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySenseDataSnapshotBD(3)
Name
xrDestroySenseDataSnapshotBD - Destroy a sense data snapshot
C Specification
The xrDestroySenseDataSnapshotBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrDestroySenseDataSnapshotBD(
XrSenseDataSnapshotBD snapshot);
Parameters
The application can destroy a sense data snapshot using xrDestroySenseDataSnapshotBD.
Description
After all the spatial entity info are retrieved from the snapshot,
application should destroy the XrSenseDataSnapshotBD handle to
release related resources.
The runtime may have an upper limit on the number of snapshots it supports.
When the application exceeds the runtime’s limit, the runtime must set
XrSenseDataQueryCompletionBD::futureResult to
XR_ERROR_LIMIT_REACHED when xrQuerySenseDataCompleteBD is
called.
To obtain new snapshots once the limit is reached, destroy at least one of
the previously obtained snapshots.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySession(3)
Name
xrDestroySession - Destroys an XrSession
C Specification
The xrDestroySession function is defined as.
// Provided by XR_VERSION_1_0
XrResult xrDestroySession(
XrSession session);
Parameters
Description
XrSession handles are destroyed using xrDestroySession. When an XrSession is destroyed, all handles that are children of that XrSession are also destroyed.
The application is responsible for ensuring that it has no calls using
session in progress when the session is destroyed.
xrDestroySession can be called when the session is in any session state.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpace(3)
Name
xrDestroySpace - Destroys an XrSpace
C Specification
The xrDestroySpace function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrDestroySpace(
XrSpace space);
Parameters
Description
XrSpace handles are destroyed using xrDestroySpace. The runtime may still use this space if there are active dependencies (e.g, compositions in progress).
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpaceUserFB(3)
Name
xrDestroySpaceUserFB - Destroys a user handle
C Specification
The xrDestroySpaceUserFB function is defined as:
// Provided by XR_FB_spatial_entity_user
XrResult xrDestroySpaceUserFB(
XrSpaceUserFB user);
Parameters
Description
The application should use this function to release resources tied to a given XrSpaceUserFB once the application no longer needs to reference the user.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialAnchorMSFT(3)
Name
xrDestroySpatialAnchorMSFT - Destroys a spatial anchor
C Specification
The xrDestroySpatialAnchorMSFT function is defined as:
// Provided by XR_MSFT_spatial_anchor
XrResult xrDestroySpatialAnchorMSFT(
XrSpatialAnchorMSFT anchor);
Parameters
Description
XrSpatialAnchorMSFT handles are destroyed using xrDestroySpatialAnchorMSFT. By destroying an anchor, the runtime can stop spending resources used to maintain tracking for that anchor’s origin.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialAnchorStoreConnectionMSFT(3)
Name
xrDestroySpatialAnchorStoreConnectionMSFT - Destroys the anchor store handle
C Specification
The application can use the xrDestroySpatialAnchorStoreConnectionMSFT function to destroy an anchor store connection.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrDestroySpatialAnchorStoreConnectionMSFT(
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialAnchorsStorageML(3)
Name
xrDestroySpatialAnchorsStorageML - Destroy spatial anchors storage
C Specification
The xrDestroySpatialAnchorsStorageML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrDestroySpatialAnchorsStorageML(
XrSpatialAnchorsStorageML storage);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialContextEXT(3)
Name
xrDestroySpatialContextEXT - Destroy a spatial context handle
C Specification
The xrDestroySpatialContextEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrDestroySpatialContextEXT(
XrSpatialContextEXT spatialContext);
Parameters
Description
The application can call xrDestroySpatialContextEXT function to
release the spatialContext handle and the underlying resources when
finished with spatial entity discovery and update tasks.
If there is no other valid XrSpatialContextEXT that was created with
the same spatial capabilities as spatialContext, this call serves as a
suggestion to the runtime to disable the tracking services required for
those capabilities to save system resources.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialEntityEXT(3)
Name
xrDestroySpatialEntityEXT - Destroy a spatial entity handle.
C Specification
The xrDestroySpatialEntityEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrDestroySpatialEntityEXT(
XrSpatialEntityEXT spatialEntity);
Parameters
Description
The application can use xrDestroySpatialEntityEXT to release the
spatialEntity handle when it is no longer interested in the entity
referenced by this handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialGraphNodeBindingMSFT(3)
Name
xrDestroySpatialGraphNodeBindingMSFT - Destroy a spatial graph node handle
C Specification
The xrDestroySpatialGraphNodeBindingMSFT function releases the
nodeBinding and the underlying resources.
// Provided by XR_MSFT_spatial_graph_bridge
XrResult xrDestroySpatialGraphNodeBindingMSFT(
XrSpatialGraphNodeBindingMSFT nodeBinding);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialPersistenceContextEXT(3)
Name
xrDestroySpatialPersistenceContextEXT - Destroy a spatial context handle
C Specification
The xrDestroySpatialPersistenceContextEXT function is defined as:
// Provided by XR_EXT_spatial_persistence
XrResult xrDestroySpatialPersistenceContextEXT(
XrSpatialPersistenceContextEXT persistenceContext);
Parameters
Description
The application can use xrDestroySpatialPersistenceContextEXT to
release the persistenceContext handle when it is finished with spatial
persistence tasks.
The runtime must not destroy the underlying resources for
persistenceContext when xrDestroySpatialPersistenceContextEXT is
called if there are any valid XrSpatialContextEXT handles that
persistenceContext was linked to via
XrSpatialContextPersistenceConfigEXT.
This is because the persistence context’s resources are still used by the
spatial context for discovering persisted entities.
Destroying the persistence context handle in such a situation only removes
the application’s access to these resources.
The resources for a destroyed XrSpatialPersistenceContextEXT must be freed when all the XrSpatialContextEXT handles the persistence context was linked to are destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpatialSnapshotEXT(3)
Name
xrDestroySpatialSnapshotEXT - Destroy the snapshot
C Specification
The xrDestroySpatialSnapshotEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrDestroySpatialSnapshotEXT(
XrSpatialSnapshotEXT snapshot);
Parameters
Description
The application can call xrDestroySpatialSnapshotEXT to destroy the XrSpatialSnapshotEXT handle and the resources associated with it.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySwapchain(3)
Name
xrDestroySwapchain - Destroys an XrSwapchain
C Specification
The xrDestroySwapchain function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrDestroySwapchain(
XrSwapchain swapchain);
Parameters
Description
All submitted graphics API commands that refer to swapchain must have
completed execution.
Runtimes may continue to utilize swapchain images after
xrDestroySwapchain is called.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyTrackableTrackerANDROID(3)
Name
xrDestroyTrackableTrackerANDROID - Destroys the trackable tracker and frees all memory and resources
C Specification
The xrDestroyTrackableTrackerANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrDestroyTrackableTrackerANDROID(
XrTrackableTrackerANDROID trackableTracker);
Parameters
Description
The xrDestroyTrackableTrackerANDROID function destroys the trackable tracker. After this call the runtime may free all related memory and resources.
If there is no other valid XrTrackableTrackerANDROID that was created with the same XrTrackableTypeANDROID, the runtime may disable the tracking services required for that trackable type to save system resources.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyTriangleMeshFB(3)
Name
xrDestroyTriangleMeshFB - Destroy a triangle mesh
C Specification
The xrDestroyTriangleMeshFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrDestroyTriangleMeshFB(
XrTriangleMeshFB mesh);
Parameters
Description
XrTriangleMeshFB handles and their associated data are destroyed by xrDestroyTriangleMeshFB. The mesh buffers retrieved by xrTriangleMeshGetVertexBufferFB and xrTriangleMeshGetIndexBufferFB must not be accessed anymore after their parent mesh object has been destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyVirtualKeyboardMETA(3)
Name
xrDestroyVirtualKeyboardMETA - Destroy a virtual keyboard
C Specification
The xrDestroyVirtualKeyboardMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrDestroyVirtualKeyboardMETA(
XrVirtualKeyboardMETA keyboard);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroyWorldMeshDetectorML(3)
Name
xrDestroyWorldMeshDetectorML - Destroy a world mesh detector.
C Specification
The xrDestroyWorldMeshDetectorML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrDestroyWorldMeshDetectorML(
XrWorldMeshDetectorML detector);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDiscoverSpacesMETA(3)
Name
xrDiscoverSpacesMETA - Discovery space(s) from persistent storage
C Specification
The xrDiscoverSpacesMETA function is defined as:
// Provided by XR_META_spatial_entity_discovery
XrResult xrDiscoverSpacesMETA(
XrSession session,
const XrSpaceDiscoveryInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrDiscoverSpacesMETA function discovers spaces that were persisted
previously, and which comply with the filters passed in the
XrSpaceDiscoveryInfoMETA info structure.
This operation is asynchronous.
If xrDiscoverSpacesMETA returns a XR_FAILED result, no discovery operation takes place and no events will be queued for this operation.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS and the asynchronous discovery operation will queue
at least 1 event.
If Spatial Entities have been discovered and are ready for retrieval, the runtime must queue an XrEventDataSpaceDiscoveryResultsAvailableMETA event. The runtime may queue 0, 1, or more XrEventDataSpaceDiscoveryResultsAvailableMETA events depending on the Spatial Entities found.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataSpaceDiscoveryCompleteMETA event identified with a
XrEventDataSpaceDiscoveryCompleteMETA::requestId matching the
requestId value output by this function, referred to as the
"corresponding completion event." The
XrEventDataSpaceDiscoveryCompleteMETA event is queued after all
XrEventDataSpaceDiscoveryResultsAvailableMETA events for this
operation have been queued.
Completion results are conveyed in the event XrEventDataSpaceDiscoveryCompleteMETA, while availability of output for xrRetrieveSpaceDiscoveryResultsMETA is signaled by either this completion event or the event XrEventDataSpaceDiscoveryResultsAvailableMETA.
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataSpaceDiscoveryCompleteMETA::result field to
XR_SUCCESS.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataSpaceDiscoveryCompleteMETA::result field to an
appropriate error code instead of XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDownloadSharedSpatialAnchorAsyncBD(3)
Name
xrDownloadSharedSpatialAnchorAsyncBD - Downlad a shared spatial anchor
C Specification
The xrDownloadSharedSpatialAnchorAsyncBD function is defined as:
// Provided by XR_BD_spatial_anchor_sharing
XrResult xrDownloadSharedSpatialAnchorAsyncBD(
XrSenseDataProviderBD provider,
const XrSharedSpatialAnchorDownloadInfoBD* info,
XrFutureEXT* future);
Parameters
Description
In order to access the shared spatial anchor, the application first downloads the anchor. To download a shared spatial anchor, call xrDownloadSharedSpatialAnchorAsyncBD.
The spatial anchor will be downloaded to the local device and runtime will then locate it.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrDownloadSharedSpatialAnchorCompleteBD, usable when a future from
this function is in the READY state, with outputs
populated by that function in the completion structure
XrFutureCompletionEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDownloadSharedSpatialAnchorCompleteBD(3)
Name
xrDownloadSharedSpatialAnchorCompleteBD - Get the completion of downloading a shared spatial anchor
C Specification
The xrDownloadSharedSpatialAnchorCompleteBD function is defined as:
// Provided by XR_BD_spatial_anchor_sharing
XrResult xrDownloadSharedSpatialAnchorCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
The application obtains the spatial anchor download result using xrDownloadSharedSpatialAnchorCompleteBD.
Description
This is the completion function corresponding to the operation started by
xrDownloadSharedSpatialAnchorAsyncBD.
Do not call until the future is READY.
The XrFutureCompletionEXT structure is defined in
XR_EXT_future.
If the spatial anchor is downloaded to the local device, the runtime must
set the XrFutureCompletionEXT::futureResult value to
XR_SUCCESS.
This indicates that the spatial anchor has been successfully downloaded to
the local device and located.
To obtain the spatial anchors from the spatial anchor data provider, call
xrQuerySenseDataAsyncBD, xrQuerySenseDataCompleteBD,
xrGetQueriedSenseDataBD, and xrCreateSpatialEntityAnchorBD.
All of these functions are defined in XR_BD_spatial_sensing.
|
Note
|
Note
It is implementation defined whether the runtime implements permission
controls, in which case it may set
XrFutureCompletionEXT:: |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnableLocalizationEventsML(3)
Name
xrEnableLocalizationEventsML - Retrieve the current localization status.
C Specification
The xrEnableLocalizationEventsML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrEnableLocalizationEventsML(
XrSession session,
const XrLocalizationEnableEventsInfoML * info);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnableUserCalibrationEventsML(3)
Name
xrEnableUserCalibrationEventsML - Enable/disable user calibration events.
C Specification
The xrEnableUserCalibrationEventsML function is defined as:
// Provided by XR_ML_user_calibration
XrResult xrEnableUserCalibrationEventsML(
XrInstance instance,
const XrUserCalibrationEnableEventsInfoML* enableInfo);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEndFrame(3)
Name
xrEndFrame - Marks a frame
C Specification
The xrEndFrame function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEndFrame(
XrSession session,
const XrFrameEndInfo* frameEndInfo);
Parameters
Description
xrEndFrame may return immediately to the application.
XrFrameEndInfo::displayTime should be computed using values
returned by xrWaitFrame.
The runtime should be robust against variations in the timing of calls to
xrWaitFrame, since a pipelined system may call xrWaitFrame on a
separate thread from xrBeginFrame and xrEndFrame without any
synchronization guarantees.
|
Note
|
Note
An accurate predicted display time is very important to avoid black pull-in by reprojection and to reduce motion judder in case the runtime does not implement a translational reprojection. Reprojection should never display images before the display refresh period they were predicted for, even if they are completed early, because this will cause motion judder just the same. In other words, the better the predicted display time, the less latency experienced by the user. |
Every call to xrEndFrame must be preceded by a successful call to
xrBeginFrame.
Failure to do so must result in XR_ERROR_CALL_ORDER_INVALID being
returned by xrEndFrame.
Refer to xrBeginSession for details on how a transition to
session running resets the frame function call order.
XrFrameEndInfo may reference swapchains into which the application
has rendered for this frame.
From each XrSwapchain only one image index is implicitly referenced
per frame, the one corresponding to the last call to
xrReleaseSwapchainImage.
However, a specific swapchain (and by extension a specific swapchain image
index) may be referenced in XrFrameEndInfo multiple times.
This can be used for example to render a side by side image into a single
swapchain image and referencing it twice with differing image rectangles in
different layers.
If no layers are provided then the display must be cleared.
XR_ERROR_LAYER_INVALID must be returned if an unknown, unsupported
layer type, or NULL pointer is passed as one of the
XrFrameEndInfo::layers.
XR_ERROR_LAYER_INVALID must be returned if a layer references a
swapchain that has no released swapchain image.
XR_ERROR_LAYER_LIMIT_EXCEEDED must be returned if
XrFrameEndInfo::layerCount exceeds
XrSystemGraphicsProperties::maxLayerCount or if the runtime is unable
to composite the specified layers due to resource constraints.
XR_ERROR_SWAPCHAIN_RECT_INVALID must be returned if
XrFrameEndInfo::layers contains a composition layer which
references pixels outside of the associated swapchain image or if negatively
sized.
XR_ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED must be returned if and
only if the XrFrameEndInfo::environmentBlendMode was not
enumerated by xrEnumerateEnvironmentBlendModes for the
XrInstance and XrSystemId used to create session.
XR_ERROR_SESSION_NOT_RUNNING must be returned if the session
is not running.
|
Note
|
Note
Applications should discard frames for which xrEndFrame returns a recoverable error over attempting to resubmit the frame with different frame parameters to provide a more consistent experience across different runtime implementations. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEndSession(3)
Name
xrEndSession - Ends an XrSession
C Specification
The xrEndSession function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEndSession(
XrSession session);
Parameters
Description
When the application receives XrEventDataSessionStateChanged event
with the XR_SESSION_STATE_STOPPING state, the application should stop
its frame loop and then call xrEndSession to end the
running session.
This function signals to the runtime that the application will no longer
call xrWaitFrame, xrBeginFrame or xrEndFrame from any
thread allowing the runtime to safely transition the session to
XR_SESSION_STATE_IDLE.
The application must also avoid reading input state or sending haptic
output after calling xrEndSession.
If the session is not running when the application
calls xrEndSession, the runtime must return error
XR_ERROR_SESSION_NOT_RUNNING.
If the session is still running when the application
calls xrEndSession, but the session is not yet in the
XR_SESSION_STATE_STOPPING state, the runtime must return error
XR_ERROR_SESSION_NOT_STOPPING.
If the application wishes to exit a running session, the application can
call xrRequestExitSession so that the session transitions from
XR_SESSION_STATE_IDLE to XR_SESSION_STATE_EXITING.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateApiLayerProperties(3)
Name
xrEnumerateApiLayerProperties - Returns up to requested number of global layer properties
C Specification
To determine what set of API layers are available, OpenXR provides the xrEnumerateApiLayerProperties function:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateApiLayerProperties(
uint32_t propertyCapacityInput,
uint32_t* propertyCountOutput,
XrApiLayerProperties* properties);
Parameters
Description
The list of available layers may change at any time due to actions outside
of the OpenXR runtime, so two calls to xrEnumerateApiLayerProperties
with the same parameters may return different results, or retrieve
different propertyCountOutput values or properties contents.
Once an instance has been created, the layers enabled for that instance will continue to be enabled and valid for the lifetime of that instance, even if some of them become unavailable for future instances.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateBoundSourcesForAction(3)
Name
xrEnumerateBoundSourcesForAction - Queries the bound input sources for an action
C Specification
The xrEnumerateBoundSourcesForAction function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateBoundSourcesForAction(
XrSession session,
const XrBoundSourcesForActionEnumerateInfo* enumerateInfo,
uint32_t sourceCapacityInput,
uint32_t* sourceCountOutput,
XrPath* sources);
Parameters
Description
If an action is unbound, xrEnumerateBoundSourcesForAction must assign
0 to the value pointed-to by sourceCountOutput and not modify the
array.
xrEnumerateBoundSourcesForAction must return
XR_ERROR_ACTIONSET_NOT_ATTACHED if passed an action in an action set
never attached to the session with xrAttachSessionActionSets.
As bindings for actions do not change between calls to xrSyncActions,
xrEnumerateBoundSourcesForAction must enumerate the same set of bound
sources, or absence of bound sources, for a given query (defined by the
enumerateInfo parameter) between any two calls to xrSyncActions.
|
Note
|
Note
The |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateColorSpacesFB(3)
Name
xrEnumerateColorSpacesFB - Enumerates color spaces
C Specification
The xrEnumerateColorSpacesFB function is defined as:
// Provided by XR_FB_color_space
XrResult xrEnumerateColorSpacesFB(
XrSession session,
uint32_t colorSpaceCapacityInput,
uint32_t* colorSpaceCountOutput,
XrColorSpaceFB* colorSpaces);
Parameters
Description
xrEnumerateColorSpacesFB enumerates the color spaces supported by the current session. Runtimes must always return identical buffer contents from this enumeration for the lifetime of the session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateDisplayRefreshRatesFB(3)
Name
xrEnumerateDisplayRefreshRatesFB - Enumerates display refresh rates
C Specification
The xrEnumerateDisplayRefreshRatesFB function is defined as:
// Provided by XR_FB_display_refresh_rate
XrResult xrEnumerateDisplayRefreshRatesFB(
XrSession session,
uint32_t displayRefreshRateCapacityInput,
uint32_t* displayRefreshRateCountOutput,
float* displayRefreshRates);
Parameters
Description
xrEnumerateDisplayRefreshRatesFB enumerates the display refresh rates supported by the current session. Display refresh rates must be in order from lowest to highest supported display refresh rates. Runtimes must always return identical buffer contents from this enumeration for the lifetime of the session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateEnvironmentBlendModes(3)
Name
xrEnumerateEnvironmentBlendModes - Lists environment blend modes
C Specification
The xrEnumerateEnvironmentBlendModes function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateEnvironmentBlendModes(
XrInstance instance,
XrSystemId systemId,
XrViewConfigurationType viewConfigurationType,
uint32_t environmentBlendModeCapacityInput,
uint32_t* environmentBlendModeCountOutput,
XrEnvironmentBlendMode* environmentBlendModes);
Parameters
Description
Enumerates the set of environment blend modes that this runtime supports for a given view configuration of the system. Environment blend modes should be in order from highest to lowest runtime preference.
Runtimes must always return identical buffer contents from this enumeration
for the given systemId and viewConfigurationType for the
lifetime of the instance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateEnvironmentDepthSwapchainImagesMETA(3)
Name
xrEnumerateEnvironmentDepthSwapchainImagesMETA - Gets images from a readable depth swapchain.
C Specification
The xrEnumerateEnvironmentDepthSwapchainImagesMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrEnumerateEnvironmentDepthSwapchainImagesMETA(
XrEnvironmentDepthSwapchainMETA swapchain,
uint32_t imageCapacityInput,
uint32_t* imageCountOutput,
XrSwapchainImageBaseHeader* images);
Parameters
Description
xrEnumerateEnvironmentDepthSwapchainImagesMETA fills an array of
graphics API-specific XrSwapchainImage* structures derived from
XrSwapchainImageBaseHeader.
The resources must be constant and valid for the lifetime of the
XrEnvironmentDepthSwapchainMETA.
This function behaves analogously to xrEnumerateSwapchainImages.
Runtimes must always return identical buffer contents from this enumeration for the lifetime of the swapchain.
Note: images is a pointer to an array of structures of graphics
API-specific type, not an array of structure pointers.
The pointer submitted as images will be treated as an array of the
expected graphics API-specific type based on the graphics API used at
session creation time.
If the type member of any array element accessed in this way does not match
the expected value, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateExternalCamerasOCULUS(3)
Name
xrEnumerateExternalCamerasOCULUS - Enumerates all the external cameras that are supported by the runtime
C Specification
The xrEnumerateExternalCamerasOCULUS function enumerates all the external cameras that are supported by the runtime, it is defined as:
// Provided by XR_OCULUS_external_camera
XrResult xrEnumerateExternalCamerasOCULUS(
XrSession session,
uint32_t cameraCapacityInput,
uint32_t* cameraCountOutput,
XrExternalCameraOCULUS* cameras);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateFacialSimulationModesBD(3)
Name
xrEnumerateFacialSimulationModesBD - Enumerate the facial simulation modes that runtime supports
C Specification
The xrEnumerateFacialSimulationModesBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrEnumerateFacialSimulationModesBD(
XrSession session,
uint32_t modeCapacityInput,
uint32_t* modeCountOutput,
XrFacialSimulationModeBD* modes);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateInstanceExtensionProperties(3)
Name
xrEnumerateInstanceExtensionProperties - Returns properties of available instance extensions
C Specification
The application can determine the available instance extensions by calling xrEnumerateInstanceExtensionProperties:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateInstanceExtensionProperties(
const char* layerName,
uint32_t propertyCapacityInput,
uint32_t* propertyCountOutput,
XrExtensionProperties* properties);
Parameters
Description
Because the list of available layers may change externally between calls to
xrEnumerateInstanceExtensionProperties, two calls may retrieve
different results if a layerName is available in one call but not in
another.
The extensions supported by a layer may also change between two calls, e.g.
if the layer implementation is replaced by a different version between those
calls.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateInteractionRenderModelIdsEXT(3)
Name
xrEnumerateInteractionRenderModelIdsEXT - Enumerate render models for devices associated with interaction devices
C Specification
The xrEnumerateInteractionRenderModelIdsEXT function is defined as:
// Provided by XR_EXT_interaction_render_model
XrResult xrEnumerateInteractionRenderModelIdsEXT(
XrSession session,
const XrInteractionRenderModelIdsEnumerateInfoEXT* getInfo,
uint32_t renderModelIdCapacityInput,
uint32_t* renderModelIdCountOutput,
XrRenderModelIdEXT* renderModelIds);
Parameters
Description
This function returns render model IDs associated with any device associated
with actions, in any action set attached with session by
xrAttachSessionActionSets.
There is no specific meaning for array position.
A runtime may return values in any order, although the enumerated array
must remain constant between calls to xrSyncActions.
An application should not assume any meaning based on array order.
Note that a runtime may shuffle the order of IDs returned each time that
the list changes, to aid application developers in avoiding accidental
dependence on enumeration order.
An application must not assume any given size of this array based on suggested bindings: compatibility and user preference may result in more models being associated with actions than described in the suggested bindings. The runtime may return more models than the number of top level user paths in the suggested bindings due to user configuration and compatibility rebinding. The runtime should continue to return model IDs corresponding to any devices that has recently become inactive or disconnected, if they are reasonably expected to be used again soon, to minimize the need for applications to re-enumerate models and load assets. Similarly, the runtime may return model IDs for devices expected to be used, even if they are not yet connected or active.
The runtime must return render model IDs reflecting the actual hardware used, which must be independent of the currently active interaction profile. Accordingly, as long as the same actions within an XrInstance have suggested bindings, changing suggested bindings by adding or removing suggested bindings for an interaction profile must not change the underlying assets. Furthermore, provided that identical actions within an XrInstance are associated with suggested bindings for a specified list of glTF extensions, the runtime must return an identical collection of render model asset UUIDs.
The application can monitor for the XrEventDataInteractionRenderModelsChangedEXT event to get notified when interaction render models need to be re-enumerated.
Changes to the collection of models enumerated (for example, due to device change) must only occur during a call to xrSyncActions. If the collection of models changes, the XrEventDataInteractionRenderModelsChangedEXT event must be queued during that call to xrSyncActions to signal the need for re-enumeration. This implies that a runtime must enumerate no models prior to the first call to xrSyncActions in a session.
Note that the UUIDs associated with the enumerated render model IDs for a
given system and list of glTF extensions may change between instances due
to runtime changes.
Additionally, as with all atom types like XrRenderModelIdEXT, the
enumerated render model ID values associated with a logical device may
change between sessions as render model ID atoms inherently only have
meaning within the single XrSession they are enumerated from.
If an XrRenderModelIdEXT was enumerated during a call to
xrEnumerateInteractionRenderModelIdsEXT during the current session,
but the set of interaction render models has now changed and that
XrRenderModelIdEXT would not enumerated by a call to
xrEnumerateInteractionRenderModelIdsEXT after that change, a call to
xrCreateRenderModelEXT with that XrRenderModelIdEXT must
return XR_ERROR_RENDER_MODEL_ID_INVALID_EXT.
(Note that a change in the set of interaction render models only occurs
during calls to xrSyncActions, and queues an
XrEventDataInteractionRenderModelsChangedEXT event if it occurs.) That
is, if an ID was previously enumerated with this function during the current
session, but is no longer enumerated due to a change in interaction render
models during an xrSyncActions call, it is no longer valid to create a
XrRenderModelEXT from that XrRenderModelIdEXT.
Existing XrRenderModelEXT handles already created from an ID that is no longer enumerated remain valid, but "inactive" and effectively useless.
-
Locating an associated render model space must report untracked/unlocatable, and therefore the model is not to be rendered.
-
Calls to xrGetRenderModelStateEXT may stop providing updated data, as they are assumed to not be rendered and thus the model state is irrelevant.
-
The runtime may return
XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXTfrom xrCreateRenderModelAssetEXT if called with the cache UUID of that render model, if no other active render model uses the same asset UUID.
Runtimes must not enumerate a render model ID that they previously enumerated, then no longer enumerated. That is, if a render model ID is made inactive, it will never again become active. If the associated device returns, it will use a new render model ID.
A render model XrRenderModelEXT created from an
XrRenderModelIdEXT enumerated by this function must not be
visible/locatable when located by xrCreateRenderModelSpaceEXT if the
session state is not XR_SESSION_STATE_FOCUSED, to ensure render models
are only being rendered once per frame.
If the session is not running, the runtime must return
XR_ERROR_SESSION_NOT_RUNNING.
A render model XrRenderModelEXT created from an
XrRenderModelIdEXT enumerated by this function must be locatable
and visible if the corresponding device is locatable and there exists some
action in any action set with which the render model is associated.
This avoids having interaction render models disappear during corner cases
of application interaction, e.g. when a "menu" button present on only one
controller is the only active input.
If an application wishes to only show models for which there are active
actions, use the output of xrEnumerateRenderModelSubactionPathsEXT
which enumerates subaction paths per model for the active action sets only.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumeratePerformanceMetricsCounterPathsMETA(3)
Name
xrEnumeratePerformanceMetricsCounterPathsMETA - Enumerate all performance metrics counter paths that supported by the runtime
C Specification
The xrEnumeratePerformanceMetricsCounterPathsMETA function enumerates all performance metrics counter paths that supported by the runtime, it is defined as:
// Provided by XR_META_performance_metrics
XrResult xrEnumeratePerformanceMetricsCounterPathsMETA(
XrInstance instance,
uint32_t counterPathCapacityInput,
uint32_t* counterPathCountOutput,
XrPath* counterPaths);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumeratePersistedAnchorsANDROID(3)
Name
xrEnumeratePersistedAnchorsANDROID - Enumerate persisted anchors
C Specification
The xrEnumeratePersistedAnchorsANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrEnumeratePersistedAnchorsANDROID(
XrDeviceAnchorPersistenceANDROID handle,
uint32_t anchorIdCapacityInput,
uint32_t* anchorIdCountOutput,
XrUuidEXT* anchorIds);
Parameters
Description
To enumerate all current persisted anchors, the application calls
xrEnumeratePersistedAnchorsANDROID.
anchorIds will hold the UUIDs of the persisted anchors up to the
capacity of the array.
Since anchors are persisted asynchronously, the count of persisted anchors
may change in between calls, causing anchorIdCountOutput to differ as
well.
If the capacity is insufficient, the runtime must truncate the values to
fit the output array and makes no guarantees about which anchors are
returned.
The runtime must return XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROID if
the persisted data loading for handle is not yet complete.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumeratePersistedSpatialAnchorNamesMSFT(3)
Name
xrEnumeratePersistedSpatialAnchorNamesMSFT - Enumerate the names of currently persisted spatial anchors in the spatial anchor store
C Specification
The application can use the
xrEnumeratePersistedSpatialAnchorNamesMSFT function to enumerate the
names of all spatial anchors currently persisted in the spatial anchor store
for this application.
This function follows the two-call
idiom for filling the spatialAnchorNames.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrEnumeratePersistedSpatialAnchorNamesMSFT(
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore,
uint32_t spatialAnchorNameCapacityInput,
uint32_t* spatialAnchorNameCountOutput,
XrSpatialAnchorPersistenceNameMSFT* spatialAnchorNames);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateRaycastSupportedTrackableTypesANDROID(3)
Name
xrEnumerateRaycastSupportedTrackableTypesANDROID - Enumerates trackables that support raycasting.
C Specification
The xrEnumerateRaycastSupportedTrackableTypesANDROID function is defined as:
// Provided by XR_ANDROID_raycast
XrResult xrEnumerateRaycastSupportedTrackableTypesANDROID(
XrInstance instance,
XrSystemId systemId,
uint32_t trackableTypeCapacityInput,
uint32_t* trackableTypeCountOutput,
XrTrackableTypeANDROID* trackableTypes);
Parameters
Description
xrEnumerateRaycastSupportedTrackableTypesANDROID enumerates which trackable types the runtime supports raycasting for.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateReferenceSpaces(3)
Name
xrEnumerateReferenceSpaces - Enumerate available reference spaces
C Specification
The xrEnumerateReferenceSpaces function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateReferenceSpaces(
XrSession session,
uint32_t spaceCapacityInput,
uint32_t* spaceCountOutput,
XrReferenceSpaceType* spaces);
Parameters
Description
Enumerates the set of reference space types that this runtime supports for a given session. Runtimes must always return identical buffer contents from this enumeration for the lifetime of the session.
If a session enumerates support for a given reference space type, calls to xrCreateReferenceSpace must succeed for that session, with any transient unavailability of poses expressed later during calls to xrLocateSpace.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateRenderModelPathsFB(3)
Name
xrEnumerateRenderModelPathsFB - Enumerate supported render model paths
C Specification
The xrEnumerateRenderModelPathsFB function is defined as:
// Provided by XR_FB_render_model
XrResult xrEnumerateRenderModelPathsFB(
XrSession session,
uint32_t pathCapacityInput,
uint32_t* pathCountOutput,
XrRenderModelPathInfoFB* paths);
Parameters
Description
The application must call xrEnumerateRenderModelPathsFB to enumerate the valid render model paths that are supported by the runtime before calling xrGetRenderModelPropertiesFB. The paths returned may be used later in xrGetRenderModelPropertiesFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateRenderModelSubactionPathsEXT(3)
Name
xrEnumerateRenderModelSubactionPathsEXT - Enumerate subaction paths for devices associated with bound input
C Specification
The xrEnumerateRenderModelSubactionPathsEXT function is defined as:
// Provided by XR_EXT_interaction_render_model
XrResult xrEnumerateRenderModelSubactionPathsEXT(
XrRenderModelEXT renderModel,
const XrInteractionRenderModelSubactionPathInfoEXT* info,
uint32_t pathCapacityInput,
uint32_t* pathCountOutput,
XrPath* paths);
Description
xrEnumerateRenderModelSubactionPathsEXT allows the application to associate an interaction-related render model with the associated subaction paths according to the exposed current interaction profile and active action sets.
If renderModel is valid but was not created from a render model ID
from a call to xrEnumerateInteractionRenderModelIdsEXT earlier in the
current session, the runtime must return
XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT.
The array enumerated by this function for a given render model must not change except during calls to xrSyncActions.
A given subaction path must be reported for a model if and only if both of the following are true:
-
That path appears in the corresponding XrActionCreateInfo::
subactionPathsfor some action or actions associated with it in the active action sets. -
That path is used as a top-level user path for some suggested binding of at least one such action in the current interaction profile.
This paragraph describes implications and clarifications of the preceding
requirement.
If a given path is used as a top-level user path for a suggested binding to
an action with no subaction paths specified, or without that specific
subaction path specified, it is not sufficient to require enumerating that
path.
The runtime must only enumerate subaction paths that are included in the
reported current interaction profile and mentioned in the corresponding
suggested bindings, even if one of the models is logically better described
by a path not used by the application.
For example, a treadmill-like interaction device with its input mapped to
actions suggested for left and right hands enumerates the paths
/user/hand/left and /user/hand/right even though
/user/treadmill is defined in the specification.
This also implies that a runtime must return no subaction paths prior to
the first call to xrSyncActions in a session, or when the most recent
call to xrSyncActions did not specify any active action sets.
Additionally, the runtime must return no subaction paths when a given
render model provides input only for actions that do not have a list of
subaction paths specified in XrActionCreateInfo::subactionPaths.
This function is intended for identifying models currently associated with any actions in an active action set, as well as identifying the subaction paths associated with the bound input. To identify which top-level /user path is most closely associated with the overall pose of any given interaction render model, see xrGetRenderModelPoseTopLevelUserPathEXT. The description of that function contains a further discussion of the differences with this function.
Important: The order of values returned from this function is not meaningful, and the entire array should be iterated and treated uniformly by the application. An application should always be prepared for this function to return a list of any length, up to the total number of subaction paths used in suggested bindings. Most functionality in OpenXR is defined to operate as if the hardware corresponding to the current interaction profile were in use according to the suggested bindings. However, this function, and this extension in general, allows the application to access aspects of the user’s actual input configuration, to provide accurate and realistic feedback to the user. Special care is required to ensure that application code using this function is maximally general.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateReprojectionModesMSFT(3)
Name
xrEnumerateReprojectionModesMSFT - Queries the supported reprojection modes.
C Specification
First, the application uses xrEnumerateReprojectionModesMSFT to inspect what reprojection mode the view configuration supports.
The xrEnumerateReprojectionModesMSFT function returns the supported reprojection modes of the view configuration.
// Provided by XR_MSFT_composition_layer_reprojection
XrResult xrEnumerateReprojectionModesMSFT(
XrInstance instance,
XrSystemId systemId,
XrViewConfigurationType viewConfigurationType,
uint32_t modeCapacityInput,
uint32_t* modeCountOutput,
XrReprojectionModeMSFT* modes);
Parameters
Description
A system may support different sets of reprojection modes for different view configuration types.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSceneComputeFeaturesMSFT(3)
Name
xrEnumerateSceneComputeFeaturesMSFT - Enumerates scene compute features
C Specification
The xrEnumerateSceneComputeFeaturesMSFT function enumerates the supported scene compute features of the given system.
This function follows the two-call
idiom for filling the features array.
// Provided by XR_MSFT_scene_understanding
XrResult xrEnumerateSceneComputeFeaturesMSFT(
XrInstance instance,
XrSystemId systemId,
uint32_t featureCapacityInput,
uint32_t* featureCountOutput,
XrSceneComputeFeatureMSFT* features);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpaceSupportedComponentsFB(3)
Name
xrEnumerateSpaceSupportedComponentsFB - Enumerates supported components for a given spatial entity
C Specification
The xrEnumerateSpaceSupportedComponentsFB function is defined as:
// Provided by XR_FB_spatial_entity
XrResult xrEnumerateSpaceSupportedComponentsFB(
XrSpace space,
uint32_t componentTypeCapacityInput,
uint32_t* componentTypeCountOutput,
XrSpaceComponentTypeFB* componentTypes);
Parameters
Description
Lists any component types that an entity supports. The list of component types available for an entity depends on which extensions are enabled. Component types must not be enumerated unless the corresponding extension that defines them is also enabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpatialCapabilitiesEXT(3)
Name
xrEnumerateSpatialCapabilitiesEXT - Enumerate supported spatial capabilities in the selected system.
C Specification
The xrEnumerateSpatialCapabilitiesEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrEnumerateSpatialCapabilitiesEXT(
XrInstance instance,
XrSystemId systemId,
uint32_t capabilityCapacityInput,
uint32_t* capabilityCountOutput,
XrSpatialCapabilityEXT* capabilities);
Parameters
Description
The application can enumerate the list of spatial capabilities supported by
a given XrSystemId using xrEnumerateSpatialCapabilitiesEXT.
The runtime must not enumerate the spatial capabilities whose extension is
not enabled for instance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpatialCapabilityComponentTypesEXT(3)
Name
xrEnumerateSpatialCapabilityComponentTypesEXT - Enumerate supported spatial components for a capability.
C Specification
The xrEnumerateSpatialCapabilityComponentTypesEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrEnumerateSpatialCapabilityComponentTypesEXT(
XrInstance instance,
XrSystemId systemId,
XrSpatialCapabilityEXT capability,
XrSpatialCapabilityComponentTypesEXT* capabilityComponents);
Parameters
Description
This function enumerates the component types that the given capability provides on its entities in the system as configured.
The application can use the component types enumerated in
XrSpatialCapabilityComponentTypesEXT::componentTypes to
understand the full set of components that the systemId supports for
capability and can use this list to determine what a valid
configuration for capability is when creating an
XrSpatialContextEXT for it.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
if capability is not enumerated by
xrEnumerateSpatialCapabilitiesEXT.
The runtime must not enumerate the spatial component types whose extension
is not enabled for instance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpatialCapabilityFeaturesEXT(3)
Name
xrEnumerateSpatialCapabilityFeaturesEXT - Enumerate supported features for a capability.
C Specification
The xrEnumerateSpatialCapabilityFeaturesEXT function is defines as:
// Provided by XR_EXT_spatial_entity
XrResult xrEnumerateSpatialCapabilityFeaturesEXT(
XrInstance instance,
XrSystemId systemId,
XrSpatialCapabilityEXT capability,
uint32_t capabilityFeatureCapacityInput,
uint32_t* capabilityFeatureCountOutput,
XrSpatialCapabilityFeatureEXT* capabilityFeatures);
Parameters
The application discovers the features supported by a given system for a XrSpatialCapabilityEXT by using xrEnumerateSpatialCapabilityFeaturesEXT.
Description
For capabilities that have features exposed, the application selects the
feature or features to enable and provides the corresponding configuration
structure in the next chain of the capability configuration structures in
XrSpatialContextCreateInfoEXT::capabilityConfigs.
If capability is not a capability enumerated by
xrEnumerateSpatialCapabilitiesEXT, the runtime must return
XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT.
The runtime must not enumerate the spatial capability features whose
extension is not enabled for instance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpatialEntityComponentTypesBD(3)
Name
xrEnumerateSpatialEntityComponentTypesBD - Enumerate components that a spatial entity has
C Specification
The xrEnumerateSpatialEntityComponentTypesBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrEnumerateSpatialEntityComponentTypesBD(
XrSenseDataSnapshotBD snapshot,
XrSpatialEntityIdBD entityId,
uint32_t componentTypeCapacityInput,
uint32_t* componentTypeCountOutput,
XrSpatialEntityComponentTypeBD* componentTypes);
Parameters
The application inspects the component types for a given
XrSpatialEntityIdBD using
xrEnumerateSpatialEntityComponentTypesBD.
The application may skip enumerating component types and proceed directly
to attempting to access component data.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSpatialPersistenceScopesEXT(3)
Name
xrEnumerateSpatialPersistenceScopesEXT - Enumerate supported spatial persistence scopes in the selected system.
C Specification
The xrEnumerateSpatialPersistenceScopesEXT function is defined as:
// Provided by XR_EXT_spatial_persistence
XrResult xrEnumerateSpatialPersistenceScopesEXT(
XrInstance instance,
XrSystemId systemId,
uint32_t persistenceScopeCapacityInput,
uint32_t* persistenceScopeCountOutput,
XrSpatialPersistenceScopeEXT* persistenceScopes);
Parameters
Description
The application can enumerate the list of spatial persistence scopes
supported by a given XrSystemId using
xrEnumerateSpatialPersistenceScopesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSupportedAnchorTrackableTypesANDROID(3)
Name
xrEnumerateSupportedAnchorTrackableTypesANDROID - Enumerates the types of anchor trackables supported
C Specification
The xrEnumerateSupportedAnchorTrackableTypesANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrEnumerateSupportedAnchorTrackableTypesANDROID(
XrInstance instance,
XrSystemId systemId,
uint32_t trackableTypeCapacityInput,
uint32_t* trackableTypeCountOutput,
XrTrackableTypeANDROID* trackableTypes);
Parameters
Description
xrEnumerateSupportedAnchorTrackableTypesANDROID enumerates the trackable types supported by the runtime for anchor creation.
If and only if a trackable type X is not returned by
xrEnumerateSupportedAnchorTrackableTypesANDROID, then the runtime
must return XR_ERROR_FEATURE_UNSUPPORTED when calling
xrCreateAnchorSpaceANDROID with X as the trackable type.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSupportedPersistenceAnchorTypesANDROID(3)
Name
xrEnumerateSupportedPersistenceAnchorTypesANDROID - Enumerate supported anchor types for persistence
C Specification
The xrEnumerateSupportedPersistenceAnchorTypesANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrEnumerateSupportedPersistenceAnchorTypesANDROID(
XrInstance instance,
XrSystemId systemId,
uint32_t trackableTypeCapacityInput,
uint32_t* trackableTypeCountOutput,
XrTrackableTypeANDROID* trackableTypes);
Parameters
Description
To check for support of anchor persistence on other XrTrackableTypeANDROID trackables the application calls xrEnumerateSupportedPersistenceAnchorTypesANDROID.
If and only if a runtime does not return a given
XrTrackableTypeANDROID in the trackableTypes array, the runtime
must return XR_ERROR_FEATURE_UNSUPPORTED from device anchor
persistence functions that operate on an anchor of that type.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSupportedTrackableTypesANDROID(3)
Name
xrEnumerateSupportedTrackableTypesANDROID - Enumerates the types of trackables supported
C Specification
The xrEnumerateSupportedTrackableTypesANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrEnumerateSupportedTrackableTypesANDROID(
XrInstance instance,
XrSystemId systemId,
uint32_t trackableTypeCapacityInput,
uint32_t* trackableTypeCountOutput,
XrTrackableTypeANDROID* trackableTypes);
Parameters
Description
xrEnumerateSupportedTrackableTypesANDROID enumerates the trackable types supported by the runtime for xrCreateTrackableTrackerANDROID.
If and only if a trackable type X is not returned by
xrEnumerateSupportedTrackableTypesANDROID, then the runtime must
return XR_ERROR_FEATURE_UNSUPPORTED when calling
xrCreateTrackableTrackerANDROID with X as the trackable type.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSwapchainFormats(3)
Name
xrEnumerateSwapchainFormats - Enumerates swapchain formats
C Specification
The xrEnumerateSwapchainFormats function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateSwapchainFormats(
XrSession session,
uint32_t formatCapacityInput,
uint32_t* formatCountOutput,
int64_t* formats);
Parameters
Description
xrEnumerateSwapchainFormats enumerates the texture formats supported
by the current session.
The type of formats returned are dependent on the graphics API specified by
the graphics binding structure passed to xrCreateSession.
For example, if a DirectX graphics API was specified, then the enumerated
formats correspond to the DXGI formats, such as
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.
Texture formats should be in order from highest to lowest runtime
preference.
The application should use the highest preference format that it supports
for optimal performance and quality.
Runtimes should support R8G8B8A8 and R8G8B8A8 formats with
non-linear ("sRGB") encoding if possible.
Runtimes must always return identical buffer contents from this enumeration for the lifetime of the session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSwapchainImages(3)
Name
xrEnumerateSwapchainImages - Gets images from an XrSwapchain
C Specification
The xrEnumerateSwapchainImages function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateSwapchainImages(
XrSwapchain swapchain,
uint32_t imageCapacityInput,
uint32_t* imageCountOutput,
XrSwapchainImageBaseHeader* images);
Parameters
Description
Fills an array of graphics API-specific XrSwapchainImage structures.
The resources must be constant and valid for the lifetime of the
XrSwapchain.
Runtimes must always return identical buffer contents from this enumeration for the lifetime of the swapchain.
Note: images is a pointer to an array of structures of graphics
API-specific type, not an array of structure pointers.
The pointer submitted as images will be treated as an array of the
expected graphics API-specific type based on the graphics API used at
session creation time.
If the type member of any array element accessed in this way does not
match the expected value, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
|
Note
|
Note
Under a typical memory model, a runtime must treat the supplied pointer as
an opaque blob beginning with XrSwapchainImageBaseHeader, until after
it has verified the XrSwapchainImageBaseHeader:: |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateViewConfigurationViews(3)
Name
xrEnumerateViewConfigurationViews - Gets view configuration views
C Specification
The xrEnumerateViewConfigurationViews function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateViewConfigurationViews(
XrInstance instance,
XrSystemId systemId,
XrViewConfigurationType viewConfigurationType,
uint32_t viewCapacityInput,
uint32_t* viewCountOutput,
XrViewConfigurationView* views);
Parameters
Description
Each XrViewConfigurationType defines the number of views associated
with it.
Applications can query more details of each view element using
xrEnumerateViewConfigurationViews.
If the supplied viewConfigurationType is not supported by this
XrInstance and XrSystemId, the runtime must return
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED.
Runtimes must always return identical buffer contents from this enumeration
for the given systemId and viewConfigurationType for the
lifetime of the instance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateViewConfigurations(3)
Name
xrEnumerateViewConfigurations - Enumerates supported view configurations
C Specification
The xrEnumerateViewConfigurations function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrEnumerateViewConfigurations(
XrInstance instance,
XrSystemId systemId,
uint32_t viewConfigurationTypeCapacityInput,
uint32_t* viewConfigurationTypeCountOutput,
XrViewConfigurationType* viewConfigurationTypes);
Parameters
Description
xrEnumerateViewConfigurations enumerates the view configuration types
supported by the XrSystemId.
The supported set for that system must not change during the lifetime of
its XrInstance.
The returned list of primary view configurations should be in order from
what the runtime considered highest to lowest user preference.
Thus the first enumerated view configuration type should be the one the
runtime prefers the application to use if possible.
Runtimes must always return identical buffer contents from this enumeration
for the given systemId and for the lifetime of the instance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateViveTrackerPathsHTCX(3)
Name
xrEnumerateViveTrackerPathsHTCX - Enumerates all connected VIVE trackers
C Specification
The xrEnumerateViveTrackerPathsHTCX function is defined as:
// Provided by XR_HTCX_vive_tracker_interaction
XrResult xrEnumerateViveTrackerPathsHTCX(
XrInstance instance,
uint32_t pathCapacityInput,
uint32_t* pathCountOutput,
XrViveTrackerPathsHTCX* paths);
Parameters
Description
xrEnumerateViveTrackerPathsHTCX enumerates all connected VIVE trackers to retrieve their paths under current instance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEraseSpaceFB(3)
Name
xrEraseSpaceFB - Erases a spatial entity from persistent storage
C Specification
The xrEraseSpaceFB function is defined as:
// Provided by XR_FB_spatial_entity_storage
XrResult xrEraseSpaceFB(
XrSession session,
const XrSpaceEraseInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrEraseSpaceFB function erases a spatial entity from storage at
the specified location.
The XrSpace remains valid in the current session until the application
destroys it or the session ends.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrSpaceEraseInfoFB::space is XR_NULL_HANDLE or otherwise
invalid.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrSpaceEraseInfoFB::location is invalid.
This operation is asynchronous and the runtime must post an
XrEventDataSpaceEraseCompleteFB event when the operation completes
successfully or encounters an error.
If this function returns a failure code, no event is posted.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEraseSpacesMETA(3)
Name
xrEraseSpacesMETA - Erases space(s) from persistent storage
C Specification
The xrEraseSpacesMETA function is defined as:
// Provided by XR_META_spatial_entity_persistence
XrResult xrEraseSpacesMETA(
XrSession session,
const XrSpacesEraseInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrEraseSpacesMETA function erases space(s) from storage. The scope of the erase operation is same-user, same-device, same-app. After a successful erase operation, the XrSpace remains valid in the current session until the application destroys the space handle or its parent, the session handle. That is, this does not destroy spaces from tracking, but if erase is successful, the spaces must be ephemeral again (undiscoverable across sessions).
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataSpacesEraseResultMETA.
The runtime must return XR_ERROR_HANDLE_INVALID from
xrEraseSpacesMETA if any of the
XrSpacesEraseInfoMETA::spaces are XR_NULL_HANDLE or
otherwise invalid (e.g. not a Meta Spatial Entity XrSpace).
Note that it is valid for a Meta Spatial Entity space that has not
previously been saved to be included in an erase operation; that portion of
the operation is a no-op.
At least one of XrSpacesEraseInfoMETA::uuids or
XrSpacesEraseInfoMETA::spaces must be populated.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrEraseSpacesMETA if either of the following are true:
-
The XrSpacesEraseInfoMETA::
spacesareNULLand the XrSpacesEraseInfoMETA::uuidsareNULL. -
The XrSpacesEraseInfoMETA::
spaceCountis 0 and the XrSpacesEraseInfoMETA::uuidCountis 0.
The lengths of the arrays must equal the corresponding counts (e.g.
spaceCount must equal the length of the spaces array).
When initiated unsuccessfully (i.e. the immediate return value of the xrEraseSpacesMETA call is an error), the erase operation terminates without erasing any Spatial Entities, and no erase result event is queued.
When initiated successfully (i.e. the immediate return value of the xrEraseSpacesMETA call is not an error), the full erase operation is asynchronous. The runtime must queue an XrEventDataSpacesEraseResultMETA event when the erase operation completes, either successfully, qualified success (warning), or with an error. See the XrEventDataSpacesEraseResultMETA for which XrResult enumerants may be returned in the event.
Note that if the XrEventDataSpacesEraseResultMETA::result is an
error, it is possible that any subset of the Spatial Entity Spaces were
erased.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrFreeWorldMeshBufferML(3)
Name
xrFreeWorldMeshBufferML - Frees memory.
C Specification
The xrFreeWorldMeshBufferML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrFreeWorldMeshBufferML(
XrWorldMeshDetectorML detector,
const XrWorldMeshBufferML* buffer);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGeometryInstanceSetTransformFB(3)
Name
xrGeometryInstanceSetTransformFB - Create a triangle mesh
C Specification
The xrGeometryInstanceSetTransformFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrGeometryInstanceSetTransformFB(
XrGeometryInstanceFB instance,
const XrGeometryInstanceTransformFB* transformation);
Parameters
Description
Sets an XrGeometryInstanceTransformFB transform on an XrGeometryInstanceFB geometry instance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStateBoolean(3)
Name
xrGetActionStateBoolean - Gets boolean action state
C Specification
xrGetActionStateBoolean retrieves the current state of a boolean action. It is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetActionStateBoolean(
XrSession session,
const XrActionStateGetInfo* getInfo,
XrActionStateBoolean* state);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStateFloat(3)
Name
xrGetActionStateFloat - Gets a floating point action state
C Specification
xrGetActionStateFloat retrieves the current state of a floating-point action. It is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetActionStateFloat(
XrSession session,
const XrActionStateGetInfo* getInfo,
XrActionStateFloat* state);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStatePose(3)
Name
xrGetActionStatePose - Gets metadata from a pose action
C Specification
The xrGetActionStatePose function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetActionStatePose(
XrSession session,
const XrActionStateGetInfo* getInfo,
XrActionStatePose* state);
Parameters
Description
xrGetActionStatePose returns information about the binding and active state for the specified action. To determine the pose of this action at a historical or predicted time, the application can create an action space using xrCreateActionSpace. Then, after each sync, the application can locate the pose of this action space within a base space using xrLocateSpace.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStateVector2f(3)
Name
xrGetActionStateVector2f - Gets 2D float vector action state
C Specification
xrGetActionStateVector2f retrieves the current state of a two-dimensional vector action. It is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetActionStateVector2f(
XrSession session,
const XrActionStateGetInfo* getInfo,
XrActionStateVector2f* state);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetAllTrackablesANDROID(3)
Name
xrGetAllTrackablesANDROID - Gets all trackables of a given type
C Specification
The xrGetAllTrackablesANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrGetAllTrackablesANDROID(
XrTrackableTrackerANDROID trackableTracker,
uint32_t trackableCapacityInput,
uint32_t* trackableCountOutput,
XrTrackableANDROID* trackables);
Parameters
Description
xrGetAllTrackablesANDROID fills an array of
XrTrackableANDROID representing the trackables found in the
environment.
The XrTrackableTypeANDROID of the returned trackables must
match the XrTrackableTypeANDROID of the trackableTracker.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetAnchorPersistStateANDROID(3)
Name
xrGetAnchorPersistStateANDROID - Get anchor persistence state
C Specification
The xrGetAnchorPersistStateANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrGetAnchorPersistStateANDROID(
XrDeviceAnchorPersistenceANDROID handle,
const XrUuidEXT* anchorId,
XrAnchorPersistStateANDROID* persistState);
Parameters
Description
-
The runtime must set
persistStatetoXR_ANCHOR_PERSIST_STATE_PERSIST_NOT_REQUESTED_ANDROIDif the anchor XrUuidEXT has not been requested for persistence. -
The runtime must return
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROIDif the persisted data ofanchorIdis not ready.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetAnchorUuidBD(3)
Name
xrGetAnchorUuidBD - Get spatial entity anchor UUID
C Specification
The xrGetAnchorUuidBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrGetAnchorUuidBD(
XrAnchorBD anchor,
XrUuidEXT* uuid);
Parameters
Description
The application can get the anchor UUID using xrGetAnchorUuidBD. If the XrAnchorBD is created from a spatial entity, the anchor’s UUID is the same as the spatial entity’s UUID. .Valid Usage (Implicit)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetAudioInputDeviceGuidOculus(3)
Name
xrGetAudioInputDeviceGuidOculus - Query the GUID for the active audio input device
C Specification
// Provided by XR_OCULUS_audio_device_guid
XrResult xrGetAudioInputDeviceGuidOculus(
XrInstance instance,
wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetAudioOutputDeviceGuidOculus(3)
Name
xrGetAudioOutputDeviceGuidOculus - Query the GUID for the active audio output device
C Specification
// Provided by XR_OCULUS_audio_device_guid
XrResult xrGetAudioOutputDeviceGuidOculus(
XrInstance instance,
wchar_t buffer[XR_MAX_AUDIO_DEVICE_STR_SIZE_OCULUS]);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetBodySkeletonFB(3)
Name
xrGetBodySkeletonFB - Retrieve body skeleton
C Specification
The xrGetBodySkeletonFB function returns the body skeleton in T-pose.
// Provided by XR_FB_body_tracking
XrResult xrGetBodySkeletonFB(
XrBodyTrackerFB bodyTracker,
XrBodySkeletonFB* skeleton);
Parameters
Description
This function can be used to query the skeleton scale and proportions in
conjunction with XrBodyJointLocationsFB::skeletonChangedCount.
XrBodyJointLocationsFB::skeletonChangedCount is incremented
whenever the tracking auto-calibrates the user skeleton scale and
proportions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetBodySkeletonHTC(3)
Name
xrGetBodySkeletonHTC - Retrieve body skeleton
C Specification
The xrGetBodySkeletonHTC function is defined as:
// Provided by XR_HTC_body_tracking
XrResult xrGetBodySkeletonHTC(
XrBodyTrackerHTC bodyTracker,
XrSpace baseSpace,
uint32_t skeletonGenerationId,
XrBodySkeletonHTC* skeleton);
Parameters
Description
The xrGetBodySkeletonHTC function returns the body skeleton in T-pose.
This function can be used to get body skeleton and infer the skeleton scale
and proportions in conjunction with
XrBodyJointLocationsHTC::skeletonGenerationId.
XrBodyJointLocationsHTC::skeletonGenerationId is generated when
the tracking auto-calibrates the user skeleton scale and proportions.
If the application supplies a skeletonGenerationId that does not match
any value returned in
XrBodyJointLocationsHTC::skeletonGenerationId during the current
session, the runtime must return XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetControllerModelKeyMSFT(3)
Name
xrGetControllerModelKeyMSFT - Retrieve the model key for the controller
C Specification
xrGetControllerModelKeyMSFT retrieves the
XrControllerModelKeyMSFT for a controller.
This model key may later be used to retrieve the model data.
The xrGetControllerModelKeyMSFT function is defined as:
// Provided by XR_MSFT_controller_model
XrResult xrGetControllerModelKeyMSFT(
XrSession session,
XrPath topLevelUserPath,
XrControllerModelKeyStateMSFT* controllerModelKeyState);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetControllerModelPropertiesMSFT(3)
Name
xrGetControllerModelPropertiesMSFT - Get controller model properties
C Specification
The xrGetControllerModelPropertiesMSFT function returns the controller
model properties for a given modelKey.
// Provided by XR_MSFT_controller_model
XrResult xrGetControllerModelPropertiesMSFT(
XrSession session,
XrControllerModelKeyMSFT modelKey,
XrControllerModelPropertiesMSFT* properties);
Parameters
Description
The runtime must return the same data in
XrControllerModelPropertiesMSFT for a valid modelKey.
Therefore, the application can cache the returned
XrControllerModelPropertiesMSFT using modelKey and reuse the
data for each frame.
If the input modelKey is invalid, i.e. it is
XR_NULL_CONTROLLER_MODEL_KEY_MSFT or not a key returned from
XrControllerModelKeyStateMSFT, the runtime must return
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetControllerModelStateMSFT(3)
Name
xrGetControllerModelStateMSFT - Get controller model state
C Specification
The xrGetControllerModelStateMSFT function returns the current state of the controller model representing user’s interaction to the controller, such as pressing a button or pulling a trigger.
// Provided by XR_MSFT_controller_model
XrResult xrGetControllerModelStateMSFT(
XrSession session,
XrControllerModelKeyMSFT modelKey,
XrControllerModelStateMSFT* state);
Parameters
Description
The runtime may return different state for a model key after each call to xrSyncActions, which represents the latest state of the user interactions.
If the input modelKey is invalid, i.e. it is
XR_NULL_CONTROLLER_MODEL_KEY_MSFT or not a key returned from
XrControllerModelKeyStateMSFT, the runtime must return
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetCurrentInteractionProfile(3)
Name
xrGetCurrentInteractionProfile - Gets the current interaction profile for a top level user paths
C Specification
The xrGetCurrentInteractionProfile function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetCurrentInteractionProfile(
XrSession session,
XrPath topLevelUserPath,
XrInteractionProfileState* interactionProfile);
Parameters
Description
xrGetCurrentInteractionProfile retrieves the current interaction profile for a top level user path.
The runtime must return only interaction profiles for which the application has provided suggested bindings with xrSuggestInteractionProfileBindings or XR_NULL_PATH. The runtime may return interaction profiles that do not represent physically present hardware, for example if the runtime is using a known interaction profile to bind to hardware that the application is not aware of. The runtime may return an anticipated interaction profile, from the list of interaction profiles with suggested bindings (as supplied by the application through xrSuggestInteractionProfileBindings) for this top level /user path, in the event that no controllers are active. Whether the runtime reports an interaction profile path or XR_NULL_PATH does not provide any signal to the application regarding presence or absence of a controller or other interaction method.
If xrAttachSessionActionSets has not yet been called for the
session, the runtime must return
XR_ERROR_ACTIONSET_NOT_ATTACHED.
If topLevelUserPath is not one of the top level user paths described
in https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#semantic-paths-user, the runtime must return
XR_ERROR_PATH_UNSUPPORTED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetD3D11GraphicsRequirementsKHR(3)
Name
xrGetD3D11GraphicsRequirementsKHR - Retrieve the D3D11 feature level and graphics device requirements for an instance and system
C Specification
The xrGetD3D11GraphicsRequirementsKHR function is defined as:
// Provided by XR_KHR_D3D11_enable
XrResult xrGetD3D11GraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsD3D11KHR* graphicsRequirements);
Parameters
Description
This call retrieves the D3D11 feature level and graphics device for an
instance and system.
The xrGetD3D11GraphicsRequirementsKHR function identifies to the
application the graphics device (Windows LUID) to be used and the minimum
feature level to use.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if xrGetD3D11GraphicsRequirementsKHR
has not been called for the same instance and systemId.
The LUID and feature level that xrGetD3D11GraphicsRequirementsKHR
returns must be used to create the ID3D11Device that the application
passes to xrCreateSession in the XrGraphicsBindingD3D11KHR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetD3D12GraphicsRequirementsKHR(3)
Name
xrGetD3D12GraphicsRequirementsKHR - Retrieve the D3D12 feature level and graphics device requirements for an instance and system
C Specification
The xrGetD3D12GraphicsRequirementsKHR function is defined as:
// Provided by XR_KHR_D3D12_enable
XrResult xrGetD3D12GraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsD3D12KHR* graphicsRequirements);
Parameters
Description
This call retrieves the D3D12 feature level and graphics device for an
instance and system.
The xrGetD3D12GraphicsRequirementsKHR function identifies to the
application the graphics device (Windows LUID) to be used and the minimum
feature level to use.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if xrGetD3D12GraphicsRequirementsKHR
has not been called for the same instance and systemId.
The LUID and feature level that xrGetD3D12GraphicsRequirementsKHR
returns must be used to create the ID3D12Device that the application
passes to xrCreateSession in the XrGraphicsBindingD3D12KHR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetDeviceSampleRateFB(3)
Name
xrGetDeviceSampleRateFB - Get device sample rate
C Specification
// Provided by XR_FB_haptic_pcm
XrResult xrGetDeviceSampleRateFB(
XrSession session,
const XrHapticActionInfo* hapticActionInfo,
XrDevicePcmSampleRateGetInfoFB* deviceSampleRate);
Parameters
Description
The runtime must use the hapticActionInfo to get the sample rate of
the currently bound device on which haptics is triggered and populate the
deviceSampleRate structure.
The device is determined by the XrHapticActionInfo::action and
XrHapticActionInfo::subactionPath.
If the hapticActionInfo is bound to more than one device, then runtime
should assume that the all these bound devices have the same
deviceSampleRate and the runtime should return the sampleRate for any
of those bound devices.
If the device is invalid, the runtime must populate the
deviceSampleRate of XrDevicePcmSampleRateStateFB as 0.
A device can be invalid if the runtime does not find any device (which can
play haptics) connected to the headset, or if the device does not support
PCM haptic effect.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetDisplayRefreshRateFB(3)
Name
xrGetDisplayRefreshRateFB - Get the current display refresh rate
C Specification
The xrGetDisplayRefreshRateFB function is defined as:
// Provided by XR_FB_display_refresh_rate
XrResult xrGetDisplayRefreshRateFB(
XrSession session,
float* displayRefreshRate);
Parameters
Description
xrGetDisplayRefreshRateFB retrieves the current display refresh rate.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetEnvironmentDepthSwapchainStateMETA(3)
Name
xrGetEnvironmentDepthSwapchainStateMETA - Returns the state of the readable depth swapchain.
C Specification
The xrGetEnvironmentDepthSwapchainStateMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrGetEnvironmentDepthSwapchainStateMETA(
XrEnvironmentDepthSwapchainMETA swapchain,
XrEnvironmentDepthSwapchainStateMETA* state);
Parameters
Description
xrGetEnvironmentDepthSwapchainStateMETA retrieves information about the XrEnvironmentDepthSwapchainMETA. This information is constant throughout the lifetime of the XrEnvironmentDepthSwapchainMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetExportedLocalizationMapDataML(3)
Name
xrGetExportedLocalizationMapDataML - Returns the exported localization map data.
C Specification
The xrGetExportedLocalizationMapDataML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrGetExportedLocalizationMapDataML(
XrExportedLocalizationMapML map,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
xrGetExportedLocalizationMapDataML may take a long time to complete; as such applications should not call this from the frame loop.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetEyeGazesFB(3)
Name
xrGetEyeGazesFB - Locate eye gaze directions
C Specification
The xrGetEyeGazesFB function is defined as:
// Provided by XR_FB_eye_tracking_social
XrResult xrGetEyeGazesFB(
XrEyeTrackerFB eyeTracker,
const XrEyeGazesInfoFB* gazeInfo,
XrEyeGazesFB* eyeGazes);
Parameters
Description
The xrGetEyeGazesFB function obtains pose for a user’s eyes at a specific time and within a specific coordinate system.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFaceCalibrationStateANDROID(3)
Name
xrGetFaceCalibrationStateANDROID - Gets face calibration state
C Specification
The xrGetFaceCalibrationStateANDROID function is defined as:
// Provided by XR_ANDROID_face_tracking
XrResult xrGetFaceCalibrationStateANDROID(
XrFaceTrackerANDROID faceTracker,
XrBool32* faceIsCalibratedOutput);
Parameters
Description
An application checks the face calibration state by calling the xrGetFaceCalibrationStateANDROID function.
When the tracking service is still under initialization, the runtime may
return XR_ERROR_SERVICE_NOT_READY_ANDROID from
xrGetFaceCalibrationStateANDROID to indicate that the application can
retry later.
If the system does not support face calibration, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from
xrGetFaceCalibrationStateANDROID.
Otherwise, the runtime may set faceIsCalibratedOutput to
XR_TRUE to reflect the face calibration state.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFaceExpressionWeights2FB(3)
Name
xrGetFaceExpressionWeights2FB - Obtain blend shapes of facial expression
C Specification
The xrGetFaceExpressionWeights2FB function is defined as:
// Provided by XR_FB_face_tracking2
XrResult xrGetFaceExpressionWeights2FB(
XrFaceTracker2FB faceTracker,
const XrFaceExpressionInfo2FB* expressionInfo,
XrFaceExpressionWeights2FB* expressionWeights);
Parameters
Description
The xrGetFaceExpressionWeights2FB function return blend shapes of facial expression at a given time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFaceExpressionWeightsFB(3)
Name
xrGetFaceExpressionWeightsFB - Obtain blend shapes of facial expression
C Specification
The xrGetFaceExpressionWeightsFB function return blend shapes of facial expression at a given time.
// Provided by XR_FB_face_tracking
XrResult xrGetFaceExpressionWeightsFB(
XrFaceTrackerFB faceTracker,
const XrFaceExpressionInfoFB* expressionInfo,
XrFaceExpressionWeightsFB* expressionWeights);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFaceStateANDROID(3)
Name
xrGetFaceStateANDROID - Obtain blend shapes of facial expressions
C Specification
The xrGetFaceStateANDROID function returns blend shapes of facial expressions at a given time.
// Provided by XR_ANDROID_face_tracking
XrResult xrGetFaceStateANDROID(
XrFaceTrackerANDROID faceTracker,
const XrFaceStateGetInfoANDROID* getInfo,
XrFaceStateANDROID* faceStateOutput);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFacialExpressionBlendShapePropertiesML(3)
Name
xrGetFacialExpressionBlendShapePropertiesML - Obtain blend shape of facial expression
C Specification
The xrGetFacialExpressionBlendShapePropertiesML function is defined as:
// Provided by XR_ML_facial_expression
XrResult xrGetFacialExpressionBlendShapePropertiesML(
XrFacialExpressionClientML facialExpressionClient,
const XrFacialExpressionBlendShapeGetInfoML* blendShapeGetInfo,
uint32_t blendShapeCount,
XrFacialExpressionBlendShapePropertiesML* blendShapes);
Parameters
Description
XrFacialExpressionBlendShapePropertiesML is better thought of as a mutable state rather than an immutable property. In general, OpenXR convention tries to keep property data types to be immutable.
The xrGetFacialExpressionBlendShapePropertiesML function returns the XrFacialExpressionBlendShapePropertiesML of each blend shape requested in XrFacialExpressionClientCreateInfoML
Each XrFacialExpressionBlendShapePropertiesML in blendShapes
must have its requestedFacialBlendShape member variable initialized
before being passed into xrGetFacialExpressionBlendShapePropertiesML.
If a blend shape in blendShapes is not enabled in
xrCreateFacialExpressionClientML, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
For unsupported blend shapes, the runtime must clear
XrFacialExpressionBlendShapePropertiesML::flags and the runtime
must also return XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFacialExpressionsHTC(3)
Name
xrGetFacialExpressionsHTC - Retrieve facial expressions
C Specification
The xrGetFacialExpressionsHTC function is defined as:
// Provided by XR_HTC_facial_tracking
XrResult xrGetFacialExpressionsHTC(
XrFacialTrackerHTC facialTracker,
XrFacialExpressionsHTC* facialExpressions);
Parameters
Description
xrGetFacialExpressionsHTC retrieves an array of values of blend shapes for a facial expression on a given time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFacialSimulationDataBD(3)
Name
xrGetFacialSimulationDataBD - Get blend shapes of facial expression
C Specification
The xrGetFacialSimulationDataBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrGetFacialSimulationDataBD(
XrFaceTrackerBD tracker,
const XrFacialSimulationDataGetInfoBD* info,
XrFacialSimulationDataBD* facialData);
Parameters
Description
The xrGetFacialSimulationDataBD function returns the blend shapes of facial expression.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFacialSimulationModeBD(3)
Name
xrGetFacialSimulationModeBD - The function to query tracker mode
C Specification
The xrGetFacialSimulationModeBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrGetFacialSimulationModeBD(
XrFaceTrackerBD tracker,
XrFacialSimulationModeBD* mode);
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetFoveationEyeTrackedStateMETA(3)
Name
xrGetFoveationEyeTrackedStateMETA - Get the current eye tracked foveation state
C Specification
The xrGetFoveationEyeTrackedStateMETA function is defined as:
// Provided by XR_META_foveation_eye_tracked
XrResult xrGetFoveationEyeTrackedStateMETA(
XrSession session,
XrFoveationEyeTrackedStateMETA* foveationState);
Parameters
Description
The xrGetFoveationEyeTrackedStateMETA function returns the current eye tracked foveation state including the center of the foveal region, validity of the foveation data, etc.
Note that xrUpdateSwapchainFB should be called right before the xrGetFoveationEyeTrackedStateMETA function in order to (1) request a foveation pattern update by the runtime (2) optionally instruct the runtime to adjust the eye tracking camera capture start time in order to optimize for pipeline latency.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetHandMeshFB(3)
Name
xrGetHandMeshFB - Create a foveation profile
C Specification
The xrGetHandMeshFB function is defined as:
// Provided by XR_FB_hand_tracking_mesh
XrResult xrGetHandMeshFB(
XrHandTrackerEXT handTracker,
XrHandTrackingMeshFB* mesh);
Parameters
Description
The xrGetHandMeshFB function populates an XrHandTrackingMeshFB structure with enough information to render a skinned mesh driven by the hand joints. As discussed in the specification for that structure, the data enumerated by this call is constant during the lifetime of an XrInstance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetInputSourceLocalizedName(3)
Name
xrGetInputSourceLocalizedName - Gets a localized source name
C Specification
The xrGetInputSourceLocalizedName function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetInputSourceLocalizedName(
XrSession session,
const XrInputSourceLocalizedNameGetInfo* getInfo,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
xrGetInputSourceLocalizedName returns a string for the bound source in the current system locale.
If xrAttachSessionActionSets has not yet been called for the session,
the runtime must return XR_ERROR_ACTIONSET_NOT_ATTACHED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetInstanceProcAddr(3)
Name
xrGetInstanceProcAddr - Gets a function pointer for an OpenXR function
C Specification
Function pointers for all OpenXR functions can be obtained with the function xrGetInstanceProcAddr.
// Provided by XR_VERSION_1_0
XrResult xrGetInstanceProcAddr(
XrInstance instance,
const char* name,
PFN_xrVoidFunction* function);
Parameters
Description
xrGetInstanceProcAddr itself is obtained in a platform- and loader- specific manner. Typically, the loader library will export this function as a function symbol, so applications can link against the loader library, or load it dynamically and look up the symbol using platform-specific APIs. Loaders must export function symbols for all core OpenXR functions. Because of this, applications that use only the core OpenXR functions have no need to use xrGetInstanceProcAddr.
Because an application can call xrGetInstanceProcAddr before creating
an instance, xrGetInstanceProcAddr must return a valid function
pointer when the instance parameter is XR_NULL_HANDLE and the
name parameter is one of the following strings:
xrGetInstanceProcAddr must return XR_ERROR_HANDLE_INVALID if
name is not one of the above strings and instance is
XR_NULL_HANDLE.
xrGetInstanceProcAddr may return XR_ERROR_HANDLE_INVALID if
name is not one of the above strings and instance is invalid but
not XR_NULL_HANDLE.
xrGetInstanceProcAddr must return XR_ERROR_FUNCTION_UNSUPPORTED
if instance is a valid instance and the string specified in name
is not the name of an OpenXR core or enabled extension function.
If name is the name of an extension function, then the result returned
by xrGetInstanceProcAddr will depend upon how the instance was
created.
If instance was created with the related extension’s name appearing in
the XrInstanceCreateInfo::enabledExtensionNames array, then
xrGetInstanceProcAddr returns a valid function pointer.
If the related extension’s name did not appear in the
XrInstanceCreateInfo::enabledExtensionNames array during the
creation of instance, then xrGetInstanceProcAddr returns
XR_ERROR_FUNCTION_UNSUPPORTED.
Because of this, function pointers returned by xrGetInstanceProcAddr
using one XrInstance may not be valid when used with objects related
to a different XrInstance.
The returned function pointer is of type PFN_xrVoidFunction, and must be cast by the application to the type of the function being queried.
The table below defines the various use cases for xrGetInstanceProcAddr and return value (“fp” is “function pointer”) for each case.
instance parameter |
name parameter |
return value |
|---|---|---|
* |
|
undefined |
invalid instance |
* |
undefined |
|
fp |
|
|
fp |
|
|
fp |
|
|
* (any |
|
instance |
core OpenXR function |
fp1 |
instance |
enabled extension function for |
fp1 |
instance |
* (any |
|
- 1
-
The returned function pointer must only be called with a handle (the first parameter) that is
instanceor a child ofinstance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetInstanceProperties(3)
Name
xrGetInstanceProperties - Gets information about the instance
C Specification
The xrGetInstanceProperties function provides information about the instance and the associated runtime.
// Provided by XR_VERSION_1_0
XrResult xrGetInstanceProperties(
XrInstance instance,
XrInstanceProperties* instanceProperties);
Parameters
Description
The instanceProperties parameter must be filled out by the runtime in
response to this call, with information as defined in
XrInstanceProperties.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerDetectorStateML(3)
Name
xrGetMarkerDetectorStateML - Get the current state of the marker detector
C Specification
The xrGetMarkerDetectorStateML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkerDetectorStateML(
XrMarkerDetectorML markerDetector,
XrMarkerDetectorStateML* state);
Parameters
Description
xrGetMarkerDetectorStateML is used after calling
xrSnapshotMarkerDetectorML to check the current status of the snapshot
in progress.
When XrMarkerDetectorStateML::state ==
XR_MARKER_DETECTOR_STATUS_READY_ML, the detector is ready to be
queried, while XR_MARKER_DETECTOR_STATUS_PENDING_ML indicates the
snapshot is still in progress.
XR_MARKER_DETECTOR_STATUS_ERROR_ML indicates that the runtime has
encountered an error getting a snapshot for the requested detector, which
may require user intervention to solve.
If xrSnapshotMarkerDetectorML has not yet been called for the
markerDetector, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerLengthML(3)
Name
xrGetMarkerLengthML - Query for the length of a marker
C Specification
The xrGetMarkerLengthML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkerLengthML(
XrMarkerDetectorML markerDetector,
XrMarkerML marker,
float* meters);
Parameters
Description
Get the size of the marker, defined as the length in meters per side. If the application created the detector while passing in a XrMarkerDetectorSizeInfoML, this query may be redundant. xrGetMarkerLengthML is primarily intended to query for a runtime estimated size when an application did not indicate the expected size via XrMarkerDetectorSizeInfoML.
xrGetMarkerLengthML must only be called when the state of the
detector is XR_MARKER_DETECTOR_STATUS_READY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
The runtime must return XR_ERROR_MARKER_INVALID_ML if the marker atom
is invalid.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerNumberML(3)
Name
xrGetMarkerNumberML - Get the number of a marker, such as the ArUco ID.
C Specification
The xrGetMarkerNumberML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkerNumberML(
XrMarkerDetectorML markerDetector,
XrMarkerML marker,
uint64_t* number);
Parameters
Description
Get the numerical value of a marker, such as the ArUco ID.
xrGetMarkerNumberML must only be called when the state of the
detector is XR_MARKER_DETECTOR_STATUS_READY_ML.
If the marker does not have an associated numerical value, the runtime must
return XR_ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
The runtime must return XR_ERROR_MARKER_INVALID_ML if the marker atom
is invalid.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerReprojectionErrorML(3)
Name
xrGetMarkerReprojectionErrorML - Get the reprojection error of a marker.
C Specification
The xrGetMarkerReprojectionErrorML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkerReprojectionErrorML(
XrMarkerDetectorML markerDetector,
XrMarkerML marker,
float* reprojectionErrorMeters);
Parameters
Description
Get the reprojection error of a marker, only available for certain types of
markers.
must only be called when the state of the detector is
XR_MARKER_DETECTOR_STATUS_READY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
A high reprojection error means that the estimated pose of the marker does not match well with the 2D detection on the processed video frame and thus the pose may be inaccurate. The error is given in meters, representing the displacement between real marker and its estimated pose. This means this is a normalized number, independent of marker distance or length.
The runtime must return XR_ERROR_MARKER_INVALID_ML if the marker atom
is invalid.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerSizeVARJO(3)
Name
xrGetMarkerSizeVARJO - Gets physical size of marker
C Specification
The xrGetMarkerSizeVARJO function is defined as:
// Provided by XR_VARJO_marker_tracking
XrResult xrGetMarkerSizeVARJO(
XrSession session,
uint64_t markerId,
XrExtent2Df* size);
Parameters
Description
The xrGetMarkerSizeVARJO function retrieves the height and width of an
active marker.
The runtime must return XR_ERROR_MARKER_NOT_TRACKED_VARJO if marker
tracking functionality is disabled or the marker with given markerId
is inactive.
The runtime must return XR_ERROR_MARKER_ID_INVALID_VARJO if the
supplied markerId is invalid.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkerStringML(3)
Name
xrGetMarkerStringML - Get string information from detected marker
C Specification
The xrGetMarkerStringML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkerStringML(
XrMarkerDetectorML markerDetector,
XrMarkerML marker,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
Get the string value of a marker, such as the QR encoded string.
xrCreateMarkerSpaceML must only be called when the state of the
detector is XR_MARKER_DETECTOR_STATUS_READY_ML.
If the marker does not have an associated string value, the runtime must
return XR_ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
This function follows the two-call
idiom for filling the buffer.
The runtime must return XR_ERROR_MARKER_INVALID_ML if the marker atom
is invalid.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMarkersML(3)
Name
xrGetMarkersML - Examine marker detection snapshot
C Specification
The xrGetMarkersML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrGetMarkersML(
XrMarkerDetectorML markerDetector,
uint32_t markerCapacityInput,
uint32_t* markerCountOutput,
XrMarkerML* markers);
Parameters
Description
Get the list of current snapshotted marker atoms, must only be called when
the state of the detector is XR_MARKER_DETECTOR_STATUS_READY_ML.
If xrGetMarkerDetectorStateML has not been called and returned
XR_MARKER_DETECTOR_STATUS_READY_ML since the last invocation of
xrSnapshotMarkerDetectorML, the runtime must return
XR_ERROR_CALL_ORDER_INVALID.
The returned atoms are only valid while in the
XR_MARKER_DETECTOR_STATUS_READY_ML state.
The runtime must return the same atom value for the same uniquely
identifiable marker across successive snapshots.
It is unspecified what happens if the detector is observing two markers with
the same identification patterns.
Assuming the same set of markers are in view across several snapshots, the runtime should return the same set of atoms. An application can use the list of atoms as a simple test for if a particular marker has gone in or out of view.
Note that XrMarkerML atoms are only usable with the
XrMarkerDetectorML that returned them.
This function follows the two-call
idiom for filling the markers.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetMetalGraphicsRequirementsKHR(3)
Name
xrGetMetalGraphicsRequirementsKHR - Retrieve the Metal device to use in drawing operations
C Specification
To retrieve the Metal device that can be used in drawing operations, call:
// Provided by XR_KHR_metal_enable
XrResult xrGetMetalGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsMetalKHR* graphicsRequirements);
Parameters
Description
The xrGetMetalGraphicsRequirementsKHR function identifies to the
application the Metal device to be used in drawing operations.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
on calls to xrCreateSession if xrGetMetalGraphicsRequirementsKHR
has not been called for the same instance and systemId.
The Metal device that xrGetMetalGraphicsRequirementsKHR returns must be used to create the Metal command queue that the application passes to xrCreateSession in the XrGraphicsBindingMetalKHR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetOpenGLESGraphicsRequirementsKHR(3)
Name
xrGetOpenGLESGraphicsRequirementsKHR - Retrieve the OpenGL ES version requirements for an instance and system
C Specification
The xrGetOpenGLESGraphicsRequirementsKHR function is defined as:
// Provided by XR_KHR_opengl_es_enable
XrResult xrGetOpenGLESGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements);
Parameters
Description
This call queries OpenGL ES API version requirements for an instance and
system.
The xrGetOpenGLESGraphicsRequirementsKHR function identifies to the
application the minimum OpenGL ES version requirement and the highest known
tested OpenGL ES version.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if
xrGetOpenGLESGraphicsRequirementsKHR has not been called for the same
instance and systemId.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetOpenGLGraphicsRequirementsKHR(3)
Name
xrGetOpenGLGraphicsRequirementsKHR - Retrieve the OpenGL version requirements for an instance and system
C Specification
The xrGetOpenGLGraphicsRequirementsKHR function is defined as:
// Provided by XR_KHR_opengl_enable
XrResult xrGetOpenGLGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsOpenGLKHR* graphicsRequirements);
Parameters
Description
This call queries OpenGL API version requirements for an instance and
system.
The xrGetOpenGLGraphicsRequirementsKHR function identifies to the
application the minimum OpenGL version requirement and the highest known
tested OpenGL version.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if
xrGetOpenGLGraphicsRequirementsKHR has not been called for the same
instance and systemId.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPassthroughCameraStateANDROID(3)
Name
xrGetPassthroughCameraStateANDROID - Camera State Info
C Specification
// Provided by XR_ANDROID_passthrough_camera_state
XrResult xrGetPassthroughCameraStateANDROID(
XrSession session,
const XrPassthroughCameraStateGetInfoANDROID* getInfo,
XrPassthroughCameraStateANDROID* cameraStateOutput);
Parameters
Description
xrGetPassthroughCameraStateANDROID retrieves the current state of the passthrough camera.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPassthroughPreferencesMETA(3)
Name
xrGetPassthroughPreferencesMETA - Get passthrough preferences
C Specification
The xrGetPassthroughPreferencesMETA function is defined as:
// Provided by XR_META_passthrough_preferences
XrResult xrGetPassthroughPreferencesMETA(
XrSession session,
XrPassthroughPreferencesMETA* preferences);
Parameters
Description
An application can call xrGetPassthroughPreferencesMETA to retrieve passthrough-related preferences from the system.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPerformanceMetricsStateMETA(3)
Name
xrGetPerformanceMetricsStateMETA - Get current state of performance metrics
C Specification
The xrGetPerformanceMetricsStateMETA function is defined as:
// Provided by XR_META_performance_metrics
XrResult xrGetPerformanceMetricsStateMETA(
XrSession session,
XrPerformanceMetricsStateMETA* state);
Parameters
Description
The xrGetPerformanceMetricsStateMETA function gets the current state of the performance metrics system.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPlaneDetectionStateEXT(3)
Name
xrGetPlaneDetectionStateEXT - Get the state of the plane detection pass
C Specification
The xrGetPlaneDetectionStateEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrGetPlaneDetectionStateEXT(
XrPlaneDetectorEXT planeDetector,
XrPlaneDetectionStateEXT* state);
Parameters
Description
The xrGetPlaneDetectionStateEXT function retrieves the state of the plane query and must be called before calling xrGetPlaneDetectionsEXT.
If the plane detection has not yet finished state must be
XR_PLANE_DETECTION_STATE_PENDING_EXT.
If the plane detection has finished state must be
XR_PLANE_DETECTION_STATE_DONE_EXT.
If no plane detection was previously started
XR_PLANE_DETECTION_STATE_NONE_EXT must be returned.
For all three states the function must return XR_SUCCESS.
When a query error occurs the function must return XR_SUCCESS and the
appropriate error state value must be set.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPlaneDetectionsEXT(3)
Name
xrGetPlaneDetectionsEXT - Get the detected planes
C Specification
The xrGetPlaneDetectionsEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrGetPlaneDetectionsEXT(
XrPlaneDetectorEXT planeDetector,
const XrPlaneDetectorGetInfoEXT* info,
XrPlaneDetectorLocationsEXT* locations);
Parameters
Description
xrGetPlaneDetectionsEXT must return XR_ERROR_CALL_ORDER_INVALID
if the detector state reported by xrGetPlaneDetectionStateEXT is not
XR_PLANE_DETECTION_STATE_DONE_EXT for the current query started by
xrBeginPlaneDetectionEXT.
If the XrPlaneDetectorGetInfoEXT::baseSpace is not locatable
XR_ERROR_SPACE_NOT_LOCATABLE_EXT must be returned.
Once xrBeginPlaneDetectionEXT is called again, the previous results for that handle are no longer available. The application should cache them before calling xrBeginPlaneDetectionEXT again if it needs access to that data while waiting for updated detection results.
Upon the completion of a detection cycle (xrBeginPlaneDetectionEXT, xrGetPlaneDetectionStateEXT to xrGetPlaneDetectionsEXT) the runtime must keep a snapshot of the plane data and no data may be modified. Calling xrGetPlaneDetectionsEXT multiple times with the same baseSpace and time must return the same plane pose data.
The current snapshot, if any, must be discarded upon calling xrBeginPlaneDetectionEXT.
If the XrEventDataReferenceSpaceChangePending is queued and the changeTime elapsed while the application is holding cached data the application may use the event data to adjust the poses accordingly.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetPlanePolygonBufferEXT(3)
Name
xrGetPlanePolygonBufferEXT - Gets the plane
C Specification
The xrGetPlanePolygonBufferEXT function is defined as:
// Provided by XR_EXT_plane_detection
XrResult xrGetPlanePolygonBufferEXT(
XrPlaneDetectorEXT planeDetector,
uint64_t planeId,
uint32_t polygonBufferIndex,
XrPlaneDetectorPolygonBufferEXT* polygonBuffer);
Parameters
Description
The xrGetPlanePolygonBufferEXT function retrieves the plane’s polygon
buffer for the given planeId and polygonBufferIndex.
Calling xrGetPlanePolygonBufferEXT with polygonBufferIndex equal
to 0 must return the outside contour, if available.
Calls with non-zero indices less than
XrPlaneDetectorLocationEXT::polygonBufferCount must return
polygons corresponding to holes in the plane.
This feature may not be supported by all runtimes, check the
XrSystemPlaneDetectionPropertiesEXT::supportedFeatures for
support.
Outside contour polygon vertices must be ordered in counter clockwise order. Vertices of holes must be ordered in clockwise order. The right-hand rule is used to determine the direction of the normal of this plane. The polygon contour data is relative to the pose of the plane and coplanar with it.
This function only retrieves polygons, which means that it needs to be converted to a regular mesh to be rendered.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetQueriedSenseDataBD(3)
Name
xrGetQueriedSenseDataBD - Get queried sense data
C Specification
The xrGetQueriedSenseDataBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrGetQueriedSenseDataBD(
XrSenseDataSnapshotBD snapshot,
XrQueriedSenseDataGetInfoBD* getInfo,
XrQueriedSenseDataBD* queriedSenseData);
Parameters
The application can get queried sense data from the
XrSenseDataSnapshotBD using xrGetQueriedSenseDataBD.
queriedSenseData contains an application-allocated array that is
populated by the runtime, after capacity negotiation using the
two-call idiom, with entity ID, UUID, and last
update times for each entity in the snapshot.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRecommendedLayerResolutionMETA(3)
Name
xrGetRecommendedLayerResolutionMETA - Get the recommended layer resolution for a layer from the runtime
C Specification
The xrGetRecommendedLayerResolutionMETA function is defined as:
// Provided by XR_META_recommended_layer_resolution
XrResult xrGetRecommendedLayerResolutionMETA(
XrSession session,
const XrRecommendedLayerResolutionGetInfoMETA* info,
XrRecommendedLayerResolutionMETA* resolution);
Parameters
Description
The xrGetRecommendedLayerResolutionMETA function returns the recommendation that the runtime wishes to make to the application for the layer provided in the XrRecommendedLayerResolutionGetInfoMETA structure. Application may choose to reallocate their swapchain or scale view resolution accordingly. Applications rendering multiple views into the swapchain may scale individual views to match the recommended swapchain resolution.
The runtime may not wish to make any recommendation, in which case it must
return an XrRecommendedLayerResolutionMETA::isValid value of
XR_FALSE.
If the XrRecommendedLayerResolutionGetInfoMETA::layer attribute
of the info argument of the function contains valid swapchain handles
in all fields where required, the runtime must return a resolution
recommendation which is less than or equal to the size of that swapchain, so
that the application may render into an existing swapchain or swapchains
without reallocation.
As an exception to valid usage, an otherwise-valid structure passed as
XrRecommendedLayerResolutionGetInfoMETA::layer may contain
XR_NULL_HANDLE in place of valid XrSwapchain handle(s) for this
function only, to obtain a recommended resolution resolution for the purpose
of allocating a swapchain.
If at least one otherwise-required XrSwapchain handle within
XrRecommendedLayerResolutionGetInfoMETA::layer is
XR_NULL_HANDLE, the runtime must interpret this as a request for
recommended resolution without limitation to the allocated size of any
existing swapchain.
If the runtime makes a recommendation, it should make a recommendation that is directly usable by the application to render its frames without creating adverse visual effects for the user.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetReferenceSpaceBoundsRect(3)
Name
xrGetReferenceSpaceBoundsRect - Gets the bounds rectangle of a reference space
C Specification
The xrGetReferenceSpaceBoundsRect function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetReferenceSpaceBoundsRect(
XrSession session,
XrReferenceSpaceType referenceSpaceType,
XrExtent2Df* bounds);
Parameters
Description
XR systems may have limited real world spatial ranges in which users can freely move around while remaining tracked. Applications sometimes wish to query these boundaries and alter application behavior or content placement to ensure the user can complete the experience while remaining within the boundary. Applications can query this information using xrGetReferenceSpaceBoundsRect.
When called, xrGetReferenceSpaceBoundsRect should return the extents
of a rectangle that is clear of obstacles down to the floor, allowing where
the user can freely move while remaining tracked, if available for that
reference space.
The returned extent represents the dimensions of an axis-aligned bounding
box where the XrExtent2Df::width and
XrExtent2Df::height fields correspond to the X and Z axes of the
provided space, with the extents centered at the origin of the space.
Not all systems or spaces support boundaries.
If a runtime is unable to provide bounds for a given space,
XR_SPACE_BOUNDS_UNAVAILABLE must be returned and all fields of
bounds must be set to 0.
The returned extents are expressed relative to the natural origin of the provided XrReferenceSpaceType and must not incorporate any origin offsets specified by the application during calls to xrCreateReferenceSpace.
The runtime must return XR_ERROR_REFERENCE_SPACE_UNSUPPORTED if the
XrReferenceSpaceType passed in referenceSpaceType is not
supported by this session.
When a runtime will begin operating with updated space bounds, the runtime must queue a corresponding XrEventDataReferenceSpaceChangePending event.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelAssetDataEXT(3)
Name
xrGetRenderModelAssetDataEXT - Copies the render model asset data and names of animatable nodes into application allocated memory
C Specification
The xrGetRenderModelAssetDataEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrGetRenderModelAssetDataEXT(
XrRenderModelAssetEXT asset,
const XrRenderModelAssetDataGetInfoEXT* getInfo,
XrRenderModelAssetDataEXT* buffer);
Parameters
Description
The application can use the xrGetRenderModelAssetDataEXT function to populate application-allocated memory with the glTF 2.0 binary data and animatable node names of a render model asset. The application uses a two-call idiom with xrGetRenderModelAssetDataEXT to allocate the memory required for the binary asset data.
The binary data copied by the xrGetRenderModelAssetDataEXT function must conform to the glTF 2.0 binary format (GLB) and must contain a valid glTF 2.0 asset that passes validation.
The glTF asset data returned from this function must not change during the
lifetime of the corresponding XrRenderModelAssetEXT handle.
Further, the runtime must return the same glTF binary data for any
XrRenderModelAssetEXT handles created using the same XrUuidEXT
XrRenderModelPropertiesEXT::cacheId.
The application may call xrDestroyRenderModelAssetEXT after successfully populating the buffer with this call, and similar successful use of xrGetRenderModelAssetPropertiesEXT, as the only purpose of this handle is to manage the lifetime of the loaded glTF asset (copied into application-allocated memory by this call) and animatable node names (copied into application-allocated memory by xrGetRenderModelAssetPropertiesEXT) within the runtime.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelAssetPropertiesEXT(3)
Name
xrGetRenderModelAssetPropertiesEXT - Gets render model asset properties
C Specification
The xrGetRenderModelAssetPropertiesEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrGetRenderModelAssetPropertiesEXT(
XrRenderModelAssetEXT asset,
const XrRenderModelAssetPropertiesGetInfoEXT* getInfo,
XrRenderModelAssetPropertiesEXT* properties);
Parameters
Description
The application can use the xrGetRenderModelAssetPropertiesEXT function to get the array of animatable node names in the glTF asset.
The runtime must return node names in properties member
XrRenderModelAssetPropertiesEXT::nodeProperties that are unique
within the corresponding glTF asset.
The application must allocate an array of
XrRenderModelAssetNodePropertiesEXT within properties, of size
XrRenderModelAssetPropertiesEXT::nodePropertyCount, which must
be equal to XrRenderModelPropertiesEXT::animatableNodeCount.
If XrRenderModelAssetPropertiesEXT::nodePropertyCount is not
equal to XrRenderModelPropertiesEXT::animatableNodeCount as
populated by xrGetRenderModelPropertiesEXT, the runtime must return
XR_ERROR_VALIDATION_FAILURE from
xrGetRenderModelAssetPropertiesEXT.
Because the number of animatable nodes is fixed per render model handle and
retrievable with xrGetRenderModelPropertiesEXT, the two-call idiom for
buffer sizing and allocation is not needed in this case.
The application may call xrDestroyRenderModelAssetEXT after successfully populating the buffer with this call, and similar successful use of xrGetRenderModelAssetDataEXT, as the only purpose of this handle is to manage the lifetime of the animatable node names (copied into application-allocated memory by this call) the loaded glTF asset (copied into application-allocated memory by xrGetRenderModelAssetDataEXT) within the runtime.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelPoseTopLevelUserPathEXT(3)
Name
xrGetRenderModelPoseTopLevelUserPathEXT - Obtain the top level /user path associated with a render model id
C Specification
The xrGetRenderModelPoseTopLevelUserPathEXT function is defined as:
// Provided by XR_EXT_interaction_render_model
XrResult xrGetRenderModelPoseTopLevelUserPathEXT(
XrRenderModelEXT renderModel,
const XrInteractionRenderModelTopLevelUserPathGetInfoEXT* info,
XrPath* topLevelUserPath);
Parameters
Description
This function returns the top level /user path most closely
associated with the pose of a given render model, if any, and if that path
is present in the list passed in info.
A runtime must return:
* the top level /user path from the list in info that is
most closely associated with the model pose as a physical reality (e.g.
a device currently held in the user’s left hand returns
/user/hand/left), if one exists.
Note that this requirement does provide fallback behavior.
That is, if a model pose is related to more than one top level
/user path, the runtime returns the path from info with the
closest association, even if it is less closely related than some other
path not included in info.
* XR_NULL_PATH if no such path can be determined (e.g. the
corresponding device is currently not held by or attached to the user, or
no path associated with the model pose was provided in info).
Note that unlike xrGetCurrentInteractionProfile, more than one model may report being most closely associated with a given top level /user path. For example, a runtime may represent a single controller as two render models, or a user may have both a handheld device and a wrist-mounted tracker.
Changes to the top level /user path state of each render model must only occur during a call to xrSyncActions.
If renderModel is valid but was not retrieved from a call to
xrEnumerateInteractionRenderModelIdsEXT earlier in the current
session, the runtime must return
XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT.
This function differs from xrEnumerateRenderModelSubactionPathsEXT by emphasizing poses and being broadly distinct from actions. xrGetRenderModelPoseTopLevelUserPathEXT focuses solely on poses related to a top level /user path and returning only most applicable result. Contrast with xrEnumerateRenderModelSubactionPathsEXT, which reports all top level /user paths being used as subaction paths that are associated with actions in an active action set. That function is meant more for e.g. highlighting models providing input, especially non-pose input, associated with a subaction path. For example, the right hand might have a pie menu related action set active, and an application could show the devices that can interact with that menu in a highlighted way, while dimming the other models.
Important: An application should always be prepared for this function
to return any top-level /user path in their list or
XR_NULL_PATH for any of the interaction render models.
Many systems will not report XR_NULL_PATH for any models, provided
that both /user/hand/left and /user/hand/right are
included on the list in info, but application code must be prepared
to handle this and that code path should be tested manually.
Most functionality in OpenXR is defined to operate as if the hardware
corresponding to the current interaction profile were in use according to
the suggested bindings.
However, this function, and this extension in general, allows the
application to access aspects of the user’s actual input configuration, to
provide accurate and realistic feedback to the user.
Special care is required to ensure that application code using this function
is maximally general.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelPropertiesEXT(3)
Name
xrGetRenderModelPropertiesEXT - Gets the render model properties
C Specification
The xrGetRenderModelPropertiesEXT function is defined as:
// Provided by XR_EXT_render_model
XrResult xrGetRenderModelPropertiesEXT(
XrRenderModelEXT renderModel,
const XrRenderModelPropertiesGetInfoEXT* getInfo,
XrRenderModelPropertiesEXT* properties);
Parameters
Description
The properties of an XrRenderModelEXT handle are immutable and must not change for the lifetime of the handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelPropertiesFB(3)
Name
xrGetRenderModelPropertiesFB - Get information for a render model
C Specification
The xrGetRenderModelPropertiesFB function is defined as:
// Provided by XR_FB_render_model
XrResult xrGetRenderModelPropertiesFB(
XrSession session,
XrPath path,
XrRenderModelPropertiesFB* properties);
Parameters
Description
xrGetRenderModelPropertiesFB is used for getting information for a render model using a path retrieved from xrEnumerateRenderModelPathsFB. The information returned will be for the connected device that corresponds to the path given. For example, using /model_fb/controller/left will return information for the left controller that is currently connected and will change if a different device that also represents a left controller is connected.
The runtime must return XR_ERROR_CALL_ORDER_INVALID if
xrGetRenderModelPropertiesFB is called with render model paths before
calling xrEnumerateRenderModelPathsFB.
The runtime must return XR_ERROR_PATH_INVALID if a path not given by
xrEnumerateRenderModelPathsFB is used.
If xrGetRenderModelPropertiesFB returns a success code of
XR_RENDER_MODEL_UNAVAILABLE_FB and has a
XrRenderModelPropertiesFB::modelKey of
XR_NULL_RENDER_MODEL_KEY_FB, this indicates that the model for the
device is unavailable.
The application may keep calling xrGetRenderModelPropertiesFB because
the model may become available later when a device is connected.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetRenderModelStateEXT(3)
Name
xrGetRenderModelStateEXT - Gets the states of the animatable nodes in the render model
C Specification
The xrGetRenderModelStateEXT function reads the current state of the animatable nodes in the render model.
// Provided by XR_EXT_render_model
XrResult xrGetRenderModelStateEXT(
XrRenderModelEXT renderModel,
const XrRenderModelStateGetInfoEXT* getInfo,
XrRenderModelStateEXT* state);
Parameters
Description
The order of the elements in XrRenderModelStateEXT::nodeStates
in state is the same as the order of node names returned by the
xrGetRenderModelAssetPropertiesEXT function.
The corresponding index in XrRenderModelStateEXT::nodeStates is
the same as the index in
XrRenderModelAssetPropertiesEXT::nodeProperties.
The number of states is
XrRenderModelPropertiesEXT::animatableNodeCount.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrRenderModelStateEXT::nodeStateCount is not equal to
XrRenderModelPropertiesEXT::animatableNodeCount.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSceneComponentsMSFT(3)
Name
xrGetSceneComponentsMSFT - Get scene components from a scene
C Specification
Scene components are read from an XrSceneMSFT using
xrGetSceneComponentsMSFT and passing one
XrSceneComponentTypeMSFT.
This function follows the two-call
idiom for filling multiple buffers in a struct.
Different scene component types may have additional properties that can be
read by chaining additional structures to XrSceneComponentsMSFT.
Those additional structures must have an array size that is at least as
large as XrSceneComponentsMSFT::componentCapacityInput, otherwise the
runtime must return XR_ERROR_SIZE_INSUFFICIENT.
-
If
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFTis passed to xrGetSceneComponentsMSFT, then XrSceneObjectsMSFT may be included in the XrSceneComponentsMSFT::nextchain. -
If
XR_SCENE_COMPONENT_TYPE_PLANE_MSFTis passed to xrGetSceneComponentsMSFT, then XrScenePlanesMSFT may be included in the XrSceneComponentsMSFT::nextchain. -
If
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFTorXR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFTare passed to xrGetSceneComponentsMSFT, then XrSceneMeshesMSFT may be included in the XrSceneComponentsMSFT::nextchain.
// Provided by XR_MSFT_scene_understanding
XrResult xrGetSceneComponentsMSFT(
XrSceneMSFT scene,
const XrSceneComponentsGetInfoMSFT* getInfo,
XrSceneComponentsMSFT* components);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSceneComputeStateMSFT(3)
Name
xrGetSceneComputeStateMSFT - Get the scene compute state
C Specification
An application can inspect the completion of the compute by polling xrGetSceneComputeStateMSFT. This function should typically be called once per frame per XrSceneObserverMSFT.
// Provided by XR_MSFT_scene_understanding
XrResult xrGetSceneComputeStateMSFT(
XrSceneObserverMSFT sceneObserver,
XrSceneComputeStateMSFT* state);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSceneMarkerDecodedStringMSFT(3)
Name
xrGetSceneMarkerDecodedStringMSFT - Get the string encoded in the scene marker.
C Specification
The xrGetSceneMarkerDecodedStringMSFT function is defined as:
// Provided by XR_MSFT_scene_marker
XrResult xrGetSceneMarkerDecodedStringMSFT(
XrSceneMSFT scene,
const XrUuidMSFT* markerId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
The xrGetSceneMarkerDecodedStringMSFT function retrieves the string
stored in the scene marker as an UTF-8 string, including the terminating
'\0'.
This function follows the two-call
idiom for filling the buffer array.
If the stored data in the marker is not an encoded string, the runtime must
return the success code XR_SCENE_MARKER_DATA_NOT_STRING_MSFT, set
bufferCountOutput to 1, and make buffer an empty string.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSceneMarkerRawDataMSFT(3)
Name
xrGetSceneMarkerRawDataMSFT - Get the data stored in the scene marker
C Specification
The xrGetSceneMarkerRawDataMSFT function is defined as:
// Provided by XR_MSFT_scene_marker
XrResult xrGetSceneMarkerRawDataMSFT(
XrSceneMSFT scene,
const XrUuidMSFT* markerId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
uint8_t* buffer);
Parameters
Description
The xrGetSceneMarkerRawDataMSFT function retrieves the data stored in the scene marker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSceneMeshBuffersMSFT(3)
Name
xrGetSceneMeshBuffersMSFT - Get scene mesh buffers
C Specification
The xrGetSceneMeshBuffersMSFT function retrieves the scene mesh vertex buffer and index buffer for the given scene mesh buffer identifier.
|
Note
|
Note
Applications may use the scene mesh buffer identifier as a key to cache the vertices and indices of a mesh for reuse within an XrSceneMSFT or across multiple XrSceneMSFT for the same XrSession. Applications can avoid unnecessarily calling xrGetSceneMeshBuffersMSFT
for a scene component if XrSceneComponentMSFT:: |
This function follows the two-call idiom for filling multiple buffers in a struct.
The xrGetSceneMeshBuffersMSFT function is defined as:
// Provided by XR_MSFT_scene_understanding
XrResult xrGetSceneMeshBuffersMSFT(
XrSceneMSFT scene,
const XrSceneMeshBuffersGetInfoMSFT* getInfo,
XrSceneMeshBuffersMSFT* buffers);
Parameters
Description
Applications can request the vertex buffer of the mesh by including
XrSceneMeshVertexBufferMSFT in the
XrSceneMeshBuffersMSFT::next chain.
Runtimes must support requesting a 32-bit index buffer and may support
requesting a 16-bit index buffer.
Applications can request a 32-bit index buffer by including
XrSceneMeshIndicesUint32MSFT in the
XrSceneMeshBuffersMSFT::next chain.
Applications can request a 16-bit index buffer by including
XrSceneMeshIndicesUint16MSFT in the
XrSceneMeshBuffersMSFT::next chain.
If the runtime for the given scene mesh buffer does not support requesting a
16-bit index buffer then XR_ERROR_VALIDATION_FAILURE must be
returned.
The runtime must support reading a 16-bit index buffer for the given scene
mesh buffer if XrScenePlaneMSFT:supportsIndicesUint16 or
XrSceneMeshMSFT:supportsIndicesUint16 are XR_TRUE for the scene
component that contained that scene mesh buffer identifier.
The runtime must return XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT if
none of the scene components in the given XrSceneMSFT contain
XrSceneMeshBuffersGetInfoMSFT::meshBufferId.
The runtime must return XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT if
XrSceneMeshBuffersGetInfoMSFT::meshBufferId is zero.
The runtime must return XR_ERROR_VALIDATION_FAILURE if both
XrSceneMeshIndicesUint32MSFT and XrSceneMeshIndicesUint16MSFT
are included in the XrSceneMeshBuffersMSFT::next chain.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSceneMeshBuffersMSFT::next does not contain at least one of
XrSceneMeshVertexBufferMSFT, XrSceneMeshIndicesUint32MSFT or
XrSceneMeshIndicesUint16MSFT.
The runtime must return the same vertices and indices for a given scene mesh buffer identifier and XrSession. A runtime may return zero vertices and indices if the underlying mesh data is no longer available.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSenseDataProviderStateBD(3)
Name
xrGetSenseDataProviderStateBD - Get the state of a sense data provider
C Specification
The xrGetSenseDataProviderStateBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrGetSenseDataProviderStateBD(
XrSenseDataProviderBD provider,
XrSenseDataProviderStateBD* state);
Parameters
Description
The application can get a sense data provider’s state by calling xrGetSenseDataProviderStateBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSerializedSceneFragmentDataMSFT(3)
Name
xrGetSerializedSceneFragmentDataMSFT - Get serialized scene fragment data
C Specification
The application can call the xrGetSerializedSceneFragmentDataMSFT function to read the binary data of a serialized scene fragment from the XrSceneMSFT handle. This function follows the two-call idiom for filling the buffer.
The xrGetSerializedSceneFragmentDataMSFT function is defined as:
// Provided by XR_MSFT_scene_understanding_serialization
XrResult xrGetSerializedSceneFragmentDataMSFT(
XrSceneMSFT scene,
const XrSerializedSceneFragmentDataGetInfoMSFT* getInfo,
uint32_t countInput,
uint32_t* readOutput,
uint8_t* buffer);
Parameters
Description
The runtime must return XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT if
the given scene fragment XrUuidMSFT was not found.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceBoundary2DFB(3)
Name
xrGetSpaceBoundary2DFB - Gets the 2D boundary for a spatial entity
C Specification
The xrGetSpaceBoundary2DFB function is defined as:
// Provided by XR_FB_scene
XrResult xrGetSpaceBoundary2DFB(
XrSession session,
XrSpace space,
XrBoundary2DFB* boundary2DOutput);
Parameters
Description
Gets the 2D boundary, specified by vertices, for a spatial entity with the
XR_SPACE_COMPONENT_TYPE_BOUNDED_2D_FB component type enabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceBoundingBox2DFB(3)
Name
xrGetSpaceBoundingBox2DFB - Gets the 2D bounding box for a spatial entity
C Specification
The xrGetSpaceBoundingBox2DFB function is defined as:
// Provided by XR_FB_scene
XrResult xrGetSpaceBoundingBox2DFB(
XrSession session,
XrSpace space,
XrRect2Df* boundingBox2DOutput);
Parameters
Description
Gets the 2D bounding box for a spatial entity with the
XR_SPACE_COMPONENT_TYPE_BOUNDED_2D_FB component type enabled.
The bounding box is defined by an XrRect2Df::offset and
XrRect2Df::extent.
The XrRect2Df::offset refers to the coordinate of the minimum
corner of the box in the x-y plane of the given XrSpace’s coordinate
system; that is, the corner whose coordinate has the minimum value on each
axis.
The XrRect2Df::extent refers to the dimensions of the box along
each axis.
The maximum corner can therefore be computed as
XrRect2Df::offset
XrRect2Df::extent.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceBoundingBox3DFB(3)
Name
xrGetSpaceBoundingBox3DFB - Gets the 3D bounding box for a spatial entity
C Specification
The xrGetSpaceBoundingBox3DFB function is defined as:
// Provided by XR_FB_scene
XrResult xrGetSpaceBoundingBox3DFB(
XrSession session,
XrSpace space,
XrRect3DfFB* boundingBox3DOutput);
Parameters
Description
Gets the 3D bounding box for a spatial entity with the
XR_SPACE_COMPONENT_TYPE_BOUNDED_3D_FB component type enabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceComponentStatusFB(3)
Name
xrGetSpaceComponentStatusFB - Provides the current state of a component
C Specification
The xrGetSpaceComponentStatusFB function is defined as:
// Provided by XR_FB_spatial_entity
XrResult xrGetSpaceComponentStatusFB(
XrSpace space,
XrSpaceComponentTypeFB componentType,
XrSpaceComponentStatusFB* status);
Parameters
Description
Gets the current status of the specified component for the specified entity.
This function must return XR_ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB
if the XrSpace does not support the specified component type.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceContainerFB(3)
Name
xrGetSpaceContainerFB - Gets a XrSpaceContainerFB which lists contained spaces
C Specification
The xrGetSpaceContainerFB function is defined as:
// Provided by XR_FB_spatial_entity_container
XrResult xrGetSpaceContainerFB(
XrSession session,
XrSpace space,
XrSpaceContainerFB* spaceContainerOutput);
Parameters
Description
The xrGetSpaceContainerFB function is used by an application to perform the two calls required to obtain information about which spatial entities are contained by a specified spatial entity.
The XR_SPACE_COMPONENT_TYPE_SPACE_CONTAINER_FB component type must be
enabled, otherwise this function will return
XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceRoomLayoutFB(3)
Name
xrGetSpaceRoomLayoutFB - Gets the room layout for a spatial entity
C Specification
The xrGetSpaceRoomLayoutFB function is defined as:
// Provided by XR_FB_scene
XrResult xrGetSpaceRoomLayoutFB(
XrSession session,
XrSpace space,
XrRoomLayoutFB* roomLayoutOutput);
Parameters
Description
Gets the room layout, specified by UUIDs for each surface, for a spatial
entity with the XR_SPACE_COMPONENT_TYPE_ROOM_LAYOUT_FB component type
enabled.
If the XrRoomLayoutFB::wallUuidCapacityInput field is zero
(indicating a request to retrieve the required capacity for the
XrRoomLayoutFB::wallUuids array), or if
xrGetSpaceRoomLayoutFB returns failure, then the values of floorUuid
and ceilingUuid are unspecified and should not be used.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceSemanticLabelsFB(3)
Name
xrGetSpaceSemanticLabelsFB - Gets the semantic labels for a spatial entity
C Specification
The xrGetSpaceSemanticLabelsFB function is defined as:
// Provided by XR_FB_scene
XrResult xrGetSpaceSemanticLabelsFB(
XrSession session,
XrSpace space,
XrSemanticLabelsFB* semanticLabelsOutput);
Parameters
Description
Gets the semantic labels for a spatial entity with the
XR_SPACE_COMPONENT_TYPE_SEMANTIC_LABELS_FB component type enabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceTriangleMeshMETA(3)
Name
xrGetSpaceTriangleMeshMETA - Gets an XrSpaceTriangleMeshMETA that represents a triangle mesh
C Specification
The xrGetSpaceTriangleMeshMETA function is defined as:
// Provided by XR_META_spatial_entity_mesh
XrResult xrGetSpaceTriangleMeshMETA(
XrSpace space,
const XrSpaceTriangleMeshGetInfoMETA* getInfo,
XrSpaceTriangleMeshMETA* triangleMeshOutput);
Parameters
Description
The xrGetSpaceTriangleMeshMETA function is used by the application to
perform the two calls required to obtain a triangle mesh associated to a
spatial entity specified by space.
The spatial entity space must have the
XR_SPACE_COMPONENT_TYPE_TRIANGLE_MESH_META component type enabled,
otherwise this function will return
XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceUserIdFB(3)
Name
xrGetSpaceUserIdFB - Gets the user ID for a given user handle
C Specification
The xrGetSpaceUserIdFB function is defined as:
// Provided by XR_FB_spatial_entity_user
XrResult xrGetSpaceUserIdFB(
XrSpaceUserFB user,
XrSpaceUserIdFB* userId);
Parameters
Description
The application can use this function to retrieve the user ID of a given user handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpaceUuidFB(3)
Name
xrGetSpaceUuidFB - Gets an entity
C Specification
The xrGetSpaceUuidFB function is defined as:
// Provided by XR_FB_spatial_entity
XrResult xrGetSpaceUuidFB(
XrSpace space,
XrUuidEXT* uuid);
Parameters
Description
Gets the UUID for a spatial entity.
If this space was previously created as a spatial anchor, uuid must
be equal to the XrEventDataSpatialAnchorCreateCompleteFB::uuid
in the event corresponding to the creation of that space.
Subsequent calls to xrGetSpaceUuidFB using the same XrSpace
must return the same XrUuidEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialAnchorNameHTC(3)
Name
xrGetSpatialAnchorNameHTC - Get name of a spatial anchor
C Specification
The xrGetSpatialAnchorNameHTC function is defined as:
// Provided by XR_HTC_anchor
XrResult xrGetSpatialAnchorNameHTC(
XrSpace anchor,
XrSpatialAnchorNameHTC* name);
Parameters
Description
The xrGetSpatialAnchorNameHTC function gets the name of an anchor.
If the provided anchor is a valid space handle but was not created
with xrCreateSpatialAnchorHTC, the runtime must return
XR_ERROR_NOT_AN_ANCHOR_HTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialAnchorStateML(3)
Name
xrGetSpatialAnchorStateML - Retrieve spatial anchor state
C Specification
The xrGetSpatialAnchorStateML function is defined as:
// Provided by XR_ML_spatial_anchors
XrResult xrGetSpatialAnchorStateML(
XrSpace anchor,
XrSpatialAnchorStateML* state);
Parameters
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpace is not an spatial anchor.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferFloatEXT(3)
Name
xrGetSpatialBufferFloatEXT - Get float data of a component
C Specification
The xrGetSpatialBufferFloatEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferFloatEXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
float* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_FLOAT_EXT by using
xrGetSpatialBufferFloatEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_FLOAT_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferStringEXT(3)
Name
xrGetSpatialBufferStringEXT - Get string data of a component
C Specification
The xrGetSpatialBufferStringEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferStringEXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_STRING_EXT by using
xrGetSpatialBufferStringEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_STRING_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
buffer filled by the runtime must be a null-terminated UTF-8 string.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferUint16EXT(3)
Name
xrGetSpatialBufferUint16EXT - Get uint16_t data of a component
C Specification
The xrGetSpatialBufferUint16EXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferUint16EXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
uint16_t* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_UINT16_EXT by using
xrGetSpatialBufferUint16EXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_UINT16_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferUint32EXT(3)
Name
xrGetSpatialBufferUint32EXT - Get uint32_t data of a component
C Specification
The xrGetSpatialBufferUint32EXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferUint32EXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
uint32_t* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_UINT32_EXT by using
xrGetSpatialBufferUint32EXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_UINT32_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferUint8EXT(3)
Name
xrGetSpatialBufferUint8EXT - Get uint8_t data of a component
C Specification
The xrGetSpatialBufferUint8EXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferUint8EXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
uint8_t* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_UINT8_EXT by using
xrGetSpatialBufferUint8EXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_UINT8_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferVector2fEXT(3)
Name
xrGetSpatialBufferVector2fEXT - Get XrVector2f data of a component
C Specification
The xrGetSpatialBufferVector2fEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferVector2fEXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
XrVector2f* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT by using
xrGetSpatialBufferVector2fEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialBufferVector3fEXT(3)
Name
xrGetSpatialBufferVector3fEXT - Get XrVector3f data of a component
C Specification
The xrGetSpatialBufferVector3fEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrGetSpatialBufferVector3fEXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialBufferGetInfoEXT* info,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
XrVector3f* buffer);
Parameters
Description
The application can get the data for an XrSpatialBufferEXT provided
by a component, where XrSpatialBufferEXT::bufferType is
XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT by using
xrGetSpatialBufferVector3fEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the
XrSpatialBufferTypeEXT for
XrSpatialBufferGetInfoEXT::bufferId is not
XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT.
The runtime must return XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT if
XrSpatialBufferGetInfoEXT::bufferId does not belong to
snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialEntityComponentDataBD(3)
Name
xrGetSpatialEntityComponentDataBD - Get the component data of a spatial entity
C Specification
The xrGetSpatialEntityComponentDataBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrGetSpatialEntityComponentDataBD(
XrSenseDataSnapshotBD snapshot,
const XrSpatialEntityComponentGetInfoBD* getInfo,
XrSpatialEntityComponentDataBaseHeaderBD* componentData);
Parameters
Description
The application can use xrGetSpatialEntityComponentDataBD to get the component data of a spatial entity.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the component
type is not present on a given entity.
The XrSpatialEntityComponentGetInfoBD::componentType must match
the type of the output XrSpatialEntityComponentData* structure passed
as componentData when querying certain component data with
xrGetSpatialEntityComponentDataBD.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE from
xrGetSpatialEntityComponentDataBD.
If a given component type requires passing additional input through the
XrSpatialEntityComponentGetInfoBD::next chain, but that input is
not present, the runtime must return XR_ERROR_VALIDATION_FAILURE.
Some component data types (types passed to componentData) use the
structure form of the two call idiom
to populate buffers of variable sizes.
The runtime must not change the component data in the snapshot until the snapshot is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialEntityUuidBD(3)
Name
xrGetSpatialEntityUuidBD - Gets an spatial entity
C Specification
The xrGetSpatialEntityUuidBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrGetSpatialEntityUuidBD(
XrSenseDataSnapshotBD snapshot,
XrSpatialEntityIdBD entityId,
XrUuidEXT* uuid);
Parameters
Applications can get the UUID for a given spatial entity by calling xrGetSpatialEntityUuidBD.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSpatialGraphNodeBindingPropertiesMSFT(3)
Name
xrGetSpatialGraphNodeBindingPropertiesMSFT - Destroy a spatial graph node handle
C Specification
The xrGetSpatialGraphNodeBindingPropertiesMSFT function retrieves the spatial graph node GUID and the pose in the node space from an XrSpatialGraphNodeBindingMSFT handle.
// Provided by XR_MSFT_spatial_graph_bridge
XrResult xrGetSpatialGraphNodeBindingPropertiesMSFT(
XrSpatialGraphNodeBindingMSFT nodeBinding,
const XrSpatialGraphNodeBindingPropertiesGetInfoMSFT* getInfo,
XrSpatialGraphNodeBindingPropertiesMSFT* properties);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSwapchainStateFB(3)
Name
xrGetSwapchainStateFB - Query state for the corresponding swapchain
C Specification
The xrGetSwapchainStateFB function is defined as:
// Provided by XR_FB_swapchain_update_state
XrResult xrGetSwapchainStateFB(
XrSwapchain swapchain,
XrSwapchainStateBaseHeaderFB* state);
Parameters
Description
xrGetSwapchainStateFB provides support for an application to query specific mutable state associated with an XrSwapchain.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSystem(3)
Name
xrGetSystem - Gets a system identifier
C Specification
The xrGetSystem function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetSystem(
XrInstance instance,
const XrSystemGetInfo* getInfo,
XrSystemId* systemId);
Parameters
Description
To get an XrSystemId, an application specifies its desired
form factor to xrGetSystem and gets
the runtime’s XrSystemId associated with that configuration.
If the form factor is supported but temporarily unavailable,
xrGetSystem must return XR_ERROR_FORM_FACTOR_UNAVAILABLE.
A runtime may return XR_SUCCESS on a subsequent call for a form
factor it previously returned XR_ERROR_FORM_FACTOR_UNAVAILABLE.
For example, connecting or warming up hardware might cause an unavailable
form factor to become available.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetSystemProperties(3)
Name
xrGetSystemProperties - Gets the properties of a particular system
C Specification
The xrGetSystemProperties function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetSystemProperties(
XrInstance instance,
XrSystemId systemId,
XrSystemProperties* properties);
Parameters
Description
An application can call xrGetSystemProperties to retrieve information about the system such as vendor ID, system name, and graphics and tracking properties.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetTrackableMarkerANDROID(3)
Name
xrGetTrackableMarkerANDROID - Get a marker.
C Specification
The xrGetTrackableMarkerANDROID function is defined as:
// Provided by XR_ANDROID_trackables_marker
XrResult xrGetTrackableMarkerANDROID(
XrTrackableTrackerANDROID tracker,
const XrTrackableGetInfoANDROID* getInfo,
XrTrackableMarkerANDROID* markerOutput);
Parameters
Description
The runtime must return XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
if the trackable type of the XrTrackableANDROID is not
XR_TRACKABLE_TYPE_MARKER_ANDROID, or if the trackable type of the
XrTrackableTrackerANDROID is not
XR_TRACKABLE_TYPE_MARKER_ANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetTrackableObjectANDROID(3)
Name
xrGetTrackableObjectANDROID - Get trackable object.
C Specification
The xrGetTrackableObjectANDROID function is defined as:
// Provided by XR_ANDROID_trackables_object
XrResult xrGetTrackableObjectANDROID(
XrTrackableTrackerANDROID tracker,
const XrTrackableGetInfoANDROID* getInfo,
XrTrackableObjectANDROID* objectOutput);
Parameters
Description
The runtime must return XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
if the trackable type of the XrTrackableANDROID is not
XR_TRACKABLE_TYPE_OBJECT_ANDROID, or if the trackable type of the
XrTrackableTrackerANDROID is not
XR_TRACKABLE_TYPE_OBJECT_ANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetTrackablePlaneANDROID(3)
Name
xrGetTrackablePlaneANDROID - Get trackable plane
C Specification
The xrGetTrackablePlaneANDROID function is defined as:
// Provided by XR_ANDROID_trackables
XrResult xrGetTrackablePlaneANDROID(
XrTrackableTrackerANDROID trackableTracker,
const XrTrackableGetInfoANDROID* getInfo,
XrTrackablePlaneANDROID* planeOutput);
Parameters
Description
The xrGetTrackablePlaneANDROID function returns details about the trackable plane — such as its geometry, orientation, and tracking state — at a given point in time.
The plane information returned is a best effort approximation of its state
at the given XrTrackableGetInfoANDROID::time, relative to the
XrTrackableGetInfoANDROID::baseSpace.
The runtime must return XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID
if the trackable type of the
XrTrackableGetInfoANDROID::trackable is not
XR_TRACKABLE_TYPE_PLANE_ANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetViewConfigurationProperties(3)
Name
xrGetViewConfigurationProperties - Gets information for a view configuration
C Specification
The xrGetViewConfigurationProperties function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrGetViewConfigurationProperties(
XrInstance instance,
XrSystemId systemId,
XrViewConfigurationType viewConfigurationType,
XrViewConfigurationProperties* configurationProperties);
Parameters
Description
xrGetViewConfigurationProperties queries properties of an individual
view configuration.
Applications must use one of the supported view configuration types
returned by xrEnumerateViewConfigurations.
If viewConfigurationType is not supported by this XrInstance the
runtime must return XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVirtualKeyboardDirtyTexturesMETA(3)
Name
xrGetVirtualKeyboardDirtyTexturesMETA - Get model textures that are dirty
C Specification
The xrGetVirtualKeyboardDirtyTexturesMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrGetVirtualKeyboardDirtyTexturesMETA(
XrVirtualKeyboardMETA keyboard,
uint32_t textureIdCapacityInput,
uint32_t* textureIdCountOutput,
uint64_t* textureIds);
Parameters
Description
This function follows the two-call
idiom for filling the textureIds array.
Note that new texture data may be added after the runtime processes inputs
from xrSendVirtualKeyboardInputMETA.
Therefore, after sending new keyboard inputs the application should query
the buffer size again before getting any texture data.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVirtualKeyboardModelAnimationStatesMETA(3)
Name
xrGetVirtualKeyboardModelAnimationStatesMETA - Get model animation states
C Specification
The xrGetVirtualKeyboardModelAnimationStatesMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrGetVirtualKeyboardModelAnimationStatesMETA(
XrVirtualKeyboardMETA keyboard,
XrVirtualKeyboardModelAnimationStatesMETA* animationStates);
Parameters
Description
This function follows the two-call
idiom for filling the animationStates array in the
XrVirtualKeyboardModelAnimationStatesMETA structure.
Note that new animations may be added after the runtime processes inputs
from xrSendVirtualKeyboardInputMETA.
Therefore, after sending new keyboard inputs the application should query
the buffer size again before getting any animation data.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVirtualKeyboardScaleMETA(3)
Name
xrGetVirtualKeyboardScaleMETA - Get virtual keyboard scale
C Specification
The xrGetVirtualKeyboardScaleMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrGetVirtualKeyboardScaleMETA(
XrVirtualKeyboardMETA keyboard,
float* scale);
Parameters
Description
With both the pose and scale, the application has all the information to draw the virtual keyboard render model.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVirtualKeyboardTextureDataMETA(3)
Name
xrGetVirtualKeyboardTextureDataMETA - Get the data to update a model texture
C Specification
The xrGetVirtualKeyboardTextureDataMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrGetVirtualKeyboardTextureDataMETA(
XrVirtualKeyboardMETA keyboard,
uint64_t textureId,
XrVirtualKeyboardTextureDataMETA* textureData);
Parameters
Description
This function follows the two-call
idiom for filling the textureData array in the
XrVirtualKeyboardTextureDataMETA structure.
Note that new texture data may be added after the runtime processes inputs
from xrSendVirtualKeyboardInputMETA.
Therefore, after sending new keyboard inputs the application should query
the buffer size again before getting any texture data.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVisibilityMaskKHR(3)
Name
xrGetVisibilityMaskKHR - Gets visibility mask
C Specification
The xrGetVisibilityMaskKHR function is defined as:
// Provided by XR_KHR_visibility_mask
XrResult xrGetVisibilityMaskKHR(
XrSession session,
XrViewConfigurationType viewConfigurationType,
uint32_t viewIndex,
XrVisibilityMaskTypeKHR visibilityMaskType,
XrVisibilityMaskKHR* visibilityMask);
Parameters
Description
xrGetVisibilityMaskKHR retrieves the view mask for a given view.
This function follows the two-call
idiom for filling multiple buffers in a struct.
Specifically, if either XrVisibilityMaskKHR::vertexCapacityInput
or XrVisibilityMaskKHR::indexCapacityInput is 0, the runtime
must respond as if both fields were set to 0, returning the vertex count
and index count through XrVisibilityMaskKHR::vertexCountOutput
or XrVisibilityMaskKHR::indexCountOutput respectively.
If a view mask for the specified view isn’t available, the returned vertex
and index counts must be 0.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVulkanDeviceExtensionsKHR(3)
Name
xrGetVulkanDeviceExtensionsKHR - Get list of required Vulkan device extensions for an OpenXR instance and system
C Specification
// Provided by XR_KHR_vulkan_enable
XrResult xrGetVulkanDeviceExtensionsKHR(
XrInstance instance,
XrSystemId systemId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVulkanGraphicsDevice2KHR(3)
Name
xrGetVulkanGraphicsDevice2KHR - Retrieve the Vulkan physical device associated with an OpenXR instance and system
C Specification
// Provided by XR_KHR_vulkan_enable2
XrResult xrGetVulkanGraphicsDevice2KHR(
XrInstance instance,
const XrVulkanGraphicsDeviceGetInfoKHR* getInfo,
VkPhysicalDevice* vulkanPhysicalDevice);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVulkanGraphicsDeviceKHR(3)
Name
xrGetVulkanGraphicsDeviceKHR - Retrieve the Vulkan physical device associated with an OpenXR instance and system
C Specification
To identify what graphics device needs to be used for an instance and system, call:
// Provided by XR_KHR_vulkan_enable
XrResult xrGetVulkanGraphicsDeviceKHR(
XrInstance instance,
XrSystemId systemId,
VkInstance vkInstance,
VkPhysicalDevice* vkPhysicalDevice);
Parameters
Description
xrGetVulkanGraphicsDeviceKHR function identifies to the application
what graphics device (Vulkan VkPhysicalDevice) needs to be used.
xrGetVulkanGraphicsDeviceKHR must be called prior to calling
xrCreateSession, and the VkPhysicalDevice that
xrGetVulkanGraphicsDeviceKHR returns should be passed to
xrCreateSession in the XrGraphicsBindingVulkanKHR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVulkanGraphicsRequirementsKHR(3)
Name
xrGetVulkanGraphicsRequirementsKHR - Retrieve the Vulkan version requirements for an instance and system
C Specification
The xrGetVulkanGraphicsRequirementsKHR function is defined as:
// Provided by XR_KHR_vulkan_enable
XrResult xrGetVulkanGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsVulkanKHR* graphicsRequirements);
Parameters
Description
The xrGetVulkanGraphicsRequirementsKHR function identifies to the
application the minimum Vulkan version requirement and the highest known
tested Vulkan version.
The runtime must return XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING
(XR_ERROR_VALIDATION_FAILURE may be returned due to legacy behavior)
on calls to xrCreateSession if
xrGetVulkanGraphicsRequirementsKHR has not been called for the same
instance and systemId.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVulkanInstanceExtensionsKHR(3)
Name
xrGetVulkanInstanceExtensionsKHR - Get list of required Vulkan instance extensions for an OpenXR instance and system
C Specification
// Provided by XR_KHR_vulkan_enable
XrResult xrGetVulkanInstanceExtensionsKHR(
XrInstance instance,
XrSystemId systemId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetWorldMeshBufferRecommendSizeML(3)
Name
xrGetWorldMeshBufferRecommendSizeML - Allocates memory.
C Specification
The xrGetWorldMeshBufferRecommendSizeML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrGetWorldMeshBufferRecommendSizeML(
XrWorldMeshDetectorML detector,
const XrWorldMeshBufferRecommendedSizeInfoML* sizeInfo,
XrWorldMeshBufferSizeML* size);
Parameters
Description
Errata: This function is called xrGetWorldMeshBufferRecommendSizeML rather
than the expected xrGetWorldMeshBufferRecommendedSizeML.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrImportLocalizationMapML(3)
Name
xrImportLocalizationMapML - Imports a localization map.
C Specification
The xrImportLocalizationMapML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrImportLocalizationMapML(
XrSession session,
const XrLocalizationMapImportInfoML* importInfo,
XrUuidEXT* mapUuid);
Parameters
Description
The runtime must return XR_ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML
if the map that is being imported already exists.
The runtime must return XR_ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML if
the map being imported is not compatible.
xrImportLocalizationMapML may take a long time to complete; as such applications should not call this from the frame loop.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrInitializeLoaderKHR(3)
Name
xrInitializeLoaderKHR - Initializes loader
C Specification
To initialize an OpenXR loader with platform or implementation-specific parameters, call:
// Provided by XR_KHR_loader_init
XrResult xrInitializeLoaderKHR(
const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo);
Parameters
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLoadControllerModelMSFT(3)
Name
xrLoadControllerModelMSFT - Load controller render model
C Specification
The xrLoadControllerModelMSFT function loads the controller model as a byte buffer containing a binary form of glTF (a.k.a GLB file format) for the controller. The binary glTF data must conform to glTF 2.0 format defined at https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html.
// Provided by XR_MSFT_controller_model
XrResult xrLoadControllerModelMSFT(
XrSession session,
XrControllerModelKeyMSFT modelKey,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
uint8_t* buffer);
Parameters
Description
The xrLoadControllerModelMSFT function may be a slow operation and therefore should be invoked from a non-timing critical thread.
If the input modelKey is invalid, i.e. it is
XR_NULL_CONTROLLER_MODEL_KEY_MSFT or not a key returned from
XrControllerModelKeyStateMSFT, the runtime must return
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLoadRenderModelFB(3)
Name
xrLoadRenderModelFB - Load binary data for a render model
C Specification
The xrLoadRenderModelFB function is defined as:
// Provided by XR_FB_render_model
XrResult xrLoadRenderModelFB(
XrSession session,
const XrRenderModelLoadInfoFB* info,
XrRenderModelBufferFB* buffer);
Parameters
Description
xrLoadRenderModelFB is used to load the GLTF model data using a valid
XrRenderModelLoadInfoFB::modelKey.
xrLoadRenderModelFB loads the model as a byte buffer containing the
GLTF in the binary format (GLB).
The GLB data must conform to the glTF 2.0 format defined at https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html.
The GLB may contain texture data in a format that requires the use of the
KHR_texture_basisu GLTF extension defined at https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_basisu.
Therefore, the application should ensure it can handle this extension.
If the device for the requested model is disconnected or does not match the
XrRenderModelLoadInfoFB::modelKey provided,
xrLoadRenderModelFB must return XR_RENDER_MODEL_UNAVAILABLE_FB
as well as an XrRenderModelBufferFB::bufferCountOutput value of
0 indicating that the model was not available.
The xrLoadRenderModelFB function may be slow, therefore applications should call it from a non-time sensitive thread.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateBodyJointsBD(3)
Name
xrLocateBodyJointsBD - Locate body joint locations
C Specification
The xrLocateBodyJointsBD function is defined as:
// Provided by XR_BD_body_tracking
XrResult xrLocateBodyJointsBD(
XrBodyTrackerBD bodyTracker,
const XrBodyJointsLocateInfoBD* locateInfo,
XrBodyJointLocationsBD* locations);
Parameters
Description
The xrLocateBodyJointsBD function locates an array of body joints relative to a base space at a given time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateBodyJointsFB(3)
Name
xrLocateBodyJointsFB - Locate body joint locations
C Specification
The xrLocateBodyJointsFB function locates an array of body joints to a base space at a given time.
// Provided by XR_FB_body_tracking
XrResult xrLocateBodyJointsFB(
XrBodyTrackerFB bodyTracker,
const XrBodyJointsLocateInfoFB* locateInfo,
XrBodyJointLocationsFB* locations);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateBodyJointsHTC(3)
Name
xrLocateBodyJointsHTC - Locate the individual body joints
C Specification
The xrLocateBodyJointsHTC function is defined as:
// Provided by XR_HTC_body_tracking
XrResult xrLocateBodyJointsHTC(
XrBodyTrackerHTC bodyTracker,
const XrBodyJointsLocateInfoHTC* locateInfo,
XrBodyJointLocationsHTC* locations);
Parameters
Description
The xrLocateBodyJointsHTC function locates an array of body joints relative to a base space at a given time.
If XrBodyJointLocationsHTC::jointLocationCount does not match
the value associated with the supplied XrBodyJointSetHTC value, the
runtime must return XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateHandJointsEXT(3)
Name
xrLocateHandJointsEXT - Locate hand joint locations
C Specification
The xrLocateHandJointsEXT function locates an array of hand joints to a base space at given time.
// Provided by XR_EXT_hand_tracking
XrResult xrLocateHandJointsEXT(
XrHandTrackerEXT handTracker,
const XrHandJointsLocateInfoEXT* locateInfo,
XrHandJointLocationsEXT* locations);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateSceneComponentsMSFT(3)
Name
xrLocateSceneComponentsMSFT - Locate scene components
C Specification
The xrLocateSceneComponentsMSFT function locates an array of scene components to a base space at a given time.
// Provided by XR_MSFT_scene_understanding
XrResult xrLocateSceneComponentsMSFT(
XrSceneMSFT scene,
const XrSceneComponentsLocateInfoMSFT* locateInfo,
XrSceneComponentLocationsMSFT* locations);
Parameters
Description
The runtime must return XR_ERROR_SIZE_INSUFFICIENT if
XrSceneComponentLocationsMSFT::locationCount is less than
XrSceneComponentsLocateInfoMSFT::componentIdCount.
|
Note
|
Note
Similar to xrLocateSpace, apps should call xrLocateSceneComponentsMSFT each frame because the location returned by xrLocateSceneComponentsMSFT in later frames may change over time as the target space or the scene components may refine their locations. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateSpace(3)
Name
xrLocateSpace - Locates a space with reference to another space
C Specification
xrLocateSpace provides the physical location of a space in a base space at a specified time, if currently known by the runtime.
// Provided by XR_VERSION_1_0
XrResult xrLocateSpace(
XrSpace space,
XrSpace baseSpace,
XrTime time,
XrSpaceLocation* location);
Parameters
Description
For a time in the past, the runtime should locate the spaces based on
the runtime’s most accurate current understanding of how the world was at
that historical time.
For a time in the future, the runtime should locate the spaces based
on the runtime’s most up-to-date prediction of how the world will be at that
future time.
The minimum valid range of values for time are described in
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-prediction-time-limits.
For values of time outside this range, xrLocateSpace may return
a location with no position and XR_SPACE_LOCATION_POSITION_VALID_BIT
unset.
Some devices improve their understanding of the world as the device is used.
The location returned by xrLocateSpace for a given space,
baseSpace and time may change over time, even for spaces that
track static objects, as one or both spaces adjust their origins.
During tracking loss of space relative to baseSpace, runtimes
should continue to provide inferred or last-known
XrPosef::position and XrPosef::orientation values.
These inferred poses can, for example, be based on neck model updates,
inertial dead reckoning, or a last-known position, so long as it is still
reasonable for the application to use that pose.
While a runtime is providing position data, it must continue to set
XR_SPACE_LOCATION_POSITION_VALID_BIT but it can clear
XR_SPACE_LOCATION_POSITION_TRACKED_BIT to indicate that the position
is inferred or last-known in this way.
If the runtime has not yet observed even a last-known pose for how to locate
space in baseSpace (e.g. one space is an action space bound to a
motion controller that has not yet been detected, or the two spaces are in
disconnected fragments of the runtime’s tracked volume), the runtime should
return a location with no position and
XR_SPACE_LOCATION_POSITION_VALID_BIT unset.
The runtime must return a location with both
XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_POSITION_TRACKED_BIT set when locating space
and baseSpace if both spaces were created relative to the same entity
(e.g. two action spaces for the same action), even if the entity is
currently untracked.
The location in this case is the difference in the two spaces'
application-specified transforms relative to that common entity.
During tracking loss, the runtime should return a location with
XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set and
XR_SPACE_LOCATION_POSITION_TRACKED_BIT and
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT unset for spaces tracking
two static entities in the world when their relative pose is known to the
runtime.
This enables applications to continue to make use of the runtime’s latest
knowledge of the world.
If an XrSpaceVelocity structure is chained to the
XrSpaceLocation::next pointer, and the velocity is observed or
can be calculated by the runtime, the runtime must fill in the linear
velocity of the origin of space within the reference frame of
baseSpace and set the XR_SPACE_VELOCITY_LINEAR_VALID_BIT.
Similarly, if an XrSpaceVelocity structure is chained to the
XrSpaceLocation::next pointer, and the angular velocity is
observed or can be calculated by the runtime, the runtime must fill in the
angular velocity of the origin of space within the reference frame of
baseSpace and set the XR_SPACE_VELOCITY_ANGULAR_VALID_BIT.
The following example code shows how an application can get both the
location and velocity of a space within a base space using the
xrLocateSpace function by chaining an XrSpaceVelocity to the
next pointer of XrSpaceLocation and calling xrLocateSpace.
XrSpace space; // previously initialized
XrSpace baseSpace; // previously initialized
XrTime time; // previously initialized
XrSpaceVelocity velocity {XR_TYPE_SPACE_VELOCITY};
XrSpaceLocation location {XR_TYPE_SPACE_LOCATION, &velocity};
xrLocateSpace(space, baseSpace, time, &location);
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateSpaces(3)
Name
xrLocateSpaces - Locate an array of spaces
C Specification
Applications can use xrLocateSpaces function to locate an array of spaces.
The xrLocateSpaces function is defined as:
// Provided by XR_VERSION_1_1
XrResult xrLocateSpaces(
XrSession session,
const XrSpacesLocateInfo* locateInfo,
XrSpaceLocations* spaceLocations);
Parameters
Description
xrLocateSpaces provides the physical location of one or more spaces in a base space at a specified time, if currently known by the runtime.
The XrSpacesLocateInfo::time, the
XrSpacesLocateInfo::baseSpace, and each space in
XrSpacesLocateInfo::spaces, in the locateInfo parameter,
all follow the same specifics as the corresponding inputs to the
xrLocateSpace function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrLocateViews(3)
Name
xrLocateViews - Gets view and projection info
C Specification
The xrLocateViews function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrLocateViews(
XrSession session,
const XrViewLocateInfo* viewLocateInfo,
XrViewState* viewState,
uint32_t viewCapacityInput,
uint32_t* viewCountOutput,
XrView* views);
Parameters
Description
The xrLocateViews function returns the view and projection info for a particular display time. This time is typically the target display time for a given frame. Repeatedly calling xrLocateViews with the same time may not necessarily return the same result. Instead the prediction gets increasingly accurate as the function is called closer to the given time for which a prediction is made. This allows an application to get the predicted views as late as possible in its pipeline to get the least amount of latency and prediction error.
xrLocateViews returns an array of XrView elements, one for each view of the specified view configuration type, along with an XrViewState containing additional state data shared across all views. The eye each view corresponds to is statically defined in XrViewConfigurationType in case the application wants to apply eye-specific rendering traits. The XrViewState and XrView member data may change on subsequent calls to xrLocateViews, and so applications must not assume it to be constant.
If an application gives a viewLocateInfo with a
XrViewLocateInfo::viewConfigurationType that was not passed in
the session’s call to xrBeginSession via the
XrSessionBeginInfo::primaryViewConfigurationType, or enabled
though an extension, then the runtime must return
XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrNegotiateLoaderApiLayerInterface(3)
Name
xrNegotiateLoaderApiLayerInterface - API layer exported negotiation function
C Specification
The xrNegotiateLoaderApiLayerInterface function is defined as:
// Provided by XR_LOADER_VERSION_1_0
XrResult xrNegotiateLoaderApiLayerInterface(
const XrNegotiateLoaderInfo* loaderInfo,
const char* layerName,
XrNegotiateApiLayerRequest* apiLayerRequest);
Parameters
Description
xrNegotiateLoaderApiLayerInterface should be directly exported by an
API layer so that using e.g. GetProcAddress on Windows or dlsym on POSIX
platforms returns a valid function pointer to it.
The API layer must return XR_ERROR_INITIALIZATION_FAILED if any of
the following conditions on loaderInfo are true:
-
XrNegotiateLoaderInfo::
structTypeis notXR_LOADER_INTERFACE_STRUCT_LOADER_INFO -
XrNegotiateLoaderInfo::
structVersionis not XR_LOADER_INFO_STRUCT_VERSION -
XrNegotiateLoaderInfo::
structSizeis notsizeof(XrNegotiateLoaderInfo)
The API layer must also return XR_ERROR_INITIALIZATION_FAILED if any
of the following conditions on apiLayerRequest are true:
-
XrNegotiateApiLayerRequest::
structTypeis notXR_LOADER_INTERFACE_STRUCT_API_LAYER_REQUEST -
XrNegotiateApiLayerRequest::
structVersionis not XR_API_LAYER_INFO_STRUCT_VERSION -
XrNegotiateApiLayerRequest::
structSizeis notsizeof(XrNegotiateApiLayerRequest)
The API layer must determine if it supports the loader’s request. The API layer does not support the loader’s request if either of the following is true:
-
The API layer does not support the interface versions supported by the loader, as specified by the range XrNegotiateLoaderInfo::
minInterfaceVersionthrough XrNegotiateLoaderInfo::maxInterfaceVersioninclusive. -
The API layer does not support the API versions supported by the loader, ignoring "patch" version components, as specified by the range XrNegotiateLoaderInfo::
minApiVersionthrough XrNegotiateLoaderInfo::maxApiVersioninclusive.
The API layer must return XR_ERROR_INITIALIZATION_FAILED if it does
not support the loader’s request.
If the function succeeds, the API layer must set the
XrNegotiateApiLayerRequest::layerInterfaceVersion with the API
layer interface version it desires to support.
The XrNegotiateApiLayerRequest::layerInterfaceVersion set must
be in the range XrNegotiateLoaderInfo::minInterfaceVersion
through XrNegotiateLoaderInfo::maxInterfaceVersion inclusive.
If the function succeeds, the API layer must set the
XrNegotiateApiLayerRequest::layerApiVersion with the API version
of OpenXR it will execute under.
The XrNegotiateApiLayerRequest::layerApiVersion set must be in
the range XrNegotiateLoaderInfo::minApiVersion through
XrNegotiateLoaderInfo::maxApiVersion inclusive.
If the function succeeds, the API layer must set the
XrNegotiateApiLayerRequest::getInstanceProcAddr with a valid
function pointer for the loader to use to query function pointers to the
remaining OpenXR functions supported by the API layer.
If the function succeeds, the API layer must set the
XrNegotiateApiLayerRequest::createApiLayerInstance with a valid
function pointer to an implementation of xrCreateApiLayerInstance for
the loader to use to create the instance through the API layer call chain.
If the function succeeds, the API layer must return XR_SUCCESS.
The API layer must not call into another API layer from its implementation of the xrNegotiateLoaderApiLayerInterface function. The loader must handle all API layer negotiations with each API layer individually.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrNegotiateLoaderRuntimeInterface(3)
Name
xrNegotiateLoaderRuntimeInterface - Runtime exported negotiation function
C Specification
The xrNegotiateLoaderRuntimeInterface function is defined as:
// Provided by XR_LOADER_VERSION_1_0
XrResult xrNegotiateLoaderRuntimeInterface(
const XrNegotiateLoaderInfo* loaderInfo,
XrNegotiateRuntimeRequest* runtimeRequest);
Parameters
Description
xrNegotiateLoaderRuntimeInterface should be directly exported by a
runtime so that using e.g. GetProcAddress on Windows or dlsym on POSIX
platforms returns a valid function pointer to it.
The runtime must return XR_ERROR_INITIALIZATION_FAILED if any of the
following conditions on loaderInfo are true:
-
XrNegotiateLoaderInfo::
structTypeis notXR_LOADER_INTERFACE_STRUCT_LOADER_INFO -
XrNegotiateLoaderInfo::
structVersionis not XR_LOADER_INFO_STRUCT_VERSION -
XrNegotiateLoaderInfo::
structSizeis notsizeof(XrNegotiateLoaderInfo)
The runtime must also return XR_ERROR_INITIALIZATION_FAILED if any of
the following conditions on runtimeRequest are true:
-
XrNegotiateRuntimeRequest::
structTypeis notXR_LOADER_INTERFACE_STRUCT_RUNTIME_REQUEST -
XrNegotiateRuntimeRequest::
structVersionis not XR_RUNTIME_INFO_STRUCT_VERSION -
XrNegotiateRuntimeRequest::
structSizeis notsizeof(XrNegotiateRuntimeRequest)
The runtime must determine if it supports the loader’s request. The runtime does not support the loader’s request if either of the following is true:
-
The runtime does not support any of the interface versions supported by the loader, as specified by the range XrNegotiateLoaderInfo::
minInterfaceVersionthrough XrNegotiateLoaderInfo::maxInterfaceVersioninclusive. -
The runtime does not support any of the API versions supported by the loader, ignoring "patch" version components, as specified by the range XrNegotiateLoaderInfo::
minApiVersionthrough XrNegotiateLoaderInfo::maxApiVersioninclusive.
The runtime must return XR_ERROR_INITIALIZATION_FAILED if it does not
support the loader’s request.
If the function succeeds, the runtime must set the
XrNegotiateRuntimeRequest::runtimeInterfaceVersion with the
runtime interface version it desires to support.
The XrNegotiateRuntimeRequest::runtimeInterfaceVersion set must
be in the range XrNegotiateLoaderInfo::minInterfaceVersion
through XrNegotiateLoaderInfo::maxInterfaceVersion inclusive.
If the function succeeds, the runtime must set the
XrNegotiateRuntimeRequest::runtimeApiVersion with the API
version of OpenXR it will execute under.
The XrNegotiateRuntimeRequest::runtimeApiVersion set must be in
the range XrNegotiateLoaderInfo::minApiVersion through
XrNegotiateLoaderInfo::maxApiVersion inclusive.
If the function succeeds, the runtime must set the
XrNegotiateRuntimeRequest::getInstanceProcAddr with a valid
function pointer for the loader to use to query function pointers to the
remaining OpenXR functions supported by the runtime.
If the function succeeds, the runtime must return XR_SUCCESS.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughLayerPauseFB(3)
Name
xrPassthroughLayerPauseFB - Pause a passthrough layer
C Specification
The xrPassthroughLayerPauseFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrPassthroughLayerPauseFB(
XrPassthroughLayerFB layer);
Parameters
Description
Pauses an XrPassthroughLayerFB layer. Runtime will not render or composite paused layers.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughLayerResumeFB(3)
Name
xrPassthroughLayerResumeFB - Resume a passthrough layer
C Specification
The xrPassthroughLayerResumeFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrPassthroughLayerResumeFB(
XrPassthroughLayerFB layer);
Parameters
Description
Resumes an XrPassthroughLayerFB layer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughLayerSetKeyboardHandsIntensityFB(3)
Name
xrPassthroughLayerSetKeyboardHandsIntensityFB - Renders hands over the keyboard (keyboard hands) with a specific intensity of hands passthrough layer
C Specification
The xrPassthroughLayerSetKeyboardHandsIntensityFB function is defined as:
// Provided by XR_FB_passthrough_keyboard_hands
XrResult xrPassthroughLayerSetKeyboardHandsIntensityFB(
XrPassthroughLayerFB layer,
const XrPassthroughKeyboardHandsIntensityFB* intensity);
Parameters
Description
Sets an XrPassthroughKeyboardHandsIntensityFB intensity on an XrPassthroughLayerFB layer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughLayerSetStyleFB(3)
Name
xrPassthroughLayerSetStyleFB - Set style on a passthrough layer
C Specification
The xrPassthroughLayerSetStyleFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrPassthroughLayerSetStyleFB(
XrPassthroughLayerFB layer,
const XrPassthroughStyleFB* style);
Parameters
Description
Sets an XrPassthroughStyleFB style on an XrPassthroughLayerFB layer.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughPauseFB(3)
Name
xrPassthroughPauseFB - Pause a passthrough feature
C Specification
The xrPassthroughPauseFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrPassthroughPauseFB(
XrPassthroughFB passthrough);
Parameters
Description
Pauses an XrPassthroughFB feature. When the feature is paused, runtime will stop rendering and compositing all passthrough layers produced on behalf of the application, and may free up some or all the resources used to produce passthrough until xrPassthroughStartFB is called.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPassthroughStartFB(3)
Name
xrPassthroughStartFB - Start a passthrough feature
C Specification
The xrPassthroughStartFB function is defined as:
// Provided by XR_FB_passthrough
XrResult xrPassthroughStartFB(
XrPassthroughFB passthrough);
Parameters
Description
Starts an XrPassthroughFB feature. If the feature is not started, either explicitly with a call to xrPassthroughStartFB, or implicitly at creation using the behavior flags, it is considered paused. When the feature is paused, runtime will stop rendering and compositing all passthrough layers produced on behalf of the application, and may free up some or all the resources used to produce passthrough until xrPassthroughStartFB is called.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPathToString(3)
Name
xrPathToString - Converts a semantic path to a string
C Specification
// Provided by XR_VERSION_1_0
XrResult xrPathToString(
XrInstance instance,
XrPath path,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
xrPathToString retrieves the path name string associated with an
XrPath, in the context of a given XrInstance, in the form of
a NULL terminated string placed into a caller-allocated buffer.
Since the mapping between a well-formed path name string and an
XrPath is bijective, there will always be exactly one string for
each valid XrPath value.
This can be useful if the calling application receives an XrPath
value that they had not previously retrieved via xrStringToPath.
During the lifetime of the given XrInstance, the path name string
retrieved by this function for a given valid XrPath will not
change.
For invalid paths, including XR_NULL_PATH, XR_ERROR_PATH_INVALID
must be returned.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPauseSimultaneousHandsAndControllersTrackingMETA(3)
Name
xrPauseSimultaneousHandsAndControllersTrackingMETA - Resume simultaneous tracking of hands and controllers
C Specification
The xrPauseSimultaneousHandsAndControllersTrackingMETA function is defined as:
// Provided by XR_META_simultaneous_hands_and_controllers
XrResult xrPauseSimultaneousHandsAndControllersTrackingMETA(
XrSession session,
const XrSimultaneousHandsAndControllersTrackingPauseInfoMETA* pauseInfo);
Parameters
Description
An application can call xrPauseSimultaneousHandsAndControllersTrackingMETA to disable simultaneous hands and controller tracking.
If xrPauseSimultaneousHandsAndControllersTrackingMETA is called when
the feature is not running, the runtime must return XR_SUCCESS.
Tracking systems consume system resources and it is desirable to be able to stop them when they are not in use; a strong motivation for this extension is that it provides the ability for clients to dynamically switch to a multiple tracking system operating mode only as needed, thus preserving system resources and improving battery performance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPerfSettingsSetPerformanceLevelEXT(3)
Name
xrPerfSettingsSetPerformanceLevelEXT - xrPerfSettingsSetPerformanceLevelEXT
C Specification
// Provided by XR_EXT_performance_settings
XrResult xrPerfSettingsSetPerformanceLevelEXT(
XrSession session,
XrPerfSettingsDomainEXT domain,
XrPerfSettingsLevelEXT level);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistAnchorANDROID(3)
Name
xrPersistAnchorANDROID - Create anchor persistence handle
C Specification
The xrPersistAnchorANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrPersistAnchorANDROID(
XrDeviceAnchorPersistenceANDROID handle,
const XrPersistedAnchorSpaceInfoANDROID* persistedInfo,
XrUuidEXT* anchorIdOutput);
Parameters
Description
The application requests anchors to be persisted by calling xrPersistAnchorANDROID. The application must not assume a success return value means the anchor is immediately persisted. The application should use xrGetAnchorPersistStateANDROID to check the persist state of the anchor using the returned anchor XrUuidEXT.
-
The runtime must return
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROIDif the persisted data loading forhandleis not yet complete. -
The runtime must return
XR_SUCCESSonce the anchor has been queued for persistence.
To unpersist the anchor, the application calls xrUnpersistAnchorANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistSpatialAnchorAsyncBD(3)
Name
xrPersistSpatialAnchorAsyncBD - Persist a spatial anchor
C Specification
The xrPersistSpatialAnchorAsyncBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrPersistSpatialAnchorAsyncBD(
XrSenseDataProviderBD provider,
const XrSpatialAnchorPersistInfoBD* info,
XrFutureEXT* future);
Parameters
To persist a spatial anchor, call xrPersistSpatialAnchorAsyncBD.
Description
Persisting a spatial anchor means storing it to a persistent storage, allowing it to be reloaded and located in subsequent sessions by the same application.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrPersistSpatialAnchorCompleteBD, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure XrFutureCompletionEXT.
If a previously persisted spatial anchor is successfully loaded and located by the runtime after starting a spatial anchor provider, the runtime must queue an XrEventDataSenseDataUpdatedBD event.
In subsequent sessions, to retrieve the previously persisted spatial anchor
or anchors, after receiving the XrEventDataSenseDataUpdatedBD event,
use the normal practice of creating a snapshot and getting the queried sense
data (call xrQuerySenseDataAsyncBD, xrQuerySenseDataCompleteBD,
xrGetQueriedSenseDataBD per the specification).
Tracking data is accessible by calling xrCreateSpatialEntityAnchorBD
and xrCreateAnchorSpaceBD as specified.
All of these functions are defined in XR_BD_spatial_sensing.
If the XrAnchorBD is already persisted, calling this function does not
change the persistence status.
In this case, the runtime must still set the return value of
xrPersistSpatialAnchorAsyncBD to XR_SUCCESS.
The runtime must set the corresponding future result returned by
xrPersistSpatialAnchorCompleteBD to XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistSpatialAnchorCompleteBD(3)
Name
xrPersistSpatialAnchorCompleteBD - Get the completion of persisting a spatial anchor
C Specification
The xrPersistSpatialAnchorCompleteBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrPersistSpatialAnchorCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
Description
To complete persisting an anchor and retrieve the result, call xrPersistSpatialAnchorCompleteBD.
This is the completion function corresponding to
xrPersistSpatialAnchorAsyncBD.
It completes the asynchronous operation and returns the results.
Do not call until the future is READY.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistSpatialAnchorMSFT(3)
Name
xrPersistSpatialAnchorMSFT - Persist the spatial anchor in the spatial anchor store
C Specification
The application can use the xrPersistSpatialAnchorMSFT function to
persist a spatial anchor in the spatial anchor store for this application.
The given
XrSpatialAnchorPersistenceInfoMSFT::spatialAnchorPersistenceName
will be the string to retrieve the spatial anchor from the Spatial Anchor
store or subsequently remove the record of this spatial anchor from the
store.
This name will uniquely identify the spatial anchor for the current
application.
If there is already a spatial anchor of the same name persisted in the
spatial anchor store, the existing spatial anchor will be replaced and
xrPersistSpatialAnchorMSFT must return XR_SUCCESS.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrPersistSpatialAnchorMSFT(
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore,
const XrSpatialAnchorPersistenceInfoMSFT* spatialAnchorPersistenceInfo);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistSpatialEntityAsyncEXT(3)
Name
xrPersistSpatialEntityAsyncEXT - Persist a spatial entity.
C Specification
The xrPersistSpatialEntityAsyncEXT function is defined as:
// Provided by XR_EXT_spatial_persistence_operations
XrResult xrPersistSpatialEntityAsyncEXT(
XrSpatialPersistenceContextEXT persistenceContext,
const XrSpatialEntityPersistInfoEXT* persistInfo,
XrFutureEXT* future);
Parameters
An application can persist a spatial entity using the xrPersistSpatialEntityAsyncEXT function.
Description
The runtime must return XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT if
XrSpatialEntityPersistInfoEXT::spatialEntityId does not belong
to XrSpatialEntityPersistInfoEXT::spatialContext.
The runtime must return XR_ERROR_PERMISSION_INSUFFICIENT if the
XrSpatialPersistenceScopeEXT that persistenceContext was
configured with is a read-only scope and does not allow applications to
modify the storage represented by it.
An example of this would be if persistenceContext was created with
XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT and the application
uses xrPersistSpatialEntityAsyncEXT with that
persistenceContext.
The runtime must return
XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT if the
XrSpatialPersistenceScopeEXT that persistenceContext was
configured does allow the application to persist entities of its choice in
the storage but XrSpatialEntityPersistInfoEXT::spatialEntityId
is not covered in the configured scope.
An example of this would be if the persistence context scope is set to
XR_SPATIAL_PERSISTENCE_SCOPE_LOCAL_ANCHORS_EXT, and
XrSpatialEntityPersistInfoEXT::spatialEntityId does not
represent an anchor.
The runtime must not return an error if
XrSpatialEntityPersistInfoEXT::spatialContext was not configured
with persistenceContext using
XrSpatialContextPersistenceConfigEXT.
Using xrPersistSpatialEntityAsyncEXT does not require that
persistenceContext be connected with the spatial context.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrPersistSpatialEntityCompleteEXT, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure
XrPersistSpatialEntityCompletionEXT.
If the XrSpatialEntityTrackingStateEXT of
XrSpatialEntityPersistInfoEXT::spatialEntityId is not
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT when
xrPersistSpatialEntityAsyncEXT is called, the runtime must not return
an error from this function or set
XrPersistSpatialEntityCompletionEXT::futureResult to an error
code to indicate this.
The runtime may either set future to the READY
state immediately and set
XrPersistSpatialEntityCompletionEXT::persistResult to
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT to
indicate the lack of tracking state, or wait for the entity to get into
tracking state as part of the async operation and set
XrPersistSpatialEntityCompletionEXT::persistResult to
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT if the
entity does not get into tracking state until a runtime determined timeout.
A common usage pattern of applications is to create a spatial anchor using
xrCreateSpatialAnchorEXT and then immediately request to persist the
newly created spatial anchor using xrPersistSpatialEntityAsyncEXT.
XR_EXT_spatial_anchor states that the tracking state of an anchor
may not be XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT immediately
upon its creation.
For such cases, the runtime should wait for the anchor to get into tracking
state as part of the persist async operation instead of immediately setting
future to the READY state and fail the operation
with XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT
only if the anchor does not get into tracking state within a runtime
determined timeout.
If the spatial entity represented by
XrSpatialEntityPersistInfoEXT::spatialEntityId has already been
persisted in the scope associated with persistenceContext, the runtime
must not treat that as an error but instead complete the async operation
successfully and provide the appropriate persist UUID to the application.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPersistSpatialEntityCompleteEXT(3)
Name
xrPersistSpatialEntityCompleteEXT - Complete the spatial entity persist async request
C Specification
The xrPersistSpatialEntityCompleteEXT function is defined as:
// Provided by XR_EXT_spatial_persistence_operations
XrResult xrPersistSpatialEntityCompleteEXT(
XrSpatialPersistenceContextEXT persistenceContext,
XrFutureEXT future,
XrPersistSpatialEntityCompletionEXT* completion);
Parameters
Description
xrPersistSpatialEntityCompleteEXT completes the asynchronous operation
started by xrPersistSpatialEntityAsyncEXT.
The runtime must return XR_ERROR_FUTURE_PENDING_EXT if future
is not in READY state.
The runtime must return XR_ERROR_FUTURE_INVALID_EXT if future
has already been completed or cancelled.
This is the completion function corresponding to the operation started by
xrPersistSpatialEntityAsyncEXT.
Do not call until the future is READY.
If XrPersistSpatialEntityCompletionEXT::persistUuid is a UUID
that has already been provided to the application either via a previous
successful completion of xrPersistSpatialEntityAsyncEXT or by
discovering existing persisted entities, then the
XrSpatialEntityPersistInfoEXT::spatialEntityId must represent
the same entity as the one the UUID was originally provided for.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPollEvent(3)
Name
xrPollEvent - Polls for events
C Specification
The xrPollEvent function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrPollEvent(
XrInstance instance,
XrEventDataBuffer* eventData);
Parameters
Description
xrPollEvent polls for the next event and returns an event if one is
available.
xrPollEvent returns immediately regardless of whether an event was
available.
The event (if present) is unilaterally removed from the queue if a valid
XrInstance is provided.
On return, the eventData parameter is filled with the event’s data and
the type field is changed to the event’s type.
Runtimes may create valid next chains depending on enabled extensions,
but they must guarantee that any such chains point only to objects which
fit completely within the original XrEventDataBuffer pointed to by
eventData.
The runtime must discard queued events which contain destroyed or otherwise invalid handles. The runtime must not return events containing handles that have been destroyed or are otherwise invalid at the time of the call to xrPollEvent.
| Event | Description |
|---|---|
event queue has overflowed and some events were lost |
|
application is about to lose the instance |
|
current interaction profile for one or more top level user paths has changed |
|
runtime will begin operating with updated definitions or bounds for a reference space |
|
the application’s session has changed lifecycle state |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPollFutureEXT(3)
Name
xrPollFutureEXT - Polls the lifecycle state of an XrFuture
C Specification
The xrPollFutureEXT function is defined as:
// Provided by XR_EXT_future
XrResult xrPollFutureEXT(
XrInstance instance,
const XrFuturePollInfoEXT* pollInfo,
XrFuturePollResultEXT* pollResult);
Parameters
Description
Applications can use this function to check the current state of a future, typically while waiting for the async operation to complete and the future to become "ready" to complete.
|
Note
|
Note
Each |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPublishSpatialAnchorsAsyncML(3)
Name
xrPublishSpatialAnchorsAsyncML - Begin a storage query
C Specification
The xrPublishSpatialAnchorsAsyncML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrPublishSpatialAnchorsAsyncML(
XrSpatialAnchorsStorageML storage,
const XrSpatialAnchorsPublishInfoML* publishInfo,
XrFutureEXT* future);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPublishSpatialAnchorsCompleteML(3)
Name
xrPublishSpatialAnchorsCompleteML - Complete the asynchronous publish operation.
C Specification
The xrPublishSpatialAnchorsCompleteML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrPublishSpatialAnchorsCompleteML(
XrSpatialAnchorsStorageML storage,
XrFutureEXT future,
XrSpatialAnchorsPublishCompletionML* completion);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQueryLocalizationMapsML(3)
Name
xrQueryLocalizationMapsML - Query the available localization maps.
C Specification
The xrQueryLocalizationMapsML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrQueryLocalizationMapsML(
XrSession session,
const XrLocalizationMapQueryInfoBaseHeaderML* queryInfo,
uint32_t mapCapacityInput,
uint32_t * mapCountOutput,
XrLocalizationMapML* maps);
Parameters
Description
The list of localization maps returned will depend on the current device
mapping mode.
Only the localization maps associated with the current mapping mode will be
returned by this call.
Device mapping mode (e.g. XR_LOCALIZATION_MAP_TYPE_ON_DEVICE_ML or
XR_LOCALIZATION_MAP_TYPE_CLOUD_ML) can only be changed via the system
application(s).
The list of maps known to the runtime may change between the two calls to
xrQueryLocalizationMapsML.
This is however a rare occurrence and the application may retry the call
again if it receives XR_ERROR_SIZE_INSUFFICIENT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQueryPerformanceMetricsCounterMETA(3)
Name
xrQueryPerformanceMetricsCounterMETA - Query performance metrics counter
C Specification
The xrQueryPerformanceMetricsCounterMETA function is defined as:
// Provided by XR_META_performance_metrics
XrResult xrQueryPerformanceMetricsCounterMETA(
XrSession session,
XrPath counterPath,
XrPerformanceMetricsCounterMETA* counter);
Parameters
Description
The xrQueryPerformanceMetricsCounterMETA function queries a performance metrics counter.
The application should enable the performance metrics system (by calling
xrSetPerformanceMetricsStateMETA) before querying metrics using
xrQueryPerformanceMetricsCounterMETA.
If the performance metrics system has not been enabled before calling
xrQueryPerformanceMetricsCounterMETA, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
If counterPath is not in the list returned by
xrEnumeratePerformanceMetricsCounterPathsMETA, the runtime must return
XR_ERROR_PATH_UNSUPPORTED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySenseDataAsyncBD(3)
Name
xrQuerySenseDataAsyncBD - Query a sense data provider
C Specification
The xrQuerySenseDataAsyncBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrQuerySenseDataAsyncBD(
XrSenseDataProviderBD provider,
const XrSenseDataQueryInfoBD* queryInfo,
XrFutureEXT* future);
Parameters
The application can query a sense data provider by calling xrQuerySenseDataAsyncBD.
Description
The application must not call this function to initiate a query request for
the spatial sense data unless the xrStartSenseDataProviderCompleteBD
has been called successfully, the future completed, and returned a future
result of XR_SUCCESS.
Otherwise, the runtime must return XR_ERROR_CALL_ORDER_INVALID.
The query result is a snapshot of the sense data from the current sense data
provider.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is xrQuerySenseDataCompleteBD,
usable when a future from this function is in the READY
state, with outputs populated by that function in the completion structure
XrSenseDataQueryCompletionBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySenseDataCompleteBD(3)
Name
xrQuerySenseDataCompleteBD - Complete a sense data provider query
C Specification
The xrQuerySenseDataCompleteBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrQuerySenseDataCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrSenseDataQueryCompletionBD* completion);
Parameters
Description
This is the completion function corresponding to
xrQuerySenseDataAsyncBD.
It completes the asynchronous operation and returns the results.
Do not call until the future is READY.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySpacesFB(3)
Name
xrQuerySpacesFB - Queries for spatial entities
C Specification
The xrQuerySpacesFB function is defined as:
// Provided by XR_FB_spatial_entity_query
XrResult xrQuerySpacesFB(
XrSession session,
const XrSpaceQueryInfoBaseHeaderFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrQuerySpacesFB function enables an application to find and
retrieve spatial entities from storage.
Cast an XrSpaceQueryInfoFB pointer to a
XrSpaceQueryInfoBaseHeaderFB pointer to pass as info.
The application should keep the returned requestId for the duration
of the request as it is used to refer to the request when calling
xrRetrieveSpaceQueryResultsFB and is used to map completion events to
the request.
This operation is asynchronous and the runtime must post an
XrEventDataSpaceQueryCompleteFB event when the operation completes
successfully or encounters an error.
If this function returns a failure code, no event is posted.
The runtime must post an XrEventDataSpaceQueryResultsAvailableFB
before XrEventDataSpaceQueryCompleteFB if any results are found.
Once an XrEventDataSpaceQueryResultsAvailableFB event has been posted,
the application may call xrRetrieveSpaceQueryResultsFB to retrieve
the available results.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySpatialAnchorsAsyncML(3)
Name
xrQuerySpatialAnchorsAsyncML - Begin a storage query
C Specification
The xrQuerySpatialAnchorsAsyncML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrQuerySpatialAnchorsAsyncML(
XrSpatialAnchorsStorageML storage,
const XrSpatialAnchorsQueryInfoBaseHeaderML* queryInfo,
XrFutureEXT* future);
Parameters
Description
If the space was not locatable during the query the runtime must return
XR_ERROR_SPACE_NOT_LOCATABLE_EXT in
XrSpatialAnchorsQueryCompletionML::futureResult.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySpatialAnchorsCompleteML(3)
Name
xrQuerySpatialAnchorsCompleteML - Complete the asynchronous query operation.
C Specification
The xrQuerySpatialAnchorsCompleteML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrQuerySpatialAnchorsCompleteML(
XrSpatialAnchorsStorageML storage,
XrFutureEXT future,
XrSpatialAnchorsQueryCompletionML* completion);
Parameters
Description
Once the XrFutureEXT has completed
xrQuerySpatialAnchorsCompleteML must be called to retrieve the
XrUuidEXT values of the found anchors.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySpatialComponentDataEXT(3)
Name
xrQuerySpatialComponentDataEXT - Query component data from a snapshot
C Specification
The xrQuerySpatialComponentDataEXT function is defined as:
// Provided by XR_EXT_spatial_entity
XrResult xrQuerySpatialComponentDataEXT(
XrSpatialSnapshotEXT snapshot,
const XrSpatialComponentDataQueryConditionEXT* queryCondition,
XrSpatialComponentDataQueryResultEXT* queryResult);
Parameters
Description
The application can use xrQuerySpatialComponentDataEXT to query the
component data of the entities in the snapshot by attaching a list structure
to XrSpatialComponentDataQueryResultEXT::next corresponding to
each XrSpatialComponentTypeEXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
If the application attaches a list structure to
XrSpatialComponentDataQueryResultEXT::next that does not
correspond to any of the components listed in
XrSpatialComponentDataQueryConditionEXT::componentTypes, the
runtime must return XR_ERROR_VALIDATION_FAILURE.
The application can choose to attach the list structures corresponding to
only a subset of components listed in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The application can choose to omit the list structures altogether if it
only wishes to know the ids and tracking state of the spatial entities that
satisfy the queryCondition.
The runtime must not treat the absence of list structures from the
XrSpatialComponentDataQueryResultEXT::next chain as a failure.
If XrEventDataReferenceSpaceChangePending is queued and
XrEventDataReferenceSpaceChangePending::changeTime elapsed while
the application is querying component data from an
XrSpatialSnapshotEXT, the application may use the event data to
adjust the poses accordingly.
The runtime must populate
XrSpatialComponentDataQueryResultEXT::entityIds only with
entities that have all the components specified in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
If XrSpatialComponentDataQueryConditionEXT::componentTypeCount
is 0, the runtime must populate queryResult with all the entities
(and their tracking states) that are in the snapshot.
If additional query conditions are added to
XrSpatialComponentDataQueryConditionEXT::next, the runtime must
treat those as an "AND" with the component types availability i.e. the
runtime must populate XrSpatialComponentDataQueryResultEXT::entityIds
only with entities that satisfy all of the provided conditions.
The runtime must populate the component data in the list structures in the
same order as the entities in
XrSpatialComponentDataQueryResultEXT::entityIds i.e. the
component data at a given index in the list structure array must correspond
to the entity at the same index.
If the tracking state for an entity is not
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT, the runtime must not
change the data at the index corresponding to that entity in the array
contained in the list structures attached to
XrSpatialComponentDataQueryResultEXT.
As an example the application creates an XrSpatialSnapshotEXT which contains 5 entities, where -
-
Entity 1 and 2 have components
XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXTandXR_SPATIAL_COMPONENT_TYPE_PARENT_EXT -
Entity 3 and 4 have components
XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXTandXR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT -
Entity 5 has components
XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXTandXR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT.
xrQuerySpatialComponentDataEXT on the above snapshot with
XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT listed in the query condition
will result in entity #1, #2, and #5 being returned to the application and
the application can attach an array of XrSpatialBounded2DDataEXT as
part of the XrSpatialComponentBounded2DListEXT structure to the next
chain of XrSpatialComponentDataQueryResultEXT to get the bounded2D
data.
xrQuerySpatialComponentDataEXT on the above snapshot with
XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT and
XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT components listed in the query
condition will result in entity #3 and #4 being returned to the application
and the application can attach arrays of XrBoxf and
XrSpatialMeshDataEXT as part of the
XrSpatialComponentBounded3DListEXT and
XrSpatialComponentMesh3DListEXT structures respectively to the next
chain of XrSpatialComponentDataQueryResultEXT to get the component
data.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrQuerySystemTrackedKeyboardFB(3)
Name
xrQuerySystemTrackedKeyboardFB - Queries the system keyboard
C Specification
The xrQuerySystemTrackedKeyboardFB function is defined as:
// Provided by XR_FB_keyboard_tracking
XrResult xrQuerySystemTrackedKeyboardFB(
XrSession session,
const XrKeyboardTrackingQueryFB* queryInfo,
XrKeyboardTrackingDescriptionFB* keyboard);
Parameters
Description
The xrQuerySystemTrackedKeyboardFB function populates an XrKeyboardTrackingDescriptionFB structure with enough information to describe a keyboard that the system can locate.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRaycastANDROID(3)
Name
xrRaycastANDROID - Perform a raycast.
C Specification
The xrRaycastANDROID function is defined as:
// Provided by XR_ANDROID_raycast
XrResult xrRaycastANDROID(
XrSession session,
const XrRaycastInfoANDROID* rayInfo,
XrRaycastHitResultsANDROID* results);
Parameters
Description
To perform raycasts, the application calls xrRaycastANDROID.
-
If a raycast intersects more trackables than XrRaycastInfoANDROID::
maxResults, the runtime must return the hit results that are closest to the XrRaycastInfoANDROID::originof the ray. -
If a raycast intersects a trackable of type
XR_TRACKABLE_TYPE_PLANE_ANDROID, that is subsumed by another plane, the runtime must return the hit result for the subsuming plane only. -
The runtime must return the hit results in closest-to-farthest order from XrRaycastInfoANDROID::
originalong the XrRaycastInfoANDROID::trajectoryvector. -
The runtime must return
XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROIDif the trackable type corresponding to the XrTrackableTrackerANDROID handles in XrRaycastInfoANDROID::trackersare not enumerated by xrEnumerateRaycastSupportedTrackableTypesANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrReleaseSwapchainImage(3)
Name
xrReleaseSwapchainImage - Release a swapchain image
C Specification
The xrReleaseSwapchainImage function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrReleaseSwapchainImage(
XrSwapchain swapchain,
const XrSwapchainImageReleaseInfo* releaseInfo);
Parameters
Description
If the swapchain was created with the
XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT set in
XrSwapchainCreateInfo::createFlags structure, this function
must not have been previously called for this swapchain.
The runtime must return XR_ERROR_CALL_ORDER_INVALID if no image has
been waited on by calling xrWaitSwapchainImage.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestDisplayRefreshRateFB(3)
Name
xrRequestDisplayRefreshRateFB - Request a display refresh rate
C Specification
The xrRequestDisplayRefreshRateFB function is defined as:
// Provided by XR_FB_display_refresh_rate
XrResult xrRequestDisplayRefreshRateFB(
XrSession session,
float displayRefreshRate);
Parameters
Description
xrRequestDisplayRefreshRateFB provides a mechanism for an application
to request the system to dynamically change the display refresh rate to the
application preferred value.
The runtime must return XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB
if displayRefreshRate is not either 0.0f or one of the values
enumerated by xrEnumerateDisplayRefreshRatesFB.
A display refresh rate of 0.0f indicates the application has no
preference.
Note that this is only a request and does not guarantee the system will switch to the requested display refresh rate.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestExitSession(3)
Name
xrRequestExitSession - Request to exit a running session.
C Specification
When an application wishes to exit a running session,
it can call xrRequestExitSession, requesting that the runtime
transition through the various intermediate session states including
XR_SESSION_STATE_STOPPING to XR_SESSION_STATE_EXITING.
On platforms where an application’s lifecycle is managed by the system, session state changes may be implicitly triggered by application lifecycle state changes. On such platforms, using platform-specific methods to alter application lifecycle state may be the preferred method of provoking session state changes. The behavior of xrRequestExitSession is not altered, however explicit session exit may not interact with the platform-specific application lifecycle.
The xrRequestExitSession function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrRequestExitSession(
XrSession session);
Parameters
Description
If session is not running when
xrRequestExitSession is called, XR_ERROR_SESSION_NOT_RUNNING
must be returned.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestMapLocalizationML(3)
Name
xrRequestMapLocalizationML - Requests a localization map.
C Specification
The xrRequestMapLocalizationML function is defined as:
// Provided by XR_ML_localization_map
XrResult xrRequestMapLocalizationML(
XrSession session,
const XrMapLocalizationRequestInfoML* requestInfo);
Parameters
Description
This is an asynchronous request. Listen for XrEventDataLocalizationChangedML events to get the results of the localization. A new request for localization will override all the past requests for localization that are yet to be completed.
The runtime must return XR_ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML if
the requested is not a map known to the runtime.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestSceneCaptureFB(3)
Name
xrRequestSceneCaptureFB - Begins a scene capture using the specified parameters
C Specification
The xrRequestSceneCaptureFB function is defined as:
// Provided by XR_FB_scene_capture
XrResult xrRequestSceneCaptureFB(
XrSession session,
const XrSceneCaptureRequestInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrRequestSceneCaptureFB function is used by an application to begin capturing the scene around the user. This is an asynchronous operation.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestWorldMeshAsyncML(3)
Name
xrRequestWorldMeshAsyncML - Retrieve mesh vertex data.
C Specification
The xrRequestWorldMeshAsyncML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrRequestWorldMeshAsyncML(
XrWorldMeshDetectorML detector,
const XrWorldMeshGetInfoML* getInfo,
XrWorldMeshBufferML* buffer,
XrFutureEXT* future);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestWorldMeshCompleteML(3)
Name
xrRequestWorldMeshCompleteML - Retrieve mesh vertex data.
C Specification
The xrRequestWorldMeshCompleteML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrRequestWorldMeshCompleteML(
XrWorldMeshDetectorML detector,
const XrWorldMeshRequestCompletionInfoML* completionInfo,
XrFutureEXT future,
XrWorldMeshRequestCompletionML* completion);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestWorldMeshStateAsyncML(3)
Name
xrRequestWorldMeshStateAsyncML - Request the current mesh block state.
C Specification
The xrRequestWorldMeshStateAsyncML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrRequestWorldMeshStateAsyncML(
XrWorldMeshDetectorML detector,
const XrWorldMeshStateRequestInfoML* stateRequest,
XrFutureEXT* future);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRequestWorldMeshStateCompleteML(3)
Name
xrRequestWorldMeshStateCompleteML - Completes the current mesh block state query.
C Specification
The xrRequestWorldMeshStateCompleteML function is defined as:
// Provided by XR_ML_world_mesh_detection
XrResult xrRequestWorldMeshStateCompleteML(
XrWorldMeshDetectorML detector,
XrFutureEXT future,
XrWorldMeshStateRequestCompletionML* completion);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrResetBodyTrackingCalibrationMETA(3)
Name
xrResetBodyTrackingCalibrationMETA - Resets the calibration for the specified body tracker
C Specification
The xrResetBodyTrackingCalibrationMETA function is defined as:
// Provided by XR_META_body_tracking_calibration
XrResult xrResetBodyTrackingCalibrationMETA(
XrBodyTrackerFB bodyTracker);
Parameters
Description
This function removes any height override previously set by xrSuggestBodyTrackingCalibrationOverrideMETA and allows the runtime to return to automatic calibration.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrResultToString(3)
Name
xrResultToString - Converts an XrResult to a UTF-8 string
C Specification
// Provided by XR_VERSION_1_0
XrResult xrResultToString(
XrInstance instance,
XrResult value,
char buffer[XR_MAX_RESULT_STRING_SIZE]);
Parameters
Description
Returns the text version of the provided XrResult value as a UTF-8 string.
In all cases the returned string must be one of:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrResumeSimultaneousHandsAndControllersTrackingMETA(3)
Name
xrResumeSimultaneousHandsAndControllersTrackingMETA - Resume simultaneous tracking of hands and controllers
C Specification
The xrResumeSimultaneousHandsAndControllersTrackingMETA function is defined as:
// Provided by XR_META_simultaneous_hands_and_controllers
XrResult xrResumeSimultaneousHandsAndControllersTrackingMETA(
XrSession session,
const XrSimultaneousHandsAndControllersTrackingResumeInfoMETA* resumeInfo);
Parameters
Description
An application can call xrResumeSimultaneousHandsAndControllersTrackingMETA to enable simultaneous hands and controller tracking.
Runtimes must initialize the simultaneous tracking feature in a paused state, so applications call the resume function for the simultaneous tracking to start.
If xrResumeSimultaneousHandsAndControllersTrackingMETA is called when
the feature is already in a resumed state, the runtime must return
XR_SUCCESS.
If a system supports detection of whether a controller is currently held by the user, the runtime should represent this transition by switching the active interaction profile in the relevant hand from the active controller interaction profile to an interaction profile representing hands if available.
For example, the returned interaction from
xrGetCurrentInteractionProfile on /user/hand/left might
change from /interaction_profiles/facebook/touch_controller_pro to
/interaction_profiles/ext/hand_interaction_ext, generating an
XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED
(XrEventDataInteractionProfileChanged) event, assuming that bindings
were suggested for both of those interaction profiles on that path.
This would indicate that the user put down the controller and is no longer holding a controller in their left hand. Note that in this example, if the user is holding a controller in their right hand, xrGetCurrentInteractionProfile on /user/hand/right still returns /interaction_profiles/facebook/touch_controller_pro.
Also note that if the XR_META_detached_controllers extension is used
alongside XR_META_simultaneous_hands_and_controllers, then when a
controller leaves the hand, it may report that interaction profile as
current for the corresponding /user/detached_controller_meta path
if bindings have been suggested for that path.
See XR_META_simultaneous_hands_and_controllers for details.
When simultaneous tracking is resumed, runtimes should allow xrGetCurrentInteractionProfile to return different interaction profiles for different top level /user paths (e.g. /user/hand/left and /user/hand/right). Note that this behavior is already allowed by the specification, even without this extension, but runtimes exposing this extension may choose to not expose different interaction profiles for different top level /user paths unless it is enabled.
When a held controller transitions to an unheld state, the current interaction profile for the relevant top level path must change to an interaction profile representing hand tracking, if available.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRetrieveSpaceDiscoveryResultsMETA(3)
Name
xrRetrieveSpaceDiscoveryResultsMETA - Retrieve results from Discovering.
C Specification
The xrRetrieveSpaceDiscoveryResultsMETA function is defined as:
// Provided by XR_META_spatial_entity_discovery
XrResult xrRetrieveSpaceDiscoveryResultsMETA(
XrSession session,
XrAsyncRequestIdFB requestId,
XrSpaceDiscoveryResultsMETA* results);
Parameters
Description
The xrRetrieveSpaceDiscoveryResultsMETA function is synchronous, and
follows the 2-call idiom, where the first call is made to determine the
number of results, populated in the
XrSpaceDiscoveryResultsMETA::resultCountOutput.
The application uses this value to initialize the
XrSpaceDiscoveryResultsMETA::resultCapacityInput and
XrSpaceDiscoveryResultsMETA::results fields.
The second call to xrRetrieveSpaceDiscoveryResultsMETA must then
populate the results field with whatever results are available.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-buffer-size-parameters for a detailed description of
retrieving the required results size.
Note that after any results have been retrieved, those specific results will
be unavailable for retrieval again.
Application developers can choose to retrieve discovered Spatial Entities
either after receiving an
XrEventDataSpaceDiscoveryResultsAvailableMETA event or after receiving
an XrEventDataSpaceDiscoveryCompleteMETA event.
If application developers choose to retrieve after
XrEventDataSpaceDiscoveryResultsAvailableMETA events (before the
XrEventDataSpaceDiscoveryCompleteMETA event), more results may be
discovered between the first and the second call to
xrRetrieveSpaceDiscoveryResultsMETA.
If this occurs, and if the application chose the result array capacity to
match the XrSpaceDiscoveryResultsMETA::resultCountOutput, that
capacity is no longer sufficient to receive all available results, so the
second call will fail due to insufficient size.
This will not lose results, and the application can begin the two-call
process for xrRetrieveSpaceDiscoveryResultsMETA again.
xrPollEvent and xrRetrieveSpaceDiscoveryResultsMETA may be called simultaneously (without external synchronization).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrRetrieveSpaceQueryResultsFB(3)
Name
xrRetrieveSpaceQueryResultsFB - Copies query results into an output buffer
C Specification
The xrRetrieveSpaceQueryResultsFB function is defined as:
// Provided by XR_FB_spatial_entity_query
XrResult xrRetrieveSpaceQueryResultsFB(
XrSession session,
XrAsyncRequestIdFB requestId,
XrSpaceQueryResultsFB* results);
Parameters
Description
Allows an application to retrieve all available results for a specified
query.
Call this function once to get the number of results found and then once
more to copy the results into a buffer provided by the application.
The number of results will not change between the two calls used to retrieve
results.
This function must only retrieve each query result once.
After the application has used this function to retrieve a query result, the
runtime frees its copy.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
requestId refers to a request that is not yet complete, a request for
which results have already been retrieved, or if requestId does not
refer to a known request.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSaveSpaceFB(3)
Name
xrSaveSpaceFB - Saves a spatial entity to persistent storage
C Specification
The xrSaveSpaceFB function is defined as:
// Provided by XR_FB_spatial_entity_storage
XrResult xrSaveSpaceFB(
XrSession session,
const XrSpaceSaveInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrSaveSpaceFB function persists the spatial entity at the
specified location with the specified mode.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrSpaceSaveInfoFB::space is XR_NULL_HANDLE or otherwise
invalid.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrSpaceSaveInfoFB::location or
XrSpaceSaveInfoFB::persistenceMode is invalid.
This operation is asynchronous and the runtime must post an
XrEventDataSpaceSaveCompleteFB event when the operation completes
successfully or encounters an error.
If this function returns a failure code, no event is posted.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSaveSpaceListFB(3)
Name
xrSaveSpaceListFB - Saves a list of spatial entities to persistent storage
C Specification
The xrSaveSpaceListFB function is defined as:
// Provided by XR_FB_spatial_entity_storage_batch
XrResult xrSaveSpaceListFB(
XrSession session,
const XrSpaceListSaveInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrSaveSpaceListFB function persists the specified spatial entities
at the specified storage location.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
XrSpaceSaveInfoFB::location is invalid.
This operation is asynchronous and the runtime must post an
XrEventDataSpaceListSaveCompleteFB event when the operation completes
successfully or encounters an error.
If this function returns a failure code, no event is posted.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSaveSpacesMETA(3)
Name
xrSaveSpacesMETA - Saves space(s) to persistent storage
C Specification
The xrSaveSpacesMETA function is defined as:
// Provided by XR_META_spatial_entity_persistence
XrResult xrSaveSpacesMETA(
XrSession session,
const XrSpacesSaveInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The xrSaveSpacesMETA function persists the space(s) provided. The scope of the save operation is same-user, same-device, same-app. This is an asynchronous operation. Completion results are conveyed in the event XrEventDataSpacesSaveResultMETA.
The runtime must return XR_ERROR_HANDLE_INVALID from
xrSaveSpacesMETA if any of the
XrSpacesSaveInfoMETA::spaces are XR_NULL_HANDLE or
otherwise invalid (e.g. not a Meta Spatial Entity XrSpace).
Note that saving an entity which has already been saved previously is valid
and a no-op.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrSaveSpacesMETA if either one of the following is true:
-
The XrSpacesSaveInfoMETA::
spacesisNULL. -
The XrSpacesSaveInfoMETA::
spaceCountis 0.
The length of the array XrSpacesSaveInfoMETA::spaces must have
a size of at least XrSpacesSaveInfoMETA::spaceCount.
When initiated unsuccessfully (i.e. the immediate return value of the xrSaveSpacesMETA call is an error), the save operation terminates without saving any entities, and no save result event is queued.
When initiated successfully (i.e. the immediate return value of the xrSaveSpacesMETA call is not an error), the full save operation is asynchronous. The runtime must queue an XrEventDataSpacesSaveResultMETA event when the save operation completes, either successfully, qualified success (warning), or with an error. See the XrEventDataSpacesSaveResultMETA for which XrResult enumerants may be returned in the event.
Note that if the XrEventDataSpacesSaveResultMETA::result is an
error, it is possible that any subset of the Spatial Entity Spaces were
saved.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSendVirtualKeyboardInputMETA(3)
Name
xrSendVirtualKeyboardInputMETA - Send virtual keyboard input
C Specification
The xrSendVirtualKeyboardInputMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrSendVirtualKeyboardInputMETA(
XrVirtualKeyboardMETA keyboard,
const XrVirtualKeyboardInputInfoMETA* info,
XrPosef* interactorRootPose);
Parameters
Description
The application can use values like a pointer pose as the
interactorRootPose for
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_RAY_* or
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_RAY_* input sources, a point on
a controller model for
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_DIRECT_* input sources and
the hand index tip pose for
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_DIRECT_INDEX_TIP_*.
Different input poses can be used to accommodate application specific
controller or hand models.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSessionBeginDebugUtilsLabelRegionEXT(3)
Name
xrSessionBeginDebugUtilsLabelRegionEXT - Session begin debug utils label region
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrSessionBeginDebugUtilsLabelRegionEXT(
XrSession session,
const XrDebugUtilsLabelEXT* labelInfo);
Parameters
Description
The xrSessionBeginDebugUtilsLabelRegionEXT function begins a label
region within session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSessionEndDebugUtilsLabelRegionEXT(3)
Name
xrSessionEndDebugUtilsLabelRegionEXT - Session end debug utils label region
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrSessionEndDebugUtilsLabelRegionEXT(
XrSession session);
Parameters
Description
This function ends the last label region begun with the
xrSessionBeginDebugUtilsLabelRegionEXT function within the same
session.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSessionInsertDebugUtilsLabelEXT(3)
Name
xrSessionInsertDebugUtilsLabelEXT - Session insert debug utils label
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrSessionInsertDebugUtilsLabelEXT(
XrSession session,
const XrDebugUtilsLabelEXT* labelInfo);
Parameters
Description
The xrSessionInsertDebugUtilsLabelEXT function inserts an individual
label within session.
The individual labels are useful for different reasons based on the type of
debugging scenario.
When used with something active like a profiler or debugger, it identifies a
single point of time.
When used with logging, the individual label identifies that a particular
location has been passed at the point the log message is triggered.
Because of this usage, individual labels only exist in a log until the next
call to any of the label functions:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetAndroidApplicationThreadKHR(3)
Name
xrSetAndroidApplicationThreadKHR - declare threads to be of a certain priority type
C Specification
To declare a thread to be of a certain XrAndroidThreadTypeKHR type call:
// Provided by XR_KHR_android_thread_settings
XrResult xrSetAndroidApplicationThreadKHR(
XrSession session,
XrAndroidThreadTypeKHR threadType,
uint32_t threadId);
Parameters
Description
xrSetAndroidApplicationThreadKHR allows to declare an XR-critical thread and to classify it.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetColorSpaceFB(3)
Name
xrSetColorSpaceFB - Set a color space
C Specification
The xrSetColorSpaceFB function is defined as:
// Provided by XR_FB_color_space
XrResult xrSetColorSpaceFB(
XrSession session,
const XrColorSpaceFB colorSpace);
Parameters
Description
xrSetColorSpaceFB provides a mechanism for an application to specify
the color space used in the final rendered frame.
If this function is not called, the session will use the color space deemed
appropriate by the runtime.
Oculus HMDs for both PC and Mobile product lines default to
XR_COLOR_SPACE_RIFT_CV1_FB.
The runtime must return XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB if
colorSpace is not one of the values enumerated by
xrEnumerateColorSpacesFB.
Formal definitions of color spaces contain a number of aspects such as gamma
correction, max luminance and more.
However, xrSetColorSpaceFB will only affect the color gamut of the
output by transforming the color gamut from the source (defined by the
colorSpace parameter) to the HMD display’s color gamut (defined by the
hardware internally).
This call will not affect gamma correction, leaving that to follow the GPU
texture format standards.
Luminance, tonemapping, and other aspects of the color space will also
remain unaffected.
For more info on color management in Oculus HMDs, please refer to this guide: Color Management in Oculus Headsets
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetDebugUtilsObjectNameEXT(3)
Name
xrSetDebugUtilsObjectNameEXT - Sets debug utils object name
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrSetDebugUtilsObjectNameEXT(
XrInstance instance,
const XrDebugUtilsObjectNameInfoEXT* nameInfo);
Parameters
Description
Applications may change the name associated with an object simply by
calling xrSetDebugUtilsObjectNameEXT again with a new string.
If XrDebugUtilsObjectNameInfoEXT::objectName is an empty string,
then any previously set name is removed.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetDigitalLensControlALMALENCE(3)
Name
xrSetDigitalLensControlALMALENCE - Sets DLVR status
C Specification
The xrSetDigitalLensControlALMALENCE function is defined as:
// Provided by XR_ALMALENCE_digital_lens_control
XrResult xrSetDigitalLensControlALMALENCE(
XrSession session,
const XrDigitalLensControlALMALENCE* digitalLensControl);
Parameters
Description
xrSetDigitalLensControlALMALENCE handles state of Digital Lens API Layer
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetEnvironmentDepthEstimationVARJO(3)
Name
xrSetEnvironmentDepthEstimationVARJO - Enable or disable environment depth estimation functionality
C Specification
The xrSetEnvironmentDepthEstimationVARJO function is defined as:
// Provided by XR_VARJO_environment_depth_estimation
XrResult xrSetEnvironmentDepthEstimationVARJO(
XrSession session,
XrBool32 enabled);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetEnvironmentDepthHandRemovalMETA(3)
Name
xrSetEnvironmentDepthHandRemovalMETA - Enables/disables hand removal from the depth map.
C Specification
The xrSetEnvironmentDepthHandRemovalMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrSetEnvironmentDepthHandRemovalMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider,
const XrEnvironmentDepthHandRemovalSetInfoMETA* setInfo);
Parameters
Description
The xrSetEnvironmentDepthHandRemovalMETA function sets hand removal options.
Runtimes should enable or disable the removal of the hand depths from the
depth map.
If enabled, the corresponding depth pixels should be replaced with the
estimated background depth behind the hands.
Runtimes must return XR_ERROR_FEATURE_UNSUPPORTED if and only if
XrSystemEnvironmentDepthPropertiesMETA::supportsHandRemoval is
XR_FALSE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetFacialSimulationModeBD(3)
Name
xrSetFacialSimulationModeBD - The function to update tracker mode
C Specification
The xrSetFacialSimulationModeBD function is defined as:
// Provided by XR_BD_facial_simulation
XrResult xrSetFacialSimulationModeBD(
XrFaceTrackerBD tracker,
XrFacialSimulationModeBD mode);
Description
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED if the runtime
does not support the new mode.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInputDeviceActiveEXT(3)
Name
xrSetInputDeviceActiveEXT - Sets the active state of the input device
C Specification
// Provided by XR_EXT_conformance_automation
XrResult xrSetInputDeviceActiveEXT(
XrSession session,
XrPath interactionProfile,
XrPath topLevelPath,
XrBool32 isActive);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInputDeviceLocationEXT(3)
Name
xrSetInputDeviceLocationEXT - Sets the effective location of a pose input source on the input device
C Specification
// Provided by XR_EXT_conformance_automation
XrResult xrSetInputDeviceLocationEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
XrSpace space,
XrPosef pose);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInputDeviceStateBoolEXT(3)
Name
xrSetInputDeviceStateBoolEXT - Sets the state of a boolean input source on the input device
C Specification
// Provided by XR_EXT_conformance_automation
XrResult xrSetInputDeviceStateBoolEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
XrBool32 state);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInputDeviceStateFloatEXT(3)
Name
xrSetInputDeviceStateFloatEXT - Sets the state of a float input source on the input device
C Specification
// Provided by XR_EXT_conformance_automation
XrResult xrSetInputDeviceStateFloatEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
float state);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInputDeviceStateVector2fEXT(3)
Name
xrSetInputDeviceStateVector2fEXT - Sets the state of a 2D vector input source on the input device
C Specification
// Provided by XR_EXT_conformance_automation
XrResult xrSetInputDeviceStateVector2fEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
XrVector2f state);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetMarkerTrackingPredictionVARJO(3)
Name
xrSetMarkerTrackingPredictionVARJO - Sets marker tracking with prediction
C Specification
The xrSetMarkerTrackingPredictionVARJO function is defined as:
// Provided by XR_VARJO_marker_tracking
XrResult xrSetMarkerTrackingPredictionVARJO(
XrSession session,
uint64_t markerId,
XrBool32 enable);
Parameters
Description
The xrSetMarkerTrackingPredictionVARJO function enables or disables
the prediction feature for a specified marker.
By default, markers are created with disabled prediction.
This works well for markers that are supposed to be stationary.
The prediction can be used to improve tracking of movable markers.
The runtime must return XR_ERROR_MARKER_ID_INVALID_VARJO if the
supplied markerId is invalid.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetMarkerTrackingTimeoutVARJO(3)
Name
xrSetMarkerTrackingTimeoutVARJO - Sets marker lifetime duration
C Specification
The xrSetMarkerTrackingTimeoutVARJO function is defined as:
// Provided by XR_VARJO_marker_tracking
XrResult xrSetMarkerTrackingTimeoutVARJO(
XrSession session,
uint64_t markerId,
XrDuration timeout);
Parameters
Description
The xrSetMarkerTrackingTimeoutVARJO function sets a desired lifetime
duration for a specified marker.
The default value is XR_NO_DURATION.
Negative value will be clamped to XR_NO_DURATION.
It defines the time period during which the runtime must keep returning
poses of previously tracked markers.
The tracking may be lost if the marker went outside of the trackable field
of view.
In this case the runtime still will try to predict marker’s pose for the
timeout period.
The runtime must return XR_ERROR_MARKER_ID_INVALID_VARJO if the
supplied markerId is invalid.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetMarkerTrackingVARJO(3)
Name
xrSetMarkerTrackingVARJO - Enables marker tracking
C Specification
The xrSetMarkerTrackingVARJO function is defined as:
// Provided by XR_VARJO_marker_tracking
XrResult xrSetMarkerTrackingVARJO(
XrSession session,
XrBool32 enabled);
Parameters
Description
The xrSetMarkerTrackingVARJO function enables or disables marker tracking functionality. As soon as feature is become disabled all trackable markers become inactive and corresponding events will be generated. An application may call any of the functions in this extension regardless if the marker tracking functionality is enabled or disabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetPerformanceMetricsStateMETA(3)
Name
xrSetPerformanceMetricsStateMETA - Enable/disable performance metrics
C Specification
The xrSetPerformanceMetricsStateMETA function is defined as:
// Provided by XR_META_performance_metrics
XrResult xrSetPerformanceMetricsStateMETA(
XrSession session,
const XrPerformanceMetricsStateMETA* state);
Parameters
Description
The xrSetPerformanceMetricsStateMETA function enables or disables the performance metrics system.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetSpaceComponentStatusFB(3)
Name
xrSetSpaceComponentStatusFB - Enables or disables supported component interfaces for an entity
C Specification
The xrSetSpaceComponentStatusFB function is defined as:
// Provided by XR_FB_spatial_entity
XrResult xrSetSpaceComponentStatusFB(
XrSpace space,
const XrSpaceComponentStatusSetInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
Enables or disables the specified component for the specified entity.
This operation is asynchronous and always returns immediately, regardless of
the value of XrSpaceComponentStatusSetInfoFB::timeout.
The requestId can be used to later refer to the request, such as
identifying which request has completed when an
XrEventDataSpaceSetStatusCompleteFB is posted to the event queue.
If this function returns a failure code, no event is posted.
This function must return XR_ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB
if the XrSpace does not support the specified component type.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetSystemNotificationsML(3)
Name
xrSetSystemNotificationsML - Set system notification suppression state.
C Specification
The xrSetSystemNotificationsML function is defined as:
// Provided by XR_ML_system_notifications
XrResult xrSetSystemNotificationsML(
XrInstance instance,
const XrSystemNotificationsSetInfoML* info);
Parameters
Description
This API will work only on certain SKUs.
When called on an incompatible SKU the
XR_ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML error must be
returned.
If the com.magicleap.permission.SYSTEM_NOTIFICATION permission is not
granted, the runtime must return
XR_ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetTrackingOptimizationSettingsHintQCOM(3)
Name
xrSetTrackingOptimizationSettingsHintQCOM - Submit a tracking optimization hint
C Specification
The xrSetTrackingOptimizationSettingsHintQCOM function is defined as:
// Provided by XR_QCOM_tracking_optimization_settings
XrResult xrSetTrackingOptimizationSettingsHintQCOM(
XrSession session,
XrTrackingOptimizationSettingsDomainQCOM domain,
XrTrackingOptimizationSettingsHintQCOM hint);
Parameters
Description
The XR runtime behaves as if
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_NONE_QCOM was submitted if the
application does not provide a hint.
The XR runtime must return XR_ERROR_VALIDATION_FAILURE if the
application sets a domain or hint not part of
XrTrackingOptimizationSettingsDomainQCOM or
XrTrackingOptimizationSettingsHintQCOM.
A hint is typically set before a domain handle is created.
If hints are set more than once from one or concurrent sessions, the runtime
may accommodate the first hint it received and return
XR_ERROR_HINT_ALREADY_SET_QCOM for any subsequent calls made.
If the application destroys the active domain handle associated with the
hint, the runtime may behave as if
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_NONE_QCOM was set.
In this scenario, the runtime should accommodate new valid hints that may
be set for the same domain.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetViewOffsetVARJO(3)
Name
xrSetViewOffsetVARJO - Set view offest
C Specification
The xrSetViewOffsetVARJO function is defined as:
// Provided by XR_VARJO_view_offset
XrResult xrSetViewOffsetVARJO(
XrSession session,
float offset);
Parameters
Description
The xrSetViewOffsetVARJO function takes a float between 0.0 and 1.0.
0.0 means the pose returned by xrLocateViews will be at the eye
location, a value of 1.0 means the pose will be at the camera location.
A value between 0.0 and 1.0 will interpolate the pose to be in between the
eye and the camera location.
A value less than 0.0 or more than 1.0 will fail and return error
XR_ERROR_VALIDATION_FAILURE.
Note that by default the offset is set to 0 if the pass-through cameras are
not active, a.k.a.
in VR (XR_ENVIRONMENT_BLEND_MODE_OPAQUE), and 1 if the cameras are
active, a.k.a.
in MR (XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND or
XR_ENVIRONMENT_BLEND_MODE_ADDITIVE).
Version History
-
Revision 1, 2022-02-08 (Remi Arnaud)
-
extension specification
-
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetVirtualKeyboardModelVisibilityMETA(3)
Name
xrSetVirtualKeyboardModelVisibilityMETA - Set virtual keyboard model visibility
C Specification
The xrSetVirtualKeyboardModelVisibilityMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrSetVirtualKeyboardModelVisibilityMETA(
XrVirtualKeyboardMETA keyboard,
const XrVirtualKeyboardModelVisibilitySetInfoMETA* modelVisibility);
Parameters
Description
Note that the runtime has final control of the model visibility. The runtime may also change the visible state in certain situations. To get the actual visibility state of the render model, the application should wait for the XrEventDataVirtualKeyboardShownMETA and XrEventDataVirtualKeyboardHiddenMETA events.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrShareAnchorANDROID(3)
Name
xrShareAnchorANDROID - Share anchor
C Specification
The xrShareAnchorANDROID function is defined as:
// Provided by XR_ANDROID_anchor_sharing_export
XrResult xrShareAnchorANDROID(
XrSession session,
const XrAnchorSharingInfoANDROID* sharingInfo,
XrAnchorSharingTokenANDROID* anchorToken);
Parameters
Description
The xrShareAnchorANDROID function returns a share token to the
application.
The application can share this token with other applications to give them
access to the pose data of XrAnchorSharingInfoANDROID::anchor.
The runtime must return XR_ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID
if XrAnchorSharingInfoANDROID::anchor was not originally created
by the application that calls xrShareAnchorANDROID.
If the application calls xrShareAnchorANDROID for the same
XrAnchorSharingInfoANDROID::anchor multiple times without
unsharing it first, the runtime must return the same share token each time.
If the application calls xrShareAnchorANDROID for an anchor that was
previously shared but then unshared, the runtime may return a share token
that is different from the previous sharing scope.
The lifetime of the anchorToken share token is limited to the
application controlled share-unshare scope.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrShareSpacesFB(3)
Name
xrShareSpacesFB - Shares spatial entities with specified users
C Specification
The xrShareSpacesFB function is defined as:
// Provided by XR_FB_spatial_entity_sharing
XrResult xrShareSpacesFB(
XrSession session,
const XrSpaceShareInfoFB* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
This operation is asynchronous and the runtime must post an
XrEventDataSpaceShareCompleteFB event when the operation completes
successfully or encounters an error.
If this function returns a failure code, no event is posted.
The requestId can be used to later refer to the request, such as
identifying which request has completed when an
XrEventDataSpaceShareCompleteFB is posted to the event queue.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrShareSpacesMETA(3)
Name
xrShareSpacesMETA - Share a spatial entity
C Specification
The xrShareSpacesMETA function is defined as:
// Provided by XR_META_spatial_entity_sharing
XrResult xrShareSpacesMETA(
XrSession session,
const XrShareSpacesInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The application may use the xrShareSpacesMETA function to share
spaces (XrSpace) if the XR_SPACE_COMPONENT_TYPE_SHARABLE_FB
component has been enabled on the space.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataShareSpacesCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataShareSpacesCompleteMETA event identified with a
requestId field matching the value output by this function, referred to as
the "corresponding completion event."
(If the runtime returns anything other than XR_SUCCESS, the runtime
must not queue any XrEventDataShareSpacesCompleteMETA events with
requestId field matching the requestId populated by this function.)
If the asynchronous operation is successful, the runtime must set the
XrEventDataShareSpacesCompleteMETA::result field to
XR_SUCCESS in the corresponding completion event.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataShareSpacesCompleteMETA::result field to an
appropriate error code instead of XR_SUCCESS.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrShareSpatialAnchorAsyncBD(3)
Name
xrShareSpatialAnchorAsyncBD - Share a spatial anchor
C Specification
The xrShareSpatialAnchorAsyncBD function is defined as:
// Provided by XR_BD_spatial_anchor_sharing
XrResult xrShareSpatialAnchorAsyncBD(
XrSenseDataProviderBD provider,
const XrSpatialAnchorShareInfoBD* info,
XrFutureEXT* future);
Parameters
To share a spatial anchor, call xrShareSpatialAnchorAsyncBD.
Description
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrShareSpatialAnchorCompleteBD, usable when a future from this
function is in the READY state, with outputs populated by that function in
the completion structure XrFutureCompletionEXT.
Shared spatial anchors are shared with other sessions and devices using a runtime defined method such as a cloud storage.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrShareSpatialAnchorCompleteBD(3)
Name
xrShareSpatialAnchorCompleteBD - Get the completion of sharing a spatial anchor.
C Specification
The xrShareSpatialAnchorCompleteBD function is defined as:
// Provided by XR_BD_spatial_anchor_sharing
XrResult xrShareSpatialAnchorCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
The application obtains the spatial anchor sharing result using xrShareSpatialAnchorCompleteBD.
Description
This is the completion function corresponding to the operation started by
xrShareSpatialAnchorAsyncBD.
Do not call until the future is READY.
The XrFutureCompletionEXT structure is defined in
XR_EXT_future.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSnapshotMarkerDetectorML(3)
Name
xrSnapshotMarkerDetectorML - Request a snapshot from the marker detector
C Specification
The xrSnapshotMarkerDetectorML function is defined as:
// Provided by XR_ML_marker_understanding
XrResult xrSnapshotMarkerDetectorML(
XrMarkerDetectorML markerDetector,
XrMarkerDetectorSnapshotInfoML* snapshotInfo);
Parameters
Description
Collects the latest marker detector state and makes it ready for inspection.
This function only snapshots the non-pose state of markers.
Once called, and if a new snapshot is not yet available a runtime must set
the state of the marker detector to
XR_MARKER_DETECTOR_STATUS_PENDING_ML.
If a new state is available the runtime must set the state to
XR_MARKER_DETECTOR_STATUS_READY_ML.
If an error occurred the runtime must set the state to
XR_MARKER_DETECTOR_STATUS_ERROR_ML.
The application may attempt the snapshot again.
Once the application has inspected the state it is interested in it can
call this function again and the state is set to
XR_MARKER_DETECTOR_STATUS_PENDING_ML until a new state has been
snapshotted.
After each snapshot, only the currently detected markers are available for
inspection, though the same marker may repeatedly be detected across
snapshots.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStartColocationAdvertisementMETA(3)
Name
xrStartColocationAdvertisementMETA - Start colocation visibility
C Specification
The xrStartColocationAdvertisementMETA function is defined as:
// Provided by XR_META_colocation_discovery
XrResult xrStartColocationAdvertisementMETA(
XrSession session,
const XrColocationAdvertisementStartInfoMETA* info,
XrAsyncRequestIdFB* advertisementRequestId);
Parameters
Description
The xrStartColocationAdvertisementMETA function requests that the current device become discoverable by other physically colocated devices running the same application.
If the system does not support colocation advertisement and discovery, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrStartColocationAdvertisementMETA.
In this case, the runtime must return XR_FALSE for
XrSystemColocationDiscoveryPropertiesMETA::supportsColocationDiscovery
when the function xrGetSystemProperties is called, so that the
application knows to not use this functionality.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataStartColocationAdvertisementCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataStartColocationAdvertisementCompleteMETA event
identified with a advertisementRequestId matching the
advertisementRequestId value output by this function, referred to as
the "corresponding completion event."
(This implies that if the runtime returns anything other than
XR_SUCCESS, the runtime must not queue any
XrEventDataStartColocationAdvertisementCompleteMETA events with
advertisementRequestId field matching the advertisementRequestId
populated by this function.)
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataStartColocationAdvertisementCompleteMETA::result
field to XR_SUCCESS.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataStartColocationAdvertisementCompleteMETA::result
field to an appropriate error code instead of XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStartColocationDiscoveryMETA(3)
Name
xrStartColocationDiscoveryMETA - Start colocation discovery
C Specification
The xrStartColocationDiscoveryMETA function is defined as:
// Provided by XR_META_colocation_discovery
XrResult xrStartColocationDiscoveryMETA(
XrSession session,
const XrColocationDiscoveryStartInfoMETA* info,
XrAsyncRequestIdFB* discoveryRequestId);
Parameters
Description
The application can call xrStartColocationDiscoveryMETA to start discovering physically colocated devices.
If the system does not support colocation advertisement and discovery, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrStartColocationDiscoveryMETA.
In this case, the runtime must return XR_FALSE for
XrSystemColocationDiscoveryPropertiesMETA::supportsColocationDiscovery
when the function xrGetSystemProperties is called, so that the
application knows to not use this functionality.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataStartColocationDiscoveryCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataStartColocationDiscoveryCompleteMETA event
identified with a discoveryRequestId matching the discoveryRequestId
value output by this function, referred to as the "corresponding completion
event."
(This implies that if the runtime returns anything other than
XR_SUCCESS, the runtime must not queue any
XrEventDataStartColocationDiscoveryCompleteMETA events with
discoveryRequestId field matching the discoveryRequestId populated
by this function.)
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
XR_SUCCESS.
The runtime may subsequently queue zero or more
XrEventDataColocationDiscoveryResultMETA events asynchronously as the
runtime discovers nearby advertisements.
Once the application or runtime stops the colocation discovery, the runtime
must queue a single XrEventDataColocationDiscoveryCompleteMETA event.
All XrEventDataColocationDiscoveryResultMETA and
XrEventDataColocationDiscoveryCompleteMETA events will identified with
discoveryRequestId matching the value populated in
discoveryRequestId by xrStartColocationDiscoveryMETA.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
an appropriate error code instead of XR_SUCCESS.
If the application already has an active colocation discovery, in the
corresponding completion event, the runtime must set the
XrEventDataStartColocationDiscoveryCompleteMETA::result field to
XR_COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStartEnvironmentDepthProviderMETA(3)
Name
xrStartEnvironmentDepthProviderMETA - Starts the generation of depth maps.
C Specification
The xrStartEnvironmentDepthProviderMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrStartEnvironmentDepthProviderMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider);
Parameters
Description
The xrStartEnvironmentDepthProviderMETA function starts the asynchronous generation of depth maps.
Starting the depth provider may use CPU and GPU resources.
Runtimes must return XR_ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB if
xrStartEnvironmentDepthProviderMETA is called on an already started
XrEnvironmentDepthProviderMETA.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStartSenseDataProviderAsyncBD(3)
Name
xrStartSenseDataProviderAsyncBD - Start a sense data provider
C Specification
The xrStartSenseDataProviderAsyncBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrStartSenseDataProviderAsyncBD(
XrSenseDataProviderBD provider,
const XrSenseDataProviderStartInfoBD* startInfo,
XrFutureEXT* future);
Parameters
Description
The application can start a previously created sense data provider using
xrStartSenseDataProviderAsyncBD when it is in either the
XR_SENSE_DATA_PROVIDER_STATE_INITIALIZED_BD or the
XR_SENSE_DATA_PROVIDER_STATE_STOPPED_BD state.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrStartSenseDataProviderCompleteBD, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure XrFutureCompletionEXT.
If the sense data provider is already in the
XR_SENSE_DATA_PROVIDER_STATE_RUNNING_BD state, calling this function
does not change the provider state.
In this case, the runtime must still set the return value of
xrStartSenseDataProviderAsyncBD to XR_SUCCESS, and the future
state will be XR_FUTURE_STATE_READY_EXT immediately.
The runtime must set the corresponding future result returned by
xrStartSenseDataProviderCompleteBD to XR_SUCCESS.
Individual sense data provider types may specify required a permission or
permissions to use their capabilities on Android-based platforms.
If the specified provider type requires a permission and that permission is
not listed in the application’s manifest, or the permission is listed but
denied, the future state will be XR_FUTURE_STATE_READY_EXT immediately
and the runtime must set the corresponding future result returned by
xrStartSenseDataProviderCompleteBD to
XR_ERROR_PERMISSION_INSUFFICIENT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStartSenseDataProviderCompleteBD(3)
Name
xrStartSenseDataProviderCompleteBD - Complete start a sense data provider
C Specification
The xrStartSenseDataProviderCompleteBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrStartSenseDataProviderCompleteBD(
XrSession session,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
Description
The application can obtain the sense data provider start result using xrStartSenseDataProviderCompleteBD.
This is the completion function corresponding to the operation started by
xrStartSenseDataProviderAsyncBD.
Do not call until the future is READY.
The XrFutureCompletionEXT structure is defined in
XR_EXT_future.
Subsequent application operations using this handle must not be performed
unless the XrFutureCompletionEXT::futureResult is
XR_SUCCESS.
For example, if the XrFutureCompletionEXT::futureResult is
XR_ERROR_PERMISSION_INSUFFICIENT, it indicates that the application
does not have sufficient permissions and needs to apply for the
corresponding permissions.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStopColocationAdvertisementMETA(3)
Name
xrStopColocationAdvertisementMETA - Stop colocation advertisement
C Specification
The xrStopColocationAdvertisementMETA function is defined as:
// Provided by XR_META_colocation_discovery
XrResult xrStopColocationAdvertisementMETA(
XrSession session,
const XrColocationAdvertisementStopInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The application can use the xrStopColocationAdvertisementMETA function to disable the ability for other physically colocated devices running the same application to discover the current device.
If the system does not support colocation advertisement and discovery, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrStopColocationAdvertisementMETA.
In this case, the runtime must return XR_FALSE for
XrSystemColocationDiscoveryPropertiesMETA::supportsColocationDiscovery
when the function xrGetSystemProperties is called, so that the
application knows to not use this functionality.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataStopColocationAdvertisementCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataStopColocationAdvertisementCompleteMETA event
identified with a requestId matching the requestId value output by
this function, referred to as the "corresponding completion event."
(This implies that if the runtime returns anything other than
XR_SUCCESS, the runtime must not queue any
XrEventDataStopColocationAdvertisementCompleteMETA events with
requestId field matching the requestId populated by this function.)
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataStopColocationAdvertisementCompleteMETA::result field
to XR_SUCCESS.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataStopColocationAdvertisementCompleteMETA::result field
to an appropriate error code instead of XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStopColocationDiscoveryMETA(3)
Name
xrStopColocationDiscoveryMETA - Stop ongoing discovery process
C Specification
The xrStopColocationDiscoveryMETA function is defined as:
// Provided by XR_META_colocation_discovery
XrResult xrStopColocationDiscoveryMETA(
XrSession session,
const XrColocationDiscoveryStopInfoMETA* info,
XrAsyncRequestIdFB* requestId);
Parameters
Description
The application can call xrStopColocationDiscoveryMETA to stop an ongoing discovery process that was started by xrStartColocationDiscoveryMETA.
If the system does not support colocation advertisement and discovery, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrStopColocationDiscoveryMETA.
In this case, the runtime must return XR_FALSE for
XrSystemColocationDiscoveryPropertiesMETA::supportsColocationDiscovery
when the function xrGetSystemProperties is called, so that the
application knows to not use this functionality.
This is an asynchronous operation. Completion results are conveyed in the event XrEventDataStopColocationDiscoveryCompleteMETA.
If the asynchronous operation is scheduled successfully, the runtime must
return XR_SUCCESS.
If and only if the runtime returns XR_SUCCESS, the runtime must queue
a single XrEventDataStopColocationDiscoveryCompleteMETA event
identified with a requestId matching the requestId value output by
this function, referred to as the "corresponding completion event."
(This implies that if the runtime returns anything other than
XR_SUCCESS, the runtime must not queue any
XrEventDataStopColocationDiscoveryCompleteMETA events with requestId
field matching the requestId populated by this function.)
If the asynchronous operation is successful, in the corresponding completion
event, the runtime must set the
XrEventDataStopColocationDiscoveryCompleteMETA::result field to
XR_SUCCESS.
If the asynchronous operation is scheduled but not successful, in the
corresponding completion event, the runtime must set the
XrEventDataStopColocationDiscoveryCompleteMETA::result field to
an appropriate error code instead of XR_SUCCESS.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStopEnvironmentDepthProviderMETA(3)
Name
xrStopEnvironmentDepthProviderMETA - Stops the depth feature.
C Specification
The xrStopEnvironmentDepthProviderMETA function is defined as:
// Provided by XR_META_environment_depth
XrResult xrStopEnvironmentDepthProviderMETA(
XrEnvironmentDepthProviderMETA environmentDepthProvider);
Parameters
Description
The xrStopEnvironmentDepthProviderMETA function stops the generation of depth maps. This stops all per frame computation of environment depth for the application.
Runtimes must return XR_ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB if
xrStopEnvironmentDepthProviderMETA is called on an already stopped
XrEnvironmentDepthProviderMETA.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStopHapticFeedback(3)
Name
xrStopHapticFeedback - Stop haptic feedback
C Specification
The xrStopHapticFeedback function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrStopHapticFeedback(
XrSession session,
const XrHapticActionInfo* hapticActionInfo);
Parameters
Description
If a haptic event from this XrAction is in progress, when this function is called the runtime must stop that event.
If session is not focused, the runtime must return
XR_SESSION_NOT_FOCUSED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStopSenseDataProviderBD(3)
Name
xrStopSenseDataProviderBD - Stop a sense data provider
C Specification
The xrStopSenseDataProviderBD function is defined as:
// Provided by XR_BD_spatial_sensing
XrResult xrStopSenseDataProviderBD(
XrSenseDataProviderBD provider);
Parameters
Description
The application can stop a sense data provider using xrStopSenseDataProviderBD if it no longer needs to obtain new sense data from the sense data provider. Stopping the provider must not affect the usage of existing valid XrSenseDataSnapshotBD handles and their corresponding entity IDs.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStringToPath(3)
Name
xrStringToPath - Converts a string to a semantic path
C Specification
The xrStringToPath function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrStringToPath(
XrInstance instance,
const char* pathString,
XrPath* path);
Parameters
Description
xrStringToPath retrieves the XrPath value for a well-formed
path string.
If such a value had not yet been assigned by the runtime to the provided
path string in this XrInstance, one must be assigned at this point.
All calls to this function with the same XrInstance and path string
must retrieve the same XrPath value.
Upon failure, xrStringToPath must return an appropriate
XrResult, and may set the output parameter to XR_NULL_PATH.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#semantic-paths-path-atom-type for the conditions under which an
error may be returned when this function is given a valid XrInstance
and a well-formed path string.
If the runtime’s resources are exhausted and it cannot create the path, a
return value of XR_ERROR_PATH_COUNT_EXCEEDED must be returned.
If the application specifies a string that is not a well-formed path string,
XR_ERROR_PATH_FORMAT_INVALID must be returned.
|
Note
|
A return value of XR_SUCCESS from xrStringToPath may not
necessarily imply that the runtime has a component or other source of data
that will be accessible through that semantic path.
It only means that the path string supplied was well-formed and that the
retrieved XrPath maps to the given path string within and during
the lifetime of the XrInstance given.
|
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStructureTypeToString(3)
Name
xrStructureTypeToString - Converts an XrStructureType to a UTF-8 string
C Specification
The xrStructureTypeToString function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrStructureTypeToString(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE]);
Parameters
Description
Returns the text version of the provided XrStructureType value as a UTF-8 string.
In all cases the returned string must be one of:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrStructureTypeToString2KHR(3)
Name
xrStructureTypeToString2KHR - Converts an XrStructureType to a UTF-8 string
C Specification
The xrStructureTypeToString2KHR function is defined as:
// Provided by XR_KHR_extended_struct_name_lengths
XrResult xrStructureTypeToString2KHR(
XrInstance instance,
XrStructureType value,
char buffer[XR_MAX_STRUCTURE_NAME_SIZE_EXTENDED_KHR]);
Parameters
Description
Returns the name of the provided XrStructureType value by copying a
valid null-terminated UTF-8 string into buffer.
In all cases the returned string must be one of:
For structure type enumerants whose names fit within the original size limit of 63 bytes, xrStructureTypeToString2KHR must return the same resultant string as xrStructureTypeToString, up to the null terminator.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSubmitDebugUtilsMessageEXT(3)
Name
xrSubmitDebugUtilsMessageEXT - Submits debug utils message
C Specification
// Provided by XR_EXT_debug_utils
XrResult xrSubmitDebugUtilsMessageEXT(
XrInstance instance,
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT* callbackData);
Parameters
Description
The application can also produce a debug message, and submit it into the OpenXR messaging system.
The call will propagate through the layers and generate callback(s) as indicated by the message’s flags. The parameters are passed on to the callback in addition to the userData value that was defined at the time the messenger was created.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSuggestBodyTrackingCalibrationOverrideMETA(3)
Name
xrSuggestBodyTrackingCalibrationOverrideMETA - Set the calibration user
C Specification
The xrSuggestBodyTrackingCalibrationOverrideMETA function is defined as:
// Provided by XR_META_body_tracking_calibration
XrResult xrSuggestBodyTrackingCalibrationOverrideMETA(
XrBodyTrackerFB bodyTracker,
const XrBodyTrackingCalibrationInfoMETA* calibrationInfo);
Parameters
Description
Applications can choose to call xrSuggestBodyTrackingCalibrationOverrideMETA on app startup, or implement a UI to allow users to specify when it should be called.
Runtimes must return XR_ERROR_VALIDATION_FAILURE if the specified
height falls outside the range (0.5 meters, 3 meters).
Runtimes should use the provided calibration data as an input to calibrate any body tracking algorithms.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSuggestInteractionProfileBindings(3)
Name
xrSuggestInteractionProfileBindings - Sets the application-suggested bindings for the interaction profile
C Specification
The xrSuggestInteractionProfileBindings function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrSuggestInteractionProfileBindings(
XrInstance instance,
const XrInteractionProfileSuggestedBinding* suggestedBindings);
Parameters
Description
The xrSuggestInteractionProfileBindings function provides action bindings for a single interaction profile. The application can call xrSuggestInteractionProfileBindings once per interaction profile that it supports.
The application can provide any number of bindings for each action.
If the application successfully calls xrSuggestInteractionProfileBindings more than once for an interaction profile, the runtime must discard the previous suggested bindings and replace them with the new suggested bindings for that profile.
If the interaction profile path does not follow the structure defined in
Interaction Profiles or suggested
bindings contain paths that do not follow the format defined in
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#semantic-paths-input (further described in
XrActionSuggestedBinding), the runtime must return
XR_ERROR_PATH_UNSUPPORTED.
If the interaction profile path or binding path (top level /user
path plus input subpath) for any of the suggested bindings does not exist in
the allowlist defined in Interaction
Profile Paths, the runtime must return XR_ERROR_PATH_UNSUPPORTED.
A runtime must accept every valid binding in the allowlist though it is
free to ignore any of them.
If the action set for any action referenced in the suggestedBindings
parameter has been included in a call to xrAttachSessionActionSets,
the implementation must return XR_ERROR_ACTIONSETS_ALREADY_ATTACHED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSuggestVirtualKeyboardLocationMETA(3)
Name
xrSuggestVirtualKeyboardLocationMETA - Suggest a virtual keyboard location
C Specification
The xrSuggestVirtualKeyboardLocationMETA function is defined as:
// Provided by XR_META_virtual_keyboard
XrResult xrSuggestVirtualKeyboardLocationMETA(
XrVirtualKeyboardMETA keyboard,
const XrVirtualKeyboardLocationInfoMETA* locationInfo);
Parameters
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSyncActions(3)
Name
xrSyncActions - Updates the current state of input actions
C Specification
The xrSyncActions function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrSyncActions(
XrSession session,
const XrActionsSyncInfo* syncInfo);
Parameters
Description
xrSyncActions updates the current state of input actions.
Repeated input action state queries between subsequent synchronization calls
must return the same values.
The XrActionSet structures referenced in the
XrActionsSyncInfo::activeActionSets must have been previously
attached to the session via xrAttachSessionActionSets.
If any action sets not attached to this session are passed to
xrSyncActions it must return XR_ERROR_ACTIONSET_NOT_ATTACHED.
Subsets of the bound action sets can be synchronized in order to control
which actions are seen as active.
If session is not focused, the runtime must return
XR_SESSION_NOT_FOCUSED, and all action states in the session must be
inactive.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrThermalGetTemperatureTrendEXT(3)
Name
xrThermalGetTemperatureTrendEXT - xrThermalGetTemperatureTrendEXT
C Specification
// Provided by XR_EXT_thermal_query
XrResult xrThermalGetTemperatureTrendEXT(
XrSession session,
XrPerfSettingsDomainEXT domain,
XrPerfSettingsNotificationLevelEXT* notificationLevel,
float* tempHeadroom,
float* tempSlope);
Allows to query the current temperature warning level of a domain, the remaining headroom and the trend.
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshBeginUpdateFB(3)
Name
xrTriangleMeshBeginUpdateFB - Begin an update of the mesh data
C Specification
The xrTriangleMeshBeginUpdateFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshBeginUpdateFB(
XrTriangleMeshFB mesh);
Parameters
Description
Begins updating the mesh buffer data. The application must call this function before it makes any modifications to the buffers retrieved by xrTriangleMeshGetVertexBufferFB and xrTriangleMeshGetIndexBufferFB. If only the vertex buffer contents need to be updated, and the mesh is in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready, xrTriangleMeshBeginVertexBufferUpdateFB may be used instead. To commit the modifications, the application must call xrTriangleMeshEndUpdateFB.
The triangle mesh mesh must be mutable.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the mesh is
immutable.
The triangle mesh mesh must be in state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_undefined_topology or
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready.
-
If the triangle mesh is in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_undefined_topology before this call, a successful call moves it to state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_defining_topology.
-
If the triangle mesh is in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready before this call, a successful call moves it to state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_mesh.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshBeginVertexBufferUpdateFB(3)
Name
xrTriangleMeshBeginVertexBufferUpdateFB - Begin an update of the vertex data
C Specification
The xrTriangleMeshBeginVertexBufferUpdateFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshBeginVertexBufferUpdateFB(
XrTriangleMeshFB mesh,
uint32_t* outVertexCount);
Parameters
Description
Begins an update of the vertex positions of a mutable triangle mesh.
The vertex count returned through outVertexCount is defined by the
last call to xrTriangleMeshEndUpdateFB.
Once the modification is done, call
xrTriangleMeshEndVertexBufferUpdateFB to commit the changes and move
to state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready.
The triangle mesh mesh must be mutable.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the mesh is
immutable.
The triangle mesh mesh must be in state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready.
A successful call moves mesh to state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_vertices.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshEndUpdateFB(3)
Name
xrTriangleMeshEndUpdateFB - End an update of the mesh data
C Specification
The xrTriangleMeshEndUpdateFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshEndUpdateFB(
XrTriangleMeshFB mesh,
uint32_t vertexCount,
uint32_t triangleCount);
Parameters
Description
Signals to the runtime that the application has finished initially
populating or updating the mesh buffers.
vertexCount and triangleCount specify the actual number of
primitives that make up the mesh after the update.
They must be larger than zero but smaller or equal to the maximum counts
defined at create time.
The runtime must return XR_ERROR_VALIDATION_FAILURE if an invalid
count is passed.
The triangle mesh mesh must be mutable.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the mesh is
immutable.
The triangle mesh mesh must be in state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_defining_topology or
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_mesh.
A successful call moves mesh to state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshEndVertexBufferUpdateFB(3)
Name
xrTriangleMeshEndVertexBufferUpdateFB - End an update of the vertex data
C Specification
The xrTriangleMeshEndVertexBufferUpdateFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshEndVertexBufferUpdateFB(
XrTriangleMeshFB mesh);
Parameters
Description
Signals to the runtime that the application has finished updating the vertex buffer data following a call to xrTriangleMeshBeginVertexBufferUpdateFB.
The triangle mesh mesh must be mutable.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the mesh is
immutable.
The triangle mesh mesh must be in state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_vertices.
A successful call moves mesh to state
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_ready.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshGetIndexBufferFB(3)
Name
xrTriangleMeshGetIndexBufferFB - Obtain the index buffer of a triangle mesh
C Specification
The xrTriangleMeshGetIndexBufferFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshGetIndexBufferFB(
XrTriangleMeshFB mesh,
uint32_t** outIndexBuffer);
Parameters
Description
Retrieves a pointer to the index buffer that defines the topology of the
triangle mesh.
Each triplet of consecutive elements points to three vertices in the vertex
buffer and thus form a triangle.
The size of the index buffer is 3 *
XrTriangleMeshCreateInfoFB::triangleCount elements.
The buffer location is guaranteed to remain constant over the lifecycle of
the mesh object.
A triangle mesh must be mutable and in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_defining_topology or https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_mesh for the application to modify the contents and/or triangle count in the index buffer retrieved by this function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTriangleMeshGetVertexBufferFB(3)
Name
xrTriangleMeshGetVertexBufferFB - Obtain the vertex buffer of a triangle mesh
C Specification
The xrTriangleMeshGetVertexBufferFB function is defined as:
// Provided by XR_FB_triangle_mesh
XrResult xrTriangleMeshGetVertexBufferFB(
XrTriangleMeshFB mesh,
XrVector3f** outVertexBuffer);
Parameters
Description
Retrieves a pointer to the vertex buffer.
The vertex buffer is structured as an array of XrVector3f.
The size of the buffer is
XrTriangleMeshCreateInfoFB::vertexCount elements.
The buffer location is guaranteed to remain constant over the lifecycle of
the mesh object.
A mesh must be mutable and in a specific state for the application to modify it through the retrieved vertex buffer.
-
A mutable triangle mesh must be in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_defining_topology, https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_mesh, or https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_vertices to modify the contents of the vertex buffer retrieved by this function.
-
A mutable triangle mesh must be in state https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_defining_topology or https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fb_triangle_mesh_state_updating_mesh to modify the count of elements in the vertex buffer retrieved by this function. The new count is passed as a parameter to xrTriangleMeshEndUpdateFB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTryCreateSpatialGraphStaticNodeBindingMSFT(3)
Name
xrTryCreateSpatialGraphStaticNodeBindingMSFT - Try create spatial graph static node binding
C Specification
The xrTryCreateSpatialGraphStaticNodeBindingMSFT function tries to create a binding to the best spatial graph static node relative to the given location and returns an XrSpatialGraphNodeBindingMSFT handle.
// Provided by XR_MSFT_spatial_graph_bridge
XrResult xrTryCreateSpatialGraphStaticNodeBindingMSFT(
XrSession session,
const XrSpatialGraphStaticNodeBindingCreateInfoMSFT* createInfo,
XrSpatialGraphNodeBindingMSFT* nodeBinding);
Parameters
Description
The runtime may return XR_SUCCESS and set nodeBinding to
XR_NULL_HANDLE if it is unable to create a spatial graph static node
binding.
This may happen when the given XrSpace cannot be properly tracked at
the moment.
The application can retry creating the XrSpatialGraphNodeBindingMSFT
handle again after a reasonable period of time when tracking is regained.
The xrTryCreateSpatialGraphStaticNodeBindingMSFT function may be a slow operation and therefore should be invoked from a non-timing critical thread.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT(3)
Name
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT - Convert an XrSpatialAnchorMSFT to a Windows SpatialAnchor
C Specification
The xrTryGetPerceptionAnchorFromSpatialAnchorMSFT function converts a
XrSpatialAnchorMSFT handle into an IUnknown pointer to
Windows.Perception.Spatial.SpatialAnchor.
// Provided by XR_MSFT_perception_anchor_interop
XrResult xrTryGetPerceptionAnchorFromSpatialAnchorMSFT(
XrSession session,
XrSpatialAnchorMSFT anchor,
IUnknown** perceptionAnchor);
Parameters
Description
If the runtime can convert the anchor to a
Windows.Perception.Spatial.SpatialAnchor
object, this function must return XR_SUCCESS, and the output
IUnknown in the pointer of perceptionAnchor must be not NULL.
This also increments the refcount of the object.
The application can then use QueryInterface to get the pointer for
Windows.Perception.Spatial.SpatialAnchor
object.
The application should release the COM pointer after done with the object,
or attach it to a smart COM pointer such as winrt::com_ptr.
If the runtime cannot convert the anchor to a
Windows.Perception.Spatial.SpatialAnchor
object, the function must return XR_SUCCESS, and the output
IUnknown in the pointer of perceptionAnchor must be NULL.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistAnchorANDROID(3)
Name
xrUnpersistAnchorANDROID - Unpersist a persisted anchor
C Specification
The xrUnpersistAnchorANDROID function is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
XrResult xrUnpersistAnchorANDROID(
XrDeviceAnchorPersistenceANDROID handle,
const XrUuidEXT* anchorId);
Parameters
Description
The application unpersists a persisted anchor by calling xrUnpersistAnchorANDROID and passing the anchor XrUuidEXT of the anchor to unpersist. The runtime may take some time to unpersist the anchor. Applications should use xrEnumeratePersistedAnchorsANDROID to verify that an anchor has been unpersisted before exiting. Anchor spaces that have been created from persisted anchors are unaffected by unpersisting and keep tracking as normal anchors.
-
The runtime must return
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROIDif the persisted data is not ready. -
The runtime must return
XR_ERROR_ANCHOR_ID_NOT_FOUND_ANDROIDif the anchor XrUuidEXT is not found. -
The runtime must guarantee that the anchor will be unpersisted, regardless if the anchor at the time of the call is in either pending or persisted state. I.e. A call to xrPersistAnchorANDROID followed by a call to xrUnpersistAnchorANDROID must always result in the anchor being unpersisted, or never persisted.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistSpatialAnchorAsyncBD(3)
Name
xrUnpersistSpatialAnchorAsyncBD - Unpersist a spatial anchor
C Specification
The xrUnpersistSpatialAnchorAsyncBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrUnpersistSpatialAnchorAsyncBD(
XrSenseDataProviderBD provider,
const XrSpatialAnchorUnpersistInfoBD* info,
XrFutureEXT* future);
Parameters
Description
To unpersist a spatial anchor, call xrUnpersistSpatialAnchorAsyncBD.
Unpersisting an anchor means erasing it from persistent storage, which causes it to not appear in snapshots or queried data in subsequent sessions. However, it must still appear in snapshots and queried data in the same session.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrUnpersistSpatialAnchorCompleteBD, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure XrFutureCompletionEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistSpatialAnchorCompleteBD(3)
Name
xrUnpersistSpatialAnchorCompleteBD - Get the completion of unpersisting a spatial anchor.
C Specification
The xrUnpersistSpatialAnchorCompleteBD function is defined as:
// Provided by XR_BD_spatial_anchor
XrResult xrUnpersistSpatialAnchorCompleteBD(
XrSenseDataProviderBD provider,
XrFutureEXT future,
XrFutureCompletionEXT* completion);
Parameters
Description
The application obtains the spatial anchor unpersist result using xrUnpersistSpatialAnchorCompleteBD.
This is the completion function corresponding to
xrUnpersistSpatialAnchorAsyncBD.
It completes the asynchronous operation and returns the results.
Do not call until the future is READY.
The runtime must set XrFutureCompletionEXT::futureResult to
XR_ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD if the spatial anchor is not
found in XrSpatialAnchorUnpersistInfoBD::location.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistSpatialAnchorMSFT(3)
Name
xrUnpersistSpatialAnchorMSFT - Removes an anchor from the store
C Specification
The application can use the xrUnpersistSpatialAnchorMSFT function to
remove the record of the anchor in the spatial anchor store.
This operation will not affect any XrSpatialAnchorMSFT handles
previously created.
If the spatialAnchorPersistenceName provided does not correspond to a
currently stored anchor, the function must return
XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT.
// Provided by XR_MSFT_spatial_anchor_persistence
XrResult xrUnpersistSpatialAnchorMSFT(
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore,
const XrSpatialAnchorPersistenceNameMSFT* spatialAnchorPersistenceName);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistSpatialEntityAsyncEXT(3)
Name
xrUnpersistSpatialEntityAsyncEXT - Persist a spatial entity.
C Specification
The xrUnpersistSpatialEntityAsyncEXT function is defined as:
// Provided by XR_EXT_spatial_persistence_operations
XrResult xrUnpersistSpatialEntityAsyncEXT(
XrSpatialPersistenceContextEXT persistenceContext,
const XrSpatialEntityUnpersistInfoEXT* unpersistInfo,
XrFutureEXT* future);
Parameters
An application can unpersist a spatial entity using the xrUnpersistSpatialEntityAsyncEXT function.
Description
The runtime must return XR_ERROR_PERMISSION_INSUFFICIENT if the
XrSpatialPersistenceScopeEXT that persistenceContext was
configured with is a read-only scope and does not allow applications to
modify the storage represented by it.
An example of this would be if persistenceContext was created with
XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT and application uses
xrUnpersistSpatialEntityAsyncEXT with that persistenceContext.
This function starts an asynchronous operation and creates a corresponding
XrFutureEXT, usable with xrPollFutureEXT and related
functions.
The return value of this function only indicates whether the parameters were
acceptable to schedule the asynchronous operation.
The corresponding completion function is
xrUnpersistSpatialEntityCompleteEXT, usable when a future from this
function is in the READY state, with outputs populated
by that function in the completion structure
XrUnpersistSpatialEntityCompletionEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnpersistSpatialEntityCompleteEXT(3)
Name
xrUnpersistSpatialEntityCompleteEXT - Complete the spatial entity persist async request
C Specification
The xrUnpersistSpatialEntityCompleteEXT function is defined as:
// Provided by XR_EXT_spatial_persistence_operations
XrResult xrUnpersistSpatialEntityCompleteEXT(
XrSpatialPersistenceContextEXT persistenceContext,
XrFutureEXT future,
XrUnpersistSpatialEntityCompletionEXT* completion);
Parameters
Description
xrUnpersistSpatialEntityCompleteEXT completes the asynchronous
operation started by xrUnpersistSpatialEntityAsyncEXT.
The runtime must return XR_ERROR_FUTURE_PENDING_EXT if future
is not in READY state.
The runtime must return XR_ERROR_FUTURE_INVALID_EXT if future
has already been completed or cancelled.
This is the completion function corresponding to
xrUnpersistSpatialEntityAsyncEXT.
It completes the asynchronous operation and returns the results.
Do not call until the future is READY.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUnshareAnchorANDROID(3)
Name
xrUnshareAnchorANDROID - Unshare anchor
C Specification
The xrUnshareAnchorANDROID function is defined as:
// Provided by XR_ANDROID_anchor_sharing_export
XrResult xrUnshareAnchorANDROID(
XrSession session,
XrSpace anchor);
Parameters
Description
The xrUnshareAnchorANDROID function invalidates previously shared
anchors.
This means that future uses of the anchor sharing token obtained when
xrShareAnchorANDROID was called must fail until the anchor is shared
again via xrShareAnchorANDROID.
The runtime must also invalidate previous imports of the anchor sharing
token and must not set XR_SPACE_LOCATION_POSITION_TRACKED_BIT or
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT for the imported anchor’s
XrSpace.
This means that a previously imported anchor must stop tracking if the
original anchor is unshared by its parent session.
The runtime must return XR_ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID
if the anchor is not owned by the same XrSession that is the parent of
XrAnchorSharingInfoANDROID::anchor.
An anchor that is not unshared explicitly by calling xrUnshareAnchorANDROID must be implicitly unshared by the runtime when the anchor is destroyed via xrDestroySpace, or when the parent XrSession is destroyed, including when the application that shared the anchor quits.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUpdateHandMeshMSFT(3)
Name
xrUpdateHandMeshMSFT - Update hand mesh buffers
C Specification
The application can use the xrUpdateHandMeshMSFT function to retrieve the hand mesh at a given timestamp. The hand mesh’s vertices position and normal are represented in the hand mesh space created by xrCreateHandMeshSpaceMSFT with a same XrHandTrackerEXT.
// Provided by XR_MSFT_hand_tracking_mesh
XrResult xrUpdateHandMeshMSFT(
XrHandTrackerEXT handTracker,
const XrHandMeshUpdateInfoMSFT* updateInfo,
XrHandMeshMSFT* handMesh);
Parameters
Description
The application should preallocate the index buffer and vertex buffer in
XrHandMeshMSFT using the
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshIndexCount
and
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshVertexCount
from the XrSystemHandTrackingMeshPropertiesMSFT returned from the
xrGetSystemProperties function.
The application should preallocate the XrHandMeshMSFT structure and
reuse it for each frame so as to reduce the copies of data when underlying
tracking data is not changed.
The application should use XrHandMeshMSFT::indexBufferChanged
and XrHandMeshMSFT::vertexBufferChanged in XrHandMeshMSFT
to detect changes and avoid unnecessary data processing when there is no
changes.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUpdatePassthroughColorLutMETA(3)
Name
xrUpdatePassthroughColorLutMETA - Update a passthrough color LUT
C Specification
The xrUpdatePassthroughColorLutMETA function is defined as:
// Provided by XR_META_passthrough_color_lut
XrResult xrUpdatePassthroughColorLutMETA(
XrPassthroughColorLutMETA colorLut,
const XrPassthroughColorLutUpdateInfoMETA* updateInfo);
Parameters
Description
Updates the LUT data of a passthrough color LUT.
The data type of the color LUT (resolution and channels) is immutable.
The provided data in this call must therefore match the data type specified
at creation time.
Specifically, XrPassthroughColorLutDataMETA::bufferSize of the
new data must be equal to the
XrPassthroughColorLutDataMETA::bufferSize specified during
creation.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must reflect changes to color LUT data on all Passthrough layers the color LUT is currently applied to.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUpdateSpatialAnchorsExpirationAsyncML(3)
Name
xrUpdateSpatialAnchorsExpirationAsyncML - Update anchors expiration time
C Specification
The xrUpdateSpatialAnchorsExpirationAsyncML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrUpdateSpatialAnchorsExpirationAsyncML(
XrSpatialAnchorsStorageML storage,
const XrSpatialAnchorsUpdateExpirationInfoML* updateInfo,
XrFutureEXT* future);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUpdateSpatialAnchorsExpirationCompleteML(3)
Name
xrUpdateSpatialAnchorsExpirationCompleteML - Complete the asynchronous update operation.
C Specification
The xrUpdateSpatialAnchorsExpirationCompleteML function is defined as:
// Provided by XR_ML_spatial_anchors_storage
XrResult xrUpdateSpatialAnchorsExpirationCompleteML(
XrSpatialAnchorsStorageML storage,
XrFutureEXT future,
XrSpatialAnchorsUpdateExpirationCompletionML* completion);
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrUpdateSwapchainFB(3)
Name
xrUpdateSwapchainFB - Updates state for the corresponding swapchain
C Specification
The xrUpdateSwapchainFB function is defined as:
// Provided by XR_FB_swapchain_update_state
XrResult xrUpdateSwapchainFB(
XrSwapchain swapchain,
const XrSwapchainStateBaseHeaderFB* state);
Parameters
Description
xrUpdateSwapchainFB provides support for an application to update specific mutable state associated with an XrSwapchain.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrWaitFrame(3)
Name
xrWaitFrame - Frame timing function
C Specification
The xrWaitFrame function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrWaitFrame(
XrSession session,
const XrFrameWaitInfo* frameWaitInfo,
XrFrameState* frameState);
Parameters
Description
xrWaitFrame throttles the application frame loop in order to synchronize application frame submissions with the display. xrWaitFrame returns a predicted display time for the next time that the runtime predicts a composited frame will be displayed. The runtime may affect this computation by changing the return values and throttling of xrWaitFrame in response to feedback from frame submission and completion times in xrEndFrame. A subsequent xrWaitFrame call must block until the previous frame has been begun with xrBeginFrame and must unblock independently of the corresponding call to xrEndFrame. Refer to xrBeginSession for details on how a transition to session running resets the frame function call order.
When less than one frame interval has passed since the previous return from xrWaitFrame, the runtime should block until the beginning of the next frame interval. If more than one frame interval has passed since the last return from xrWaitFrame, the runtime may return immediately or block until the beginning of the next frame interval.
In the case that an application has pipelined frame submissions, the application should compute the appropriate target display time using both the predicted display time and predicted display interval. The application should use the computed target display time when requesting space and view locations for rendering.
The XrFrameState::predictedDisplayTime returned by
xrWaitFrame must be monotonically increasing.
The runtime may dynamically adjust the start time of the frame interval relative to the display hardware’s refresh cycle to minimize graphics processor contention between the application and the compositor.
xrWaitFrame must be callable from any thread, including a different thread than xrBeginFrame/xrEndFrame are being called from.
Calling xrWaitFrame must be externally synchronized by the application, concurrent calls may result in undefined behavior.
The runtime must return XR_ERROR_SESSION_NOT_RUNNING if the
session is not running.
|
Note
|
Note
The engine simulation should advance based on the display time. Every stage in the engine pipeline should use the exact same display time for one particular application-generated frame. An accurate and consistent display time across all stages and threads in the engine pipeline is important to avoid object motion judder. If the application has multiple pipeline stages, the application should pass its computed display time through its pipeline, as xrWaitFrame must be called only once per frame. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrWaitSwapchainImage(3)
Name
xrWaitSwapchainImage - Wait for a swapchain image to be available
C Specification
The xrWaitSwapchainImage function is defined as:
// Provided by XR_VERSION_1_0
XrResult xrWaitSwapchainImage(
XrSwapchain swapchain,
const XrSwapchainImageWaitInfo* waitInfo);
Parameters
Description
Before an application begins writing to a swapchain image, it must first wait on the image, to avoid writing to it before the compositor has finished reading from it. xrWaitSwapchainImage will implicitly wait on the oldest acquired swapchain image which has not yet been successfully waited on. Once a swapchain image has been successfully waited on without timeout, the app must release before waiting on the next acquired swapchain image.
This function may block for longer than the timeout specified in XrSwapchainImageWaitInfo due to scheduling or contention.
If the timeout expires without the image becoming available for writing,
XR_TIMEOUT_EXPIRED must be returned.
If xrWaitSwapchainImage returns XR_TIMEOUT_EXPIRED, the next
call to xrWaitSwapchainImage will wait on the same image index again
until the function succeeds with XR_SUCCESS.
Note that this is not an error code;
XR_SUCCEEDED( is XR_TIMEOUT_EXPIRED)true.
The runtime must eventually relinquish ownership of a swapchain image to the application and must not block indefinitely.
The runtime must return XR_ERROR_CALL_ORDER_INVALID if no image has
been acquired by calling xrAcquireSwapchainImage.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Object Handles
XrAction(3)
Name
XrAction - Opaque handle to an action
C Specification
XR_DEFINE_HANDLE(XrAction)
Description
Action handles are used to refer to individual actions when retrieving action data, creating action spaces, or sending haptic events.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionSet(3)
Name
XrActionSet - Opaque handle to an action set
C Specification
XR_DEFINE_HANDLE(XrActionSet)
Description
Action sets are application-defined collections of actions. They are attached to a given XrSession with a xrAttachSessionActionSets call. Enabled action sets are indicated by the application via xrSyncActions depending on the current application context.
For example, consider using one collection of actions that apply to controlling a character and another collection for navigating a menu system. When these actions are structured as two XrActionSet handles, the applicable action set is easy to specify according to application logic using a single function call.
Further, suppose some actions only apply when operating a vehicle as a character. This is intended to be modeled as another separate action set. While the user is operating a vehicle, the application enables both the character-control and vehicle action sets simultaneously in each xrSyncActions call.
Actions are passed a handle to their XrActionSet when they are created.
Action sets are created by calling xrCreateActionSet.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorBD(3)
Name
XrAnchorBD - Type refer an anchor
C Specification
The XrAnchorBD handle is defined as:
// Provided by XR_BD_spatial_sensing
XR_DEFINE_HANDLE(XrAnchorBD)
Description
An anchor is bound to a point in the real physical world, or to a spatial entity.
The XrAnchorBD handle is alive until it is explicitly destroyed or the XrSenseDataProviderBD is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerBD(3)
Name
XrBodyTrackerBD - Represents a tracker for a body joints.
C Specification
The XrBodyTrackerBD handle represents the resources for body tracking.
// Provided by XR_BD_body_tracking
XR_DEFINE_HANDLE(XrBodyTrackerBD)
Description
This handle can be used to locate body joints using xrLocateBodyJointsBD function.
A body tracker provides joint locations that track human body motion.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerFB(3)
Name
XrBodyTrackerFB - Represents a tracker for a body joints.
C Specification
The XrBodyTrackerFB handle represents the resources for body tracking.
// Provided by XR_FB_body_tracking
XR_DEFINE_HANDLE(XrBodyTrackerFB)
Description
This handle can be used to locate body joints using xrLocateBodyJointsFB function.
A body tracker provides joint locations with an unobstructed range of human body motion.
It also provides the estimated scale of this body.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerHTC(3)
Name
XrBodyTrackerHTC - Represents a tracker for locating body joints.
C Specification
The XrBodyTrackerHTC handle represents the resources for a body tracker.
XR_DEFINE_HANDLE(XrBodyTrackerHTC)
Description
An application can create an XrBodyTrackerHTC handle which is used to locate individual body joints with an unobstructed range of motion using xrLocateBodyJointsHTC function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessengerEXT(3)
Name
XrDebugUtilsMessengerEXT - Callback for debug data
C Specification
XR_DEFINE_HANDLE(XrDebugUtilsMessengerEXT)
Description
XrDebugUtilsMessengerEXT represents a callback function and associated filters registered with the runtime.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDeviceAnchorPersistenceANDROID(3)
Name
XrDeviceAnchorPersistenceANDROID - Anchor persistence handle
C Specification
An XrDeviceAnchorPersistenceANDROID is a handle that represents the resources required to persist anchors.
// Provided by XR_ANDROID_device_anchor_persistence
XR_DEFINE_HANDLE(XrDeviceAnchorPersistenceANDROID)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthProviderMETA(3)
Name
XrEnvironmentDepthProviderMETA - XrEnvironmentDepthProviderMETA
C Specification
// Provided by XR_META_environment_depth
XR_DEFINE_HANDLE(XrEnvironmentDepthProviderMETA)
Description
An XrEnvironmentDepthProviderMETA is a handle to a depth provider.
See Also
XR_DEFINE_HANDLE, XR_META_environment_depth, xrAcquireEnvironmentDepthImageMETA, xrCreateEnvironmentDepthProviderMETA, xrCreateEnvironmentDepthSwapchainMETA, xrDestroyEnvironmentDepthProviderMETA, xrSetEnvironmentDepthHandRemovalMETA, xrStartEnvironmentDepthProviderMETA, xrStopEnvironmentDepthProviderMETA
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthSwapchainMETA(3)
Name
XrEnvironmentDepthSwapchainMETA - XrEnvironmentDepthSwapchainMETA
C Specification
// Provided by XR_META_environment_depth
XR_DEFINE_HANDLE(XrEnvironmentDepthSwapchainMETA)
Description
XrEnvironmentDepthSwapchainMETA is a handle to a readable depth swapchain.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExportedLocalizationMapML(3)
Name
XrExportedLocalizationMapML - Exported Localization Map
C Specification
XR_DEFINE_HANDLE(XrExportedLocalizationMapML)
Description
XrExportedLocalizationMapML represents a frozen exported localization map.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeTrackerFB(3)
Name
XrEyeTrackerFB - Represents a tracker for eye gaze.
C Specification
The XrEyeTrackerFB handle represents the resources for eye tracking.
// Provided by XR_FB_eye_tracking_social
XR_DEFINE_HANDLE(XrEyeTrackerFB)
Description
This handle is used for getting eye gaze using xrGetEyeGazesFB function.
An eye tracker provides eye gaze directions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTracker2FB(3)
Name
XrFaceTracker2FB - Represents a tracker for a face blend shapes.
C Specification
The XrFaceTracker2FB handle represents the resources for face tracking.
// Provided by XR_FB_face_tracking2
XR_DEFINE_HANDLE(XrFaceTracker2FB)
Description
This handle is used to obtain blend shapes using the xrGetFaceExpressionWeights2FB function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerANDROID(3)
Name
XrFaceTrackerANDROID - Represents a face tracker
C Specification
// Provided by XR_ANDROID_face_tracking
XR_DEFINE_HANDLE(XrFaceTrackerANDROID)
Description
The XrFaceTrackerANDROID handle represents a face tracker for face tracking.
The application uses this handle to access face tracking data using other functions in this extension.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerBD(3)
Name
XrFaceTrackerBD - the handle of face tracker
C Specification
The XrFaceTrackerBD handle represents the resources for face tracking.
// Provided by XR_BD_facial_simulation
XR_DEFINE_HANDLE(XrFaceTrackerBD)
Description
This handle is used to obtain blend shapes using the xrGetFacialSimulationDataBD function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerFB(3)
Name
XrFaceTrackerFB - Represents a tracker for a face blend shapes.
C Specification
The XrFaceTrackerFB handle represents the resources for face tracking.
// Provided by XR_FB_face_tracking
XR_DEFINE_HANDLE(XrFaceTrackerFB)
Description
This handle is used to obtain blend shapes using the xrGetFaceExpressionWeightsFB function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionClientML(3)
Name
XrFacialExpressionClientML - Represents a client that queries for face blend shapes.
C Specification
The XrFacialExpressionClientML handle represents the resources for parsing facial expressions.
// Provided by XR_ML_facial_expression
XR_DEFINE_HANDLE(XrFacialExpressionClientML)
Description
This handle is used to obtain blend shapes using the xrGetFacialExpressionBlendShapePropertiesML function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialTrackerHTC(3)
Name
XrFacialTrackerHTC - Represents a tracker for a facial tracking.
C Specification
The XrFacialTrackerHTC handle represents the resources for an facial tracker of the specific facial tracking type.
XR_DEFINE_HANDLE(XrFacialTrackerHTC)
Description
An application creates separate XrFacialTrackerHTC handles for eye tracker or lip tracker. This handle can be used to retrieve corresponding facial expressions using xrGetFacialExpressionsHTC function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationProfileFB(3)
Name
XrFoveationProfileFB - Foveation profile
C Specification
XR_DEFINE_HANDLE(XrFoveationProfileFB)
Description
XrFoveationProfileFB represents a set of properties and resources that define a foveation pattern for the runtime, which can be applied to individual swapchains.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGeometryInstanceFB(3)
Name
XrGeometryInstanceFB - Triangle mesh
C Specification
XR_DEFINE_HANDLE(XrGeometryInstanceFB)
Description
XrGeometryInstanceFB represents a geometry instance used in a passthrough layer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackerEXT(3)
Name
XrHandTrackerEXT - Represents a tracker for a hand joints.
C Specification
The XrHandTrackerEXT handle represents the resources for hand tracking of the specific hand.
XR_DEFINE_HANDLE(XrHandTrackerEXT)
Description
An application creates separate XrHandTrackerEXT handles for left and right hands. This handle can be used to locate hand joints using xrLocateHandJointsEXT function.
A hand tracker provides joint locations with an unobstructed range of motion of an empty human hand.
|
Note
|
Note
This behavior can be modified by the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstance(3)
Name
XrInstance - Opaque handle to an instance object
C Specification
XR_DEFINE_HANDLE(XrInstance)
Description
An OpenXR instance is an object that allows an OpenXR application to communicate with an OpenXR runtime. The application accomplishes this communication by calling xrCreateInstance and receiving a handle to the resulting XrInstance object.
The XrInstance object stores and tracks OpenXR-related application state, without storing any such state in the application’s global address space. This allows the application to create multiple instances as well as safely encapsulate the application’s OpenXR state since this object is opaque to the application. OpenXR runtimes may limit the number of simultaneous XrInstance objects that may be created and used, but they must support the creation and usage of at least one XrInstance object per process.
Physically, this state may be stored in any of the OpenXR loader, OpenXR API layers or the OpenXR runtime components. The exact storage and distribution of this saved state is implementation-dependent, except where indicated by this specification.
See Also
XR_DEFINE_HANDLE, XrInstanceCreateInfo, XrInstanceProperties, xrCancelFutureEXT, xrConvertTimeToTimespecTimeKHR, xrConvertTimeToWin32PerformanceCounterKHR, xrConvertTimespecTimeToTimeKHR, xrConvertWin32PerformanceCounterToTimeKHR, xrCreateActionSet, xrCreateApiLayerInstance, xrCreateDebugUtilsMessengerEXT, xrCreateInstance, xrCreateSession, xrCreateVulkanDeviceKHR, xrCreateVulkanInstanceKHR, xrDestroyInstance, xrEnableUserCalibrationEventsML, xrEnumerateEnvironmentBlendModes, xrEnumeratePerformanceMetricsCounterPathsMETA, xrEnumerateRaycastSupportedTrackableTypesANDROID, xrEnumerateReprojectionModesMSFT, xrEnumerateSceneComputeFeaturesMSFT, xrEnumerateSpatialCapabilitiesEXT, xrEnumerateSpatialCapabilityComponentTypesEXT, xrEnumerateSpatialCapabilityFeaturesEXT, xrEnumerateSpatialPersistenceScopesEXT, xrEnumerateSupportedAnchorTrackableTypesANDROID, xrEnumerateSupportedPersistenceAnchorTypesANDROID, xrEnumerateSupportedTrackableTypesANDROID, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrEnumerateViveTrackerPathsHTCX, xrGetAudioInputDeviceGuidOculus, xrGetAudioOutputDeviceGuidOculus, xrGetD3D11GraphicsRequirementsKHR, xrGetD3D12GraphicsRequirementsKHR, xrGetInstanceProcAddr, xrGetInstanceProperties, xrGetMetalGraphicsRequirementsKHR, xrGetOpenGLESGraphicsRequirementsKHR, xrGetOpenGLGraphicsRequirementsKHR, xrGetSystem, xrGetSystemProperties, xrGetViewConfigurationProperties, xrGetVulkanDeviceExtensionsKHR, xrGetVulkanGraphicsDevice2KHR, xrGetVulkanGraphicsDeviceKHR, xrGetVulkanGraphicsRequirements2KHR, xrGetVulkanGraphicsRequirementsKHR, xrGetVulkanInstanceExtensionsKHR, xrPathToString, xrPollEvent, xrPollFutureEXT, xrResultToString, xrSetDebugUtilsObjectNameEXT, xrSetSystemNotificationsML, xrStringToPath, xrStructureTypeToString, xrStructureTypeToString2KHR, xrSubmitDebugUtilsMessageEXT, xrSuggestInteractionProfileBindings
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorML(3)
Name
XrMarkerDetectorML - Represents a marker detector for one or more markers.
C Specification
// Provided by XR_ML_marker_understanding
XR_DEFINE_HANDLE(XrMarkerDetectorML)
Description
The XrMarkerDetectorML handle represents the resources for detecting one or more markers.
A marker detector handle detects a single type of marker, specified by a value of XrMarkerTypeML. To detect more than one marker type, a runtime may support creating multiple marker detector handles.
This handle can be used to detect markers using other functions in this extension.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorLutMETA(3)
Name
XrPassthroughColorLutMETA - Color LUT
C Specification
XR_DEFINE_HANDLE(XrPassthroughColorLutMETA)
Description
XrPassthroughColorLutMETA represents the definition and data for a color LUT which may be applied to a passthrough layer using xrPassthroughLayerSetStyleFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughFB(3)
Name
XrPassthroughFB - Passthrough feature
C Specification
XR_DEFINE_HANDLE(XrPassthroughFB)
Description
XrPassthroughFB represents a passthrough feature.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughHTC(3)
Name
XrPassthroughHTC - Represents a passthrough.
C Specification
An application can create an XrPassthroughHTC handle by calling xrCreatePassthroughHTC. The returned passthrough handle can be subsequently used in API calls.
// Provided by XR_HTC_passthrough
XR_DEFINE_HANDLE(XrPassthroughHTC)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughLayerFB(3)
Name
XrPassthroughLayerFB - Passthrough layer
C Specification
XR_DEFINE_HANDLE(XrPassthroughLayerFB)
Description
XrPassthroughLayerFB represents a layer of passthrough content.
See Also
XR_DEFINE_HANDLE, XrCompositionLayerPassthroughFB, XrEventDataPassthroughLayerResumedMETA, XrGeometryInstanceCreateInfoFB, xrCreatePassthroughLayerFB, xrDestroyPassthroughLayerFB, xrPassthroughLayerPauseFB, xrPassthroughLayerResumeFB, xrPassthroughLayerSetKeyboardHandsIntensityFB, xrPassthroughLayerSetStyleFB
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorEXT(3)
Name
XrPlaneDetectorEXT - Represents a plane detector for one or more planes.
C Specification
// Provided by XR_EXT_plane_detection
XR_DEFINE_HANDLE(XrPlaneDetectorEXT)
Description
The XrPlaneDetectorEXT handle represents the resources for detecting one or more planes.
An application may create separate XrPlaneDetectorEXT handles for different sets of planes. This handle can be used to detect planes using other functions in this extension.
Plane detection provides locations of planes in the scene.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetEXT(3)
Name
XrRenderModelAssetEXT - Represents a glTF asset provided by the runtime
C Specification
// Provided by XR_EXT_render_model
XR_DEFINE_HANDLE(XrRenderModelAssetEXT)
Description
The XrRenderModelAssetEXT handle represents the in-runtime memory buffer for a glTF 2.0 render model asset, and the node names in that asset that correspond to the state array elements tracked by XrRenderModelEXT. The application may destroy the asset handle when it has finished retrieving the binary data and name array into its own memory, that is, after successful application of the two-call idiom with two calls to xrGetRenderModelAssetDataEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelEXT(3)
Name
XrRenderModelEXT - Represents a render model provided by the runtime
C Specification
// Provided by XR_EXT_render_model
XR_DEFINE_HANDLE(XrRenderModelEXT)
Description
The XrRenderModelEXT handle represents the resources to load and track the state of a render model, states of animatable parts, and a set of glTF extensions that the application is prepared to handle in a corresponding asset.
It does not directly represent the model’s data, however. See XrRenderModelAssetEXT for the handle representing the data for a render model asset, including names of animatable nodes.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMSFT(3)
Name
XrSceneMSFT - Represents a scene
C Specification
An XrSceneMSFT handle represents the collection of scene components that were detected during the scene computation.
XR_DEFINE_HANDLE(XrSceneMSFT)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObserverMSFT(3)
Name
XrSceneObserverMSFT - Represents a scene observer
C Specification
The XrSceneObserverMSFT handle represents the resources for computing scenes. It maintains a correlation of scene component identifiers across multiple scene computes.
|
Note
|
Note
The application should destroy the XrSceneObserverMSFT handle when it is done with scene compute and scene component data to save system power consumption. |
XR_DEFINE_HANDLE(XrSceneObserverMSFT)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderBD(3)
Name
XrSenseDataProviderBD - Type referring to a sense data provider
C Specification
The XrSenseDataProviderBD handle is defined as:
// Provided by XR_BD_spatial_sensing
XR_DEFINE_HANDLE(XrSenseDataProviderBD)
Description
XrSenseDataProviderBD is a handle which the application creates to do spatial sensing for the user’s physical environment.
See Also
XR_BD_spatial_sensing, XR_DEFINE_HANDLE, XrEventDataSenseDataProviderStateChangedBD, XrEventDataSenseDataUpdatedBD, xrCaptureSceneAsyncBD, xrCaptureSceneCompleteBD, xrCreateSenseDataProviderBD, xrCreateSpatialAnchorAsyncBD, xrCreateSpatialAnchorCompleteBD, xrCreateSpatialEntityAnchorBD, xrDestroySenseDataProviderBD, xrDownloadSharedSpatialAnchorAsyncBD, xrDownloadSharedSpatialAnchorCompleteBD, xrGetSenseDataProviderStateBD, xrPersistSpatialAnchorAsyncBD, xrPersistSpatialAnchorCompleteBD, xrQuerySenseDataAsyncBD, xrQuerySenseDataCompleteBD, xrShareSpatialAnchorAsyncBD, xrShareSpatialAnchorCompleteBD, xrStartSenseDataProviderAsyncBD, xrStopSenseDataProviderBD, xrUnpersistSpatialAnchorAsyncBD, xrUnpersistSpatialAnchorCompleteBD
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataSnapshotBD(3)
Name
XrSenseDataSnapshotBD - The snapshot of sense data in a data provider
C Specification
The XrSenseDataSnapshotBD handle is defined as:
// Provided by XR_BD_spatial_sensing
XR_DEFINE_HANDLE(XrSenseDataSnapshotBD)
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSession(3)
Name
XrSession - Opaque handle to a session object
C Specification
XR_DEFINE_HANDLE(XrSession)
Description
A session represents an application’s intention to display XR content to the user.
See Also
XR_DEFINE_HANDLE, XrEventDataInteractionProfileChanged, XrEventDataLocalizationChangedML, XrEventDataReferenceSpaceChangePending, XrEventDataSessionStateChanged, XrEventDataUserPresenceChangedEXT, XrEventDataVisibilityMaskChangedKHR, xrApplyFoveationHTC, xrApplyHapticFeedback, xrAttachSessionActionSets, xrBeginFrame, xrBeginSession, xrCreateActionSpace, xrCreateAnchorSpaceANDROID, xrCreateAnchorSpaceBD, xrCreateBodyTrackerBD, xrCreateBodyTrackerFB, xrCreateBodyTrackerHTC, xrCreateDeviceAnchorPersistenceANDROID, xrCreateEnvironmentDepthProviderMETA, xrCreateExportedLocalizationMapML, xrCreateEyeTrackerFB, xrCreateFaceTracker2FB, xrCreateFaceTrackerANDROID, xrCreateFaceTrackerBD, xrCreateFaceTrackerFB, xrCreateFacialExpressionClientML, xrCreateFacialTrackerHTC, xrCreateFoveationProfileFB, xrCreateGeometryInstanceFB, xrCreateHandTrackerEXT, xrCreateKeyboardSpaceFB, xrCreateMarkerDetectorML, xrCreateMarkerSpaceML, xrCreateMarkerSpaceVARJO, xrCreatePassthroughFB, xrCreatePassthroughHTC, xrCreatePassthroughLayerFB, xrCreatePlaneDetectorEXT, xrCreateReferenceSpace, xrCreateRenderModelAssetEXT, xrCreateRenderModelEXT, xrCreateRenderModelSpaceEXT, xrCreateSceneObserverMSFT, xrCreateSenseDataProviderBD, xrCreateSession, xrCreateSpaceFromCoordinateFrameUIDML, xrCreateSpaceUserFB, xrCreateSpatialAnchorFB, xrCreateSpatialAnchorFromPerceptionAnchorMSFT, xrCreateSpatialAnchorFromPersistedNameMSFT, xrCreateSpatialAnchorHTC, xrCreateSpatialAnchorMSFT, xrCreateSpatialAnchorSpaceMSFT, xrCreateSpatialAnchorStoreConnectionMSFT, xrCreateSpatialAnchorsAsyncML, xrCreateSpatialAnchorsCompleteML, xrCreateSpatialAnchorsStorageML, xrCreateSpatialContextAsyncEXT, xrCreateSpatialContextCompleteEXT, xrCreateSpatialGraphNodeSpaceMSFT, xrCreateSpatialPersistenceContextAsyncEXT, xrCreateSpatialPersistenceContextCompleteEXT, xrCreateSwapchain, xrCreateSwapchainAndroidSurfaceKHR, xrCreateTrackableTrackerANDROID, xrCreateTriangleMeshFB, xrCreateVirtualKeyboardMETA, xrCreateVirtualKeyboardSpaceMETA, xrCreateWorldMeshDetectorML, xrDestroySession, xrDiscoverSpacesMETA, xrEnableLocalizationEventsML, xrEndFrame, xrEndSession, xrEnumerateBoundSourcesForAction, xrEnumerateColorSpacesFB, xrEnumerateDisplayRefreshRatesFB, xrEnumerateExternalCamerasOCULUS, xrEnumerateFacialSimulationModesBD, xrEnumerateInteractionRenderModelIdsEXT, xrEnumerateReferenceSpaces, xrEnumerateRenderModelPathsFB, xrEnumerateSwapchainFormats, xrEraseSpaceFB, xrEraseSpacesMETA, xrGetActionStateBoolean, xrGetActionStateFloat, xrGetActionStatePose, xrGetActionStateVector2f, xrGetControllerModelKeyMSFT, xrGetControllerModelPropertiesMSFT, xrGetControllerModelStateMSFT, xrGetCurrentInteractionProfile, xrGetDeviceSampleRateFB, xrGetDisplayRefreshRateFB, xrGetFoveationEyeTrackedStateMETA, xrGetInputSourceLocalizedName, xrGetMarkerSizeVARJO, xrGetPassthroughCameraStateANDROID, xrGetPassthroughPreferencesMETA, xrGetPerformanceMetricsStateMETA, xrGetRecommendedLayerResolutionMETA, xrGetReferenceSpaceBoundsRect, xrGetRenderModelPropertiesFB, xrGetSpaceBoundary2DFB, xrGetSpaceBoundingBox2DFB, xrGetSpaceBoundingBox3DFB, xrGetSpaceContainerFB, xrGetSpaceRoomLayoutFB, xrGetSpaceSemanticLabelsFB, xrGetVisibilityMaskKHR, xrImportLocalizationMapML, xrLoadControllerModelMSFT, xrLoadRenderModelFB, xrLocateSpaces, xrLocateSpacesKHR, xrLocateViews, xrPauseSimultaneousHandsAndControllersTrackingMETA, xrPerfSettingsSetPerformanceLevelEXT, xrQueryLocalizationMapsML, xrQueryPerformanceMetricsCounterMETA, xrQuerySpacesFB, xrQuerySystemTrackedKeyboardFB, xrRaycastANDROID, xrRequestDisplayRefreshRateFB, xrRequestExitSession, xrRequestMapLocalizationML, xrRequestSceneCaptureFB, xrResumeSimultaneousHandsAndControllersTrackingMETA, xrRetrieveSpaceDiscoveryResultsMETA, xrRetrieveSpaceQueryResultsFB, xrSaveSpaceFB, xrSaveSpaceListFB, xrSaveSpacesMETA, xrSessionBeginDebugUtilsLabelRegionEXT, xrSessionEndDebugUtilsLabelRegionEXT, xrSessionInsertDebugUtilsLabelEXT, xrSetAndroidApplicationThreadKHR, xrSetColorSpaceFB, xrSetDigitalLensControlALMALENCE, xrSetEnvironmentDepthEstimationVARJO, xrSetInputDeviceActiveEXT, xrSetInputDeviceLocationEXT, xrSetInputDeviceStateBoolEXT, xrSetInputDeviceStateFloatEXT, xrSetInputDeviceStateVector2fEXT, xrSetMarkerTrackingPredictionVARJO, xrSetMarkerTrackingTimeoutVARJO, xrSetMarkerTrackingVARJO, xrSetPerformanceMetricsStateMETA, xrSetTrackingOptimizationSettingsHintQCOM, xrSetViewOffsetVARJO, xrShareAnchorANDROID, xrShareSpacesFB, xrShareSpacesMETA, xrStartColocationAdvertisementMETA, xrStartColocationDiscoveryMETA, xrStartSenseDataProviderCompleteBD, xrStopColocationAdvertisementMETA, xrStopColocationDiscoveryMETA, xrStopHapticFeedback, xrSyncActions, xrThermalGetTemperatureTrendEXT, xrTryCreateSpatialGraphStaticNodeBindingMSFT, xrTryGetPerceptionAnchorFromSpatialAnchorMSFT, xrUnshareAnchorANDROID, xrWaitFrame
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpace(3)
Name
XrSpace - Opaque handle to a space
C Specification
Across both virtual reality and augmented reality, XR applications have a core need to map the location of virtual objects to the corresponding real-world locations where they will be rendered. Spaces allow applications to explicitly create and specify the frames of reference in which they choose to track the real world, and then determine how those frames of reference move relative to one another over time.
XR_DEFINE_HANDLE(XrSpace)
Description
Spaces are represented by XrSpace handles, which the application creates and then uses in API calls. Whenever an application calls a function that returns coordinates, it provides an XrSpace to specify the frame of reference in which those coordinates will be expressed. Similarly, when providing coordinates to a function, the application specifies which XrSpace the runtime should use to interpret those coordinates.
OpenXR defines a set of well-known reference spaces that applications
use to bootstrap their spatial reasoning.
These reference spaces are: VIEW, LOCAL, LOCAL_FLOOR, and STAGE.
Each reference space has a well-defined meaning, which establishes where its
origin is positioned and how its axes are oriented.
Runtimes whose tracking systems improve their understanding of the world
over time may track spaces independently.
For example, even though a LOCAL space and a STAGE space each map their
origin to a static position in the world, a runtime with an inside-out
tracking system may introduce slight adjustments to the origin of each
space on a continuous basis to keep each origin in place.
Beyond well-known reference spaces, runtimes expose other independently-tracked spaces, such as a pose action space that tracks the pose of a motion controller over time.
When one or both spaces are tracking a dynamic object, passing in an updated
time to xrLocateSpace each frame will result in an updated relative
pose.
For example, the location of the left hand’s pose action space in the
STAGE reference space will change each frame as the user’s hand moves
relative to the stage’s predefined origin on the floor.
In other XR APIs, it is common to report the "pose" of an object relative to
some presumed underlying global space.
This API is careful to not explicitly define such an underlying global
space, because it does not apply to all systems.
Some systems will support no STAGE space, while others may support a
STAGE space that switches between various physical stages with dynamic
availability.
To satisfy this wide variability, "poses" are always described as the
relationship between two spaces.
Some devices improve their understanding of the world as the device is used. The location returned by xrLocateSpace in later frames may change over time, even for spaces that track static objects, as either the target space or base space adjusts its origin.
Composition layers submitted by the application include an XrSpace for
the runtime to use to position that layer over time.
Composition layers whose XrSpace is relative to the VIEW reference
space are implicitly "head-locked", even if they may not be "display-locked"
for non-head-mounted form factors.
See Also
XR_DEFINE_HANDLE, XrActionSpaceCreateInfo, XrAnchorSharingInfoANDROID, XrAnchorSpaceCreateInfoANDROID, XrBodyJointsLocateInfoBD, XrBodyJointsLocateInfoFB, XrBodyJointsLocateInfoHTC, XrCompositionLayerBaseHeader, XrCompositionLayerCubeKHR, XrCompositionLayerCylinderKHR, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerPassthroughFB, XrCompositionLayerPassthroughHTC, XrCompositionLayerProjection, XrCompositionLayerQuad, XrCreateSpatialAnchorsCompletionML, XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XrEnvironmentDepthImageAcquireInfoMETA, XrEventDataSpaceEraseCompleteFB, XrEventDataSpaceSaveCompleteFB, XrEventDataSpaceSetStatusCompleteFB, XrEventDataSpatialAnchorCreateCompleteFB, XrEyeGazesInfoFB, XrGeometryInstanceCreateInfoFB, XrGeometryInstanceTransformFB, XrHandJointsLocateInfoEXT, XrPassthroughMeshTransformInfoHTC, XrPersistedAnchorSpaceInfoANDROID, XrPlaneDetectorBeginInfoEXT, XrPlaneDetectorGetInfoEXT, XrRaycastInfoANDROID, XrReferenceSpaceCreateInfo, XrSceneBoundsMSFT, XrSceneComponentsLocateInfoMSFT, XrShareSpacesInfoMETA, XrSpaceDiscoveryResultMETA, XrSpaceEraseInfoFB, XrSpaceListSaveInfoFB, XrSpaceQueryResultFB, XrSpaceSaveInfoFB, XrSpaceShareInfoFB, XrSpacesEraseInfoMETA, XrSpacesLocateInfo, XrSpacesSaveInfoMETA, XrSpatialAnchorCreateInfoBD, XrSpatialAnchorCreateInfoEXT, XrSpatialAnchorCreateInfoFB, XrSpatialAnchorCreateInfoHTC, XrSpatialAnchorCreateInfoMSFT, XrSpatialAnchorsCreateInfoFromPoseML, XrSpatialAnchorsPublishInfoML, XrSpatialAnchorsQueryInfoRadiusML, XrSpatialEntityLocationGetInfoBD, XrSpatialGraphStaticNodeBindingCreateInfoMSFT, XrSpatialUpdateSnapshotCreateInfoEXT, XrTrackableGetInfoANDROID, XrViewLocateInfo, XrVirtualKeyboardInputInfoMETA, XrVirtualKeyboardLocationInfoMETA, XrVirtualKeyboardSpaceCreateInfoMETA, XrWorldMeshRequestCompletionInfoML, XrWorldMeshStateRequestInfoML, xrCreateActionSpace, xrCreateAnchorSpaceANDROID, xrCreateAnchorSpaceBD, xrCreateHandMeshSpaceMSFT, xrCreateKeyboardSpaceFB, xrCreateMarkerSpaceML, xrCreateMarkerSpaceVARJO, xrCreatePersistedAnchorSpaceANDROID, xrCreateReferenceSpace, xrCreateRenderModelSpaceEXT, xrCreateSpaceFromCoordinateFrameUIDML, xrCreateSpatialAnchorHTC, xrCreateSpatialAnchorSpaceMSFT, xrCreateSpatialGraphNodeSpaceMSFT, xrCreateVirtualKeyboardSpaceMETA, xrDestroySpace, xrEnumerateSpaceSupportedComponentsFB, xrGetBodySkeletonHTC, xrGetSpaceBoundary2DFB, xrGetSpaceBoundingBox2DFB, xrGetSpaceBoundingBox3DFB, xrGetSpaceComponentStatusFB, xrGetSpaceContainerFB, xrGetSpaceRoomLayoutFB, xrGetSpaceSemanticLabelsFB, xrGetSpaceTriangleMeshMETA, xrGetSpaceUuidFB, xrGetSpatialAnchorNameHTC, xrGetSpatialAnchorStateML, xrLocateSpace, xrSetInputDeviceLocationEXT, xrSetSpaceComponentStatusFB, xrUnshareAnchorANDROID
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceUserFB(3)
Name
XrSpaceUserFB - Represents a user with which spaces can be shared
C Specification
XR_DEFINE_HANDLE(XrSpaceUserFB)
Description
Represents a user with which the application can interact using various
extensions including XR_FB_spatial_entity_sharing.
See xrCreateSpaceUserFB for how to declare a user.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorMSFT(3)
Name
XrSpatialAnchorMSFT - Represents a spatial anchor
C Specification
This extension allows an application to create a spatial anchor, an arbitrary freespace point in the user’s physical environment that will then be tracked by the runtime. The runtime should then adjust the position and orientation of that anchor’s origin over time as needed, independently of all other spaces and anchors, to ensure that it maintains its original mapping to the real world.
XR_DEFINE_HANDLE(XrSpatialAnchorMSFT)
Description
Spatial anchors are often used in combination with an UNBOUNDED_MSFT
reference space.
UNBOUNDED_MSFT reference spaces adjust their origin as necessary to keep
the viewer’s coordinates relative to the space’s origin stable.
Such adjustments maintain the visual stability of content currently near the
viewer, but may cause content placed far from the viewer to drift in its
alignment to the real world by the time the user moves close again.
By creating an XrSpatialAnchorMSFT where a piece of content is placed and
then always rendering that content relative to its anchor’s space, an
application can ensure that each piece of content stays at a fixed location
in the environment.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorStoreConnectionMSFT(3)
Name
XrSpatialAnchorStoreConnectionMSFT - Represents an open connection to the spatial anchor store
C Specification
The XrSpatialAnchorStoreConnectionMSFT handle represents a connection to the spatial anchor store and is used by the application to perform operations on the spatial anchor store such as:
-
Persisting and unpersisting of spatial anchors.
-
Enumeration of currently persisted anchors.
-
Clearing the spatial anchor store of all anchors.
// Provided by XR_MSFT_spatial_anchor_persistence
XR_DEFINE_HANDLE(XrSpatialAnchorStoreConnectionMSFT)
Description
See Also
XR_DEFINE_HANDLE, XR_MSFT_spatial_anchor_persistence, XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, xrClearSpatialAnchorStoreMSFT, xrCreateSpatialAnchorStoreConnectionMSFT, xrDestroySpatialAnchorStoreConnectionMSFT, xrEnumeratePersistedSpatialAnchorNamesMSFT, xrPersistSpatialAnchorMSFT, xrUnpersistSpatialAnchorMSFT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsStorageML(3)
Name
XrSpatialAnchorsStorageML - Handle to interact with storage for spatial anchors
C Specification
// Provided by XR_ML_spatial_anchors_storage
XR_DEFINE_HANDLE(XrSpatialAnchorsStorageML)
Description
The XrSpatialAnchorsStorageML handle maintains the connection with the
backend service.
This may be on device or in cloud depending on the localization map that is
active.
Use the XR_ML_localization_map extension to deduce the current mode
if the application needs to know this.
The XrSpatialAnchorsStorageML handle represents the resources for storing spatial anchors.
See Also
XR_DEFINE_HANDLE, XR_ML_spatial_anchors_storage, XrSpatialAnchorsCreateInfoFromUuidsML, xrCreateSpatialAnchorsStorageML, xrDeleteSpatialAnchorsAsyncML, xrDeleteSpatialAnchorsCompleteML, xrDestroySpatialAnchorsStorageML, xrPublishSpatialAnchorsAsyncML, xrPublishSpatialAnchorsCompleteML, xrQuerySpatialAnchorsAsyncML, xrQuerySpatialAnchorsCompleteML, xrUpdateSpatialAnchorsExpirationAsyncML, xrUpdateSpatialAnchorsExpirationCompleteML
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialContextEXT(3)
Name
XrSpatialContextEXT - Represents a spatial context.
C Specification
// Provided by XR_EXT_spatial_entity
XR_DEFINE_HANDLE(XrSpatialContextEXT)
Description
The XrSpatialContextEXT handle represents the resources for discovering and updating some number of spatial entities in the environment of the user. Application can use this handle to discover and update spatial entities using other functions in this extension.
See Also
XR_DEFINE_HANDLE, XR_EXT_spatial_entity, XrCreateSpatialContextCompletionEXT, XrEventDataSpatialDiscoveryRecommendedEXT, XrSpatialEntityPersistInfoEXT, xrCreateSpatialAnchorEXT, xrCreateSpatialDiscoverySnapshotAsyncEXT, xrCreateSpatialDiscoverySnapshotCompleteEXT, xrCreateSpatialEntityFromIdEXT, xrCreateSpatialUpdateSnapshotEXT, xrDestroySpatialContextEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityEXT(3)
Name
XrSpatialEntityEXT - Represents a spatial entity.
C Specification
// Provided by XR_EXT_spatial_entity
XR_DEFINE_HANDLE(XrSpatialEntityEXT)
Description
The XrSpatialEntityEXT handle represents a spatial entity. An application can create such a handle to express its interest in a specific entity to the runtime.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphNodeBindingMSFT(3)
Name
XrSpatialGraphNodeBindingMSFT - Represents a binding to a spatial graph node
C Specification
The XrSpatialGraphNodeBindingMSFT handle represents a binding to a spatial graph node. This handle allows an application to get a spatial graph node GUID from an XrSpace to use in other Windows Mixed Reality device platform libraries or APIs.
The runtime must remember the spatial graph node and track it for the lifetime of the XrSpatialGraphNodeBindingMSFT handle. When the XrSpatialGraphNodeBindingMSFT handle is destroyed then the runtime’s tracking system may forget about the spatial graphic node and stop tracking it.
XR_DEFINE_HANDLE(XrSpatialGraphNodeBindingMSFT)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceContextEXT(3)
Name
XrSpatialPersistenceContextEXT - Represents a spatial persistence context.
C Specification
// Provided by XR_EXT_spatial_persistence
XR_DEFINE_HANDLE(XrSpatialPersistenceContextEXT)
Description
The XrSpatialPersistenceContextEXT handle represents the connection to a persistent spatial entity storage.
See Also
XR_DEFINE_HANDLE, XR_EXT_spatial_persistence, XrCreateSpatialPersistenceContextCompletionEXT, XrSpatialContextPersistenceConfigEXT, xrDestroySpatialPersistenceContextEXT, xrPersistSpatialEntityAsyncEXT, xrPersistSpatialEntityCompleteEXT, xrUnpersistSpatialEntityAsyncEXT, xrUnpersistSpatialEntityCompleteEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialSnapshotEXT(3)
Name
XrSpatialSnapshotEXT - Represents a spatial snapshot.
C Specification
// Provided by XR_EXT_spatial_entity
XR_DEFINE_HANDLE(XrSpatialSnapshotEXT)
Description
The application can create spatial snapshots for the purpose of discovering spatial entities or for updating its information about known spatial entities. The XrSpatialSnapshotEXT handle represents the immutable data for the discovered or updated spatial entities and a subset of their components as selected by the application. The spatial snapshot represents a coherent view of the entities and their component data. Once a snapshot is created, the snapshot’s data must remain constant while the snapshot is valid.
The application can create any number of snapshots it wants but must be mindful of the memory being allocated for each new snapshot and must destroy the snapshots once it no longer needs them.
See Also
XR_DEFINE_HANDLE, XR_EXT_spatial_entity, XrCreateSpatialDiscoverySnapshotCompletionEXT, xrCreateSpatialDiscoverySnapshotAsyncEXT, xrCreateSpatialUpdateSnapshotEXT, xrDestroySpatialSnapshotEXT, xrGetSpatialBufferFloatEXT, xrGetSpatialBufferStringEXT, xrGetSpatialBufferUint16EXT, xrGetSpatialBufferUint32EXT, xrGetSpatialBufferUint8EXT, xrGetSpatialBufferVector2fEXT, xrGetSpatialBufferVector3fEXT, xrQuerySpatialComponentDataEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchain(3)
Name
XrSwapchain - Opaque handle to a swapchain object
C Specification
XR_DEFINE_HANDLE(XrSwapchain)
Description
Most XR applications present rendered images to the user. To allow this, the runtime provides collections of images organized in "swapchains" for the application to render into and submit. Note that these do not necessarily correspond to objects defined by any given graphics API named "swapchains". The runtime must allow applications to create multiple swapchains.
Swapchain image format support by the runtime is reported through use of the xrEnumerateSwapchainFormats function.
Swapchain images can be 2D or 2D Array.
Rendering operations involving composition of submitted layers are assumed
to be internally performed by the runtime in linear color space.
Images intended to be interpreted as being non-linear-encoded ("sRGB") must
be created using an API-specific "sRGB" format (e.g.
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, GL_SRGB8_ALPHA8,
VK_FORMAT_R8G8B8A8_SRGB) to signal the need for sRGB-to-linear
conversion (whether automatic or manual) when sampled by the runtime.
All other formats will be treated as linear values.
OpenXR applications should avoid submitting linear encoded 8 bit color data
(e.g. DXGI_FORMAT_R8G8B8A8_UNORM) whenever possible as it may result
in color banding.
|
Note
|
Note
For additional information, see: Gritz, L. and d’Eon, E. 2007. The Importance of Being Linear. In: H. Nguyen, ed., GPU Gems 3. Addison-Wesley Professional. https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-24-importance-being-linear |
|
Note
|
Note
DXGI resources will be created with their associated TYPELESS format, but the runtime will use the application-specified format for reading the data. |
See Also
XR_DEFINE_HANDLE, XrCompositionLayerCubeKHR, XrSwapchainSubImage, xrAcquireSwapchainImage, xrCreateSwapchain, xrCreateSwapchainAndroidSurfaceKHR, xrDestroySwapchain, xrEnumerateSwapchainFormats, xrEnumerateSwapchainImages, xrGetSwapchainStateFB, xrReleaseSwapchainImage, xrUpdateSwapchainFB, xrWaitSwapchainImage
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableTrackerANDROID(3)
Name
XrTrackableTrackerANDROID - Trackable tracker handle
C Specification
An XrTrackableTrackerANDROID is a handle that represents the resources required to discover and update trackables of a given XrTrackableTypeANDROID in the environment.
// Provided by XR_ANDROID_trackables
XR_DEFINE_HANDLE(XrTrackableTrackerANDROID)
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTriangleMeshFB(3)
Name
XrTriangleMeshFB - Triangle mesh
C Specification
XR_DEFINE_HANDLE(XrTriangleMeshFB)
Description
XrTriangleMeshFB represents a triangle mesh with its corresponding mesh data: a vertex buffer and an index buffer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardMETA(3)
Name
XrVirtualKeyboardMETA - Virtual Keyboard Instance
C Specification
XR_DEFINE_HANDLE(XrVirtualKeyboardMETA)
Description
XrVirtualKeyboardMETA represents a virtual keyboard instance.
See Also
XR_DEFINE_HANDLE, XrEventDataVirtualKeyboardBackspaceMETA, XrEventDataVirtualKeyboardCommitTextMETA, XrEventDataVirtualKeyboardEnterMETA, XrEventDataVirtualKeyboardHiddenMETA, XrEventDataVirtualKeyboardShownMETA, xrChangeVirtualKeyboardTextContextMETA, xrCreateVirtualKeyboardMETA, xrCreateVirtualKeyboardSpaceMETA, xrDestroyVirtualKeyboardMETA, xrGetVirtualKeyboardDirtyTexturesMETA, xrGetVirtualKeyboardModelAnimationStatesMETA, xrGetVirtualKeyboardScaleMETA, xrGetVirtualKeyboardTextureDataMETA, xrSendVirtualKeyboardInputMETA, xrSetVirtualKeyboardModelVisibilityMETA, xrSuggestVirtualKeyboardLocationMETA
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshDetectorML(3)
Name
XrWorldMeshDetectorML - The world mesh detector object
C Specification
The XrWorldMeshDetectorML handle is defined as:
// Provided by XR_ML_world_mesh_detection
XR_DEFINE_HANDLE(XrWorldMeshDetectorML)
Description
XrWorldMeshDetectorML is created by xrCreateWorldMeshDetectorML.
See Also
XR_DEFINE_HANDLE, XR_ML_world_mesh_detection, xrAllocateWorldMeshBufferML, xrCreateWorldMeshDetectorML, xrDestroyWorldMeshDetectorML, xrFreeWorldMeshBufferML, xrGetWorldMeshBufferRecommendSizeML, xrRequestWorldMeshAsyncML, xrRequestWorldMeshCompleteML, xrRequestWorldMeshStateAsyncML, xrRequestWorldMeshStateCompleteML
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Structures
XrActionCreateInfo(3)
Name
XrActionCreateInfo - XrAction creation info
C Specification
The XrActionCreateInfo structure is defined as:
typedef struct XrActionCreateInfo {
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];
} XrActionCreateInfo;
Members
Description
Subaction paths are a mechanism that enables applications to use the same
action name and handle on multiple devices.
Applications can query action state using subaction paths that differentiate
data coming from each device.
This allows the runtime to group logically equivalent actions together in
system UI.
For instance, an application could create a single pick_up action
with the /user/hand/left and /user/hand/right subaction
paths and use the subaction paths to independently query the state of
pick_up_with_left_hand and pick_up_with_right_hand.
Applications can create actions with or without the subactionPaths
set to a list of paths.
If this list of paths is omitted (i.e. subactionPaths is set to
NULL, and countSubactionPaths is set to 0), the application is
opting out of filtering action results by subaction paths and any call to
get action data must also omit subaction paths.
If subactionPaths is specified and any of the following conditions are
not satisfied, the runtime must return XR_ERROR_PATH_UNSUPPORTED:
-
Each path provided is one of:
-
/user/head
-
/user/hand/left
-
/user/hand/right
-
/user/gamepad
-
-
No path appears in the list more than once
Extensions may append additional top level user paths to the above list.
|
Note
|
Note
Earlier revisions of the spec mentioned /user but it could not be implemented as specified and was removed as errata. |
The runtime must return XR_ERROR_PATH_UNSUPPORTED in the following
circumstances:
-
The application specified subaction paths at action creation and the application called
xrGetActionState*or a haptic function with an empty subaction path array. -
The application called
xrGetActionState*or a haptic function with a subaction path that was not specified when the action was created.
If actionName or localizedActionName are empty strings, the
runtime must return XR_ERROR_NAME_INVALID or
XR_ERROR_LOCALIZED_NAME_INVALID respectively.
If actionName or localizedActionName are duplicates of the
corresponding field for any existing action in the specified action set, the
runtime must return XR_ERROR_NAME_DUPLICATED or
XR_ERROR_LOCALIZED_NAME_DUPLICATED respectively.
If the conflicting action is destroyed, the conflicting field is no longer
considered duplicated.
If actionName contains characters which are not allowed in a single
level of a well-formed path string, the
runtime must return XR_ERROR_PATH_FORMAT_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionSetCreateInfo(3)
Name
XrActionSetCreateInfo - XrActionSet creation info
C Specification
The XrActionSetCreateInfo structure is defined as:
typedef struct XrActionSetCreateInfo {
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;
} XrActionSetCreateInfo;
Members
Description
When multiple actions are bound to the same input source, the priority
of each action set determines which bindings are suppressed.
Runtimes must ignore input sources from action sets with a lower priority
number if those specific input sources are also present in active actions
within a higher priority action set.
If multiple action sets with the same priority are bound to the same input
source and that is the highest priority number, runtimes must process all
those bindings at the same time.
Two actions are considered to be bound to the same input source if they use the same identifier and optional location path segments, even if they have different component segments.
When runtimes are ignoring bindings because of priority, they must treat
the binding to that input source as though they do not exist.
That means the isActive field must be XR_FALSE when retrieving
action data, and that the runtime must not provide any visual, haptic, or
other feedback related to the binding of that action to that input source.
Other actions in the same action set which are bound to input sources that
do not collide are not affected and are processed as normal.
If actionSetName or localizedActionSetName are empty strings,
the runtime must return XR_ERROR_NAME_INVALID or
XR_ERROR_LOCALIZED_NAME_INVALID respectively.
If actionSetName or localizedActionSetName are duplicates of the
corresponding field for any existing action set in the specified instance,
the runtime must return XR_ERROR_NAME_DUPLICATED or
XR_ERROR_LOCALIZED_NAME_DUPLICATED respectively.
If the conflicting action set is destroyed, the conflicting field is no
longer considered duplicated.
If actionSetName contains characters which are not allowed in a single
level of a well-formed path string, the
runtime must return XR_ERROR_PATH_FORMAT_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionSpaceCreateInfo(3)
Name
XrActionSpaceCreateInfo - Creation info for an action space
C Specification
The XrActionSpaceCreateInfo structure is defined as:
typedef struct XrActionSpaceCreateInfo {
XrStructureType type;
const void* next;
XrAction action;
XrPath subactionPath;
XrPosef poseInActionSpace;
} XrActionSpaceCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStateBoolean(3)
Name
XrActionStateBoolean - Boolean action state
C Specification
The XrActionStateBoolean structure is defined as:
typedef struct XrActionStateBoolean {
XrStructureType type;
void* next;
XrBool32 currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateBoolean;
Members
Description
When multiple input sources are bound to this action, the currentState
follows the previously defined rule to resolve ambiguity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStateFloat(3)
Name
XrActionStateFloat - Floating point action state
C Specification
The XrActionStateFloat structure is defined as:
typedef struct XrActionStateFloat {
XrStructureType type;
void* next;
float currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateFloat;
Members
Description
When multiple input sources are bound to this action, the currentState
follows the previously defined rule to resolve ambiguity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStateGetInfo(3)
Name
XrActionStateGetInfo - Information to get action state
C Specification
The XrActionStateGetInfo structure is used to provide action and
subaction paths when calling xrGetActionState* function.
It is defined as:
typedef struct XrActionStateGetInfo {
XrStructureType type;
const void* next;
XrAction action;
XrPath subactionPath;
} XrActionStateGetInfo;
Members
Description
See XrActionCreateInfo for a description of subaction paths, and the restrictions on their use.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStatePose(3)
Name
XrActionStatePose - Pose action metadata
C Specification
The XrActionStatePose structure is defined as:
typedef struct XrActionStatePose {
XrStructureType type;
void* next;
XrBool32 isActive;
} XrActionStatePose;
Members
Description
A pose action must not be bound to multiple input sources, according to the previously defined rule.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStateVector2f(3)
Name
XrActionStateVector2f - 2D float vector action state
C Specification
The XrActionStateVector2f structure is defined as:
typedef struct XrActionStateVector2f {
XrStructureType type;
void* next;
XrVector2f currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateVector2f;
Members
Description
When multiple input sources are bound to this action, the currentState
follows the previously defined rule to resolve ambiguity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionSuggestedBinding(3)
Name
XrActionSuggestedBinding - Suggested binding for a single action
C Specification
The XrActionSuggestedBinding structure is defined as:
typedef struct XrActionSuggestedBinding {
XrAction action;
XrPath binding;
} XrActionSuggestedBinding;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionsSyncInfo(3)
Name
XrActionsSyncInfo - Information to sync actions
C Specification
The XrActionsSyncInfo structure is defined as:
typedef struct XrActionsSyncInfo {
XrStructureType type;
const void* next;
uint32_t countActiveActionSets;
const XrActiveActionSet* activeActionSets;
} XrActionsSyncInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActiveActionSet(3)
Name
XrActiveActionSet - Describes an active action set
C Specification
The XrActiveActionSet structure is defined as:
typedef struct XrActiveActionSet {
XrActionSet actionSet;
XrPath subactionPath;
} XrActiveActionSet;
Members
Description
This structure defines a single active action set and subaction path combination. Applications can provide a list of these structures to the xrSyncActions function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActiveActionSetPrioritiesEXT(3)
Name
XrActiveActionSetPrioritiesEXT - Active action set priority numbers
C Specification
The XrActiveActionSetPrioritiesEXT structure is defined as:
// Provided by XR_EXT_active_action_set_priority
typedef struct XrActiveActionSetPrioritiesEXT {
XrStructureType type;
const void* next;
uint32_t actionSetPriorityCount;
const XrActiveActionSetPriorityEXT* actionSetPriorities;
} XrActiveActionSetPrioritiesEXT;
Members
Description
The runtime must ignore any priority numbers for action sets that were not specified as an active action set in the XrActionsSyncInfo structure as this would have no effect.
The priority numbers provided in XrActiveActionSetPriorityEXT must override the priority number of the active action set starting with the xrSyncActions call it is provided to, until the first subsequent call to xrSyncActions.
When a subsequent call is made to xrSyncActions where an active action set does not have a corresponding priority number specified in the XrActiveActionSetPriorityEXT structure the priority number for that action set must revert back to the priority number provided in XrActionSetCreateInfo when that action set was created.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActiveActionSetPriorityEXT(3)
Name
XrActiveActionSetPriorityEXT - Action set priority mapping
C Specification
The XrActiveActionSetPriorityEXT structure is defined as:
// Provided by XR_EXT_active_action_set_priority
typedef struct XrActiveActionSetPriorityEXT {
XrActionSet actionSet;
uint32_t priorityOverride;
} XrActiveActionSetPriorityEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorSharingInfoANDROID(3)
Name
XrAnchorSharingInfoANDROID - Information to share an anchor
C Specification
The XrAnchorSharingInfoANDROID structure is defined as:
// Provided by XR_ANDROID_anchor_sharing_export
typedef struct XrAnchorSharingInfoANDROID {
XrStructureType type;
const void* next;
XrSpace anchor;
} XrAnchorSharingInfoANDROID;
Members
Description
XrAnchorSharingInfoANDROID::anchor must be a valid
XrSpace created previously by calling xrCreateAnchorSpaceANDROID
or xrCreatePersistedAnchorSpaceANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorSharingTokenANDROID(3)
Name
XrAnchorSharingTokenANDROID - Anchor sharing token
C Specification
The XrAnchorSharingTokenANDROID structure is defined as:
// Provided by XR_ANDROID_anchor_sharing_export
typedef struct XrAnchorSharingTokenANDROID {
XrStructureType type;
void* next;
struct AIBinder* token;
} XrAnchorSharingTokenANDROID;
Members
Description
Other extensions may define functions that use the
XrAnchorSharingTokenANDROID::token to access the anchor from
other sessions.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorSpaceCreateInfoANDROID(3)
Name
XrAnchorSpaceCreateInfoANDROID - Information to create an anchor space
C Specification
The XrAnchorSpaceCreateInfoANDROID structure is defined as:
// Provided by XR_ANDROID_trackables
typedef struct XrAnchorSpaceCreateInfoANDROID {
XrStructureType type;
const void* next;
XrSpace space;
XrTime time;
XrPosef pose;
XrTrackableANDROID trackable;
} XrAnchorSpaceCreateInfoANDROID;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorSpaceCreateInfoBD(3)
Name
XrAnchorSpaceCreateInfoBD - Info for creating an anchor space, for locating an anchor
C Specification
The XrAnchorSpaceCreateInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrAnchorSpaceCreateInfoBD {
XrStructureType type;
const void* next;
XrAnchorBD anchor;
XrPosef poseInAnchorSpace;
} XrAnchorSpaceCreateInfoBD;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAndroidSurfaceSwapchainCreateInfoFB(3)
Name
XrAndroidSurfaceSwapchainCreateInfoFB - Creates an Android Surface Swapchain
C Specification
The XrAndroidSurfaceSwapchainCreateInfoFB structure is defined as:
// Provided by XR_FB_android_surface_swapchain_create
typedef struct XrAndroidSurfaceSwapchainCreateInfoFB {
XrStructureType type;
const void* next;
XrAndroidSurfaceSwapchainFlagsFB createFlags;
} XrAndroidSurfaceSwapchainCreateInfoFB;
Members
Description
XrAndroidSurfaceSwapchainCreateInfoFB contains additional Android
Surface specific create flags when calling
xrCreateSwapchainAndroidSurfaceKHR.
The XrAndroidSurfaceSwapchainCreateInfoFB structure must be provided
in the next chain of the XrSwapchainCreateInfo structure when
calling xrCreateSwapchainAndroidSurfaceKHR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrApiLayerCreateInfo(3)
Name
XrApiLayerCreateInfo - Structure that contains special information required by a API layer during its create instance process
C Specification
The XrApiLayerCreateInfo structure is defined as:
typedef struct XrApiLayerCreateInfo {
XrLoaderInterfaceStructs structType;
uint32_t structVersion;
size_t structSize;
void* loaderInstance;
char settings_file_location[XR_API_LAYER_MAX_SETTINGS_PATH_SIZE];
XrApiLayerNextInfo* nextInfo;
} XrApiLayerCreateInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrApiLayerNextInfo(3)
Name
XrApiLayerNextInfo - Chained into a list of api layer description structures
C Specification
The XrApiLayerNextInfo structure is defined as:
typedef struct XrApiLayerNextInfo {
XrLoaderInterfaceStructs structType;
uint32_t structVersion;
size_t structSize;
char layerName[XR_MAX_API_LAYER_NAME_SIZE];
PFN_xrGetInstanceProcAddr nextGetInstanceProcAddr;
PFN_xrCreateApiLayerInstance nextCreateApiLayerInstance;
struct XrApiLayerNextInfo* next;
} XrApiLayerNextInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrApiLayerProperties(3)
Name
XrApiLayerProperties - Structure specifying layer properties
C Specification
The XrApiLayerProperties structure is defined as:
typedef struct XrApiLayerProperties {
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];
} XrApiLayerProperties;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrApplicationInfo(3)
Name
XrApplicationInfo - Structure specifying application info
C Specification
The XrApplicationInfo structure is defined as:
typedef struct XrApplicationInfo {
char applicationName[XR_MAX_APPLICATION_NAME_SIZE];
uint32_t applicationVersion;
char engineName[XR_MAX_ENGINE_NAME_SIZE];
uint32_t engineVersion;
XrVersion apiVersion;
} XrApplicationInfo;
Members
Description
Useful values for apiVersion include XR_API_VERSION_1_0 and
XR_API_VERSION_1_1.
|
Note
|
Note
When using the OpenXR API to implement a reusable engine that will be used
by many applications, When using the OpenXR API to implement an individual application without a
shared engine, the input |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBaseInStructure(3)
Name
XrBaseInStructure - Convenience type for iterating (read only)
C Specification
The XrBaseInStructure structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrBaseInStructure {
XrStructureType type;
const struct XrBaseInStructure* next;
} XrBaseInStructure;
Members
Description
XrBaseInStructure can be used to facilitate iterating through a read-only structure pointer chain.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBaseOutStructure(3)
Name
XrBaseOutStructure - Convenience type for iterating (mutable)
C Specification
The XrBaseOutStructure structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrBaseOutStructure {
XrStructureType type;
struct XrBaseOutStructure* next;
} XrBaseOutStructure;
Members
Description
XrBaseOutStructure can be used to facilitate iterating through a structure pointer chain that returns data back to the application.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBindingModificationBaseHeaderKHR(3)
Name
XrBindingModificationBaseHeaderKHR - Base struct for all binding modifications
C Specification
The XrBindingModificationBaseHeaderKHR structure is defined as:
// Provided by XR_KHR_binding_modification
typedef struct XrBindingModificationBaseHeaderKHR {
XrStructureType type;
const void* next;
} XrBindingModificationBaseHeaderKHR;
Members
Description
The XrBindingModificationBaseHeaderKHR is a base structure is
overridden by XrBindingModification* child structures.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBindingModificationsKHR(3)
Name
XrBindingModificationsKHR - Suggested bindings with binding modification details
C Specification
The XrBindingModificationsKHR structure is defined as:
// Provided by XR_KHR_binding_modification
typedef struct XrBindingModificationsKHR {
XrStructureType type;
const void* next;
uint32_t bindingModificationCount;
const XrBindingModificationBaseHeaderKHR* const* bindingModifications;
} XrBindingModificationsKHR;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationBD(3)
Name
XrBodyJointLocationBD - Describes the location of a body joint
C Specification
The XrBodyJointLocationBD structure is defined as:
// Provided by XR_BD_body_tracking
typedef struct XrBodyJointLocationBD {
XrSpaceLocationFlags locationFlags;
XrPosef pose;
} XrBodyJointLocationBD;
Members
Description
XrBodyJointLocationBD structure describes the position and orientation of a body joint.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationFB(3)
Name
XrBodyJointLocationFB - Describes the location and radius of a body joint
C Specification
XrBodyJointLocationFB structure describes the position, orientation, and radius of a body joint.
// Provided by XR_FB_body_tracking
typedef struct XrBodyJointLocationFB {
XrSpaceLocationFlags locationFlags;
XrPosef pose;
} XrBodyJointLocationFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationHTC(3)
Name
XrBodyJointLocationHTC - Describes the location and location flag of a body joint
C Specification
The XrBodyJointLocationHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrBodyJointLocationHTC {
XrSpaceLocationFlags locationFlags;
XrPosef pose;
} XrBodyJointLocationHTC;
Members
Description
XrBodyJointLocationHTC structure describes the position, orientation, and location flag of a body joint. It is populated by the runtime during a call to xrLocateBodyJointsHTC.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationsBD(3)
Name
XrBodyJointLocationsBD - Returns the body joint locations
C Specification
The XrBodyJointLocationsBD structure is defined as:
// Provided by XR_BD_body_tracking
typedef struct XrBodyJointLocationsBD {
XrStructureType type;
void* next;
XrBool32 allJointPosesTracked;
uint32_t jointLocationCount;
XrBodyJointLocationBD* jointLocations;
} XrBodyJointLocationsBD;
Members
Description
XrBodyJointLocationsBD structure returns the state of the body joint locations.
The application must allocate jointLocations with enough elements for
all joints of the chosen joint set, and set jointLocationCount
according.
The runtime must populate elements of the application-allocated
jointLocations array representing human body motion.
The runtime must populate the jointLocations array with elements
indexed using the corresponding body joint enumeration (e.g.
XrBodyJointBD).
The index enumeration is determined by the XrBodyJointSetBD value used
when creating the XrBodyTrackerBD.
For example, when the XrBodyTrackerBD is created with
XR_BODY_JOINT_SET_FULL_BODY_JOINTS_BD, the application must set the
jointLocationCount to XR_BODY_JOINT_COUNT_BD, allocating at
least that many elements in jointLocations, and the runtime must
populate the jointLocations array indexed by the XrBodyJointBD
enumeration.
If the value of jointLocationCount does not equal the joint count
value associated with the XrBodyJointSetBD value used when creating
the XrBodyTrackerBD, or if jointLocations is NULL, the
runtime must return XR_ERROR_VALIDATION_FAILURE.
If the returned allJointPosesTracked is true, the runtime must return
all joint locations with XR_SPACE_LOCATION_POSITION_VALID_BIT,
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT,
XR_SPACE_LOCATION_POSITION_TRACKED_BIT,
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT set.
If the returned allJointPosesTracked is false, it indicates that for
some joint(s), the body input is not detected or tracked.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationsFB(3)
Name
XrBodyJointLocationsFB - Returns the body joint locations
C Specification
XrBodyJointLocationsFB structure returns the state of the body joint locations.
// Provided by XR_FB_body_tracking
typedef struct XrBodyJointLocationsFB {
XrStructureType type;
void* next;
XrBool32 isActive;
float confidence;
uint32_t jointCount;
XrBodyJointLocationFB* jointLocations;
uint32_t skeletonChangedCount;
XrTime time;
} XrBodyJointLocationsFB;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if
jointCount does not equal to the number of joints defined by the
XrBodyJointSetFB used to create the XrBodyTrackerFB.
The runtime must return jointLocations representing the range of
human body motion, without any obstructions.
Input systems that either obstruct the movement of the user’s body (for
example, a held controller preventing the user from making a fist) or input
systems that have only limited ability to track finger positions must use
the information available to them to emulate an unobstructed range of
motion.
The runtime must update the jointLocations array ordered so that it
is indexed using the corresponding body joint enum (e.g.
XrBodyJointFB) as described by XrBodyJointSetFB when creating
the XrBodyTrackerFB.
For example, when the XrBodyTrackerFB is created with
XR_BODY_JOINT_SET_DEFAULT_FB, the application must set the
jointCount to XR_BODY_JOINT_COUNT_FB, and the runtime must fill
the jointLocations array ordered so that it is indexed by the
XrBodyJointFB enum.
If the returned isActive is true, the runtime must return all joint
locations with both XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
However, in this case, some joint space locations may be untracked (i.e.
XR_SPACE_LOCATION_POSITION_TRACKED_BIT or
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT is unset).
If the returned isActive is false, it indicates that the body tracker
did not detect the body input, the application lost input focus, or the
consent for body tracking was denied by the user.
In this case, the runtime must return all jointLocations with neither
XR_SPACE_LOCATION_POSITION_VALID_BIT nor
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointLocationsHTC(3)
Name
XrBodyJointLocationsHTC - Returns the body joint data
C Specification
The XrBodyJointLocationsHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrBodyJointLocationsHTC {
XrStructureType type;
void* next;
XrSpaceLocationFlags combinedLocationFlags;
XrBodyJointConfidenceHTC confidenceLevel;
uint32_t jointLocationCount;
XrBodyJointLocationHTC* jointLocations;
uint32_t skeletonGenerationId;
} XrBodyJointLocationsHTC;
Members
Description
The application must set jointLocationCount as appropriate for the
chosen XrBodyJointSetHTC value when creating the
XrBodyTrackerHTC.
If jointLocationCount does not match the value associated with the
supplied XrBodyJointSetHTC value, the runtime must return
XR_ERROR_VALIDATION_FAILURE from xrLocateBodyJointsHTC.
An application must allocate the output jointLocations array with a
minimum capacity of jointLocationCount of XrBodyJointLocationHTC
elements.
If the application supplies a NULL value for jointLocations, the
runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must update the jointLocations array elements indexed
using the corresponding body joint enumeration (e.g. XrBodyJointHTC
for the joint set XR_BODY_JOINT_SET_FULL_HTC) as described by
XrBodyJointSetHTC when creating the XrBodyTrackerHTC.
For example, when the XrBodyTrackerHTC is created with
XR_BODY_JOINT_SET_FULL_HTC, the runtime must fill the
jointLocations array with body joint data indexed by the
XrBodyJointHTC enumeration.
If the runtime returns combinedLocationFlags with
XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set, it indicates that the
body tracker detects the joint space locations.
If the runtime returns combinedLocationFlags with neither
XR_SPACE_LOCATION_POSITION_VALID_BIT nor
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set, it indicates that the
body tracker did not detect the joint space locations.
The purpose of the skeleton is to provide data about the body size.
The calculation of the body size may be updated during a session.
Each time the calculation of the size is changed,
XrBodyJointLocationsHTC::skeletonGenerationId is changed to
indicate that a new skeleton may be retrieved.
xrGetBodySkeletonHTC can be called with the specified
skeletonGenerationId to get the corresponding skeleton.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointsLocateInfoBD(3)
Name
XrBodyJointsLocateInfoBD - Describes the information to locate body joints
C Specification
The XrBodyJointsLocateInfoBD structure is defined as:
// Provided by XR_BD_body_tracking
typedef struct XrBodyJointsLocateInfoBD {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrBodyJointsLocateInfoBD;
Members
Description
The XrBodyJointsLocateInfoBD structure describes the information to locate body joints. Callers should request a time equal to the predicted display time for the rendered frame. The system will employ appropriate modeling to support body tracking at this time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointsLocateInfoFB(3)
Name
XrBodyJointsLocateInfoFB - Describes the information to locate body joints
C Specification
The XrBodyJointsLocateInfoFB structure describes the information to locate body joints.
// Provided by XR_FB_body_tracking
typedef struct XrBodyJointsLocateInfoFB {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrBodyJointsLocateInfoFB;
Members
Description
Callers should request a time equal to the predicted display time for the rendered frame. The system will employ appropriate modeling to support body tracking at this time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointsLocateInfoHTC(3)
Name
XrBodyJointsLocateInfoHTC - Describes the information to locate body joints
C Specification
The XrBodyJointsLocateInfoHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrBodyJointsLocateInfoHTC {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrBodyJointsLocateInfoHTC;
Members
Description
The XrBodyJointsLocateInfoHTC structure describes the information to locate individual body joints.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodySkeletonFB(3)
Name
XrBodySkeletonFB - Returns the body skeleton hierarchy
C Specification
The XrBodySkeletonFB structure is a container to represent the body skeleton in T-pose including the joint hierarchy.
// Provided by XR_FB_body_tracking
typedef struct XrBodySkeletonFB {
XrStructureType type;
void* next;
uint32_t jointCount;
XrBodySkeletonJointFB* joints;
} XrBodySkeletonFB;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if
jointCount does not equal to the number of joints defined by the
XrBodyJointSetFB used to create the XrBodyTrackerFB.
The runtime must return joints representing the default pose of the
current estimation regarding the user’s skeleton.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodySkeletonHTC(3)
Name
XrBodySkeletonHTC - Returns the body skeleton
C Specification
The XrBodySkeletonHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrBodySkeletonHTC {
XrStructureType type;
void* next;
uint32_t jointCount;
XrBodySkeletonJointHTC* joints;
} XrBodySkeletonHTC;
Members
Description
The XrBodySkeletonHTC structure is a container to represent the body
skeleton in T-pose including each joint pose.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
jointCount does not equal the number of joints associated with the
XrBodyJointSetHTC value used to create the XrBodyTrackerHTC.
The application must allocate an array of at least jointCount
elements for joints, to be populated by the runtime.
If joints is NULL, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
The runtime must return joints representing the default pose of the
current estimation regarding the user’s skeleton.
The runtime must update the joints array ordered so that it is
indexed using the corresponding body joint enumeration (e.g.
XrBodyJointHTC for the joint set XR_BODY_JOINT_SET_FULL_HTC) as
associated with the XrBodyJointSetHTC value used when creating the
XrBodyTrackerHTC.
For example, when the XrBodyTrackerHTC is created with
XR_BODY_JOINT_SET_FULL_HTC, the runtime must fill the joints
array indexed by the XrBodyJointHTC enumeration.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodySkeletonJointFB(3)
Name
XrBodySkeletonJointFB - Describes the location and position of a joint in the skeleton hierarchy
C Specification
XrBodySkeletonJointFB structure describes the position, orientation of the joint in space, and position of the joint in the skeleton hierarchy.
// Provided by XR_FB_body_tracking
typedef struct XrBodySkeletonJointFB {
int32_t joint;
int32_t parentJoint;
XrPosef pose;
} XrBodySkeletonJointFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodySkeletonJointHTC(3)
Name
XrBodySkeletonJointHTC - Describes the location and position of a joint in the skeleton
C Specification
The XrBodySkeletonJointHTC structure is defined as:
typedef struct XrBodySkeletonJointHTC {
XrPosef pose;
} XrBodySkeletonJointHTC;
Members
Description
XrBodySkeletonJointHTC structure describes the position, orientation of the joint in space, and position of the joint in the skeleton.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerCreateInfoBD(3)
Name
XrBodyTrackerCreateInfoBD - Information to create a body joints handle
C Specification
The XrBodyTrackerCreateInfoBD structure is defined as:
// Provided by XR_BD_body_tracking
typedef struct XrBodyTrackerCreateInfoBD {
XrStructureType type;
const void* next;
XrBodyJointSetBD jointSet;
} XrBodyTrackerCreateInfoBD;
Members
Description
The XrBodyTrackerCreateInfoBD structure describes the information to create an XrBodyTrackerBD handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerCreateInfoFB(3)
Name
XrBodyTrackerCreateInfoFB - Information to create a body joints handle
C Specification
The XrBodyTrackerCreateInfoFB structure describes the information to create an XrBodyTrackerFB handle.
// Provided by XR_FB_body_tracking
typedef struct XrBodyTrackerCreateInfoFB {
XrStructureType type;
const void* next;
XrBodyJointSetFB bodyJointSet;
} XrBodyTrackerCreateInfoFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackerCreateInfoHTC(3)
Name
XrBodyTrackerCreateInfoHTC - Information to create a body tracker handle
C Specification
The XrBodyTrackerCreateInfoHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrBodyTrackerCreateInfoHTC {
XrStructureType type;
const void* next;
XrBodyJointSetHTC bodyJointSet;
} XrBodyTrackerCreateInfoHTC;
Members
Description
The XrBodyTrackerCreateInfoHTC structure describes the information to
create an XrBodyTrackerHTC handle.
If the supplied bodyJointSet is not valid, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
.Valid Usage (Implicit)
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackingCalibrationInfoMETA(3)
Name
XrBodyTrackingCalibrationInfoMETA - Application-provided calibration data.
C Specification
The XrBodyTrackingCalibrationInfoMETA structure is defined as:
// Provided by XR_META_body_tracking_calibration
typedef struct XrBodyTrackingCalibrationInfoMETA {
XrStructureType type;
const void* next;
float bodyHeight;
} XrBodyTrackingCalibrationInfoMETA;
Members
Description
The XrBodyTrackingCalibrationInfoMETA structure contains the user’s height that the runtime should use to calibrate body tracking.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackingCalibrationStatusMETA(3)
Name
XrBodyTrackingCalibrationStatusMETA - The current calibration status info.
C Specification
The XrBodyTrackingCalibrationStatusMETA structure is defined as:
// Provided by XR_META_body_tracking_calibration
typedef struct XrBodyTrackingCalibrationStatusMETA {
XrStructureType type;
void* next;
XrBodyTrackingCalibrationStateMETA status;
} XrBodyTrackingCalibrationStatusMETA;
Members
Description
The XrBodyTrackingCalibrationStatusMETA structure contains a XrBodyTrackingCalibrationStateMETA that describes the current calibration status.
The application can obtain the calibration status by adding
XrBodyTrackingCalibrationStatusMETA to the
XrBodyJointLocationsFB::next chain when calling
xrLocateBodyJointsFB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBoundSourcesForActionEnumerateInfo(3)
Name
XrBoundSourcesForActionEnumerateInfo - Information to query the bound input sources for an action
C Specification
The XrBoundSourcesForActionEnumerateInfo structure is defined as:
typedef struct XrBoundSourcesForActionEnumerateInfo {
XrStructureType type;
const void* next;
XrAction action;
} XrBoundSourcesForActionEnumerateInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBoundary2DFB(3)
Name
XrBoundary2DFB - Provides additional context of a spatial entity representing a room
C Specification
The XrBoundary2DFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrBoundary2DFB {
XrStructureType type;
const void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector2f* vertices;
} XrBoundary2DFB;
Members
Description
This structure is used by the xrGetSpaceBoundary2DFB function to provide the application with the XrVector2f vertices representing the a spatial entity with a boundary.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBoxf(3)
Name
XrBoxf - Describe a scene oriented box
C Specification
An XrBoxf structure describes the pose and extents of an oriented box.
// Provided by XR_VERSION_1_1
typedef struct XrBoxf {
XrPosef center;
XrExtent3Df extents;
} XrBoxf;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if width, height
or depth values are negative.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColocationAdvertisementStartInfoMETA(3)
Name
XrColocationAdvertisementStartInfoMETA - Information about start colocation visibility request
C Specification
The XrColocationAdvertisementStartInfoMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrColocationAdvertisementStartInfoMETA {
XrStructureType type;
const void* next;
uint32_t bufferSize;
uint8_t* buffer;
} XrColocationAdvertisementStartInfoMETA;
Members
Description
XrColocationAdvertisementStartInfoMETA is the input data for xrStartColocationAdvertisementMETA. Implicitly, while the application has an active advertisement, the runtime will retain a copy of the XrColocationAdvertisementStartInfoMETA submitted with xrStartColocationAdvertisementMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColocationAdvertisementStopInfoMETA(3)
Name
XrColocationAdvertisementStopInfoMETA - Information about stop colocation advertisement request
C Specification
The XrColocationAdvertisementStopInfoMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrColocationAdvertisementStopInfoMETA {
XrStructureType type;
const void* next;
} XrColocationAdvertisementStopInfoMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColocationDiscoveryStartInfoMETA(3)
Name
XrColocationDiscoveryStartInfoMETA - start discovery information
C Specification
The XrColocationDiscoveryStartInfoMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrColocationDiscoveryStartInfoMETA {
XrStructureType type;
const void* next;
} XrColocationDiscoveryStartInfoMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColocationDiscoveryStopInfoMETA(3)
Name
XrColocationDiscoveryStopInfoMETA - stop discovery information
C Specification
The XrColocationDiscoveryStopInfoMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrColocationDiscoveryStopInfoMETA {
XrStructureType type;
const void* next;
} XrColocationDiscoveryStopInfoMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColor3f(3)
Name
XrColor3f - Color Vector
C Specification
The XrColor3f structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrColor3f {
float r;
float g;
float b;
} XrColor3f;
Members
Description
Unless otherwise specified, colors are encoded as linear (not with sRGB nor other gamma compression) values with individual components being in the range of 0.0 through 1.0.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColor4f(3)
Name
XrColor4f - Color Vector
C Specification
The XrColor4f structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrColor4f {
float r;
float g;
float b;
float a;
} XrColor4f;
Members
Description
Unless otherwise specified, colors are encoded as linear (not with sRGB nor other gamma compression) values with individual components being in the range of 0.0 through 1.0, and without the RGB components being premultiplied by the alpha component.
If color encoding is specified as being premultiplied by the alpha component, the RGB components are set to zero if the alpha component is zero.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerAlphaBlendFB(3)
Name
XrCompositionLayerAlphaBlendFB - specifies blend factors for composition layers
C Specification
The XrCompositionLayerAlphaBlendFB structure is defined as:
// Provided by XR_FB_composition_layer_alpha_blend
typedef struct XrCompositionLayerAlphaBlendFB {
XrStructureType type;
void* next;
XrBlendFactorFB srcFactorColor;
XrBlendFactorFB dstFactorColor;
XrBlendFactorFB srcFactorAlpha;
XrBlendFactorFB dstFactorAlpha;
} XrCompositionLayerAlphaBlendFB;
Members
Description
XrCompositionLayerAlphaBlendFB provides applications with explicit control over source and destination blend factors.
The XrCompositionLayerAlphaBlendFB structure must be provided in the
next chain of the XrCompositionLayerBaseHeader structure.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerBaseHeader(3)
Name
XrCompositionLayerBaseHeader - Composition layer base header
C Specification
The XrCompositionLayerBaseHeader structure is defined as:
typedef struct XrCompositionLayerBaseHeader {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
} XrCompositionLayerBaseHeader;
Members
Description
All composition layer structures begin with the elements described in the XrCompositionLayerBaseHeader. The XrCompositionLayerBaseHeader structure is not intended to be directly used, but forms a basis for defining current and future structures containing composition layer information. The XrFrameEndInfo structure contains an array of pointers to these polymorphic header structures. All composition layer type pointers must be type-castable as an XrCompositionLayerBaseHeader pointer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerColorScaleBiasKHR(3)
Name
XrCompositionLayerColorScaleBiasKHR - defines color scale and bias for layer textures
C Specification
The XrCompositionLayerColorScaleBiasKHR structure is defined as:
// Provided by XR_KHR_composition_layer_color_scale_bias
typedef struct XrCompositionLayerColorScaleBiasKHR {
XrStructureType type;
const void* next;
XrColor4f colorScale;
XrColor4f colorBias;
} XrCompositionLayerColorScaleBiasKHR;
Members
Description
XrCompositionLayerColorScaleBiasKHR contains the information needed to scale and bias the color of layer textures.
The XrCompositionLayerColorScaleBiasKHR structure can be applied by
applications to composition layers by adding an instance of the struct to
the XrCompositionLayerBaseHeader::next list.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerCubeKHR(3)
Name
XrCompositionLayerCubeKHR - Cube map layer composition info
C Specification
The XrCompositionLayerCubeKHR structure is defined as:
// Provided by XR_KHR_composition_layer_cube
typedef struct XrCompositionLayerCubeKHR {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchain swapchain;
uint32_t imageArrayIndex;
XrQuaternionf orientation;
} XrCompositionLayerCubeKHR;
Members
Description
XrCompositionLayerCubeKHR contains the information needed to render a cube map when calling xrEndFrame. XrCompositionLayerCubeKHR is an alias type for the base struct XrCompositionLayerBaseHeader used in XrFrameEndInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerCylinderKHR(3)
Name
XrCompositionLayerCylinderKHR - Cylindrical layer composition info
C Specification
The XrCompositionLayerCylinderKHR structure is defined as:
// Provided by XR_KHR_composition_layer_cylinder
typedef struct XrCompositionLayerCylinderKHR {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
float radius;
float centralAngle;
float aspectRatio;
} XrCompositionLayerCylinderKHR;
Members
Description
XrCompositionLayerCylinderKHR contains the information needed to render a texture onto a cylinder when calling xrEndFrame. XrCompositionLayerCylinderKHR is an alias type for the base struct XrCompositionLayerBaseHeader used in XrFrameEndInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerDepthInfoKHR(3)
Name
XrCompositionLayerDepthInfoKHR - Depth map layer info
C Specification
When submitting depth images along with projection layers, add the
XrCompositionLayerDepthInfoKHR to the next chain for all
XrCompositionLayerProjectionView structures in the given layer.
The XrCompositionLayerDepthInfoKHR structure is defined as:
// Provided by XR_KHR_composition_layer_depth
typedef struct XrCompositionLayerDepthInfoKHR {
XrStructureType type;
const void* next;
XrSwapchainSubImage subImage;
float minDepth;
float maxDepth;
float nearZ;
float farZ;
} XrCompositionLayerDepthInfoKHR;
Members
Description
|
Note
|
Note
The window space depth values |
|
Note
|
Note
A reversed mapping of depth, such that points closer to the view have a window space depth that is greater than points further away can be achieved by making nearZ > farZ. |
XrCompositionLayerDepthInfoKHR contains the information needed to
associate depth with the color information in a projection layer.
When submitting depth images along with projection layers, add the
XrCompositionLayerDepthInfoKHR to the next chain for all
XrCompositionLayerProjectionView structures in the given layer.
The homogeneous transform from view space z to window space depth is given by the following matrix, where a = minDepth, b = maxDepth, n = nearZ, and f = farZ.
Homogeneous values are constructed from real values by appending a w component with value 1.0.
General homogeneous values are projected back to real space by dividing by the w component.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerDepthTestFB(3)
Name
XrCompositionLayerDepthTestFB - specifies depth test for composition layer
C Specification
The XrCompositionLayerDepthTestFB structure is defined as:
// Provided by XR_FB_composition_layer_depth_test
typedef struct XrCompositionLayerDepthTestFB {
XrStructureType type;
const void* next;
XrBool32 depthMask;
XrCompareOpFB compareOp;
} XrCompositionLayerDepthTestFB;
Members
Description
To specify that a layer should be depth tested, a
XrCompositionLayerDepthTestFB structure must be passed via the
polymorphic XrCompositionLayerBaseHeader structure’s next
parameter chain.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerDepthTestVARJO(3)
Name
XrCompositionLayerDepthTestVARJO - The structure to be passed when submitting layers to enable depth testing
C Specification
Applications can enable depth testing by adding
XrCompositionLayerDepthTestVARJO to the next chain for all
XrCompositionLayerProjectionView structures in the given layer in
addition to XrCompositionLayerDepthInfoKHR.
Missing XrCompositionLayerDepthInfoKHR automatically disables the
depth testing functionality.
The XrCompositionLayerDepthTestVARJO structure is defined as:
// Provided by XR_VARJO_composition_layer_depth_test
typedef struct XrCompositionLayerDepthTestVARJO {
XrStructureType type;
const void* next;
float depthTestRangeNearZ;
float depthTestRangeFarZ;
} XrCompositionLayerDepthTestVARJO;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerEquirect2KHR(3)
Name
XrCompositionLayerEquirect2KHR - Equirectangular layer composition info
C Specification
The XrCompositionLayerEquirect2KHR structure is defined as:
// Provided by XR_KHR_composition_layer_equirect2
typedef struct XrCompositionLayerEquirect2KHR {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
float radius;
float centralHorizontalAngle;
float upperVerticalAngle;
float lowerVerticalAngle;
} XrCompositionLayerEquirect2KHR;
Members
Description
XrCompositionLayerEquirect2KHR contains the information needed to render an equirectangular image onto a sphere when calling xrEndFrame. XrCompositionLayerEquirect2KHR is an alias type for the base struct XrCompositionLayerBaseHeader used in XrFrameEndInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerEquirectKHR(3)
Name
XrCompositionLayerEquirectKHR - Equirectangular layer composition info
C Specification
The XrCompositionLayerEquirectKHR structure is defined as:
// Provided by XR_KHR_composition_layer_equirect
typedef struct XrCompositionLayerEquirectKHR {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
float radius;
XrVector2f scale;
XrVector2f bias;
} XrCompositionLayerEquirectKHR;
Members
Description
XrCompositionLayerEquirectKHR contains the information needed to render an equirectangular image onto a sphere when calling xrEndFrame. XrCompositionLayerEquirectKHR is an alias type for the base struct XrCompositionLayerBaseHeader used in XrFrameEndInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerImageLayoutFB(3)
Name
XrCompositionLayerImageLayoutFB - specifies image layout for composition layers
C Specification
The XrCompositionLayerImageLayoutFB structure is defined as:
// Provided by XR_FB_composition_layer_image_layout
typedef struct XrCompositionLayerImageLayoutFB {
XrStructureType type;
void* next;
XrCompositionLayerImageLayoutFlagsFB flags;
} XrCompositionLayerImageLayoutFB;
Members
Description
XrCompositionLayerImageLayoutFB contains additional flags used to change the interpretation of the image layout for a composition layer.
To specify the additional flags, you must create a
XrCompositionLayerImageLayoutFB structure and pass it via the
XrCompositionLayerBaseHeader structure’s next parameter.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerPassthroughFB(3)
Name
XrCompositionLayerPassthroughFB - A composition layer for passthrough
C Specification
The XrCompositionLayerPassthroughFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrCompositionLayerPassthroughFB {
XrStructureType type;
const void* next;
XrCompositionLayerFlags flags;
XrSpace space;
XrPassthroughLayerFB layerHandle;
} XrCompositionLayerPassthroughFB;
Members
Description
It is a composition layer type that may be submitted in xrEndFrame where an XrCompositionLayerBaseHeader is specified, as a stand-in for the actual passthrough contents.
Errata: the third field of this structure is named flags rather than
layerFlags as expected and as documented for for the parent type
XrCompositionLayerBaseHeader.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerPassthroughHTC(3)
Name
XrCompositionLayerPassthroughHTC - A composition layer for passthrough
C Specification
The XrCompositionLayerPassthroughHTC structure is defined as:
// Provided by XR_HTC_passthrough
typedef struct XrCompositionLayerPassthroughHTC {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrPassthroughHTC passthrough;
XrPassthroughColorHTC color;
} XrCompositionLayerPassthroughHTC;
Members
Description
The application can create an XrCompositionLayerPassthroughHTC
structure with the created passthrough and the corresponding
information.
A pointer to XrCompositionLayerPassthroughHTC may be submitted in
xrEndFrame as a pointer to the base structure
XrCompositionLayerBaseHeader, in the desired layer order, to request
the runtime to composite a passthrough layer into the final frame output.
If the passthrough form specified to xrCreatePassthroughHTC is
XR_PASSTHROUGH_FORM_PROJECTED_HTC,
XrPassthroughMeshTransformInfoHTC must appear in the next
chain.
If they are absent, the runtime must return error
XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerProjection(3)
Name
XrCompositionLayerProjection - Composition layer for projection
C Specification
The XrCompositionLayerProjection structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrCompositionLayerProjection {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
uint32_t viewCount;
const XrCompositionLayerProjectionView* views;
} XrCompositionLayerProjection;
Members
Description
|
Note
|
Note
Because a runtime may reproject the layer over time, a projection layer
should specify an XrSpace in which to maximize stability of the layer
content.
For example, a projection layer containing world-locked content should use
an XrSpace which is also world-locked, such as the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerProjectionView(3)
Name
XrCompositionLayerProjectionView - Projection layer element
C Specification
The XrCompositionLayerProjectionView structure is defined as:
typedef struct XrCompositionLayerProjectionView {
XrStructureType type;
const void* next;
XrPosef pose;
XrFovf fov;
XrSwapchainSubImage subImage;
} XrCompositionLayerProjectionView;
Members
Description
The count and order of view poses submitted with
XrCompositionLayerProjection must be the same order as that returned
by xrLocateViews.
The XrCompositionLayerProjectionView::pose and
XrCompositionLayerProjectionView::fov should almost always
derive from XrView::pose and XrView::fov as found in
the xrLocateViews::views array.
However, applications may submit an XrCompositionLayerProjectionView
which has a different view or FOV than that from xrLocateViews.
In this case, the runtime will map the view and FOV to the system display
appropriately.
In the case that two submitted views within a single layer overlap, they
must be composited in view array order.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerQuad(3)
Name
XrCompositionLayerQuad - Quad composition layer
C Specification
The XrCompositionLayerQuad structure defined as:
// Provided by XR_VERSION_1_0
typedef struct XrCompositionLayerQuad {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
XrExtent2Df size;
} XrCompositionLayerQuad;
Members
Description
The XrCompositionLayerQuad layer is useful for user interface elements or 2D content rendered into the virtual world. The layer’s XrSwapchainSubImage::swapchain image is applied to a quad in the virtual world space. Only front face of the quad surface is visible; the back face is not visible and must not be drawn by the runtime. A quad layer has no thickness; it is a two-dimensional object positioned and oriented in 3D space. The position of a quad refers to the center of the quad within the given XrSpace. The orientation of the quad refers to the orientation of the normal vector from the front face. The size of a quad refers to the quad’s size in the x-y plane of the given XrSpace’s coordinate system. A quad with a position of {0,0,0}, rotation of {0,0,0,1} (no rotation), and a size of {1,1} refers to a 1 meter x 1 meter quad centered at {0,0,0} with its front face normal vector coinciding with the +z axis.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerReprojectionInfoMSFT(3)
Name
XrCompositionLayerReprojectionInfoMSFT - The information to help reprojection of a projection layer.
C Specification
Then, the application can provide reprojection mode for the projection composition layer to inform the runtime that the XR experience may benefit from the provided reprojection mode.
An XrCompositionLayerReprojectionInfoMSFT structure can be added to
the next chain of XrCompositionLayerProjection structure when
calling xrEndFrame.
// Provided by XR_MSFT_composition_layer_reprojection
typedef struct XrCompositionLayerReprojectionInfoMSFT {
XrStructureType type;
const void* next;
XrReprojectionModeMSFT reprojectionMode;
} XrCompositionLayerReprojectionInfoMSFT;
Members
Description
When the application chained this structure when calling xrEndFrame,
the reprojectionMode must be one of the supported
XrReprojectionModeMSFT returned by
xrEnumerateReprojectionModesMSFT function for the corresponding
XrViewConfigurationType.
Otherwise, the runtime must return error
XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT on the xrEndFrame
function.
The runtime must only use the given information for the corresponding frame in xrEndFrame function, and it must not affect other frames.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerReprojectionPlaneOverrideMSFT(3)
Name
XrCompositionLayerReprojectionPlaneOverrideMSFT - Describe the parameters to override the reprojection plane.
C Specification
When the application is confident that overriding the reprojection plane can benefit hologram stability, it can provide XrCompositionLayerReprojectionPlaneOverrideMSFT structure to further help the runtime to fine tune the reprojection details.
An application can add an
XrCompositionLayerReprojectionPlaneOverrideMSFT structure to the
next chain of XrCompositionLayerProjection structure.
The runtime must only use the given plane override for the corresponding frame in xrEndFrame function, and it must not affect other frames.
// Provided by XR_MSFT_composition_layer_reprojection
typedef struct XrCompositionLayerReprojectionPlaneOverrideMSFT {
XrStructureType type;
const void* next;
XrVector3f position;
XrVector3f normal;
XrVector3f velocity;
} XrCompositionLayerReprojectionPlaneOverrideMSFT;
Members
A runtime must return XR_ERROR_VALIDATION_FAILURE if the normal
vector deviates by more than 1% from unit length.
Adding a reprojection plane override may benefit various reprojection modes
including XR_REPROJECTION_MODE_DEPTH_MSFT,
XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT and
XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT.
When application choose XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT
mode, the reprojection plane override may be ignored by the runtime.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSecureContentFB(3)
Name
XrCompositionLayerSecureContentFB - specifies secure content mode for composition layers
C Specification
The XrCompositionLayerSecureContentFB structure is defined as:
// Provided by XR_FB_composition_layer_secure_content
typedef struct XrCompositionLayerSecureContentFB {
XrStructureType type;
const void* next;
XrCompositionLayerSecureContentFlagsFB flags;
} XrCompositionLayerSecureContentFB;
Members
Description
XrCompositionLayerSecureContentFB contains additional flags to indicate a composition layer contains secure content and must not be written to external outputs.
If both XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB and
XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB are set,
XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB will take
precedence.
To specify the additional flags, you must create a
XrCompositionLayerSecureContentFB structure and pass it via the
XrCompositionLayerBaseHeader structure’s next parameter.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSettingsFB(3)
Name
XrCompositionLayerSettingsFB - specifies processing options for composition layers
C Specification
The XrCompositionLayerSettingsFB structure is defined as:
// Provided by XR_FB_composition_layer_settings
typedef struct XrCompositionLayerSettingsFB {
XrStructureType type;
const void* next;
XrCompositionLayerSettingsFlagsFB layerFlags;
} XrCompositionLayerSettingsFB;
Members
Description
XrCompositionLayerSettingsFB contains additional flags to indicate which processing steps to perform on a composition layer.
If both XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SUPER_SAMPLING_BIT_FB and
XR_COMPOSITION_LAYER_SETTINGS_QUALITY_SUPER_SAMPLING_BIT_FB are set,
XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SUPER_SAMPLING_BIT_FB will take
precedence.
If both XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SHARPENING_BIT_FB and
XR_COMPOSITION_LAYER_SETTINGS_QUALITY_SHARPENING_BIT_FB are set,
XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SHARPENING_BIT_FB will take
precedence.
To specify the additional flags, create an
XrCompositionLayerSettingsFB structure and pass it via the
XrCompositionLayerBaseHeader structure’s next parameter.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSpaceWarpInfoFB(3)
Name
XrCompositionLayerSpaceWarpInfoFB - Composition Layer Space Warp structure
C Specification
When submitting motion vector buffer and depth buffers along with projection
layers, add an XrCompositionLayerSpaceWarpInfoFB structure to the
XrCompositionLayerProjectionView::next chain, for each
XrCompositionLayerProjectionView structure in the given layer.
The XrCompositionLayerSpaceWarpInfoFB structure is defined as:
// Provided by XR_FB_space_warp
typedef struct XrCompositionLayerSpaceWarpInfoFB {
XrStructureType type;
const void* next;
XrCompositionLayerSpaceWarpInfoFlagsFB layerFlags;
XrSwapchainSubImage motionVectorSubImage;
XrPosef appSpaceDeltaPose;
XrSwapchainSubImage depthSubImage;
float minDepth;
float maxDepth;
float nearZ;
float farZ;
} XrCompositionLayerSpaceWarpInfoFB;
Members
The motion vector data is stored in the motionVectorSubImage’s RGB
channels, defined in NDC (normalized device coordinates) space, for example,
the same surface point’s NDC is PrevNDC in previous frame, CurrNDC in
current frame, then the motion vector value is "highp vec3 motionVector = (
CurrNDC - PrevNDC ).xyz;".
Signed 16 bit float pixel format is recommended for this image.
Description
The runtime must return error XR_ERROR_VALIDATION_FAILURE if
nearZ == farZ.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelKeyStateMSFT(3)
Name
XrControllerModelKeyStateMSFT - The model key state for a controller
C Specification
The XrControllerModelKeyStateMSFT structure is defined as:
// Provided by XR_MSFT_controller_model
typedef struct XrControllerModelKeyStateMSFT {
XrStructureType type;
void* next;
XrControllerModelKeyMSFT modelKey;
} XrControllerModelKeyStateMSFT;
Members
Description
The modelKey value for the session represents a unique controller
model that can be retrieved from xrLoadControllerModelMSFT function.
Therefore, the application can use modelKey to cache the returned
data from xrLoadControllerModelMSFT for the session.
A modelKey value of XR_NULL_CONTROLLER_MODEL_KEY_MSFT,
represents an invalid model key and indicates there is no controller model
yet available.
The application should keep calling xrGetControllerModelKeyMSFT
because the model may become available at a later point.
The returned modelKey value depends on an active action binding to the
corresponding …/grip/pose of the controller.
Therefore, the application must have provided a valid action set containing
an action for …/grip/pose, and have successfully completed an
xrSyncActions call, in order to obtain a valid modelKey.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelNodePropertiesMSFT(3)
Name
XrControllerModelNodePropertiesMSFT - Describes the controller model node properties
C Specification
The XrControllerModelNodePropertiesMSFT structure describes properties of animatable nodes, including the node name and parent node name to locate a glTF node in the controller model that can be animated based on user’s interactions on the controller.
// Provided by XR_MSFT_controller_model
typedef struct XrControllerModelNodePropertiesMSFT {
XrStructureType type;
void* next;
char parentNodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT];
char nodeName[XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT];
} XrControllerModelNodePropertiesMSFT;
Members
Description
The node can be located in the glTF node hierarchy by finding the node(s)
with the matching node name and parent node name.
If the parentNodeName is empty, the matching will be solely based on
the nodeName.
If there are multiple nodes in the glTF file matches the condition above, the first matching node using depth-first traversal in the glTF scene should be animated and the rest should be ignored.
The runtime must not return any nodeName or parentNodeName that
does not match any glTF nodes in the corresponding controller model.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelNodeStateMSFT(3)
Name
XrControllerModelNodeStateMSFT - Describes the state of a node in a controller model
C Specification
The XrControllerModelNodeStateMSFT structure describes the state of a node in a controller model.
// Provided by XR_MSFT_controller_model
typedef struct XrControllerModelNodeStateMSFT {
XrStructureType type;
void* next;
XrPosef nodePose;
} XrControllerModelNodeStateMSFT;
Members
Description
The state is corresponding to the glTF node identified by the
XrControllerModelNodePropertiesMSFT::nodeName and
XrControllerModelNodePropertiesMSFT::parentNodeName of the node
property at the same array index in the
XrControllerModelPropertiesMSFT::nodeProperties in
XrControllerModelPropertiesMSFT.
The nodePose is based on the user’s interaction on the controller at
the latest xrSyncActions, represented as the XrPosef of the node
in it’s parent node space.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelPropertiesMSFT(3)
Name
XrControllerModelPropertiesMSFT - Describes the properties of a controller model
C Specification
The XrControllerModelPropertiesMSFT structure describes the properties of a controller model including an array of XrControllerModelNodePropertiesMSFT.
// Provided by XR_MSFT_controller_model
typedef struct XrControllerModelPropertiesMSFT {
XrStructureType type;
void* next;
uint32_t nodeCapacityInput;
uint32_t nodeCountOutput;
XrControllerModelNodePropertiesMSFT* nodeProperties;
} XrControllerModelPropertiesMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelStateMSFT(3)
Name
XrControllerModelStateMSFT - Describes the state of a controller model
C Specification
The XrControllerModelStateMSFT structure describes the state of a controller model, including an array of XrControllerModelNodeStateMSFT.
// Provided by XR_MSFT_controller_model
typedef struct XrControllerModelStateMSFT {
XrStructureType type;
void* next;
uint32_t nodeCapacityInput;
uint32_t nodeCountOutput;
XrControllerModelNodeStateMSFT* nodeStates;
} XrControllerModelStateMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCoordinateSpaceCreateInfoML(3)
Name
XrCoordinateSpaceCreateInfoML - Structure used to create an XrSpace from a cfuid
C Specification
The XrCoordinateSpaceCreateInfoML structure is defined as:
// Provided by XR_ML_compat
typedef struct XrCoordinateSpaceCreateInfoML {
XrStructureType type;
const void* next;
MLCoordinateFrameUID cfuid;
XrPosef poseInCoordinateSpace;
} XrCoordinateSpaceCreateInfoML;
Members
Description
XrCoordinateSpaceCreateInfoML is provided as input when calling
xrCreateSpaceFromCoordinateFrameUIDML to convert a Magic Leap SDK
generated MLCoordinateFrameUID to an XrSpace.
The conversion only needs to be done once even if the underlying
MLCoordinateFrameUID changes its pose.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCreateSpatialAnchorsCompletionML(3)
Name
XrCreateSpatialAnchorsCompletionML - Completion struct to retrieve the result of the anchor creation
C Specification
The XrCreateSpatialAnchorsCompletionML structure is defined as:
// Provided by XR_ML_spatial_anchors
typedef struct XrCreateSpatialAnchorsCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
uint32_t spaceCount;
XrSpace* spaces;
} XrCreateSpatialAnchorsCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCreateSpatialContextCompletionEXT(3)
Name
XrCreateSpatialContextCompletionEXT - Completion structure to retrieve the spatial context handle.
C Specification
The XrCreateSpatialContextCompletionEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrCreateSpatialContextCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
XrSpatialContextEXT spatialContext;
} XrCreateSpatialContextCompletionEXT;
Members
Description
If futureResult is a success code, spatialContext must be
valid.
If spatialContext is valid, it remains so only within the lifecycle of
xrCreateSpatialContextAsyncEXT::session or until the application
destroys the spatialContext with xrDestroySpatialContextEXT,
whichever comes first.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCreateSpatialDiscoverySnapshotCompletionEXT(3)
Name
XrCreateSpatialDiscoverySnapshotCompletionEXT - Completion structure to retrieve the discovery snapshot handle.
C Specification
The XrCreateSpatialDiscoverySnapshotCompletionEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrCreateSpatialDiscoverySnapshotCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
XrSpatialSnapshotEXT snapshot;
} XrCreateSpatialDiscoverySnapshotCompletionEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT(3)
Name
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT - Info for the completion of the discovery snapshot creation request.
C Specification
The XrCreateSpatialDiscoverySnapshotCompletionInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrCreateSpatialDiscoverySnapshotCompletionInfoEXT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
XrFutureEXT future;
} XrCreateSpatialDiscoverySnapshotCompletionInfoEXT;
Members
Description
The locations in the various component data included in the created snapshot
will be represented in baseSpace, located at time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCreateSpatialPersistenceContextCompletionEXT(3)
Name
XrCreateSpatialPersistenceContextCompletionEXT - Completion structure to retrieve the spatial persistence context handle.
C Specification
The XrCreateSpatialPersistenceContextCompletionEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrCreateSpatialPersistenceContextCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
XrSpatialPersistenceContextResultEXT createResult;
XrSpatialPersistenceContextEXT persistenceContext;
} XrCreateSpatialPersistenceContextCompletionEXT;
Members
Description
If futureResult and createResult are both success codes,
persistenceContext must be valid.
If persistenceContext is valid, it must remain so within the
lifecycle of xrCreateSpatialPersistenceContextAsyncEXT::session
or until the application uses xrDestroySpatialPersistenceContextEXT
with persistenceContext, whichever comes first.
The runtime must set createResult only if futureResult is a
success code.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsLabelEXT(3)
Name
XrDebugUtilsLabelEXT - Debug Utils Label
C Specification
// Provided by XR_EXT_debug_utils
typedef struct XrDebugUtilsLabelEXT {
XrStructureType type;
const void* next;
const char* labelName;
} XrDebugUtilsLabelEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessengerCallbackDataEXT(3)
Name
XrDebugUtilsMessengerCallbackDataEXT - Debug utils messenger callback data
C Specification
// Provided by XR_EXT_debug_utils
typedef struct XrDebugUtilsMessengerCallbackDataEXT {
XrStructureType type;
const void* next;
const char* messageId;
const char* functionName;
const char* message;
uint32_t objectCount;
XrDebugUtilsObjectNameInfoEXT* objects;
uint32_t sessionLabelCount;
XrDebugUtilsLabelEXT* sessionLabels;
} XrDebugUtilsMessengerCallbackDataEXT;
Members
Description
An XrDebugUtilsMessengerCallbackDataEXT is a messenger object that handles passing along debug messages to a provided debug callback.
|
Note
|
Note
This structure should only be considered valid during the lifetime of the triggered callback. |
The labels listed inside sessionLabels are organized in time order,
with the most recently generated label appearing first, and the oldest label
appearing last.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessengerCreateInfoEXT(3)
Name
XrDebugUtilsMessengerCreateInfoEXT - Debug utils messenger create info
C Specification
// Provided by XR_EXT_debug_utils
typedef struct XrDebugUtilsMessengerCreateInfoEXT {
XrStructureType type;
const void* next;
XrDebugUtilsMessageSeverityFlagsEXT messageSeverities;
XrDebugUtilsMessageTypeFlagsEXT messageTypes;
PFN_xrDebugUtilsMessengerCallbackEXT userCallback;
void* userData;
} XrDebugUtilsMessengerCreateInfoEXT;
Members
Description
For each XrDebugUtilsMessengerEXT that is created the
XrDebugUtilsMessengerCreateInfoEXT::messageSeverities and
XrDebugUtilsMessengerCreateInfoEXT::messageTypes determine when
that XrDebugUtilsMessengerCreateInfoEXT::userCallback is called.
The process to determine if the user’s userCallback is triggered when an
event occurs is as follows:
-
The runtime will perform a bitwise AND of the event’s XrDebugUtilsMessageSeverityFlagBitsEXT with the XrDebugUtilsMessengerCreateInfoEXT::
messageSeveritiesprovided during creation of the XrDebugUtilsMessengerEXT object. -
If this results in
0, the message is skipped. -
The runtime will perform bitwise AND of the event’s XrDebugUtilsMessageTypeFlagBitsEXT with the XrDebugUtilsMessengerCreateInfoEXT::
messageTypesprovided during the creation of the XrDebugUtilsMessengerEXT object. -
If this results in
0, the message is skipped. -
If the message of the current event is not skipped, the callback will be called with the message.
The callback will come directly from the component that detected the event, unless some other layer intercepts the calls for its own purposes (filter them in a different way, log to a system error log, etc.).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsObjectNameInfoEXT(3)
Name
XrDebugUtilsObjectNameInfoEXT - Debug utils object name info
C Specification
// Provided by XR_EXT_debug_utils
typedef struct XrDebugUtilsObjectNameInfoEXT {
XrStructureType type;
const void* next;
XrObjectType objectType;
uint64_t objectHandle;
const char* objectName;
} XrDebugUtilsObjectNameInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDeserializeSceneFragmentMSFT(3)
Name
XrDeserializeSceneFragmentMSFT - Deserialize Scene Fragment
C Specification
The XrDeserializeSceneFragmentMSFT structure represents a single fragment of a binary stream to be deserialized. It is defined as:
// Provided by XR_MSFT_scene_understanding_serialization
typedef struct XrDeserializeSceneFragmentMSFT {
uint32_t bufferSize;
const uint8_t* buffer;
} XrDeserializeSceneFragmentMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDeviceAnchorPersistenceCreateInfoANDROID(3)
Name
XrDeviceAnchorPersistenceCreateInfoANDROID - Information to create a device anchor persistence handle
C Specification
The XrDeviceAnchorPersistenceCreateInfoANDROID structure is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
typedef struct XrDeviceAnchorPersistenceCreateInfoANDROID {
XrStructureType type;
const void* next;
} XrDeviceAnchorPersistenceCreateInfoANDROID;
Members
Description
The XrDeviceAnchorPersistenceCreateInfoANDROID structure provides creation options for the XrDeviceAnchorPersistenceANDROID when passed to xrCreateDeviceAnchorPersistenceANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDevicePcmSampleRateStateFB(3)
Name
XrDevicePcmSampleRateStateFB - Information about the device sample rate
C Specification
The XrDevicePcmSampleRateStateFB structure is defined as:
// Provided by XR_FB_haptic_pcm
typedef struct XrDevicePcmSampleRateStateFB {
XrStructureType type;
void* next;
float sampleRate;
} XrDevicePcmSampleRateStateFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDigitalLensControlALMALENCE(3)
Name
XrDigitalLensControlALMALENCE - The digital lens control structure to be passed to change state of DLVR API Layer
C Specification
The XrDigitalLensControlALMALENCE structure is defined as:
typedef struct XrDigitalLensControlALMALENCE {
XrStructureType type;
const void* next;
XrDigitalLensControlFlagsALMALENCE flags;
} XrDigitalLensControlALMALENCE;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthHandRemovalSetInfoMETA(3)
Name
XrEnvironmentDepthHandRemovalSetInfoMETA - XrEnvironmentDepthHandRemovalSetInfoMETA
C Specification
The XrEnvironmentDepthHandRemovalSetInfoMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthHandRemovalSetInfoMETA {
XrStructureType type;
const void* next;
XrBool32 enabled;
} XrEnvironmentDepthHandRemovalSetInfoMETA;
Members
Description
This structure contains options passed to xrSetEnvironmentDepthHandRemovalMETA.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthImageAcquireInfoMETA(3)
Name
XrEnvironmentDepthImageAcquireInfoMETA - XrEnvironmentDepthImageAcquireInfoMETA
C Specification
The XrEnvironmentDepthImageAcquireInfoMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthImageAcquireInfoMETA {
XrStructureType type;
const void* next;
XrSpace space;
XrTime displayTime;
} XrEnvironmentDepthImageAcquireInfoMETA;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthImageMETA(3)
Name
XrEnvironmentDepthImageMETA - XrEnvironmentDepthImageMETA
C Specification
The XrEnvironmentDepthImageMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthImageMETA {
XrStructureType type;
const void* next;
uint32_t swapchainIndex;
float nearZ;
float farZ;
XrEnvironmentDepthImageViewMETA views[2];
} XrEnvironmentDepthImageMETA;
Members
Description
Depth is provided as textures in the same format as described in the
XR_KHR_composition_layer_depth extension.
The frustum’s Z-planes are placed at nearZ and farZ meters.
When farZ is less than nearZ, an infinite projection matrix is
used.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthImageViewMETA(3)
Name
XrEnvironmentDepthImageViewMETA - XrEnvironmentDepthImageViewMETA
C Specification
The XrEnvironmentDepthImageViewMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthImageViewMETA {
XrStructureType type;
const void* next;
XrFovf fov;
XrPosef pose;
} XrEnvironmentDepthImageViewMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthProviderCreateInfoMETA(3)
Name
XrEnvironmentDepthProviderCreateInfoMETA - XrEnvironmentDepthProviderCreateInfoMETA
C Specification
The XrEnvironmentDepthProviderCreateInfoMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthProviderCreateInfoMETA {
XrStructureType type;
const void* next;
XrEnvironmentDepthProviderCreateFlagsMETA createFlags;
} XrEnvironmentDepthProviderCreateInfoMETA;
Members
Description
The XrEnvironmentDepthProviderCreateInfoMETA structure provides creation options for the XrEnvironmentDepthProviderMETA when passed to xrCreateEnvironmentDepthProviderMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthSwapchainCreateInfoMETA(3)
Name
XrEnvironmentDepthSwapchainCreateInfoMETA - XrEnvironmentDepthSwapchainCreateInfoMETA
C Specification
The XrEnvironmentDepthSwapchainCreateInfoMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthSwapchainCreateInfoMETA {
XrStructureType type;
const void* next;
XrEnvironmentDepthSwapchainCreateFlagsMETA createFlags;
} XrEnvironmentDepthSwapchainCreateInfoMETA;
Members
Description
XrEnvironmentDepthSwapchainCreateInfoMETA contains creation options for the readable depth swapchain, and is passed to xrCreateEnvironmentDepthSwapchainMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthSwapchainStateMETA(3)
Name
XrEnvironmentDepthSwapchainStateMETA - XrEnvironmentDepthSwapchainStateMETA
C Specification
The XrEnvironmentDepthSwapchainStateMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrEnvironmentDepthSwapchainStateMETA {
XrStructureType type;
void* next;
uint32_t width;
uint32_t height;
} XrEnvironmentDepthSwapchainStateMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataBaseHeader(3)
Name
XrEventDataBaseHeader - Base header for an event
C Specification
The XrEventDataBaseHeader structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataBaseHeader {
XrStructureType type;
const void* next;
} XrEventDataBaseHeader;
Members
Description
The XrEventDataBaseHeader is a generic structure used to identify the common event data elements.
Upon receipt, the XrEventDataBaseHeader pointer should be type-cast
to a pointer of the appropriate event data type based on the type
parameter.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataBuffer(3)
Name
XrEventDataBuffer - Event buffer
C Specification
typedef struct XrEventDataBuffer {
XrStructureType type;
const void* next;
uint8_t varying[4000];
} XrEventDataBuffer;
Members
Description
The XrEventDataBuffer is a structure passed to xrPollEvent large enough to contain any returned event data element. The maximum size is specified by XR_MAX_EVENT_DATA_SIZE.
An application can set (or reset) only the type member and clear the
next member of an XrEventDataBuffer before passing it as an
input to xrPollEvent.
The runtime must ignore the contents of the varying field and
overwrite it without reading it.
A pointer to an XrEventDataBuffer may be type-cast to an
XrEventDataBaseHeader pointer, or a pointer to any other appropriate
event data based on the type parameter.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataColocationAdvertisementCompleteMETA(3)
Name
XrEventDataColocationAdvertisementCompleteMETA - advertisement complete event
C Specification
The XrEventDataColocationAdvertisementCompleteMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataColocationAdvertisementCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB advertisementRequestId;
XrResult result;
} XrEventDataColocationAdvertisementCompleteMETA;
Members
Description
The runtime must queue exactly one XrEventDataColocationAdvertisementCompleteMETA event whenever an active colocation advertisement is stopped. This includes if the colocation advertisement is stopped due to an application calling xrStopColocationAdvertisementMETA, or the runtime needs to stop the colocation advertisement for any reason. If the colocation advertisement is stopped due to an application calling xrStopColocationAdvertisementMETA, the runtime must queue the XrEventDataColocationAdvertisementCompleteMETA event before queuing the corresponding XrEventDataStopColocationAdvertisementCompleteMETA event. When the XrSession is destroyed, the runtime must stop all active advertisements started from the same XrSession.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataColocationDiscoveryCompleteMETA(3)
Name
XrEventDataColocationDiscoveryCompleteMETA - discovery complete event
C Specification
The XrEventDataColocationDiscoveryCompleteMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataColocationDiscoveryCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB discoveryRequestId;
XrResult result;
} XrEventDataColocationDiscoveryCompleteMETA;
Members
Description
The runtime must queue exactly one XrEventDataColocationDiscoveryCompleteMETA event whenever an active colocation discovery is stopped. This includes if the colocation discovery is stopped due to an application calling xrStopColocationDiscoveryMETA, or the runtime needs to stop the colocation discovery for any reason. When the XrSession is destroyed, the runtime must stop all active advertisements started from the same XrSession.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataColocationDiscoveryResultMETA(3)
Name
XrEventDataColocationDiscoveryResultMETA - Colocation discovery result
C Specification
The XrEventDataColocationDiscoveryResultMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataColocationDiscoveryResultMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB discoveryRequestId;
XrUuid advertisementUuid;
uint32_t bufferSize;
uint8_t buffer[XR_MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META];
} XrEventDataColocationDiscoveryResultMETA;
Members
Description
advertisementUuid and buffer are both considered the payload of
colocated advertisements.
The value of advertisementUuid matches the value returned in
XrEventDataStartColocationAdvertisementCompleteMETA::advertisementUuid
on the advertising device.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataDisplayRefreshRateChangedFB(3)
Name
XrEventDataDisplayRefreshRateChangedFB - Event representing display refresh rate change
C Specification
Receiving the XrEventDataDisplayRefreshRateChangedFB event structure indicates that the display refresh rate has changed.
The XrEventDataDisplayRefreshRateChangedFB structure is defined as:
// Provided by XR_FB_display_refresh_rate
typedef struct XrEventDataDisplayRefreshRateChangedFB {
XrStructureType type;
const void* next;
float fromDisplayRefreshRate;
float toDisplayRefreshRate;
} XrEventDataDisplayRefreshRateChangedFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataEventsLost(3)
Name
XrEventDataEventsLost - Event indicating events were lost
C Specification
The XrEventDataEventsLost structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataEventsLost {
XrStructureType type;
const void* next;
uint32_t lostEventCount;
} XrEventDataEventsLost;
Members
Description
Receiving the XrEventDataEventsLost event structure indicates that the event queue overflowed and some events were removed at the position within the queue at which this event was found.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataEyeCalibrationChangedML(3)
Name
XrEventDataEyeCalibrationChangedML - Event containing the latest eye calibration state.
C Specification
The XrEventDataEyeCalibrationChangedML structure is defined as:
// Provided by XR_ML_user_calibration
typedef struct XrEventDataEyeCalibrationChangedML {
XrStructureType type;
const void* next;
XrEyeCalibrationStatusML status;
} XrEventDataEyeCalibrationChangedML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataHeadsetFitChangedML(3)
Name
XrEventDataHeadsetFitChangedML - Event containing the latest headset fit state.
C Specification
The XrEventDataHeadsetFitChangedML structure is defined as:
// Provided by XR_ML_user_calibration
typedef struct XrEventDataHeadsetFitChangedML {
XrStructureType type;
const void* next;
XrHeadsetFitStatusML status;
XrTime time;
} XrEventDataHeadsetFitChangedML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataInstanceLossPending(3)
Name
XrEventDataInstanceLossPending - Event indicating instance loss will occur
C Specification
The XrEventDataInstanceLossPending structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataInstanceLossPending {
XrStructureType type;
const void* next;
XrTime lossTime;
} XrEventDataInstanceLossPending;
Members
Description
Receiving the XrEventDataInstanceLossPending event structure indicates
that the application is about to lose the indicated XrInstance at the
indicated lossTime in the future.
The application should call xrDestroyInstance and relinquish any
instance-specific resources.
This typically occurs to make way for a replacement of the underlying
runtime, such as via a software update.
After the application has destroyed all of its instances and their children
and waited past the specified time, it may then re-try
xrCreateInstance in a loop waiting for whatever maintenance the
runtime is performing to complete.
The runtime will return XR_ERROR_RUNTIME_UNAVAILABLE from
xrCreateInstance as long as it is unable to create the instance.
Once the runtime has returned and is able to continue, it must resume
returning XR_SUCCESS from xrCreateInstance if valid data is
passed in.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataInteractionProfileChanged(3)
Name
XrEventDataInteractionProfileChanged - Notifies the application than the active interaction profile has changed
C Specification
The XrEventDataInteractionProfileChanged structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataInteractionProfileChanged {
XrStructureType type;
const void* next;
XrSession session;
} XrEventDataInteractionProfileChanged;
Members
Description
The XrEventDataInteractionProfileChanged event is queued to notify the application that the current interaction profile for one or more top level user paths has changed. This event must only be sent for interaction profiles that the application indicated its support for via xrSuggestInteractionProfileBindings. This event must only be queued for running sessions.
Upon receiving this event, an application can call xrGetCurrentInteractionProfile for each top level user path in use, if its behavior depends on the current interaction profile.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataInteractionRenderModelsChangedEXT(3)
Name
XrEventDataInteractionRenderModelsChangedEXT - Indicates when the result of enumerating interaction render models changes
C Specification
The XrEventDataInteractionRenderModelsChangedEXT structure is an event defined as:
// Provided by XR_EXT_interaction_render_model
typedef struct XrEventDataInteractionRenderModelsChangedEXT {
XrStructureType type;
const void* next;
} XrEventDataInteractionRenderModelsChangedEXT;
Members
Description
Receiving this event from xrPollEvent indicates that that the app should enumerate interaction render models (or re-enumerate them) using xrEnumerateInteractionRenderModelIdsEXT and the two-call idiom, because the list of IDs enumerated by it has changed. This event must only be queued by a call to xrSyncActions. For clarity, if an application has enabled this extension, this event must be emitted during the first xrSyncActions call if xrEnumerateInteractionRenderModelIdsEXT will enumerate any models, because it enumerates no models prior to the first xrSyncActions call.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataLocalizationChangedML(3)
Name
XrEventDataLocalizationChangedML - Event containing the current localization map state.
C Specification
The XrEventDataLocalizationChangedML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrEventDataLocalizationChangedML {
XrStructureType type;
const void* next;
XrSession session;
XrLocalizationMapStateML state;
XrLocalizationMapML map;
XrLocalizationMapConfidenceML confidence;
XrLocalizationMapErrorFlagsML errorFlags;
} XrEventDataLocalizationChangedML;
Members
Description
By default the runtime does not send these events but calling xrEnableLocalizationEventsML function enables the events. When this function is called the XrEventDataLocalizationChangedML event will always be posted to the event queue, regardless of whether the map localization state has changed. This allows the application to synchronize with the current state.
|
Note
|
Note
The arrival of the event is asynchronous to this call. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataMainSessionVisibilityChangedEXTX(3)
Name
XrEventDataMainSessionVisibilityChangedEXTX - Event representing main session visibility change
C Specification
The XrEventDataMainSessionVisibilityChangedEXTX structure is defined as:
// Provided by XR_EXTX_overlay
typedef struct XrEventDataMainSessionVisibilityChangedEXTX {
XrStructureType type;
const void* next;
XrBool32 visible;
XrOverlayMainSessionFlagsEXTX flags;
} XrEventDataMainSessionVisibilityChangedEXTX;
Members
Description
Receiving the XrEventDataMainSessionVisibilityChangedEXTX event
structure indicates that the main session has gained or lost visibility.
This can occur in many cases, one typical example is when a user switches
from one OpenXR application to another.
See XrEventDataMainSessionVisibilityChangedEXTX for more information
on the standard behavior.
This structure contains additional information on the main session including
flags which indicate additional state information of the main session.
Currently, the only flag value supplied is
XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX
which indicates if the main session has enabled the
XR_KHR_composition_layer_depth extension.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataMarkerTrackingUpdateVARJO(3)
Name
XrEventDataMarkerTrackingUpdateVARJO - Structure representing marker tracking information
C Specification
The XrEventDataMarkerTrackingUpdateVARJO structure is defined as:
// Provided by XR_VARJO_marker_tracking
typedef struct XrEventDataMarkerTrackingUpdateVARJO {
XrStructureType type;
const void* next;
uint64_t markerId;
XrBool32 isActive;
XrBool32 isPredicted;
XrTime time;
} XrEventDataMarkerTrackingUpdateVARJO;
Members
Description
Receiving the XrEventDataMarkerTrackingUpdateVARJO event structure indicates that the tracking information has changed. The runtime must not send more than one event per frame per marker. The runtime must send an event if the marker has changed its state (active or inactive). The runtime must send an event if it has detected pose change of the active marker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataPassthroughLayerResumedMETA(3)
Name
XrEventDataPassthroughLayerResumedMETA - An event that is triggered after a passthrough layer is resumed by client.
C Specification
The XrEventDataPassthroughLayerResumedMETA structure is defined as:
// Provided by XR_META_passthrough_layer_resumed_event
typedef struct XrEventDataPassthroughLayerResumedMETA {
XrStructureType type;
const void* next;
XrPassthroughLayerFB layer;
} XrEventDataPassthroughLayerResumedMETA;
Members
Description
Runtimes must queue the event exactly once when first presenting passthrough after an app successfully calls one of the following:
-
xrCreatePassthroughLayerFB with flag
XR_PASSTHROUGH_IS_RUNNING_AT_CREATION_BIT_FBset
The passthrough layer state is reset when the app calls xrPassthroughLayerPauseFB.
Runtimes must queue the event again, if xrPassthroughLayerPauseFB is followed by xrPassthroughLayerResumeFB. During the transition from paused to resumed state, the event is queued exactly once when passthrough has been presented for the first time. If the passthrough feature is not active during the transition, for example because it has been paused using xrPassthroughPauseFB, the event is queued when passthrough becomes active.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataPassthroughStateChangedFB(3)
Name
XrEventDataPassthroughStateChangedFB - An event for passthrough state changes
C Specification
The XrEventDataPassthroughStateChangedFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrEventDataPassthroughStateChangedFB {
XrStructureType type;
const void* next;
XrPassthroughStateChangedFlagsFB flags;
} XrEventDataPassthroughStateChangedFB;
Members
Description
It describes event data for state changes returned by xrPollEvent.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataPerfSettingsEXT(3)
Name
XrEventDataPerfSettingsEXT - XrEventDataPerfSettingsEXT
C Specification
The XrEventDataPerfSettingsEXT structure is defined as:
// Provided by XR_EXT_performance_settings
typedef struct XrEventDataPerfSettingsEXT {
XrStructureType type;
const void* next;
XrPerfSettingsDomainEXT domain;
XrPerfSettingsSubDomainEXT subDomain;
XrPerfSettingsNotificationLevelEXT fromLevel;
XrPerfSettingsNotificationLevelEXT toLevel;
} XrEventDataPerfSettingsEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataReferenceSpaceChangePending(3)
Name
XrEventDataReferenceSpaceChangePending - Notifies the application that a reference space is changing
C Specification
The XrEventDataReferenceSpaceChangePending structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataReferenceSpaceChangePending {
XrStructureType type;
const void* next;
XrSession session;
XrReferenceSpaceType referenceSpaceType;
XrTime changeTime;
XrBool32 poseValid;
XrPosef poseInPreviousSpace;
} XrEventDataReferenceSpaceChangePending;
Members
Description
The XrEventDataReferenceSpaceChangePending event is sent to the application to notify it that the origin (and perhaps the bounds) of a reference space is changing. This may occur due to the user recentering the space explicitly, or the runtime otherwise switching to a different space definition.
The reference space change must only take effect for xrLocateSpace or
xrLocateViews calls whose XrTime parameter is greater than or
equal to the changeTime provided in that event.
Runtimes should provide a changeTime to applications that allows for
a deep render pipeline to present frames that are already in flight using
the previous definition of the space.
Runtimes should choose a changeTime that is midway between the
XrFrameState::predictedDisplayTime of future frames to avoid
threshold issues with applications that calculate future frame times using
XrFrameState::predictedDisplayPeriod.
The poseInPreviousSpace provided here must only describe the change
in the natural origin of the reference space and must not incorporate any
origin offsets specified by the application during calls to
xrCreateReferenceSpace.
If the runtime does not know the location of the space’s new origin relative
to its previous origin, poseValid must be false, and the position and
orientation of poseInPreviousSpace are undefined.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSceneCaptureCompleteFB(3)
Name
XrEventDataSceneCaptureCompleteFB - Event which occurs after a scene capture operation completes
C Specification
The XrEventDataSceneCaptureCompleteFB structure is defined as:
// Provided by XR_FB_scene_capture
typedef struct XrEventDataSceneCaptureCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSceneCaptureCompleteFB;
Members
Description
The XrEventDataSceneCaptureCompleteFB structure is used by an application to instruct the system what to look for during a scene capture.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSenseDataProviderStateChangedBD(3)
Name
XrEventDataSenseDataProviderStateChangedBD - Event data of a sense data provider state change
C Specification
The XrEventDataSenseDataProviderStateChangedBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrEventDataSenseDataProviderStateChangedBD {
XrStructureType type;
const void* next;
XrSenseDataProviderBD provider;
XrSenseDataProviderStateBD newState;
} XrEventDataSenseDataProviderStateChangedBD;
Members
This event indicates the state change of the sense data provider.
The runtime must queue an event of type
XR_TYPE_EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD when a
specific sense data provider changes from one state to another state.
When the application calls xrCreateSenseDataProviderBD and the return
code is XR_SUCCESS, the runtime must set the provider’s state to
XR_SENSE_DATA_PROVIDER_STATE_INITIALIZED_BD without queuing an event
of type XR_TYPE_EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSenseDataUpdatedBD(3)
Name
XrEventDataSenseDataUpdatedBD - Event data of a sense data provider data change
C Specification
The XrEventDataSenseDataUpdatedBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrEventDataSenseDataUpdatedBD {
XrStructureType type;
const void* next;
XrSenseDataProviderBD provider;
} XrEventDataSenseDataUpdatedBD;
Members
When the application receives this event, it means one of the sense data providers has updated sense data, and the application can initiate a new query request to this sense data provider to get the latest sense data, as a new XrSenseDataSnapshotBD. This is the recommended way to get updated data. The application may initiate a new query request even without receiving this event, but the sense data provider may not have acquired new data and therefore the contents of the snapshot may be functionally identical.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSessionStateChanged(3)
Name
XrEventDataSessionStateChanged - Event indicating session state changed
C Specification
The XrEventDataSessionStateChanged structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrEventDataSessionStateChanged {
XrStructureType type;
const void* next;
XrSession session;
XrSessionState state;
XrTime time;
} XrEventDataSessionStateChanged;
Members
Description
Receiving the XrEventDataSessionStateChanged event structure indicates that the application has changed lifecycle state.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataShareSpacesCompleteMETA(3)
Name
XrEventDataShareSpacesCompleteMETA - share spatial entity complete event
C Specification
The XrEventDataShareSpacesCompleteMETA event structure is defined as:
// Provided by XR_META_spatial_entity_sharing
typedef struct XrEventDataShareSpacesCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataShareSpacesCompleteMETA;
Members
This event conveys the results of the asynchronous operation started by xrShareSpacesMETA.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceDiscoveryCompleteMETA(3)
Name
XrEventDataSpaceDiscoveryCompleteMETA - Event indicating there are no more results and the Discovery call has completed.
C Specification
The XrEventDataSpaceDiscoveryCompleteMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrEventDataSpaceDiscoveryCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpaceDiscoveryCompleteMETA;
Members
Description
The XrEventDataSpaceDiscoveryCompleteMETA event indicates that there must be no more XrEventDataSpaceDiscoveryResultsAvailableMETA queued and that Discovery has completed execution.
Potential XrEventDataSpaceDiscoveryCompleteMETA::result values
include the following XrResult enumerants:
-
XR_SUCCESS -
XR_ERROR_RUNTIME_FAILURE -
XR_ERROR_SPACE_INSUFFICIENT_RESOURCES_META -
XR_ERROR_SPACE_INSUFFICIENT_VIEW_META -
XR_ERROR_SPACE_PERMISSION_INSUFFICIENT_META -
XR_ERROR_SPACE_RATE_LIMITED_META -
XR_ERROR_SPACE_TOO_DARK_META -
XR_ERROR_SPACE_TOO_BRIGHT_META
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceDiscoveryResultsAvailableMETA(3)
Name
XrEventDataSpaceDiscoveryResultsAvailableMETA - Event indicating there are results ready for retrieval from Discovery call.
C Specification
The XrEventDataSpaceDiscoveryResultsAvailableMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrEventDataSpaceDiscoveryResultsAvailableMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
} XrEventDataSpaceDiscoveryResultsAvailableMETA;
Members
Description
The XrEventDataSpaceDiscoveryResultsAvailableMETA event indicates there are results ready to be retrieved. Any number of these XrEventDataSpaceDiscoveryResultsAvailableMETA events may be queued, until the XrEventDataSpaceDiscoveryCompleteMETA event is queued. Once the XrEventDataSpaceDiscoveryCompleteMETA event is queued, there must not be any more XrEventDataSpaceDiscoveryResultsAvailableMETA events queued.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceEraseCompleteFB(3)
Name
XrEventDataSpaceEraseCompleteFB - Describes the result of a save operation
C Specification
The XrEventDataSpaceEraseCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage
typedef struct XrEventDataSpaceEraseCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
XrSpace space;
XrUuidEXT uuid;
XrSpaceStorageLocationFB location;
} XrEventDataSpaceEraseCompleteFB;
Members
Description
The erase result event contains the success of the erase operation from the specified storage location. It also provides the UUID of the entity and the async request ID from the initial calling function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceListSaveCompleteFB(3)
Name
XrEventDataSpaceListSaveCompleteFB - Describes the completion of a save list operation
C Specification
The XrEventDataSpaceListSaveCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage_batch
typedef struct XrEventDataSpaceListSaveCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpaceListSaveCompleteFB;
Members
Description
This completion event indicates that a request to save a list of
XrSpace objects has completed.
The application can use result to check if the request was successful
or if an error occurred.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceQueryCompleteFB(3)
Name
XrEventDataSpaceQueryCompleteFB - Event indicating a query has finished
C Specification
The XrEventDataSpaceQueryCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrEventDataSpaceQueryCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpaceQueryCompleteFB;
Members
Description
It indicates a query request has completed and specifies the request result. This event must be delivered when a query has completed, regardless of the number of results found. If any results have been found, then this event must be delivered after any XrEventDataSpaceQueryResultsAvailableFB events have been delivered.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceQueryResultsAvailableFB(3)
Name
XrEventDataSpaceQueryResultsAvailableFB - Event indicating a query has produced results
C Specification
The XrEventDataSpaceQueryResultsAvailableFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrEventDataSpaceQueryResultsAvailableFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
} XrEventDataSpaceQueryResultsAvailableFB;
Members
Description
It indicates a query request has produced some number of results. If a query yields results this event must be delivered before the XrEventDataSpaceQueryCompleteFB event is delivered. Call xrRetrieveSpaceQueryResultsFB to retrieve those results.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceSaveCompleteFB(3)
Name
XrEventDataSpaceSaveCompleteFB - Describes the result of a save operation
C Specification
The XrEventDataSpaceSaveCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage
typedef struct XrEventDataSpaceSaveCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
XrSpace space;
XrUuidEXT uuid;
XrSpaceStorageLocationFB location;
} XrEventDataSpaceSaveCompleteFB;
Members
Description
The save result event contains the success of the save/write operation to the specified location, as well as the XrSpace handle on which the save operation was attempted on, the unique UUID, and the triggered async request ID from the initial calling function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceSetStatusCompleteFB(3)
Name
XrEventDataSpaceSetStatusCompleteFB - Result of request to enable or disable a component
C Specification
The XrEventDataSpaceSetStatusCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrEventDataSpaceSetStatusCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
XrSpace space;
XrUuidEXT uuid;
XrSpaceComponentTypeFB componentType;
XrBool32 enabled;
} XrEventDataSpaceSetStatusCompleteFB;
Members
Description
It describes the result of a request to enable or disable a component of a spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpaceShareCompleteFB(3)
Name
XrEventDataSpaceShareCompleteFB - Completion of request to share one or more spatial entities
C Specification
The XrEventDataSpaceShareCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity_sharing
typedef struct XrEventDataSpaceShareCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpaceShareCompleteFB;
Members
Description
It indicates that the request to share one or more spatial entities has
completed.
The application can use result to check if the request was successful
or if an error occurred.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpacesEraseResultMETA(3)
Name
XrEventDataSpacesEraseResultMETA - Describes the result of an erase operation
C Specification
The XrEventDataSpacesEraseResultMETA structure is defined as:
// Provided by XR_META_spatial_entity_persistence
typedef struct XrEventDataSpacesEraseResultMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpacesEraseResultMETA;
Members
Description
The XrEventDataSpacesEraseResultMETA event contains the result of the
erase/write operation, as well as the XrAsyncRequestIdFB of the
operation.
Potential XrEventDataSpacesEraseResultMETA::result values
include the following XrResult enumerants:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpacesSaveResultMETA(3)
Name
XrEventDataSpacesSaveResultMETA - Describes the result of a save operation
C Specification
The XrEventDataSpacesSaveResultMETA structure is defined as:
// Provided by XR_META_spatial_entity_persistence
typedef struct XrEventDataSpacesSaveResultMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataSpacesSaveResultMETA;
Members
Description
This event conveys the results of the asynchronous operation started by xrSaveSpacesMETA.
The XrEventDataSpacesSaveResultMETA event contains the result of the
save/write operation, as well as the XrAsyncRequestIdFB of the
operation.
Potential XrEventDataSpacesSaveResultMETA::result values include
the following XrResult enumerants:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpatialAnchorCreateCompleteFB(3)
Name
XrEventDataSpatialAnchorCreateCompleteFB - Result of request to create a new spatial anchor
C Specification
The XrEventDataSpatialAnchorCreateCompleteFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrEventDataSpatialAnchorCreateCompleteFB {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
XrSpace space;
XrUuidEXT uuid;
} XrEventDataSpatialAnchorCreateCompleteFB;
Members
Description
It describes the result of a request to create a new spatial anchor. Once this event is posted, it is the applications responsibility to take ownership of the XrSpace. The XrSession passed into xrCreateSpatialAnchorFB is the parent handle of the newly created XrSpace.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataSpatialDiscoveryRecommendedEXT(3)
Name
XrEventDataSpatialDiscoveryRecommendedEXT - Event notifying a recommendation from the system to discover spatial entities.
C Specification
The XrEventDataSpatialDiscoveryRecommendedEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrEventDataSpatialDiscoveryRecommendedEXT {
XrStructureType type;
const void* next;
XrSpatialContextEXT spatialContext;
} XrEventDataSpatialDiscoveryRecommendedEXT;
Members
Description
The application can retrieve this event by using xrPollEvent. The application can avoid excessive calls to xrCreateSpatialDiscoverySnapshotAsyncEXT to discover spatial entities by waiting for this event. If the application creates multiple discovery snapshots with the same XrSpatialDiscoverySnapshotCreateInfoEXT between two XrEventDataSpatialDiscoveryRecommendedEXT events, the resultant snapshots may contain the same entities and therefore the snapshot creation and data queries would be wasteful.
Waiting for this event to create a new discovery snapshot ensures that the application is not overloading the system with discovery requests for which the runtime may not return any new data and helps avoid the risk of overusing the system resources, and getting throttled due to power or thermal policies of the device. This also helps create parity between runtimes that are discovering spatial entities on the fly with live tracking and runtimes which are providing spatial entities off of a previously recorded state (where the runtime may queue the discovery recommendation event only once for each XrSpatialContextEXT).
The runtime must not queue this event for notifying the application about changes or adjustments made to the component data of existing spatial entities. The application can use the xrCreateSpatialUpdateSnapshotEXT to keep track of component data updates for the spatial entities it is interested in.
A runtime may queue a discovery recommendation event without waiting for the application to first call xrCreateSpatialDiscoverySnapshotAsyncEXT. For example, a runtime may base the decision of queueing the discovery recommendation event on the configuration of the XrSpatialContextEXT, its own understanding of the environment around the user (discovery of new entities or loss of existing ones), or for hinting an appropriate discovery request cadence to the application so as not to overload the system resources. The runtime may choose to never queue this event for an XrSpatialContextEXT if no entities are found in the user’s environment throughout the lifetime of that XrSpatialContextEXT.
The runtime must not queue this event for a given spatialContext
until the application completes its creation by using
xrCreateSpatialContextCompleteEXT.
After the application calls xrDestroySpatialContextEXT, the runtime must not queue any more discovery recommendation events for that spatial context nor return any such events for that context from xrPollEvent.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataStartColocationAdvertisementCompleteMETA(3)
Name
XrEventDataStartColocationAdvertisementCompleteMETA - Start colocation visibility complete event
C Specification
The XrEventDataStartColocationAdvertisementCompleteMETA event structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataStartColocationAdvertisementCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB advertisementRequestId;
XrResult result;
XrUuid advertisementUuid;
} XrEventDataStartColocationAdvertisementCompleteMETA;
Members
Description
This event conveys the results of the asynchronous operation started by xrStopColocationAdvertisementMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataStartColocationDiscoveryCompleteMETA(3)
Name
XrEventDataStartColocationDiscoveryCompleteMETA - Colocation discovery start complete event
C Specification
The XrEventDataStartColocationDiscoveryCompleteMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataStartColocationDiscoveryCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB discoveryRequestId;
XrResult result;
} XrEventDataStartColocationDiscoveryCompleteMETA;
Members
Description
This event conveys the results of the asynchronous operation started by xrStartColocationDiscoveryMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataStopColocationAdvertisementCompleteMETA(3)
Name
XrEventDataStopColocationAdvertisementCompleteMETA - Stop colocation advertisement complete event
C Specification
The XrEventDataStopColocationAdvertisementCompleteMETA event structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataStopColocationAdvertisementCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataStopColocationAdvertisementCompleteMETA;
Members
Description
This event conveys the results of the asynchronous operation started by xrStopColocationAdvertisementMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataStopColocationDiscoveryCompleteMETA(3)
Name
XrEventDataStopColocationDiscoveryCompleteMETA - Colocation discovery stop complete event
C Specification
The XrEventDataStopColocationDiscoveryCompleteMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrEventDataStopColocationDiscoveryCompleteMETA {
XrStructureType type;
const void* next;
XrAsyncRequestIdFB requestId;
XrResult result;
} XrEventDataStopColocationDiscoveryCompleteMETA;
Members
Description
This event conveys the results of the asynchronous operation started by xrStopColocationDiscoveryMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataUserPresenceChangedEXT(3)
Name
XrEventDataUserPresenceChangedEXT - Event notifying the change of user presence.
C Specification
The XrEventDataUserPresenceChangedEXT structure is defined as:
// Provided by XR_EXT_user_presence
typedef struct XrEventDataUserPresenceChangedEXT {
XrStructureType type;
const void* next;
XrSession session;
XrBool32 isUserPresent;
} XrEventDataUserPresenceChangedEXT;
Members
Description
The XrEventDataUserPresenceChangedEXT event is queued for retrieval using xrPollEvent when the user presence is changed, as well as when a session starts running.
Receiving XrEventDataUserPresenceChangedEXT with the
isUserPresent is XR_TRUE indicates that the system has detected
the presence of a user in the XR experience.
For example, this may indicate that the user has put on the headset, or has
entered the tracking area of a non-head-worn XR system.
Receiving XrEventDataUserPresenceChangedEXT with the
isUserPresent is XR_FALSE indicates that the system has detected
the absence of a user in the XR experience.
For example, this may indicate that the user has removed the headset or has
stepped away from the tracking area of a non-head-worn XR system.
The runtime must queue this event upon a successful call to the
xrBeginSession function, regardless of the value of
isUserPresent, so that the application can be in sync on the state
when a session begins running.
The runtime must return a valid XrSession handle for a running session.
After the application calls xrEndSession, a running
session is ended and the runtime must not enqueue any more user presence
events.
Therefore, the application will no longer observe any changes of the
isUserPresent until another running session.
|
Note
|
Note
This extension does not require any specific correlation between user presence state and session state except that the XrEventDataUserPresenceChangedEXT event can not be observed without a running session. A runtime may choose to correlate the two states or keep them independent. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVirtualKeyboardBackspaceMETA(3)
Name
XrEventDataVirtualKeyboardBackspaceMETA - Backspace key event
C Specification
The XrEventDataVirtualKeyboardBackspaceMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrEventDataVirtualKeyboardBackspaceMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardMETA keyboard;
} XrEventDataVirtualKeyboardBackspaceMETA;
Members
Description
The XrEventDataVirtualKeyboardBackspaceMETA event must be sent by the runtime when the [Backspace] key is pressed. The application should update the text field that the keyboard is editing.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVirtualKeyboardCommitTextMETA(3)
Name
XrEventDataVirtualKeyboardCommitTextMETA - Commit text event
C Specification
The XrEventDataVirtualKeyboardCommitTextMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrEventDataVirtualKeyboardCommitTextMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardMETA keyboard;
char text[XR_MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META];
} XrEventDataVirtualKeyboardCommitTextMETA;
Members
Description
The XrEventDataVirtualKeyboardCommitTextMETA event must be sent by the runtime when a character or string is input by the keyboard. The application should append to the text field that the keyboard is editing.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVirtualKeyboardEnterMETA(3)
Name
XrEventDataVirtualKeyboardEnterMETA - Enter key event
C Specification
The XrEventDataVirtualKeyboardEnterMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrEventDataVirtualKeyboardEnterMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardMETA keyboard;
} XrEventDataVirtualKeyboardEnterMETA;
Members
Description
The XrEventDataVirtualKeyboardEnterMETA event must be sent by the runtime when the [Enter] key is pressed. The application should respond accordingly (e.g. newline, accept, etc).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVirtualKeyboardHiddenMETA(3)
Name
XrEventDataVirtualKeyboardHiddenMETA - Keyboard hidden event
C Specification
The XrEventDataVirtualKeyboardHiddenMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrEventDataVirtualKeyboardHiddenMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardMETA keyboard;
} XrEventDataVirtualKeyboardHiddenMETA;
Members
Description
The XrEventDataVirtualKeyboardHiddenMETA event must be sent when the keyboard render model is hidden by the runtime (via animation). The application should update its state accordingly (e.g. update UI, resume simulation, etc).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVirtualKeyboardShownMETA(3)
Name
XrEventDataVirtualKeyboardShownMETA - Keyboard shown event
C Specification
The XrEventDataVirtualKeyboardShownMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrEventDataVirtualKeyboardShownMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardMETA keyboard;
} XrEventDataVirtualKeyboardShownMETA;
Members
Description
The XrEventDataVirtualKeyboardShownMETA event must be sent when the runtime has shown the keyboard render model (via animation). The application should update its state accordingly (e.g. update UI, pause simulation, etc).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVisibilityMaskChangedKHR(3)
Name
XrEventDataVisibilityMaskChangedKHR - Visibility Mask
C Specification
The XrEventDataVisibilityMaskChangedKHR structure is defined as:
// Provided by XR_KHR_visibility_mask
typedef struct XrEventDataVisibilityMaskChangedKHR {
XrStructureType type;
const void* next;
XrSession session;
XrViewConfigurationType viewConfigurationType;
uint32_t viewIndex;
} XrEventDataVisibilityMaskChangedKHR;
Members
Description
The XrEventDataVisibilityMaskChangedKHR structure is queued to indicate that a given visibility mask has changed. The application should respond to the event by calling xrGetVisibilityMaskKHR to retrieve the updated mask. This event is per-view, so if the masks for multiple views in a configuration change then multiple instances of this event will be queued for the application, one per view.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataViveTrackerConnectedHTCX(3)
Name
XrEventDataViveTrackerConnectedHTCX - Event representing a new VIVE tracker connected
C Specification
The XrEventDataViveTrackerConnectedHTCX structure is defined as:
// Provided by XR_HTCX_vive_tracker_interaction
typedef struct XrEventDataViveTrackerConnectedHTCX {
XrStructureType type;
const void* next;
XrViveTrackerPathsHTCX* paths;
} XrEventDataViveTrackerConnectedHTCX;
Members
Description
Receiving the XrEventDataViveTrackerConnectedHTCX event structure indicates that a new VIVE tracker was connected or its role changed. It is received via xrPollEvent.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExtensionProperties(3)
Name
XrExtensionProperties - Returns properties of available instance extensions
C Specification
The XrExtensionProperties structure is defined as:
typedef struct XrExtensionProperties {
XrStructureType type;
void* next;
char extensionName[XR_MAX_EXTENSION_NAME_SIZE];
uint32_t extensionVersion;
} XrExtensionProperties;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExtent2Df(3)
Name
XrExtent2Df - Extent in two dimensions
C Specification
A two-dimensional floating-point extent is defined by the structure:
// Provided by XR_VERSION_1_0
typedef struct XrExtent2Df {
float width;
float height;
} XrExtent2Df;
Members
Description
This structure is used for component values that may be real numbers, represented with single-precision floating point. For representing extents in discrete values, such as texels, the integer variant XrExtent2Di is used instead.
If used to represent physical distances, values must be in meters.
The width and height value must be non-negative.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExtent2Di(3)
Name
XrExtent2Di - Extent in two dimensions
C Specification
A two-dimensional integer extent is defined by the structure:
typedef struct XrExtent2Di {
int32_t width;
int32_t height;
} XrExtent2Di;
Members
Description
This variant is for representing discrete values such as texels. For representing physical distances, the floating-point variant XrExtent2Df is used instead.
The width and height value must be non-negative.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExtent3Df(3)
Name
XrExtent3Df - Represents the dimensions of an axis-aligned rectangular prism
C Specification
The XrExtent3Df structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrExtent3Df {
float width;
float height;
float depth;
} XrExtent3Df;
Members
Description
This structure is used for component values that may be real numbers, represented with single-precision floating point.
If used to represent physical distances, values must be in meters. The width, height, and depth values must be non-negative.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraExtrinsicsOCULUS(3)
Name
XrExternalCameraExtrinsicsOCULUS - Camera extrinsics state
C Specification
The XrExternalCameraExtrinsicsOCULUS structure is defined as:
// Provided by XR_OCULUS_external_camera
typedef struct XrExternalCameraExtrinsicsOCULUS {
XrTime lastChangeTime;
XrExternalCameraStatusFlagsOCULUS cameraStatusFlags;
XrExternalCameraAttachedToDeviceOCULUS attachedToDevice;
XrPosef relativePose;
} XrExternalCameraExtrinsicsOCULUS;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraIntrinsicsOCULUS(3)
Name
XrExternalCameraIntrinsicsOCULUS - Camera intrintics state
C Specification
The XrExternalCameraIntrinsicsOCULUS structure is defined as:
// Provided by XR_OCULUS_external_camera
typedef struct XrExternalCameraIntrinsicsOCULUS {
XrTime lastChangeTime;
XrFovf fov;
float virtualNearPlaneDistance;
float virtualFarPlaneDistance;
XrExtent2Di imageSensorPixelResolution;
} XrExternalCameraIntrinsicsOCULUS;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraOCULUS(3)
Name
XrExternalCameraOCULUS - Camera intrintics state
C Specification
The XrExternalCameraOCULUS structure is defined as:
// Provided by XR_OCULUS_external_camera
typedef struct XrExternalCameraOCULUS {
XrStructureType type;
const void* next;
char name[XR_MAX_EXTERNAL_CAMERA_NAME_SIZE_OCULUS];
XrExternalCameraIntrinsicsOCULUS intrinsics;
XrExternalCameraExtrinsicsOCULUS extrinsics;
} XrExternalCameraOCULUS;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeGazeFB(3)
Name
XrEyeGazeFB - Describes the eye gaze direction
C Specification
XrEyeGazeFB structure describes the validity, direction, and confidence of a social eye gaze observation.
// Provided by XR_FB_eye_tracking_social
typedef struct XrEyeGazeFB {
XrBool32 isValid;
XrPosef gazePose;
float gazeConfidence;
} XrEyeGazeFB;
Members
Description
If the returned isValid is true, the runtime must return
gazePose and gazeConfidence.
If the returned isValid is false, it indicates either the eye tracker
did not detect the eye gaze or the application lost input focus.
The eye gaze pose is natively oriented with +Y up, +X to the right, and -Z
forward and not gravity-aligned, similar to the
XR_REFERENCE_SPACE_TYPE_VIEW.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeGazeSampleTimeEXT(3)
Name
XrEyeGazeSampleTimeEXT - Eye gaze sample time structure
C Specification
// Provided by XR_EXT_eye_gaze_interaction
typedef struct XrEyeGazeSampleTimeEXT {
XrStructureType type;
void* next;
XrTime time;
} XrEyeGazeSampleTimeEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeGazesFB(3)
Name
XrEyeGazesFB - Returns the eye gaze directions
C Specification
XrEyeGazesFB structure returns the state of the eye gaze directions.
// Provided by XR_FB_eye_tracking_social
typedef struct XrEyeGazesFB {
XrStructureType type;
void* next;
XrEyeGazeFB gaze[XR_EYE_POSITION_COUNT_FB];
XrTime time;
} XrEyeGazesFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeGazesInfoFB(3)
Name
XrEyeGazesInfoFB - Describes the information to get eye gaze
C Specification
The XrEyeGazesInfoFB structure describes the information to get eye gaze directions.
// Provided by XR_FB_eye_tracking_social
typedef struct XrEyeGazesInfoFB {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrEyeGazesInfoFB;
Members
Description
The application should request a time equal to the predicted display time for the rendered frame. The system will employ appropriate modeling to provide eye gaze at this time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeTrackerCreateInfoFB(3)
Name
XrEyeTrackerCreateInfoFB - Information to create an eye gaze handle
C Specification
The XrEyeTrackerCreateInfoFB structure is defined as:
// Provided by XR_FB_eye_tracking_social
typedef struct XrEyeTrackerCreateInfoFB {
XrStructureType type;
const void* next;
} XrEyeTrackerCreateInfoFB;
Members
Description
The XrEyeTrackerCreateInfoFB structure describes the information to create an XrEyeTrackerFB handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionInfo2FB(3)
Name
XrFaceExpressionInfo2FB - Describes the information to obtain facial expression
C Specification
The XrFaceExpressionInfo2FB structure is defined as:
// Provided by XR_FB_face_tracking2
typedef struct XrFaceExpressionInfo2FB {
XrStructureType type;
const void* next;
XrTime time;
} XrFaceExpressionInfo2FB;
Members
Description
The XrFaceExpressionInfo2FB structure describes the information to obtain facial expression. The application should pass a time equal to the predicted display time for the rendered frame. The system must employ appropriate modeling to provide expressions for this time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionInfoFB(3)
Name
XrFaceExpressionInfoFB - Describes the information to obtain facial expression
C Specification
The XrFaceExpressionInfoFB structure describes the information to obtain facial expression.
// Provided by XR_FB_face_tracking
typedef struct XrFaceExpressionInfoFB {
XrStructureType type;
const void* next;
XrTime time;
} XrFaceExpressionInfoFB;
Members
Description
Callers should request a time equal to the predicted display time for the rendered frame. The system will employ appropriate modeling to provide expressions for this time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionStatusFB(3)
Name
XrFaceExpressionStatusFB - Describes the status of facial expression weights
C Specification
XrFaceExpressionStatusFB structure describes the validity of facial expression weights.
// Provided by XR_FB_face_tracking
typedef struct XrFaceExpressionStatusFB {
XrBool32 isValid;
XrBool32 isEyeFollowingBlendshapesValid;
} XrFaceExpressionStatusFB;
Members
Description
If the returned isValid is XR_FALSE, then it indicates that the
face tracker failed to track or lost track of the face, or the application
lost focus, or the consent for face tracking was denied.
If the returned isValid is XR_TRUE, the runtime must return all
weights (or all weights except eyes related weights, see
isEyeFollowingBlendshapesValid).
If the returned isEyeFollowingBlendshapesValid is XR_FALSE, then
it indicates that the eye tracking driving blendshapes with prefix
XR_FACE_EXPRESSION_EYES_LOOK_* lost track or the consent for eye tracking
was denied.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionWeights2FB(3)
Name
XrFaceExpressionWeights2FB - Returns the facial expression
C Specification
The XrFaceExpressionWeights2FB structure is defined as:
// Provided by XR_FB_face_tracking2
typedef struct XrFaceExpressionWeights2FB {
XrStructureType type;
void* next;
uint32_t weightCount;
float* weights;
uint32_t confidenceCount;
float* confidences;
XrBool32 isValid;
XrBool32 isEyeFollowingBlendshapesValid;
XrFaceTrackingDataSource2FB dataSource;
XrTime time;
} XrFaceExpressionWeights2FB;
Members
Description
XrFaceExpressionWeights2FB structure returns the facial expression.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
weightCount is not equal to the number of blend shapes defined by the
XrFaceExpressionSet2FB used to create the XrFaceTracker2FB.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
confidenceCount is not equal to the number of confidence areas defined
by the XrFaceExpressionSet2FB used to create the
XrFaceTracker2FB.
The runtime must return weights representing the weights of blend
shapes of current facial expression.
The runtime must update the weights array ordered so that the
application can index elements using the corresponding facial expression
enum (e.g. XrFaceExpression2FB) as described by
XrFaceExpressionSet2FB when creating the XrFaceTracker2FB.
For example, when the XrFaceTracker2FB is created with
XR_FACE_EXPRESSION_SET2_DEFAULT_FB, the application sets the
weightCount to XR_FACE_EXPRESSION2_COUNT_FB, and the runtime
must fill the weights array ordered so that it can be indexed by the
XrFaceExpression2FB enum.
The runtime must update the confidences array ordered so that the
application can index elements using the corresponding confidence area enum
(e.g. XrFaceConfidence2FB) as described by
XrFaceExpressionSet2FB when creating the XrFaceTracker2FB.
For example, when the XrFaceTracker2FB is created with
XR_FACE_EXPRESSION_SET2_DEFAULT_FB, the application sets the
confidenceCount to XR_FACE_CONFIDENCE2_COUNT_FB, and the runtime
must fill the confidences array ordered so that it can be indexed by
the XrFaceConfidence2FB enum.
The runtime must set isValid to XR_FALSE and it must also set
all elements of weights to zero, if one of the following is true:
-
the face tracker failed to track or lost track of the face
-
the application lost focus
-
the consent for face tracking was denied
-
the runtime is unable to estimate facial expression from the data sources specified when xrCreateFaceTracker2FB function was called
If the returned isValid is XR_TRUE, the runtime must return all
weights (or all weights except eyes related weights, see
isEyeFollowingBlendshapesValid).
The runtime must set isEyeFollowingBlendshapesValid to XR_FALSE
and it must also set 8 expression weights with prefix
XR_FACE_EXPRESSION2_EYES_LOOK_* to zero, if one of the following is true:
-
the eye tracking driving blendshapes with prefix
XR_FACE_EXPRESSION2_EYES_LOOK_*lost track -
the consent for eye tracking was denied
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionWeightsFB(3)
Name
XrFaceExpressionWeightsFB - Returns the facial expression
C Specification
XrFaceExpressionWeightsFB structure returns the facial expression.
// Provided by XR_FB_face_tracking
typedef struct XrFaceExpressionWeightsFB {
XrStructureType type;
void* next;
uint32_t weightCount;
float* weights;
uint32_t confidenceCount;
float* confidences;
XrFaceExpressionStatusFB status;
XrTime time;
} XrFaceExpressionWeightsFB;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if
weightCount is not equal to the number of blend shapes defined by the
XrFaceExpressionSetFB used to create the XrFaceTrackerFB.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
confidenceCount is not equal to the number of confidence areas defined
by the XrFaceExpressionSetFB used to create the XrFaceTrackerFB.
The runtime must return weights representing the weights of blend
shapes of current facial expression.
The runtime must update the weights array ordered so that the
application can index elements using the corresponding facial expression
enum (e.g. XrFaceExpressionFB) as described by
XrFaceExpressionSetFB when creating the XrFaceTrackerFB.
For example, when the XrFaceTrackerFB is created with
XR_FACE_EXPRESSION_SET_DEFAULT_FB, the application sets the
weightCount to XR_FACE_EXPRESSION_COUNT_FB, and the runtime
must fill the weights array ordered so that it can be indexed by the
XrFaceExpressionFB enum.
The runtime must update the confidences array ordered so that the
application can index elements using the corresponding confidence area enum
(e.g. XrFaceConfidenceFB) as described by XrFaceExpressionSetFB
when creating the XrFaceTrackerFB.
For example, when the XrFaceTrackerFB is created with
XR_FACE_EXPRESSION_SET_DEFAULT_FB, the application sets the
confidenceCount to XR_FACE_CONFIDENCE_COUNT_FB, and the runtime
must fill the confidences array ordered so that it can be indexed by
the XrFaceConfidenceFB enum.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceStateANDROID(3)
Name
XrFaceStateANDROID - Returns facial expressions
C Specification
XrFaceStateANDROID structure returns the face tracking state and facial expressions.
// Provided by XR_ANDROID_face_tracking
typedef struct XrFaceStateANDROID {
XrStructureType type;
void* next;
uint32_t parametersCapacityInput;
uint32_t parametersCountOutput;
float* parameters;
XrFaceTrackingStateANDROID faceTrackingState;
XrTime sampleTime;
XrBool32 isValid;
uint32_t regionConfidencesCapacityInput;
uint32_t regionConfidencesCountOutput;
float* regionConfidences;
} XrFaceStateANDROID;
Members
Description
The application can set parametersCapacityInput to
XR_FACE_PARAMETER_COUNT_ANDROID to get facial expressions which are
indexed by XrFaceParameterIndicesANDROID.
The runtime must return parameters representing the weights of blend
shapes of current facial expressions.
The runtime must update the parameters array ordered so that the
application can index elements using the corresponding facial expression
enum (e.g. XrFaceParameterIndicesANDROID).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceStateGetInfoANDROID(3)
Name
XrFaceStateGetInfoANDROID - Describes the information to obtain facial expressions
C Specification
The XrFaceStateGetInfoANDROID structure describes the information to obtain facial expressions.
// Provided by XR_ANDROID_face_tracking
typedef struct XrFaceStateGetInfoANDROID {
XrStructureType type;
const void* next;
XrTime time;
} XrFaceStateGetInfoANDROID;
Members
Description
Applications should request a time equal to the predicted display time for the rendered frame. The runtime will employ appropriate modeling to provide expressions for this time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerCreateInfo2FB(3)
Name
XrFaceTrackerCreateInfo2FB - Information to create a facial expression handle
C Specification
The XrFaceTrackerCreateInfo2FB structure is described as follows:
// Provided by XR_FB_face_tracking2
typedef struct XrFaceTrackerCreateInfo2FB {
XrStructureType type;
const void* next;
XrFaceExpressionSet2FB faceExpressionSet;
uint32_t requestedDataSourceCount;
XrFaceTrackingDataSource2FB* requestedDataSources;
} XrFaceTrackerCreateInfo2FB;
Members
Description
The XrFaceTrackerCreateInfo2FB structure describes the information to create an XrFaceTracker2FB handle.
Runtimes may support a variety of data sources for estimations of facial expression, and some runtimes and devices may use data from multiple data sources. The application tells the runtime all data sources that the runtime may use to provide facial expressions for the application.
Because the device setting may change during a running session, the runtime
may return a valid XrFaceTracker2FB handle even if the device is
unable to estimate facial expression using the data sources requested by the
application’s call to xrCreateFaceTracker2FB.
The runtime must instead return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFaceTracker2FB, if for example the runtime believes it will
never be able to satisfy the request.
If requestedDataSourceCount is 0, the runtime may choose any
supported data source, preferably one that is more expressive than the
others.
If any value in requestedDataSources is duplicated the runtime must
return XR_ERROR_VALIDATION_FAILURE from the call to
xrCreateFaceTracker2FB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerCreateInfoANDROID(3)
Name
XrFaceTrackerCreateInfoANDROID - Information to create a face tracker handle
C Specification
The XrFaceTrackerCreateInfoANDROID structure is described as follows:
// Provided by XR_ANDROID_face_tracking
typedef struct XrFaceTrackerCreateInfoANDROID {
XrStructureType type;
const void* next;
} XrFaceTrackerCreateInfoANDROID;
Members
Description
The XrFaceTrackerCreateInfoANDROID structure describes the information to create an XrFaceTrackerANDROID handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerCreateInfoBD(3)
Name
XrFaceTrackerCreateInfoBD - information needed while creating face tracker handler
C Specification
The XrFaceTrackerCreateInfoBD structure is defined as:
// Provided by XR_BD_facial_simulation
typedef struct XrFaceTrackerCreateInfoBD {
XrStructureType type;
const void* next;
XrFacialSimulationModeBD mode;
} XrFaceTrackerCreateInfoBD;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackerCreateInfoFB(3)
Name
XrFaceTrackerCreateInfoFB - Information to create a facial expression handle
C Specification
The XrFaceTrackerCreateInfoFB structure is described as follows:
// Provided by XR_FB_face_tracking
typedef struct XrFaceTrackerCreateInfoFB {
XrStructureType type;
const void* next;
XrFaceExpressionSetFB faceExpressionSet;
} XrFaceTrackerCreateInfoFB;
Members
Description
The XrFaceTrackerCreateInfoFB structure describes the information to create an XrFaceTrackerFB handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionBlendShapeGetInfoML(3)
Name
XrFacialExpressionBlendShapeGetInfoML - Describes the information to obtain facial expression
C Specification
The XrFacialExpressionBlendShapeGetInfoML structure is defined as:
// Provided by XR_ML_facial_expression
typedef struct XrFacialExpressionBlendShapeGetInfoML {
XrStructureType type;
const void* next;
} XrFacialExpressionBlendShapeGetInfoML;
Members
Description
The XrFacialExpressionBlendShapeGetInfoML structure specifies properties about blend shapes desired by an application. It must be passed into xrGetFacialExpressionBlendShapePropertiesML and is currently empty for future extensibility.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionBlendShapePropertiesML(3)
Name
XrFacialExpressionBlendShapePropertiesML - Contains information of a blend shape
C Specification
The XrFacialExpressionBlendShapePropertiesML structure is defined as:
// Provided by XR_ML_facial_expression
typedef struct XrFacialExpressionBlendShapePropertiesML {
XrStructureType type;
void* next;
XrFacialBlendShapeML requestedFacialBlendShape;
float weight;
XrFacialExpressionBlendShapePropertiesFlagsML flags;
XrTime time;
} XrFacialExpressionBlendShapePropertiesML;
Members
Description
XrFacialExpressionBlendShapePropertiesML structure holds the facial expression.
If requestedFacialBlendShape does not correspond to any
XrFacialBlendShapeML passed into
xrCreateFacialExpressionClientML then the
XR_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_VALID_BIT_ML and
XR_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_TRACKED_BIT_ML of
flags must be unset.
If the requestedFacialBlendShape is not available at sample time
time then
XR_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_TRACKED_BIT_ML must be
set to false.
The runtime must populate weight with the weight of the queried blend
shape.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionClientCreateInfoML(3)
Name
XrFacialExpressionClientCreateInfoML - Information to create a facial expression handle
C Specification
The XrFacialExpressionClientCreateInfoML structure is defined as follows:
// Provided by XR_ML_facial_expression
typedef struct XrFacialExpressionClientCreateInfoML {
XrStructureType type;
const void* next;
uint32_t requestedCount;
const XrFacialBlendShapeML* requestedFacialBlendShapes;
} XrFacialExpressionClientCreateInfoML;
Members
Description
Note that although the naming convention for requestedCount does not
align with requestedFacialBlendShapes, they are coupled together.
The XrFacialExpressionClientCreateInfoML structure describes the information to create an XrFacialExpressionClientML handle.
An application specifies the blend shapes they want to query by creating an
array of type XrFacialBlendShapeML and passing it to
requestedFacialBlendShapes along with the corresponding
requestedCount.
The application can also pass in NULL into
requestedFacialBlendShapes to capture the entirety of
XrFacialBlendShapeML.
However, for performance reasons, it may be better to be explicit about
what blend shapes to query for performance reasons since some blend shapes
may be queried by the runtime at a greater frequency than other blend
shapes.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionsHTC(3)
Name
XrFacialExpressionsHTC - Returns the expression data
C Specification
The XrFacialExpressionsHTC structure is defined as:
// Provided by XR_HTC_facial_tracking
typedef struct XrFacialExpressionsHTC {
XrStructureType type;
const void* next;
XrBool32 isActive;
XrTime sampleTime;
uint32_t expressionCount;
float* expressionWeightings;
} XrFacialExpressionsHTC;
Members
Description
XrFacialExpressionsHTC structure returns data of a lip facial expression or an eye facial expression.
An application must preallocate the output expressionWeightings array
that can contain at least expressionCount of float.
expressionCount must be at least
XR_FACIAL_EXPRESSION_LIP_COUNT_HTC for
XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC, and at least
XR_FACIAL_EXPRESSION_EYE_COUNT_HTC for
XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC.
The application must set expressionCount as described by the
XrFacialTrackingTypeHTC when creating the XrFacialTrackerHTC
otherwise the runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must update the expressionWeightings array ordered so
that the application can index elements using the corresponding facial
tracker enum (e.g. XrEyeExpressionHTC or XrLipExpressionHTC) as
described by XrFacialTrackingTypeHTC when creating the
XrFacialTrackerHTC.
For example, when the XrFacialTrackerHTC is created with
XrFacialTrackerHTC::facialTrackingType set to
XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC, the application must set the
expressionCount to XR_FACIAL_EXPRESSION_EYE_COUNT_HTC, and the
runtime must fill the expressionWeightings array ordered with eye
expression data so that it can be indexed by the XrEyeExpressionHTC
enum.
If the returned isActive is true, the runtime must fill the
expressionWeightings array ordered.
If the returned isActive is false, it indicates the facial tracker did
not detect the corresponding facial input or the application lost input
focus.
If the input expressionCount is not sufficient to contain all output
indices, the runtime must return XR_ERROR_SIZE_INSUFFICIENT on calls
to xrGetFacialExpressionsHTC and not change the content in
expressionWeightings.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialSimulationDataBD(3)
Name
XrFacialSimulationDataBD - contain the facial expression
C Specification
The XrFacialSimulationDataBD structure is defined as:
// Provided by XR_BD_facial_simulation
typedef struct XrFacialSimulationDataBD {
XrStructureType type;
void* next;
uint32_t faceExpressionWeightCount;
float* faceExpressionWeights;
XrBool32 isUpperFaceDataValid;
XrBool32 isLowerFaceDataValid;
XrTime time;
} XrFacialSimulationDataBD;
Members
Description
The XrFacialSimulationDataBD structure contains the facial expression weight. See XrFacialSimulationModeBD for details and for how this interacts with lip expression tracking.
The runtime must fill the faceExpressionWeights array ordered so that
it is indexed using the corresponding facial expression enum
XrFaceExpressionBD.
An application must preallocate the output faceExpressionWeights
array that can contain at least faceExpressionWeightCount of
float.
The value of faceExpressionWeightCount must be
XR_FACE_EXPRESSION_COUNT_BD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialSimulationDataGetInfoBD(3)
Name
XrFacialSimulationDataGetInfoBD - indicating the information needed to get facial expression
C Specification
The XrFacialSimulationDataGetInfoBD structure is defined as:
// Provided by XR_BD_facial_simulation
typedef struct XrFacialSimulationDataGetInfoBD {
XrStructureType type;
const void* next;
XrTime time;
} XrFacialSimulationDataGetInfoBD;
Members
Description
The XrFacialSimulationDataGetInfoBD structure describes the information to get facial expression. Callers should request a time equal to the predicted display time for the rendered frame. The system should employ appropriate modeling to provide expressions for this time.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialTrackerCreateInfoHTC(3)
Name
XrFacialTrackerCreateInfoHTC - Information to create a facial tracker handle
C Specification
The XrFacialTrackerCreateInfoHTC structure is defined as:
// Provided by XR_HTC_facial_tracking
typedef struct XrFacialTrackerCreateInfoHTC {
XrStructureType type;
const void* next;
XrFacialTrackingTypeHTC facialTrackingType;
} XrFacialTrackerCreateInfoHTC;
Members
Description
The XrFacialTrackerCreateInfoHTC structure describes the information to create an XrFacialTrackerHTC handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrForceFeedbackCurlApplyLocationMNDX(3)
Name
XrForceFeedbackCurlApplyLocationMNDX - Structure representing and containing information on how to apply force feedback to a single location.
C Specification
The XrForceFeedbackCurlApplyLocationMNDX structure is defined as:
// Provided by XR_MNDX_force_feedback_curl
typedef struct XrForceFeedbackCurlApplyLocationMNDX {
XrForceFeedbackCurlLocationMNDX location;
float value;
} XrForceFeedbackCurlApplyLocationMNDX;
Members
Description
value is specified as a limit in a single direction.
For example, if the value specified is 0.5, a location must have free
movement from the point where it would be incapable of movement if
value was 1, to 0.5 of the range the location is capable of moving.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrForceFeedbackCurlApplyLocationsMNDX(3)
Name
XrForceFeedbackCurlApplyLocationsMNDX - Structure representing an array of locations to apply force feedback to
C Specification
The XrForceFeedbackCurlApplyLocationsMNDX structure is defined as:
// Provided by XR_MNDX_force_feedback_curl
typedef struct XrForceFeedbackCurlApplyLocationsMNDX {
XrStructureType type;
const void* next;
uint32_t locationCount;
XrForceFeedbackCurlApplyLocationMNDX* locations;
} XrForceFeedbackCurlApplyLocationsMNDX;
Members
Description
Contains an array of XrForceFeedbackCurlApplyLocationMNDX that contains information on locations to apply force feedback to.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveatedViewConfigurationViewVARJO(3)
Name
XrFoveatedViewConfigurationViewVARJO - Foveated view configuration views
C Specification
Foveated textures may have different sizes and aspect ratio compared to
non-foveated textures.
In order to determine recommended foveated texture size, an application can
chain XrFoveatedViewConfigurationViewVARJO to
XrViewConfigurationView and set foveatedRenderingActive to
XR_TRUE.
Since an application using foveated rendering with this extension has to
render four views, XR_VARJO_quad_views must be enabled along with
this extension when XrInstance is created.
First and second views are non foveated views (covering whole field of view of HMD), third (left eye) and fourth (right eye) are foveated e.g. following gaze.
// Provided by XR_VARJO_foveated_rendering
typedef struct XrFoveatedViewConfigurationViewVARJO {
XrStructureType type;
void* next;
XrBool32 foveatedRenderingActive;
} XrFoveatedViewConfigurationViewVARJO;
Members
Description
For example:
XrInstance instance; // previously populated
XrSystemId systemId; // previously populated
XrViewConfigurationType viewConfigType; // Select XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO
XrSystemFoveatedRenderingPropertiesVARJO foveatedRenderingProperties{XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO};
XrSystemProperties systemProperties{XR_TYPE_SYSTEM_PROPERTIES, &foveatedRenderingProperties};
CHK_XR(xrGetSystemProperties(instance, systemId, &systemProperties));
uint32_t viewCount;
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, 0, &viewCount, nullptr));
// Non-foveated rendering views dimensions
std::vector<XrViewConfigurationView> configViews(viewCount, {XR_TYPE_VIEW_CONFIGURATION_VIEW});
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, viewCount, &viewCount, configViews.data()));
// Foveated rendering views dimensions
std::vector<XrViewConfigurationView> foveatedViews;
if (foveatedRenderingProperties.supportsFoveatedRendering && viewConfigType == XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO) {
std::vector<XrFoveatedViewConfigurationViewVARJO> requestFoveatedConfig{4, {XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO, nullptr, XR_TRUE}};
foveatedViews = std::vector<XrViewConfigurationView>{4, {XR_TYPE_VIEW_CONFIGURATION_VIEW}};
for (size_t i = 0; i < 4; i++) {
foveatedViews[i].next = &requestFoveatedConfig[i];
}
CHK_XR(xrEnumerateViewConfigurationViews(instance, systemId, viewConfigType, viewCount, &viewCount, foveatedViews.data()));
}
Applications using this extension are encouraged to create two sets of swapchains or one big enough set of swapchains and two sets of viewports. One set will be used when rendering gaze is not available and other one will be used when foveated rendering and rendering gaze is available. Using foveated textures may not provide optimal visual quality when rendering gaze is not available.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationApplyInfoHTC(3)
Name
XrFoveationApplyInfoHTC - Information for foveation applying
C Specification
The XrFoveationApplyInfoHTC structure is defined as:
// Provided by XR_HTC_foveation
typedef struct XrFoveationApplyInfoHTC {
XrStructureType type;
const void* next;
XrFoveationModeHTC mode;
uint32_t subImageCount;
XrSwapchainSubImage* subImages;
} XrFoveationApplyInfoHTC;
Members
Description
The application should set the following configurations in XrFoveationApplyInfoHTC:
-
The foveation mode to be applied.
-
The specified XrSwapchainSubImage to the corresponding view.
The XrSwapchain::faceCount of the swapchain in
XrSwapchainSubImage must be 1 since this extension does not support
cubemaps.
If mode is XR_FOVEATION_MODE_DYNAMIC_HTC, the next chain
for this structure must include XrFoveationDynamicModeInfoHTC
structure.
If mode is XR_FOVEATION_MODE_CUSTOM_HTC, the next chain
for this structure must include XrFoveationCustomModeInfoHTC
structure.
The order of subImages must be the same order as in
XrCompositionLayerProjectionView when submitted in xrEndFrame.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationConfigurationHTC(3)
Name
XrFoveationConfigurationHTC - Configuration of foveation
C Specification
The XrFoveationConfigurationHTC structure is defined as:
// Provided by XR_HTC_foveation
typedef struct XrFoveationConfigurationHTC {
XrFoveationLevelHTC level;
float clearFovDegree;
XrVector2f focalCenterOffset;
} XrFoveationConfigurationHTC;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationCustomModeInfoHTC(3)
Name
XrFoveationCustomModeInfoHTC - Configuration for custom mode
C Specification
The XrFoveationCustomModeInfoHTC structure is defined as:
// Provided by XR_HTC_foveation
typedef struct XrFoveationCustomModeInfoHTC {
XrStructureType type;
const void* next;
uint32_t configCount;
const XrFoveationConfigurationHTC* configs;
} XrFoveationCustomModeInfoHTC;
Members
Description
The application must chain an XrFoveationCustomModeInfoHTC structure to XrFoveationApplyInfoHTC to customize foveation if custom mode is set.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationDynamicModeInfoHTC(3)
Name
XrFoveationDynamicModeInfoHTC - Configuration for dynamic mode
C Specification
The XrFoveationDynamicModeInfoHTC structure is defined as:
// Provided by XR_HTC_foveation
typedef struct XrFoveationDynamicModeInfoHTC {
XrStructureType type;
const void* next;
XrFoveationDynamicFlagsHTC dynamicFlags;
} XrFoveationDynamicModeInfoHTC;
Members
Description
The application must chain an XrFoveationDynamicModeInfoHTC structure to XrFoveationApplyInfoHTC if dynamic mode is set.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedProfileCreateInfoMETA(3)
Name
XrFoveationEyeTrackedProfileCreateInfoMETA - The information to create a eye tracked foveation profile
C Specification
The XrFoveationEyeTrackedProfileCreateInfoMETA structure is defined as:
// Provided by XR_META_foveation_eye_tracked
typedef struct XrFoveationEyeTrackedProfileCreateInfoMETA {
XrStructureType type;
const void* next;
XrFoveationEyeTrackedProfileCreateFlagsMETA flags;
} XrFoveationEyeTrackedProfileCreateInfoMETA;
Members
Description
XrFoveationEyeTrackedProfileCreateInfoMETA can be added to the
next chain of XrFoveationLevelProfileCreateInfoFB in order to
enable eye tracked foveation.
The runtime must apply an eye tracked foveation pattern according to the
parameters defined in the XrFoveationLevelProfileCreateInfoFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedStateMETA(3)
Name
XrFoveationEyeTrackedStateMETA - Foveation data returned from the runtime
C Specification
The XrFoveationEyeTrackedStateMETA structure is defined as:
// Provided by XR_META_foveation_eye_tracked
typedef struct XrFoveationEyeTrackedStateMETA {
XrStructureType type;
void* next;
XrVector2f foveationCenter[XR_FOVEATION_CENTER_SIZE_META];
XrFoveationEyeTrackedStateFlagsMETA flags;
} XrFoveationEyeTrackedStateMETA;
Members
Description
XrFoveationEyeTrackedStateMETA must be provided when calling
xrGetFoveationEyeTrackedStateMETA.
The runtime must interpret XrFoveationEyeTrackedStateMETA without any
additional structs in its next chain in order to query eye tracked
foveation state, e.g. the center of the foveal region.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationLevelProfileCreateInfoFB(3)
Name
XrFoveationLevelProfileCreateInfoFB - The information to create a foveation profile for foveation levels
C Specification
XrFoveationLevelProfileCreateInfoFB can be provided in the next
chain of XrFoveationProfileCreateInfoFB when calling
xrCreateFoveationProfileFB.
The runtime must interpret XrSwapchainCreateInfoFoveationFB with
XrFoveationLevelProfileCreateInfoFB in its next chain as a
request to create a foveation profile that will apply a fixed foveation
pattern according to the parameters defined in the
XrFoveationLevelProfileCreateInfoFB.
The XrFoveationLevelProfileCreateInfoFB structure is defined as:
// Provided by XR_FB_foveation_configuration
typedef struct XrFoveationLevelProfileCreateInfoFB {
XrStructureType type;
void* next;
XrFoveationLevelFB level;
float verticalOffset;
XrFoveationDynamicFB dynamic;
} XrFoveationLevelProfileCreateInfoFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationProfileCreateInfoFB(3)
Name
XrFoveationProfileCreateInfoFB - The information to create a foveation profile
C Specification
XrFoveationProfileCreateInfoFB must be provided when calling
xrCreateFoveationProfileFB.
The runtime must interpret XrFoveationProfileCreateInfoFB without any
additional structs in its next chain as a request to create a
foveation profile that will apply no foveation to any area of the swapchain.
The XrFoveationProfileCreateInfoFB structure is defined as:
// Provided by XR_FB_foveation
typedef struct XrFoveationProfileCreateInfoFB {
XrStructureType type;
void* next;
} XrFoveationProfileCreateInfoFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFovf(3)
Name
XrFovf - Field of view
C Specification
Field of view (FoV) is defined by the structure:
typedef struct XrFovf {
float angleLeft;
float angleRight;
float angleUp;
float angleDown;
} XrFovf;
Members
Description
Angles to the right of the center and upwards from the center are positive,
and angles to the left of the center and down from the center are negative.
The total horizontal field of view is angleRight minus
angleLeft, and the total vertical field of view is angleUp minus
angleDown.
For a symmetric FoV, angleRight and angleUp will have positive
values, angleLeft will be -angleRight, and angleDown will
be -angleUp.
The angles must be specified in radians, and must be between -π/2 and π/2 exclusively.
When angleLeft > angleRight, the content of the view must be
flipped horizontally.
When angleDown > angleUp, the content of the view must be
flipped vertically.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameBeginInfo(3)
Name
XrFrameBeginInfo - Begin frame information
C Specification
The XrFrameBeginInfo structure is defined as:
typedef struct XrFrameBeginInfo {
XrStructureType type;
const void* next;
} XrFrameBeginInfo;
Members
Description
Because this structure only exists to support extension-specific structures,
xrBeginFrame will accept a NULL argument for
xrBeginFrame::frameBeginInfo for applications that are not using
any relevant extensions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameEndInfo(3)
Name
XrFrameEndInfo - End frame information
C Specification
The XrFrameEndInfo structure is defined as:
typedef struct XrFrameEndInfo {
XrStructureType type;
const void* next;
XrTime displayTime;
XrEnvironmentBlendMode environmentBlendMode;
uint32_t layerCount;
const XrCompositionLayerBaseHeader* const* layers;
} XrFrameEndInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameEndInfoML(3)
Name
XrFrameEndInfoML - Per frame configuration parameters.
C Specification
The XrFrameEndInfoML structure is defined as:
// Provided by XR_ML_frame_end_info
typedef struct XrFrameEndInfoML {
XrStructureType type;
const void* next;
float focusDistance;
XrFrameEndInfoFlagsML flags;
} XrFrameEndInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameState(3)
Name
XrFrameState - Frame prediction structure
C Specification
The XrFrameState structure is defined as:
typedef struct XrFrameState {
XrStructureType type;
void* next;
XrTime predictedDisplayTime;
XrDuration predictedDisplayPeriod;
XrBool32 shouldRender;
} XrFrameState;
Members
Description
XrFrameState describes the time at which the next frame will be
displayed to the user.
predictedDisplayTime must refer to the midpoint of the interval
during which the frame is displayed.
The runtime may report a different predictedDisplayPeriod from the
hardware’s refresh cycle.
For any frame where shouldRender is XR_FALSE, the application
should avoid heavy GPU work for that frame, for example by not rendering
its layers.
This typically happens when the application is transitioning into or out of
a running session, or when some system UI is fully covering the application
at the moment.
As long as the session is running, the application
should keep running the frame loop to maintain the frame synchronization to
the runtime, even if this requires calling xrEndFrame with all layers
omitted.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameSynthesisConfigViewEXT(3)
Name
XrFrameSynthesisConfigViewEXT - Composition Layer Frame Synthesis structure
C Specification
The XrFrameSynthesisConfigViewEXT structure is defined as:
// Provided by XR_EXT_frame_synthesis
typedef struct XrFrameSynthesisConfigViewEXT {
XrStructureType type;
void* next;
uint32_t recommendedMotionVectorImageRectWidth;
uint32_t recommendedMotionVectorImageRectHeight;
} XrFrameSynthesisConfigViewEXT;
Members
Description
When this extension is enabled, an application can pass in an
XrFrameSynthesisConfigViewEXT structure in the
XrViewConfigurationView::next chain when calling
xrEnumerateViewConfigurationViews to acquire information about the
recommended motion vector image resolution.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameSynthesisInfoEXT(3)
Name
XrFrameSynthesisInfoEXT - Frame synthesis information structure
C Specification
The XrFrameSynthesisInfoEXT structure is defined as:
// Provided by XR_EXT_frame_synthesis
typedef struct XrFrameSynthesisInfoEXT {
XrStructureType type;
const void* next;
XrFrameSynthesisInfoFlagsEXT layerFlags;
XrSwapchainSubImage motionVectorSubImage;
XrVector4f motionVectorScale;
XrVector4f motionVectorOffset;
XrPosef appSpaceDeltaPose;
XrSwapchainSubImage depthSubImage;
float minDepth;
float maxDepth;
float nearZ;
float farZ;
} XrFrameSynthesisInfoEXT;
Members
Description
When submitting motion vector images and depth images along with projection
layers, add an XrFrameSynthesisInfoEXT structure to the
XrCompositionLayerProjectionView::next chain, for each
XrCompositionLayerProjectionView structure in the given layer.
The runtime must interpret the motion vector data in the
motionVectorSubImage’s RGB channels, modified by
motionVectorScale and motionVectorOffset as follows:
motionVector = motionVectorSubImagergb * motionVectorScalexyz
+ motionVectorOffsetxyz.
The components motionVectorSubImagea, motionVectorScalew and
motionVectorOffsetw are ignored.
The motion vector represents the movement of a pixel since the XrFrameEndInfo::displayTime of the previous frame until the XrFrameEndInfo::displayTime of the current frame. The runtime may use this information to extrapolate the rendered frame into a future frame.
The motion vector must derived from normalized device coordinate (NDC) space, which in this context uses Vulkan-style conventions: the NDC range is defined as [-1, -1, 0] to [1, 1, 1], different from OpenGL’s NDC range. However, the motion vector itself is not constrained to this range; its values depend on the pixel’s movement and may extend beyond the boundaries of the NDC space. For example, given that a pixel’s NDC in the previous frame is PrevNDC, and CurrNDC in current frame, and that there is no scale or offset, then the motion vector value is "(CurrNDC - PrevNDC)xyz".
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameWaitInfo(3)
Name
XrFrameWaitInfo - Wait frame information structure
C Specification
The XrFrameWaitInfo structure is defined as:
typedef struct XrFrameWaitInfo {
XrStructureType type;
const void* next;
} XrFrameWaitInfo;
Members
Description
Because this structure only exists to support extension-specific structures,
xrWaitFrame must accept a NULL argument for
xrWaitFrame::frameWaitInfo for applications that are not using
any relevant extensions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrustumf(3)
Name
XrFrustumf - Describe a scene frustum
C Specification
An XrFrustumf structure describes the pose, field of view, and far distance of a frustum.
// Provided by XR_VERSION_1_1
typedef struct XrFrustumf {
XrPosef pose;
XrFovf fov;
float nearZ;
float farZ;
} XrFrustumf;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if farZ is
less than or equal to zero.
The runtime must return XR_ERROR_VALIDATION_FAILURE if nearZ is
less than zero.
See XrFovf for validity requirements on fov.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFutureCancelInfoEXT(3)
Name
XrFutureCancelInfoEXT - Information on future to cancel
C Specification
The XrFutureCancelInfoEXT structure is defined as:
// Provided by XR_EXT_future
typedef struct XrFutureCancelInfoEXT {
XrStructureType type;
const void* next;
XrFutureEXT future;
} XrFutureCancelInfoEXT;
Members
Description
An XrFutureCancelInfoEXT describes which future to cancel.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFutureCompletionBaseHeaderEXT(3)
Name
XrFutureCompletionBaseHeaderEXT - Base header for the result of an a future, returned by a future completion function
C Specification
The XrFutureCompletionBaseHeaderEXT structure is defined as:
// Provided by XR_EXT_future
typedef struct XrFutureCompletionBaseHeaderEXT {
XrStructureType type;
void* next;
XrResult futureResult;
} XrFutureCompletionBaseHeaderEXT;
Members
Description
XrFutureCompletionBaseHeaderEXT is a base header for the result of a future completion function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFutureCompletionEXT(3)
Name
XrFutureCompletionEXT - Implementation of the XrResult-only completion structure
C Specification
The XrFutureCompletionEXT structure is defined as:
// Provided by XR_EXT_future
typedef struct XrFutureCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
} XrFutureCompletionEXT;
Members
Description
This is a minimal implementation of XrFutureCompletionBaseHeaderEXT, containing only the fields present in the base header structure. It is intended for use by asynchronous operations that do not have other outputs or return values beyond an XrResult value, as the output parameter of their completion function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFuturePollInfoEXT(3)
Name
XrFuturePollInfoEXT - Input for xrPollFutureEXT
C Specification
The XrFuturePollInfoEXT structure is defined as:
// Provided by XR_EXT_future
typedef struct XrFuturePollInfoEXT {
XrStructureType type;
const void* next;
XrFutureEXT future;
} XrFuturePollInfoEXT;
Members
Description
An XrFuturePollInfoEXT structure is used to pass future to
xrPollFutureEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFuturePollResultEXT(3)
Name
XrFuturePollResultEXT - Result of xrPollFutureEXT
C Specification
The XrFuturePollResultEXT structure is defined as:
// Provided by XR_EXT_future
typedef struct XrFuturePollResultEXT {
XrStructureType type;
void* next;
XrFutureStateEXT state;
} XrFuturePollResultEXT;
Members
Description
An XrFuturePollResultEXT structure is used to return the result of xrPollFutureEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFuturePollResultProgressBD(3)
Name
XrFuturePollResultProgressBD - Progress of a future
C Specification
The XrFuturePollResultProgressBD structure is defined as:
// Provided by XR_BD_future_progress
typedef struct XrFuturePollResultProgressBD {
XrStructureType type;
void* next;
XrBool32 isSupported;
uint32_t progressPercentage;
} XrFuturePollResultProgressBD;
Members
Description
As defined in XR_EXT_future, an XrFutureEXT is returned by a
successful call to an asynchronous function.
Applications can use xrPollFutureEXT to check the current state of a future, typically while waiting for the async operation to complete and the future to become "ready" to complete. An XrFuturePollResultEXT structure is used to return the result of xrPollFutureEXT.
With this extension, the application can chain an
XrFuturePollResultProgressBD to
XrFuturePollResultEXT::next to get a rough progress percentage
of the asynchronous operation.
If the runtime does not support reporting progress for a specific future, it
must set isSupported to false.
And in this case, the application should ignore the value of
progressPercentage.
If the runtime supports reporting progress for the specific future, it must
set isSupported to true.
The progressPercentage is only valid when the future is in either the
XR_FUTURE_STATE_PENDING_EXT or XR_FUTURE_STATE_READY_EXT state.
The runtime must not set progressPercentage to a value less than 0 or
greater than 100.
The runtime must set progressPercentage to 100 if the future is in
the state XR_FUTURE_STATE_READY_EXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGeometryInstanceCreateInfoFB(3)
Name
XrGeometryInstanceCreateInfoFB - A create structure for geometry instance
C Specification
The XrGeometryInstanceCreateInfoFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrGeometryInstanceCreateInfoFB {
XrStructureType type;
const void* next;
XrPassthroughLayerFB layer;
XrTriangleMeshFB mesh;
XrSpace baseSpace;
XrPosef pose;
XrVector3f scale;
} XrGeometryInstanceCreateInfoFB;
Members
It contains parameters to specify a new geometry instance.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGeometryInstanceTransformFB(3)
Name
XrGeometryInstanceTransformFB - A geometry transformation
C Specification
The XrGeometryInstanceTransformFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrGeometryInstanceTransformFB {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
XrPosef pose;
XrVector3f scale;
} XrGeometryInstanceTransformFB;
Members
It describes a transformation for a geometry instance.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGlobalDimmerFrameEndInfoML(3)
Name
XrGlobalDimmerFrameEndInfoML - Global Dimmer End Frame Information.
C Specification
The XrGlobalDimmerFrameEndInfoML structure is defined as:
// Provided by XR_ML_global_dimmer
typedef struct XrGlobalDimmerFrameEndInfoML {
XrStructureType type;
const void* next;
float dimmerValue;
XrGlobalDimmerFrameEndInfoFlagsML flags;
} XrGlobalDimmerFrameEndInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingD3D11KHR(3)
Name
XrGraphicsBindingD3D11KHR - The graphics binding structure to be passed at session creation to use D3D11
C Specification
The XrGraphicsBindingD3D11KHR structure is defined as:
// Provided by XR_KHR_D3D11_enable
typedef struct XrGraphicsBindingD3D11KHR {
XrStructureType type;
const void* next;
ID3D11Device* device;
} XrGraphicsBindingD3D11KHR;
Members
Description
To create a D3D11-backed XrSession, the application provides a pointer
to an XrGraphicsBindingD3D11KHR structure in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
The D3D11 device specified in XrGraphicsBindingD3D11KHR::device
must be created in accordance with the requirements retrieved through
xrGetD3D11GraphicsRequirementsKHR, otherwise xrCreateSession
must return XR_ERROR_GRAPHICS_DEVICE_INVALID.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageD3D11KHR for details.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingD3D12KHR(3)
Name
XrGraphicsBindingD3D12KHR - The graphics binding structure to be passed at session creation to use D3D12
C Specification
The XrGraphicsBindingD3D12KHR structure is defined as:
// Provided by XR_KHR_D3D12_enable
typedef struct XrGraphicsBindingD3D12KHR {
XrStructureType type;
const void* next;
ID3D12Device* device;
ID3D12CommandQueue* queue;
} XrGraphicsBindingD3D12KHR;
Members
Description
To create a D3D12-backed XrSession, the application provides a pointer
to an XrGraphicsBindingD3D12KHR structure in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
The D3D12 device specified in XrGraphicsBindingD3D12KHR::device
must be created in accordance with the requirements retrieved through
xrGetD3D12GraphicsRequirementsKHR, otherwise xrCreateSession
must return XR_ERROR_GRAPHICS_DEVICE_INVALID.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageD3D12KHR for details.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingEGLMNDX(3)
Name
XrGraphicsBindingEGLMNDX - The graphics binding structure to be passed at session creation to EGL
C Specification
The XrGraphicsBindingEGLMNDX structure is defined as:
// Provided by XR_MNDX_egl_enable
typedef struct XrGraphicsBindingEGLMNDX {
XrStructureType type;
const void* next;
PFN_xrEglGetProcAddressMNDX getProcAddress;
EGLDisplay display;
EGLConfig config;
EGLContext context;
} XrGraphicsBindingEGLMNDX;
Members
Description
When creating an EGL based XrSession, the application will provide a
pointer to an XrGraphicsBindingEGLMNDX structure in the next
chain of the XrSessionCreateInfo.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_EGL.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingMetalKHR(3)
Name
XrGraphicsBindingMetalKHR - The graphics binding structure to be passed at session creation to use Metal
C Specification
The XrGraphicsBindingMetalKHR structure is defined as:
// Provided by XR_KHR_metal_enable
typedef struct XrGraphicsBindingMetalKHR {
XrStructureType type;
const void* next;
void* commandQueue;
} XrGraphicsBindingMetalKHR;
Members
Description
To create a Metal-backed XrSession, the application provides a pointer
to an XrGraphicsBindingMetalKHR in the
XrSessionCreateInfo::next field of structure passed to
xrCreateSession.
The Metal command queue specified in
XrGraphicsBindingMetalKHR::commandQueue must be created on the
Metal device retrieved through
XrGraphicsRequirementsMetalKHR::metalDevice, otherwise
xrCreateSession must return XR_ERROR_GRAPHICS_DEVICE_INVALID.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageMetalKHR for details.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingOpenGLESAndroidKHR(3)
Name
XrGraphicsBindingOpenGLESAndroidKHR - The graphics binding structure to be passed at session creation to use OpenGL ES on Android
C Specification
The XrGraphicsBindingOpenGLESAndroidKHR structure is defined as:
// Provided by XR_KHR_opengl_es_enable
typedef struct XrGraphicsBindingOpenGLESAndroidKHR {
XrStructureType type;
const void* next;
EGLDisplay display;
EGLConfig config;
EGLContext context;
} XrGraphicsBindingOpenGLESAndroidKHR;
Members
Description
To create an OpenGL ES-backed XrSession on Android, the application
can provide a pointer to an XrGraphicsBindingOpenGLESAndroidKHR
structure in the XrSessionCreateInfo::next chain when calling
xrCreateSession.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageOpenGLESKHR for details.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_ANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingOpenGLWaylandKHR(3)
Name
XrGraphicsBindingOpenGLWaylandKHR - The graphics binding structure to be passed at session creation to use OpenGL on Wayland
C Specification
The XrGraphicsBindingOpenGLWaylandKHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrGraphicsBindingOpenGLWaylandKHR {
XrStructureType type;
const void* next;
struct wl_display* display;
} XrGraphicsBindingOpenGLWaylandKHR;
Members
Description
To create an OpenGL-backed XrSession on any Linux/Unix platform that
utilizes the Wayland protocol with its compositor, the application provides
a pointer to an XrGraphicsBindingOpenGLWaylandKHR in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageOpenGLKHR for details.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_WAYLAND.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingOpenGLWin32KHR(3)
Name
XrGraphicsBindingOpenGLWin32KHR - The graphics binding structure to be passed at session creation to use OpenGL on Windows
C Specification
The XrGraphicsBindingOpenGLWin32KHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrGraphicsBindingOpenGLWin32KHR {
XrStructureType type;
const void* next;
HDC hDC;
HGLRC hGLRC;
} XrGraphicsBindingOpenGLWin32KHR;
Members
Description
To create an OpenGL-backed XrSession on Microsoft Windows, the
application provides a pointer to an XrGraphicsBindingOpenGLWin32KHR
structure in the XrSessionCreateInfo::next chain when calling
xrCreateSession.
As no standardized way exists for OpenGL to create the graphics context on a
specific GPU, the runtime must assume that the application uses the
operating system’s default GPU when this structure is supplied.
If the GPU used by the runtime does not match the GPU on which the OpenGL
context of the application was created, xrCreateSession must return
XR_ERROR_GRAPHICS_DEVICE_INVALID.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageOpenGLKHR for details.
By providing a context as hGLRC, the application becomes subject to
restrictions on use of that context which effectively introduces additional
external synchronization requirements on some OpenXR calls.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_opengl_enable-threading for details.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_WIN32.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingOpenGLXcbKHR(3)
Name
XrGraphicsBindingOpenGLXcbKHR - The graphics binding structure to be passed at session creation to use OpenGL on X11 via XCB
C Specification
The XrGraphicsBindingOpenGLXcbKHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrGraphicsBindingOpenGLXcbKHR {
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;
} XrGraphicsBindingOpenGLXcbKHR;
Members
Description
To create an OpenGL-backed XrSession on any Linux/Unix platform that
utilizes X11 and GLX, via the Xlib library, the application provides a
pointer to an XrGraphicsBindingOpenGLXcbKHR in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageOpenGLKHR for details.
By providing a GLX context as glxContext, the application becomes
subject to restrictions on use of that context which effectively introduces
additional external synchronization requirements on some OpenXR calls.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_opengl_enable-threading for details.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_XCB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingOpenGLXlibKHR(3)
Name
XrGraphicsBindingOpenGLXlibKHR - The graphics binding structure to be passed at session creation to use OpenGL on X11 via Xlib
C Specification
The XrGraphicsBindingOpenGLXlibKHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrGraphicsBindingOpenGLXlibKHR {
XrStructureType type;
const void* next;
Display* xDisplay;
uint32_t visualid;
GLXFBConfig glxFBConfig;
GLXDrawable glxDrawable;
GLXContext glxContext;
} XrGraphicsBindingOpenGLXlibKHR;
Members
Description
To create an OpenGL-backed XrSession on any Linux/Unix platform that
utilizes X11 and GLX, via the Xlib library, the application provides a
pointer to an XrGraphicsBindingOpenGLXlibKHR in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageOpenGLKHR for details.
By providing a GLX context as glxContext, the application becomes
subject to restrictions on use of that context which effectively introduces
additional external synchronization requirements on some OpenXR calls.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_opengl_enable-threading for details.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_XLIB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingVulkanKHR(3)
Name
XrGraphicsBindingVulkanKHR - The graphics binding structure to be passed at session creation to use Vulkan
C Specification
The XrGraphicsBindingVulkanKHR structure is defined as:
// Provided by XR_KHR_vulkan_enable
typedef struct XrGraphicsBindingVulkanKHR {
XrStructureType type;
const void* next;
VkInstance instance;
VkPhysicalDevice physicalDevice;
VkDevice device;
uint32_t queueFamilyIndex;
uint32_t queueIndex;
} XrGraphicsBindingVulkanKHR;
Members
Description
To create a Vulkan-backed XrSession, the application provides a
pointer to an XrGraphicsBindingVulkanKHR structure in the
XrSessionCreateInfo::next chain when calling
xrCreateSession.
Creating a session using this structure triggers several requirements on the runtime regarding swapchain images. See the specification of XrSwapchainImageVulkanKHR for details. The application must externally synchronize the queue referred to by this structure according to https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_vulkan_enable-concurrency.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsD3D11KHR(3)
Name
XrGraphicsRequirementsD3D11KHR - D3D11 feature level and LUID requirements
C Specification
The XrGraphicsRequirementsD3D11KHR structure is defined as:
// Provided by XR_KHR_D3D11_enable
typedef struct XrGraphicsRequirementsD3D11KHR {
XrStructureType type;
void* next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D11KHR;
Members
Description
XrGraphicsRequirementsD3D11KHR is populated by xrGetD3D11GraphicsRequirementsKHR with the runtime’s D3D11 API feature level and adapter requirements.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsD3D12KHR(3)
Name
XrGraphicsRequirementsD3D12KHR - D3D12 feature level and LUID requirements
C Specification
The XrGraphicsRequirementsD3D12KHR structure is defined as:
// Provided by XR_KHR_D3D12_enable
typedef struct XrGraphicsRequirementsD3D12KHR {
XrStructureType type;
void* next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D12KHR;
Members
Description
XrGraphicsRequirementsD3D12KHR is populated by xrGetD3D12GraphicsRequirementsKHR with the runtime’s D3D12 API feature level and adapter requirements.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsMetalKHR(3)
Name
XrGraphicsRequirementsMetalKHR - Metal GPU device requirements
C Specification
The XrGraphicsRequirementsMetalKHR structure is defined as:
// Provided by XR_KHR_metal_enable
typedef struct XrGraphicsRequirementsMetalKHR {
XrStructureType type;
void* next;
void* metalDevice;
} XrGraphicsRequirementsMetalKHR;
Members
Description
XrGraphicsRequirementsMetalKHR is populated by xrGetMetalGraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsOpenGLESKHR(3)
Name
XrGraphicsRequirementsOpenGLESKHR - OpenGL ES API version requirements
C Specification
The XrGraphicsRequirementsOpenGLESKHR structure is defined as:
// Provided by XR_KHR_opengl_es_enable
typedef struct XrGraphicsRequirementsOpenGLESKHR {
XrStructureType type;
void* next;
XrVersion minApiVersionSupported;
XrVersion maxApiVersionSupported;
} XrGraphicsRequirementsOpenGLESKHR;
Members
Description
XrGraphicsRequirementsOpenGLESKHR is populated by xrGetOpenGLESGraphicsRequirementsKHR with the runtime’s OpenGL ES API version requirements.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsOpenGLKHR(3)
Name
XrGraphicsRequirementsOpenGLKHR - OpenGL API version requirements
C Specification
The XrGraphicsRequirementsOpenGLKHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrGraphicsRequirementsOpenGLKHR {
XrStructureType type;
void* next;
XrVersion minApiVersionSupported;
XrVersion maxApiVersionSupported;
} XrGraphicsRequirementsOpenGLKHR;
Members
Description
XrGraphicsRequirementsOpenGLKHR is populated by xrGetOpenGLGraphicsRequirementsKHR with the runtime’s OpenGL API version requirements.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsVulkanKHR(3)
Name
XrGraphicsRequirementsVulkanKHR - Vulkan API version requirements
C Specification
The XrGraphicsRequirementsVulkanKHR structure is defined as:
// Provided by XR_KHR_vulkan_enable
typedef struct XrGraphicsRequirementsVulkanKHR {
XrStructureType type;
void* next;
XrVersion minApiVersionSupported;
XrVersion maxApiVersionSupported;
} XrGraphicsRequirementsVulkanKHR;
Members
Description
XrGraphicsRequirementsVulkanKHR is populated by xrGetVulkanGraphicsRequirementsKHR with the runtime’s Vulkan API version requirements.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandCapsuleFB(3)
Name
XrHandCapsuleFB - A 3D capsule defined by two points and a radius
C Specification
The XrHandCapsuleFB structure is defined as:
// Provided by XR_FB_hand_tracking_capsules
typedef struct XrHandCapsuleFB {
XrVector3f points[XR_HAND_TRACKING_CAPSULE_POINT_COUNT_FB];
float radius;
XrHandJointEXT joint;
} XrHandCapsuleFB;
Members
It describes a collision capsule associated with a hand joint.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointLocationEXT(3)
Name
XrHandJointLocationEXT - Describes the location and radius of a hand joint
C Specification
XrHandJointLocationEXT structure describes the position, orientation, and radius of a hand joint.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandJointLocationEXT {
XrSpaceLocationFlags locationFlags;
XrPosef pose;
float radius;
} XrHandJointLocationEXT;
Members
Description
If the returned locationFlags has
XR_SPACE_LOCATION_POSITION_VALID_BIT set, the returned radius must be
a positive value.
If the returned locationFlags has
XR_SPACE_LOCATION_POSITION_VALID_BIT unset, the returned radius value
is undefined and should be avoided.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointLocationsEXT(3)
Name
XrHandJointLocationsEXT - Returns the hand joint locations
C Specification
XrHandJointLocationsEXT structure returns the state of the hand joint locations.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandJointLocationsEXT {
XrStructureType type;
void* next;
XrBool32 isActive;
uint32_t jointCount;
XrHandJointLocationEXT* jointLocations;
} XrHandJointLocationsEXT;
Members
Description
The application must allocate the memory for the output array
jointLocations that can contain at least jointCount of
XrHandJointLocationEXT.
The application must set jointCount as described by the
XrHandJointSetEXT when creating the XrHandTrackerEXT otherwise
the runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must return jointLocations representing the range of
motion of a human hand, without any obstructions.
Input systems that obstruct the movement of the user’s hand (e.g.: a held
controller preventing the user from making a fist) or that have only limited
ability to track finger positions must use the information available to
them to emulate an unobstructed range of motion.
The runtime must update the jointLocations array ordered so that the
application can index elements using the corresponding hand joint enum (e.g.
XrHandJointEXT) as described by XrHandJointSetEXT when creating
the XrHandTrackerEXT.
For example, when the XrHandTrackerEXT is created with
XR_HAND_JOINT_SET_DEFAULT_EXT, the application must set the
jointCount to XR_HAND_JOINT_COUNT_EXT, and the runtime must
fill the jointLocations array ordered so that it may be indexed by the
XrHandJointEXT enum.
If the returned isActive is true, the runtime must return all joint
locations with both XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
Although, in this case, some joint space locations may be untracked (i.e.
XR_SPACE_LOCATION_POSITION_TRACKED_BIT or
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT is unset).
If the returned isActive is false, it indicates the hand tracker did
not detect the hand input or the application lost input focus.
In this case, the runtime must return all jointLocations with neither
XR_SPACE_LOCATION_POSITION_VALID_BIT nor
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointVelocitiesEXT(3)
Name
XrHandJointVelocitiesEXT - Returns the hand joint velocities
C Specification
The application can chain an XrHandJointVelocitiesEXT structure to the
next pointer of XrHandJointLocationsEXT when calling
xrLocateHandJointsEXT to retrieve the hand joint velocities.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandJointVelocitiesEXT {
XrStructureType type;
void* next;
uint32_t jointCount;
XrHandJointVelocityEXT* jointVelocities;
} XrHandJointVelocitiesEXT;
Members
Description
The application must allocate the memory for the output array
jointVelocities that can contain at least jointCount of
XrHandJointVelocityEXT.
The application must input jointCount as described by the
XrHandJointSetEXT when creating the XrHandTrackerEXT.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must update the jointVelocities array in the order so
that the application can index elements using the corresponding hand joint
enum (e.g. XrHandJointEXT) as described by the XrHandJointSetEXT
when creating the XrHandTrackerEXT.
For example, when the XrHandTrackerEXT is created with
XR_HAND_JOINT_SET_DEFAULT_EXT, the application must set the
jointCount to XR_HAND_JOINT_COUNT_EXT, and the returned
jointVelocities array must be ordered to be indexed by enum
XrHandJointEXT enum.
If the returned XrHandJointLocationsEXT::isActive is false, it
indicates the hand tracker did not detect a hand input or the application
lost input focus.
In this case, the runtime must return all jointVelocities with
neither XR_SPACE_VELOCITY_LINEAR_VALID_BIT nor
XR_SPACE_VELOCITY_ANGULAR_VALID_BIT set.
If an XrHandJointVelocitiesEXT structure is chained to
XrHandJointLocationsEXT::next, the returned
XrHandJointLocationsEXT::isActive is true, and the velocity is
observed or can be calculated by the runtime, the runtime must fill in the
linear velocity of each hand joint within the reference frame of
XrHandJointsLocateInfoEXT::baseSpace and set the
XR_SPACE_VELOCITY_LINEAR_VALID_BIT.
Similarly, if an XrHandJointVelocitiesEXT structure is chained to
XrHandJointLocationsEXT::next, the returned
XrHandJointLocationsEXT::isActive is true, and the angular
velocity is observed or can be calculated by the runtime, the runtime
must fill in the angular velocity of each joint within the reference frame
of XrHandJointsLocateInfoEXT::baseSpace and set the
XR_SPACE_VELOCITY_ANGULAR_VALID_BIT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointVelocityEXT(3)
Name
XrHandJointVelocityEXT - Describes the velocity of a hand joint
C Specification
XrHandJointVelocityEXT structure describes the linear and angular velocity of a hand joint.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandJointVelocityEXT {
XrSpaceVelocityFlags velocityFlags;
XrVector3f linearVelocity;
XrVector3f angularVelocity;
} XrHandJointVelocityEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointsLocateInfoEXT(3)
Name
XrHandJointsLocateInfoEXT - Describes the information to locate hand joints
C Specification
The XrHandJointsLocateInfoEXT structure describes the information to locate hand joints.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandJointsLocateInfoEXT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrHandJointsLocateInfoEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointsMotionRangeInfoEXT(3)
Name
XrHandJointsMotionRangeInfoEXT - Chains to XrHandJointsLocateInfoEXT to specify final hand tracking grip pose
C Specification
The XrHandJointsMotionRangeInfoEXT is a structure that an application
can chain in XrHandJointsLocateInfoEXT to request the joint motion
range specified by the handJointsMotionRange field.
Runtimes must return the appropriate joint locations depending on the
handJointsMotionRange field and the currently active interaction
profile.
// Provided by XR_EXT_hand_joints_motion_range
typedef struct XrHandJointsMotionRangeInfoEXT {
XrStructureType type;
const void* next;
XrHandJointsMotionRangeEXT handJointsMotionRange;
} XrHandJointsMotionRangeInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshIndexBufferMSFT(3)
Name
XrHandMeshIndexBufferMSFT - The index buffer of a hand mesh
C Specification
A XrHandMeshIndexBufferMSFT structure includes an array of indices describing the triangle list of a hand mesh.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshIndexBufferMSFT {
uint32_t indexBufferKey;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint32_t* indices;
} XrHandMeshIndexBufferMSFT;
Members
Description
An application should preallocate the indices array using the
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshIndexCount
returned from xrGetSystemProperties.
In this way, the application can avoid possible insufficient buffer sizees
for each query, and therefore avoid reallocating memory each frame.
The input indexCapacityInput must not be 0, and indices must
not be NULL, or else the runtime must return
XR_ERROR_VALIDATION_FAILURE on calls to the xrUpdateHandMeshMSFT
function.
If the input indexCapacityInput is not sufficient to contain all
output indices, the runtime must return XR_ERROR_SIZE_INSUFFICIENT on
calls to xrUpdateHandMeshMSFT, not change the content in
indexBufferKey and indices, and return 0 for
indexCountOutput.
If the input indexCapacityInput is equal to or larger than the
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshIndexCount
returned from xrGetSystemProperties, the runtime must not return
XR_ERROR_SIZE_INSUFFICIENT error on xrUpdateHandMeshMSFT because
of insufficient index buffer size.
If the input indexBufferKey is 0, the capacity of indices array is
sufficient, and hand mesh tracking is active, the runtime must return the
latest non-zero indexBufferKey, and fill in indexCountOutput and
indices.
If the input indexBufferKey is not 0, the runtime can either return
without changing indexCountOutput or content in indices, and
return XR_FALSE for XrHandMeshMSFT::indexBufferChanged
indicating the indices are not changed; or return a new non-zero
indexBufferKey and fill in latest data in indexCountOutput and
indices, and return XR_TRUE for
XrHandMeshMSFT::indexBufferChanged indicating the indices are
updated to a newer version.
An application can keep the XrHandMeshIndexBufferMSFT structure for
each frame in a frame loop and use the returned indexBufferKey to
identify different triangle list topology described in indices.
The application can therefore avoid unnecessary processing of indices, such
as coping them to GPU memory.
The runtime must return the same indexBufferKey for the same
XrHandTrackerEXT at a given time, regardless of the input
XrHandPoseTypeMSFT in XrHandMeshUpdateInfoMSFT.
This ensures the index buffer has the same mesh topology and allows the
application to reason about vertices across different hand pose types.
For example, the application can build a procedure to perform UV mapping on
vertices of a hand mesh using
XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT, and apply the resultant UV
data on vertices to the mesh returned from the same hand tracker using
XR_HAND_POSE_TYPE_TRACKED_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshMSFT(3)
Name
XrHandMeshMSFT - The data of a hand mesh
C Specification
A XrHandMeshMSFT structure contains data and buffers to receive updates of hand mesh tracking data from xrUpdateHandMeshMSFT function.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshMSFT {
XrStructureType type;
void* next;
XrBool32 isActive;
XrBool32 indexBufferChanged;
XrBool32 vertexBufferChanged;
XrHandMeshIndexBufferMSFT indexBuffer;
XrHandMeshVertexBufferMSFT vertexBuffer;
} XrHandMeshMSFT;
Members
Description
When the returned isActive value is XR_FALSE, the runtime
indicates the hand is not actively tracked, for example, the hand is outside
of sensor’s range, or the input focus is taken away from the application.
When the runtime returns XR_FALSE to isActive, it must set
indexBufferChanged and vertexBufferChanged to XR_FALSE,
and must not change the content in indexBuffer or vertexBuffer,
When the returned isActive value is XR_TRUE, the hand tracking
mesh represented in indexBuffer and vertexBuffer are updated to
the latest data of the XrHandMeshUpdateInfoMSFT::time given to
the xrUpdateHandMeshMSFT function.
The runtime must set indexBufferChanged and vertexBufferChanged
to reflect whether the index or vertex buffer’s content are changed during
the update.
In this way, the application can easily avoid unnecessary processing of
buffers when there’s no new data.
The hand mesh is represented in triangle lists and each triangle’s vertices
are in clockwise order when looking from outside of the hand.
When hand tracking is active, i.e. when isActive is returned as
XR_TRUE, the returned indexBuffer.indexCountOutput value must be
positive and multiple of 3, and vertexBuffer.vertexCountOutput value must
be equal to or larger than 3.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshSpaceCreateInfoMSFT(3)
Name
XrHandMeshSpaceCreateInfoMSFT - The information to create a hand mesh space
C Specification
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshSpaceCreateInfoMSFT {
XrStructureType type;
const void* next;
XrHandPoseTypeMSFT handPoseType;
XrPosef poseInHandMeshSpace;
} XrHandMeshSpaceCreateInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshUpdateInfoMSFT(3)
Name
XrHandMeshUpdateInfoMSFT - The information to update a hand mesh
C Specification
A XrHandMeshUpdateInfoMSFT describes the information to update a hand mesh.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshUpdateInfoMSFT {
XrStructureType type;
const void* next;
XrTime time;
XrHandPoseTypeMSFT handPoseType;
} XrHandMeshUpdateInfoMSFT;
Members
Description
A runtime may not maintain a full history of hand mesh data, therefore the
returned XrHandMeshMSFT might return data that’s not exactly
corresponding to the time input.
If the runtime cannot return any tracking data for the given time at
all, it must set XrHandMeshMSFT::isActive to XR_FALSE for
the call to xrUpdateHandMeshMSFT.
Otherwise, if the runtime returns XrHandMeshMSFT::isActive as
XR_TRUE, the data in XrHandMeshMSFT must be valid to use.
An application can choose different handPoseType values to query the
hand mesh data.
The returned hand mesh must be consistent to the hand joint space location
on the same XrHandTrackerEXT when using the same
XrHandPoseTypeMSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshVertexBufferMSFT(3)
Name
XrHandMeshVertexBufferMSFT - The vertex buffer of a hand mesh
C Specification
A XrHandMeshVertexBufferMSFT structure includes an array of vertices of the hand mesh represented in the hand mesh space.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshVertexBufferMSFT {
XrTime vertexUpdateTime;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrHandMeshVertexMSFT* vertices;
} XrHandMeshVertexBufferMSFT;
Members
Description
An application should preallocate the vertices array using the
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshVertexCount
returned from xrGetSystemProperties.
In this way, the application can avoid possible insufficient buffer sizes
for each query, and therefore avoid reallocating memory each frame.
The input vertexCapacityInput must not be 0, and vertices must
not be NULL, or else the runtime must return
XR_ERROR_VALIDATION_FAILURE on calls to the xrUpdateHandMeshMSFT
function.
If the input vertexCapacityInput is not sufficient to contain all
output vertices, the runtime must return XR_ERROR_SIZE_INSUFFICIENT
on calls to the xrUpdateHandMeshMSFT, do not change content in
vertexUpdateTime and vertices, and return 0 for
vertexCountOutput.
If the input vertexCapacityInput is equal to or larger than the
XrSystemHandTrackingMeshPropertiesMSFT::maxHandMeshVertexCount
returned from xrGetSystemProperties, the runtime must not return
XR_ERROR_SIZE_INSUFFICIENT on calls to the xrUpdateHandMeshMSFT
because of insufficient vertex buffer size.
If the input vertexUpdateTime is 0, and the capacity of the vertices
array is sufficient, and hand mesh tracking is active, the runtime must
return the latest non-zero vertexUpdateTime, and fill in the
vertexCountOutput and vertices fields.
If the input vertexUpdateTime is not 0, the runtime can either return
without changing vertexCountOutput or the content in vertices,
and return XR_FALSE for
XrHandMeshMSFT::vertexBufferChanged indicating the vertices are
not changed; or return a new non-zero vertexUpdateTime and fill in
latest data in vertexCountOutput and vertices and return
XR_TRUE for XrHandMeshMSFT::vertexBufferChanged indicating
the vertices are updated to a newer version.
An application can keep the XrHandMeshVertexBufferMSFT structure for
each frame in frame loop and use the returned vertexUpdateTime to
detect the changes of the content in vertices.
The application can therefore avoid unnecessary processing of vertices, such
as coping them to GPU memory.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandMeshVertexMSFT(3)
Name
XrHandMeshVertexMSFT - The vertex of hand mesh
C Specification
Each XrHandMeshVertexMSFT includes the position and normal of a vertex of a hand mesh.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandMeshVertexMSFT {
XrVector3f position;
XrVector3f normal;
} XrHandMeshVertexMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandPoseTypeInfoMSFT(3)
Name
XrHandPoseTypeInfoMSFT - Describes what hand pose type for the hand joint tracking.
C Specification
An application can chain an XrHandPoseTypeInfoMSFT structure to the
XrHandTrackerCreateInfoEXT::next pointer when calling
xrCreateHandTrackerEXT to indicate the hand tracker to return the hand
pose of specific XrHandPoseTypeMSFT.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrHandPoseTypeInfoMSFT {
XrStructureType type;
const void* next;
XrHandPoseTypeMSFT handPoseType;
} XrHandPoseTypeInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackerCreateInfoEXT(3)
Name
XrHandTrackerCreateInfoEXT - Information to create a hand joints handle
C Specification
The XrHandTrackerCreateInfoEXT structure describes the information to create an XrHandTrackerEXT handle.
// Provided by XR_EXT_hand_tracking
typedef struct XrHandTrackerCreateInfoEXT {
XrStructureType type;
const void* next;
XrHandEXT hand;
XrHandJointSetEXT handJointSet;
} XrHandTrackerCreateInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingAimStateFB(3)
Name
XrHandTrackingAimStateFB - Current aiming gesture state for the hand
C Specification
XrHandTrackingAimStateFB can be provided in the next chain of
XrHandJointLocationsEXT when calling xrLocateHandJointsEXT to
request aiming gesture information associated with this hand.
The XrHandTrackingAimStateFB structure is defined as:
// Provided by XR_FB_hand_tracking_aim
typedef struct XrHandTrackingAimStateFB {
XrStructureType type;
void* next;
XrHandTrackingAimFlagsFB status;
XrPosef aimPose;
float pinchStrengthIndex;
float pinchStrengthMiddle;
float pinchStrengthRing;
float pinchStrengthLittle;
} XrHandTrackingAimStateFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingCapsulesStateFB(3)
Name
XrHandTrackingCapsulesStateFB - A list of capsules associated to hand joints
C Specification
XrHandTrackingCapsulesStateFB can be provided in the next chain
of XrHandJointLocationsEXT when calling xrLocateHandJointsEXT to
request collision capsule information associated with this hand.
The XrHandTrackingCapsulesStateFB structure is defined as:
// Provided by XR_FB_hand_tracking_capsules
typedef struct XrHandTrackingCapsulesStateFB {
XrStructureType type;
void* next;
XrHandCapsuleFB capsules[XR_HAND_TRACKING_CAPSULE_COUNT_FB];
} XrHandTrackingCapsulesStateFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingDataSourceInfoEXT(3)
Name
XrHandTrackingDataSourceInfoEXT - Specify the data source to create the hand tracker
C Specification
The XrHandTrackingDataSourceInfoEXT structure is defined as:
// Provided by XR_EXT_hand_tracking_data_source
typedef struct XrHandTrackingDataSourceInfoEXT {
XrStructureType type;
const void* next;
uint32_t requestedDataSourceCount;
XrHandTrackingDataSourceEXT* requestedDataSources;
} XrHandTrackingDataSourceInfoEXT;
Members
Description
The XrHandTrackingDataSourceInfoEXT is a structure that an application
can chain to XrHandTrackerCreateInfoEXT::next to specify the
hand tracking data sources that the application accepts.
Because the hand tracking device may change during a running session, the
runtime may return a valid XrHandTrackerEXT handle even if there is
no currently active hand tracking device or the active device does not
safisty any or all data sources requested by the applications’s call to
xrCreateHandTrackerEXT.
The runtime may instead return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateHandTrackerEXT, if for example the runtime believes it will
never be able to satisfy the request.
If any value in requestedDataSources is duplicated, the runtime must
return XR_ERROR_VALIDATION_FAILURE from the call to
xrCreateHandTrackerEXT.
If requestedDataSourceCount is 0, the runtime must return
XR_ERROR_VALIDATION_FAILURE from the call to
xrCreateHandTrackerEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingDataSourceStateEXT(3)
Name
XrHandTrackingDataSourceStateEXT - Chains to XrHandJointLocationsEXT to get hand tracking data source state
C Specification
The XrHandTrackingDataSourceStateEXT structure is defined as:
// Provided by XR_EXT_hand_tracking_data_source
typedef struct XrHandTrackingDataSourceStateEXT {
XrStructureType type;
void* next;
XrBool32 isActive;
XrHandTrackingDataSourceEXT dataSource;
} XrHandTrackingDataSourceStateEXT;
Members
Description
XrHandTrackingDataSourceStateEXT is a structure that an application
can chain to XrHandJointLocationsEXT::next when calling
xrLocateHandJointsEXT to retrieve the data source of the currently
active hand tracking device.
When the returned isActive is XR_FALSE, it indicates the currently
active hand tracking device does not support any of the requested data
sources.
In these cases, the runtime must also return no valid tracking locations
for hand joints from this xrLocateHandJointsEXT function.
If the tracker was not created with XrHandTrackingDataSourceInfoEXT
chained to XrHandTrackerCreateInfoEXT::next, then the runtime
must return XR_ERROR_VALIDATION_FAILURE, if
XrHandTrackingDataSourceStateEXT is passed in the call to
xrLocateHandJointsEXT.
If there is an active hand tracking device that is one of the specified
XrHandTrackingDataSourceInfoEXT::requestedDataSources, the
runtime must set isActive to XR_TRUE.
When the runtime sets isActive to XR_TRUE, the runtime must set
dataSource indicate the active data source.
The runtime must return a dataSource that is a subset of the
XrHandTrackingDataSourceInfoEXT::requestedDataSources when
creating the corresponding hand tracker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingMeshFB(3)
Name
XrHandTrackingMeshFB - A container of mesh data
C Specification
The XrHandTrackingMeshFB structure contains three sets of parallel, application-allocated arrays: one with per-joint data, one with vertex data, and one with index data.
The XrHandTrackingMeshFB structure is defined as:
// Provided by XR_FB_hand_tracking_mesh
typedef struct XrHandTrackingMeshFB {
XrStructureType type;
void* next;
uint32_t jointCapacityInput;
uint32_t jointCountOutput;
XrPosef* jointBindPoses;
float* jointRadii;
XrHandJointEXT* jointParents;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector3f* vertexPositions;
XrVector3f* vertexNormals;
XrVector2f* vertexUVs;
XrVector4sFB* vertexBlendIndices;
XrVector4f* vertexBlendWeights;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
int16_t* indices;
} XrHandTrackingMeshFB;
Members
Description
All arrays are application-allocated, and all may be NULL if any of
jointCapacityInput, vertexCapacityInput, or
indexCapacityInput is 0.
The data in a fully-populated XrHandTrackingMeshFB is immutable during the lifetime of the corresponding XrInstance, and is intended to be retrieved once then used in combination with data changing per-frame retrieved from xrLocateHandJointsEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingScaleFB(3)
Name
XrHandTrackingScaleFB - The information to query and modify hand joint overall scale
C Specification
XrHandTrackingScaleFB can be provided in the next chain of
XrHandJointLocationsEXT when calling xrLocateHandJointsEXT to
indicate to the runtime that the requested joints need to be scaled to a
different size and to query the existing scale value.
This is useful in breaking up the overall scale out of the skinning
transforms.
The XrHandTrackingScaleFB structure is defined as:
// Provided by XR_FB_hand_tracking_mesh
typedef struct XrHandTrackingScaleFB {
XrStructureType type;
void* next;
float sensorOutput;
float currentOutput;
XrBool32 overrideHandScale;
float overrideValueInput;
} XrHandTrackingScaleFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticActionInfo(3)
Name
XrHapticActionInfo - Information to output haptic feedback
C Specification
The XrHapticActionInfo structure is used to provide action and
subaction paths when calling xr*HapticFeedback function.
It is defined as:
typedef struct XrHapticActionInfo {
XrStructureType type;
const void* next;
XrAction action;
XrPath subactionPath;
} XrHapticActionInfo;
Members
Description
See XrActionCreateInfo for a description of subaction paths, and the restrictions on their use.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticAmplitudeEnvelopeVibrationFB(3)
Name
XrHapticAmplitudeEnvelopeVibrationFB - Haptic Effect Description
C Specification
An application can trigger an amplitude envelope haptic effect by creating a XrHapticAmplitudeEnvelopeVibrationFB structure and calling xrApplyHapticFeedback.
The XrHapticAmplitudeEnvelopeVibrationFB structure is defined as:
// Provided by XR_FB_haptic_amplitude_envelope
typedef struct XrHapticAmplitudeEnvelopeVibrationFB {
XrStructureType type;
const void* next;
XrDuration duration;
uint32_t amplitudeCount;
const float* amplitudes;
} XrHapticAmplitudeEnvelopeVibrationFB;
Members
This structure describes an amplitude envelope haptic effect.
Description
The runtime should resample the provided samples in the amplitudes,
and maintain an internal buffer which should be of
XR_MAX_HAPTIC_AMPLITUDE_ENVELOPE_SAMPLES_FB length.
The resampling should happen based on the duration,
amplitudeCount, and the device’s sample rate.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticBaseHeader(3)
Name
XrHapticBaseHeader - Base header for haptic feedback
C Specification
The XrHapticBaseHeader structure is defined as:
typedef struct XrHapticBaseHeader {
XrStructureType type;
const void* next;
} XrHapticBaseHeader;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticPcmVibrationFB(3)
Name
XrHapticPcmVibrationFB - Haptic Effect Description
C Specification
The XrHapticPcmVibrationFB structure is defined as:
// Provided by XR_FB_haptic_pcm
typedef struct XrHapticPcmVibrationFB {
XrStructureType type;
const void* next;
uint32_t bufferSize;
const float* buffer;
float sampleRate;
XrBool32 append;
uint32_t* samplesConsumed;
} XrHapticPcmVibrationFB;
Members
Description
This structure describes a PCM haptic effect.
The runtime may resample the provided samples in the buffer, and
maintain an internal buffer which should be of
XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB length.
The resampling should happen based on the sampleRate and the device’s
sample rate.
If append is XR_TRUE and a preceding
XrHapticPcmVibrationFB haptic effect on this action has not yet
completed, then the runtime must finish playing the preceding samples and
then play the new haptic effect.
If a preceding haptic event on this action has not yet completed, and either
the preceding effect is not an XrHapticPcmVibrationFB haptic effect or
append is XR_FALSE, the runtime must cancel the preceding
incomplete effects on that action and start playing the new haptic effect,
as usual for the core specification.
When append is true and a preceding XrHapticPcmVibrationFB
haptic effect on this action has not yet completed, then the application can
provide a different sampleRate in the new haptic effect.
The runtime must populate the samplesConsumed with the count of the
samples from buffer which were consumed.
The samplesConsumed is populated before the
xrApplyHapticFeedback returns.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticVibration(3)
Name
XrHapticVibration - Base header for haptic feedback
C Specification
The XrHapticVibration structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrHapticVibration {
XrStructureType type;
const void* next;
XrDuration duration;
float frequency;
float amplitude;
} XrHapticVibration;
Members
Description
The XrHapticVibration is used in calls to xrApplyHapticFeedback
that trigger vibration output actions.
The duration, and frequency parameters may be clamped to
implementation-dependent ranges.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHolographicWindowAttachmentMSFT(3)
Name
XrHolographicWindowAttachmentMSFT - The holographic window binding structure which can be passed at session creation
C Specification
The XrHolographicWindowAttachmentMSFT structure is defined as:
// Provided by XR_MSFT_holographic_window_attachment
typedef struct XrHolographicWindowAttachmentMSFT {
XrStructureType type;
const void* next;
IUnknown* holographicSpace;
IUnknown* coreWindow;
} XrHolographicWindowAttachmentMSFT;
Members
Description
When creating a holographic window-backed XrSession, the application
provides a pointer to an XrHolographicWindowAttachmentMSFT in the
next chain of the XrSessionCreateInfo.
The session state of a holographic window-backed XrSession will only
reach XR_SESSION_STATE_VISIBLE when the provided CoreWindow is made
visible.
If the CoreWindow is for a secondary app view, the application must
programmatically request to make the CoreWindow visible (e.g. with
ApplicationViewSwitcher.TryShowAsStandaloneAsync or
ApplicationViewSwitcher.SwitchAsync).
The app must not call xrCreateSession while the specified CoreWindow thread is blocked, otherwise the call may deadlock.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInputSourceLocalizedNameGetInfo(3)
Name
XrInputSourceLocalizedNameGetInfo - Information to query the bound input sources for an action
C Specification
The XrInputSourceLocalizedNameGetInfo structure is defined as:
typedef struct XrInputSourceLocalizedNameGetInfo {
XrStructureType type;
const void* next;
XrPath sourcePath;
XrInputSourceLocalizedNameFlags whichComponents;
} XrInputSourceLocalizedNameGetInfo;
Members
Description
The result of passing an XrPath sourcePath not retrieved
from xrEnumerateBoundSourcesForAction is not specified.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateInfo(3)
Name
XrInstanceCreateInfo - Structure specifying params of a newly created instance
C Specification
The XrInstanceCreateInfo structure is defined as:
typedef struct XrInstanceCreateInfo {
XrStructureType type;
const void* next;
XrInstanceCreateFlags createFlags;
XrApplicationInfo applicationInfo;
uint32_t enabledApiLayerCount;
const char* const* enabledApiLayerNames;
uint32_t enabledExtensionCount;
const char* const* enabledExtensionNames;
} XrInstanceCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateInfoAndroidKHR(3)
Name
XrInstanceCreateInfoAndroidKHR - Creates an OpenXR Instance
C Specification
The XrInstanceCreateInfoAndroidKHR structure is defined as:
// Provided by XR_KHR_android_create_instance
typedef struct XrInstanceCreateInfoAndroidKHR {
XrStructureType type;
const void* next;
void* applicationVM;
void* applicationActivity;
} XrInstanceCreateInfoAndroidKHR;
Members
Description
XrInstanceCreateInfoAndroidKHR contains additional Android specific
information needed when calling xrCreateInstance.
The applicationVM field should be populated with the JavaVM
structure received by the JNI_OnLoad function, while the
applicationActivity field will typically contain a reference to a Java
activity object received through an application-specific native method.
The XrInstanceCreateInfoAndroidKHR structure must be provided in the
next chain of the XrInstanceCreateInfo structure when calling
xrCreateInstance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceProperties(3)
Name
XrInstanceProperties - Contains information about the instance
C Specification
The XrInstanceProperties structure is defined as:
typedef struct XrInstanceProperties {
XrStructureType type;
void* next;
XrVersion runtimeVersion;
char runtimeName[XR_MAX_RUNTIME_NAME_SIZE];
} XrInstanceProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileAnalogThresholdVALVE(3)
Name
XrInteractionProfileAnalogThresholdVALVE - Interaction profile dpad binding
C Specification
The XrInteractionProfileAnalogThresholdVALVE structure is an input
struct that defines thresholds and haptic feedback behavior for action
bindings and should be added to the
XrBindingModificationsKHR::bindingModifications array of the
XrBindingModificationsKHR structure (See
XR_KHR_binding_modification extension).
// Provided by XR_VALVE_analog_threshold
typedef struct XrInteractionProfileAnalogThresholdVALVE {
XrStructureType type;
const void* next;
XrAction action;
XrPath binding;
float onThreshold;
float offThreshold;
const XrHapticBaseHeader* onHaptic;
const XrHapticBaseHeader* offHaptic;
} XrInteractionProfileAnalogThresholdVALVE;
Members
Description
Applications can also chain a single XrInteractionProfileAnalogThresholdVALVE structure on the next chain of any xrSuggestInteractionProfileBindings call. Runtimes must support this kind of chaining. This method of specifying analog thresholds is deprecated however, and should not be used by any new applications.
If a threshold struct is present for a given conversion, the runtime must use those thresholds instead of applying its own whenever it is using the binding suggested by the application.
onThreshold and offThreshold permit allow the application to
specify that it wants hysteresis to be applied to the threshold operation.
If onThreshold is smaller than offThreshold, the runtime must
return XR_ERROR_VALIDATION_FAILURE.
onHaptic and offHaptic allow the application to specify that it
wants automatic haptic feedback to be generated when the boolean output of
the threshold operation changes from false to true or vice versa.
If these fields are not NULL, the runtime must trigger a haptic output with
the specified characteristics.
If the device has multiple haptic outputs, the runtime should use the
haptic output that is most appropriate for the specified input path.
If a suggested binding with action and binding is not in the
binding list for this interaction profile, the runtime must return
XR_ERROR_PATH_UNSUPPORTED.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileDpadBindingEXT(3)
Name
XrInteractionProfileDpadBindingEXT - Interaction profile dpad binding
C Specification
The XrInteractionProfileDpadBindingEXT structure is defined as:
// Provided by XR_EXT_dpad_binding
typedef struct XrInteractionProfileDpadBindingEXT {
XrStructureType type;
const void* next;
XrPath binding;
XrActionSet actionSet;
float forceThreshold;
float forceThresholdReleased;
float centerRegion;
float wedgeAngle;
XrBool32 isSticky;
const XrHapticBaseHeader* onHaptic;
const XrHapticBaseHeader* offHaptic;
} XrInteractionProfileDpadBindingEXT;
Members
Description
The XrInteractionProfileDpadBindingEXT structure is an input struct
that defines how to use any two-axis input to provide dpad-like
functionality to the application.
The struct must be added for each input that should be treated as a dpad to
the XrBindingModificationsKHR::bindingModifications array in the
XrBindingModificationsKHR structure (See
XR_KHR_binding_modification extension).
Runtimes are free to ignore any of the fields when not obeying the bindings, but may use it for automatic rebindings of actions.
The implementation must return XR_ERROR_VALIDATION_FAILURE from
xrSuggestInteractionProfileBindings if any of the following are true:
-
forceThresholdorforceThresholdReleasedare outside the half-open range (0, 1] -
forceThreshold<forceThresholdReleased -
centerRegionis outside the exclusive range (0, 1) -
wedgeAngleoutside the half-open range [0, π)
If more than one XrInteractionProfileDpadBindingEXT is provided for
the same input identifier, including top level path (e.g.
/user/hand/left/input/thumbstick), and two or more of them specify
the same actionset, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
If the same input identifier, including top level path, is used for more
than one action set, in addition to inputs being suppressed by higher priority action sets, haptic events from dpads are
also suppressed.
For example, a Valve Index controller binding with a "Walking" action set can have a dpad on each of:
-
left thumbstick
-
right thumbstick
-
left trackpad
-
right trackpad
Another action set can also have a dpad active on each of those inputs, and they can have different settings. If both action sets are active, the higher priority one trumps the lower priority one, and the lower priority one is suppressed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileState(3)
Name
XrInteractionProfileState - Receives active interaction profile for a top level path
C Specification
The XrInteractionProfileState structure is defined as:
typedef struct XrInteractionProfileState {
XrStructureType type;
void* next;
XrPath interactionProfile;
} XrInteractionProfileState;
Members
Description
The runtime must only include interaction profiles that the application has provided bindings for via xrSuggestInteractionProfileBindings or XR_NULL_PATH. If the runtime is rebinding an interaction profile provided by the application to a device that the application did not provide bindings for, it must return the interaction profile path that it is emulating. If the runtime is unable to provide input because it cannot emulate any of the application-provided interaction profiles, it must return XR_NULL_PATH.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileSuggestedBinding(3)
Name
XrInteractionProfileSuggestedBinding - Suggested bindings for a interaction profile
C Specification
The XrInteractionProfileSuggestedBinding structure is defined as:
typedef struct XrInteractionProfileSuggestedBinding {
XrStructureType type;
const void* next;
XrPath interactionProfile;
uint32_t countSuggestedBindings;
const XrActionSuggestedBinding* suggestedBindings;
} XrInteractionProfileSuggestedBinding;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionRenderModelIdsEnumerateInfoEXT(3)
Name
XrInteractionRenderModelIdsEnumerateInfoEXT - The information to enumerate interaction render models
C Specification
The XrInteractionRenderModelIdsEnumerateInfoEXT structure is defined as:
// Provided by XR_EXT_interaction_render_model
typedef struct XrInteractionRenderModelIdsEnumerateInfoEXT {
XrStructureType type;
const void* next;
} XrInteractionRenderModelIdsEnumerateInfoEXT;
Members
Description
XrInteractionRenderModelIdsEnumerateInfoEXT is an input structure for the xrEnumerateInteractionRenderModelIdsEXT function. XrInteractionRenderModelIdsEnumerateInfoEXT exists for future extensibility.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionRenderModelSubactionPathInfoEXT(3)
Name
XrInteractionRenderModelSubactionPathInfoEXT - The information to enumerate subaction paths associated with an interaction render model
C Specification
The XrInteractionRenderModelSubactionPathInfoEXT structure is defined as:
// Provided by XR_EXT_interaction_render_model
typedef struct XrInteractionRenderModelSubactionPathInfoEXT {
XrStructureType type;
const void* next;
} XrInteractionRenderModelSubactionPathInfoEXT;
Members
Description
XrInteractionRenderModelSubactionPathInfoEXT exists for future extensibility.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionRenderModelTopLevelUserPathGetInfoEXT(3)
Name
XrInteractionRenderModelTopLevelUserPathGetInfoEXT - The information to enumerate top-level /user paths associated with an interaction render model
C Specification
The XrInteractionRenderModelTopLevelUserPathGetInfoEXT structure is defined as:
// Provided by XR_EXT_interaction_render_model
typedef struct XrInteractionRenderModelTopLevelUserPathGetInfoEXT {
XrStructureType type;
const void* next;
uint32_t topLevelUserPathCount;
const XrPath* topLevelUserPaths;
} XrInteractionRenderModelTopLevelUserPathGetInfoEXT;
Members
If any elements in topLevelUserPaths are duplicated, the runtime must
return XR_ERROR_VALIDATION_FAILURE from
xrGetRenderModelPoseTopLevelUserPathEXT.
If any elements in topLevelUserPaths are not valid
top level /user paths, the runtime must
return XR_ERROR_PATH_INVALID from
xrGetRenderModelPoseTopLevelUserPathEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardSpaceCreateInfoFB(3)
Name
XrKeyboardSpaceCreateInfoFB - Input data needed by the system to start tracking a keyboard.
C Specification
The XrKeyboardSpaceCreateInfoFB structure is defined as:
// Provided by XR_FB_keyboard_tracking
typedef struct XrKeyboardSpaceCreateInfoFB {
XrStructureType type;
void* next;
uint64_t trackedKeyboardId;
} XrKeyboardSpaceCreateInfoFB;
Members
Description
XrKeyboardSpaceCreateInfoFB describes a request for the system needed to create a trackable XrSpace associated with the keyboard.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingDescriptionFB(3)
Name
XrKeyboardTrackingDescriptionFB - Description of a trackable keyboard.
C Specification
The XrKeyboardTrackingDescriptionFB structure is defined as:
// Provided by XR_FB_keyboard_tracking
typedef struct XrKeyboardTrackingDescriptionFB {
uint64_t trackedKeyboardId;
XrVector3f size;
XrKeyboardTrackingFlagsFB flags;
char name[XR_MAX_KEYBOARD_TRACKING_NAME_SIZE_FB];
} XrKeyboardTrackingDescriptionFB;
Members
Description
XrKeyboardTrackingDescriptionFB describes a trackable keyboard and its associated metadata.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingQueryFB(3)
Name
XrKeyboardTrackingQueryFB - Input data needed to determine which type of tracked keyboard to query for.
C Specification
The XrKeyboardTrackingQueryFB structure is defined as:
// Provided by XR_FB_keyboard_tracking
typedef struct XrKeyboardTrackingQueryFB {
XrStructureType type;
void* next;
XrKeyboardTrackingQueryFlagsFB flags;
} XrKeyboardTrackingQueryFB;
Members
Description
XrKeyboardTrackingQueryFB specifies input data needed to determine which type of tracked keyboard to query for.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLipExpressionDataBD(3)
Name
XrLipExpressionDataBD - contain the lip expression
C Specification
The XrLipExpressionDataBD structure is defined as:
// Provided by XR_BD_facial_simulation
typedef struct XrLipExpressionDataBD {
XrStructureType type;
void* next;
uint32_t lipsyncExpressionWeightCount;
float* lipsyncExpressionWeights;
} XrLipExpressionDataBD;
Members
The XrLipExpressionDataBD structure contains the lip expression blend weights. See XrFacialSimulationModeBD for details and for how this interacts with facial expression tracking.
Description
If an application creates XrFaceTrackerBD by calling
xrCreateFaceTrackerBD using the mode
XR_FACIAL_SIMULATION_MODE_COMBINED_AUDIO_WITH_LIP_BD or the mode
XR_FACIAL_SIMULATION_MODE_ONLY_AUDIO_WITH_LIP_BD, meaning the
application wants to get the lip expression in XrLipExpressionBD, the
application must chain an XrLipExpressionDataBD to
XrFacialSimulationDataBD::next when calling
xrGetFacialSimulationDataBD.
If no structure containing lip data is passed, the structure on this chain
will be ignored.
The runtime must return lipsyncExpressionWeights representing the
weights of the blend shapes of the current lip expression.
The runtime must update the lipsyncExpressionWeights array ordered so
that it is indexed using the corresponding lip expression enum
XrLipExpressionBD.
An application must preallocate the output lipsyncExpressionWeights
array that can contain at least lipsyncExpressionWeightCount of
float.
lipsyncExpressionWeightCount must be
XR_LIP_EXPRESSION_COUNT_BD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLoaderInitInfoAndroidKHR(3)
Name
XrLoaderInitInfoAndroidKHR - Initializes OpenXR loader on Android
C Specification
The XrLoaderInitInfoAndroidKHR structure is defined as:
// Provided by XR_KHR_loader_init_android
typedef struct XrLoaderInitInfoAndroidKHR {
XrStructureType type;
const void* next;
void* applicationVM;
void* applicationContext;
} XrLoaderInitInfoAndroidKHR;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLoaderInitInfoBaseHeaderKHR(3)
Name
XrLoaderInitInfoBaseHeaderKHR - Initializes OpenXR loader
C Specification
The XrLoaderInitInfoBaseHeaderKHR structure is defined as:
// Provided by XR_KHR_loader_init
typedef struct XrLoaderInitInfoBaseHeaderKHR {
XrStructureType type;
const void* next;
} XrLoaderInitInfoBaseHeaderKHR;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLoaderInitInfoPropertiesEXT(3)
Name
XrLoaderInitInfoPropertiesEXT - A array of name-value pairs passed to loader initialization.
C Specification
The XrLoaderInitInfoPropertiesEXT structure is defined as:
// Provided by XR_EXT_loader_init_properties
typedef struct XrLoaderInitInfoPropertiesEXT {
XrStructureType type;
const void* next;
uint32_t propertyValueCount;
const XrLoaderInitPropertyValueEXT* propertyValues;
} XrLoaderInitInfoPropertiesEXT;
Members
Description
This structure is either provided directly as the parameter to
xrInitializeLoaderKHR or on that parameter’s next chain,
depending on whether your platform requires another structure to be passed
to xrInitializeLoaderKHR.
It contains an array of string property name-value pairs, intended primarily
to be used by the loader.
The ordering of properties does not matter because the loader rejects any duplicate entries.
The loader must return XR_ERROR_VALIDATION_FAILURE if there are
duplicate entries of property names in the given array.
The loader must obey the properties in the internal database and use them
to override environment variables.
The loader must start the internal database of property pairs as empty.
The loader must must clear the internal database of property pairs when
xrInitializeLoaderKHR is called with
XrLoaderInitInfoPropertiesEXT passed in an allowed way.
(That is, the loader obeys only the properties passed in the most recent
successful xrInitializeLoaderKHR call that included a
XrLoaderInitInfoPropertiesEXT structure.)
It is unspecified what happens to the properties if the loader is unloaded then reloaded through dynamic library loading, due to differences in platforms beyond the control of this extension. Unlike platform functions to query environment variables, whose case sensitivity varies from platform to platform, the loader must always treat lookups of properties as case-sensitive in the internal database.
This extension describes a behavior of the OpenXR loader and not any behavior of a loaded runtime. As such any properties supplied by the application must not be exposed as environment variables and must not affect any other component of the system. Future loader implementations and loader specifications may add mechanisms for the runtime or OpenXR layers to query the properties but as the writing of this spec no such functionality exists.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLoaderInitPropertyValueEXT(3)
Name
XrLoaderInitPropertyValueEXT - A single property name-value pair passed to loader initialization.
C Specification
The XrLoaderInitPropertyValueEXT structure is defined as:
typedef struct XrLoaderInitPropertyValueEXT {
const char* name;
const char* value;
} XrLoaderInitPropertyValueEXT;
Members
Description
This structure contains a single property name-value pair passed to loader initialization. The XrLoaderInitInfoPropertiesEXT structure is used to pass an array of these structures to the OpenXR loader, and the runtime upon loading, via xrInitializeLoaderKHR.
Rules for the value pair strings:
-
The loader must accept any valid UTF-8 string, including those that only contain whitespace, for both
nameandvalueexcept otherwise covered by a rule in this list. Whitespace-only strings are accepted by this extension because whitespace only paths are valid on some platforms. -
The loader must return
XR_ERROR_VALIDATION_FAILUREifnameorvalueis NULL. -
The loader must return
XR_ERROR_VALIDATION_FAILUREifnameis a zero length string. -
The loader must treat a zero length
valueas if the environmental variable was unset in a platform specific way. -
The loader may impose implementation or platform specific limitation on string lengths and/or total string memory usage and must return
XR_ERROR_LIMIT_REACHEDwhen hit. -
The loader may impose length limits on
nameand/orvaluestrings and must returnXR_ERROR_LIMIT_REACHEDwhen hit. Because they might be imposed by the platform, the limits are unspecified. -
The loader must not reference the memory pointed to by the given strings beyond returning from this call, this implies that the loader will copy the strings into an internal database.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalDimmingFrameEndInfoMETA(3)
Name
XrLocalDimmingFrameEndInfoMETA - Local dimming meta data for the current submitted frame
C Specification
The XrLocalDimmingFrameEndInfoMETA structure is defined as:
// Provided by XR_META_local_dimming
typedef struct XrLocalDimmingFrameEndInfoMETA {
XrStructureType type;
const void* next;
XrLocalDimmingModeMETA localDimmingMode;
} XrLocalDimmingFrameEndInfoMETA;
Members
Description
The XrLocalDimmingFrameEndInfoMETA is a structure that an application can chain in XrFrameEndInfo in order to request a local dimming mode.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationEnableEventsInfoML(3)
Name
XrLocalizationEnableEventsInfoML - Information to enable localization map events
C Specification
The XrLocalizationEnableEventsInfoML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrLocalizationEnableEventsInfoML {
XrStructureType type;
const void* next;
XrBool32 enabled;
} XrLocalizationEnableEventsInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapImportInfoML(3)
Name
XrLocalizationMapImportInfoML - Data of a previously exported localization map.
C Specification
The XrLocalizationMapImportInfoML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrLocalizationMapImportInfoML {
XrStructureType type;
const void* next;
uint32_t size;
char* data;
} XrLocalizationMapImportInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapML(3)
Name
XrLocalizationMapML - Information on the localization map
C Specification
The XrLocalizationMapML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrLocalizationMapML {
XrStructureType type;
void* next;
char name[XR_MAX_LOCALIZATION_MAP_NAME_LENGTH_ML];
XrUuidEXT mapUuid;
XrLocalizationMapTypeML mapType;
} XrLocalizationMapML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapQueryInfoBaseHeaderML(3)
Name
XrLocalizationMapQueryInfoBaseHeaderML - Enumeration filter for the available localization maps
C Specification
The XrLocalizationMapQueryInfoBaseHeaderML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrLocalizationMapQueryInfoBaseHeaderML {
XrStructureType type;
const void* next;
} XrLocalizationMapQueryInfoBaseHeaderML;
Members
Description
Currently no filters are available.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMapLocalizationRequestInfoML(3)
Name
XrMapLocalizationRequestInfoML - Information required to request a localization map.
C Specification
The XrMapLocalizationRequestInfoML structure is defined as:
// Provided by XR_ML_localization_map
typedef struct XrMapLocalizationRequestInfoML {
XrStructureType type;
const void* next;
XrUuidEXT mapUuid;
} XrMapLocalizationRequestInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorAprilTagInfoML(3)
Name
XrMarkerDetectorAprilTagInfoML - Information to create a marker detection handle for AprilTag markers
C Specification
The XrMarkerDetectorAprilTagInfoML structure extends XrMarkerDetectorCreateInfoML and is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorAprilTagInfoML {
XrStructureType type;
const void* next;
XrMarkerAprilTagDictML aprilTagDict;
} XrMarkerDetectorAprilTagInfoML;
Members
Description
This structure is required by the XR_MARKER_TYPE_APRIL_TAG_ML
detector.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorArucoInfoML(3)
Name
XrMarkerDetectorArucoInfoML - Information to create a marker detection handle for Aruco markers
C Specification
The XrMarkerDetectorArucoInfoML structure extends XrMarkerDetectorCreateInfoML and is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorArucoInfoML {
XrStructureType type;
const void* next;
XrMarkerArucoDictML arucoDict;
} XrMarkerDetectorArucoInfoML;
Members
Description
This structure is required by the XR_MARKER_TYPE_ARUCO_ML detector.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorCreateInfoML(3)
Name
XrMarkerDetectorCreateInfoML - Information to create a marker detection handle
C Specification
The XrMarkerDetectorCreateInfoML structure is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorCreateInfoML {
XrStructureType type;
const void* next;
XrMarkerDetectorProfileML profile;
XrMarkerTypeML markerType;
} XrMarkerDetectorCreateInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorCustomProfileInfoML(3)
Name
XrMarkerDetectorCustomProfileInfoML - A custom marker tracking profile
C Specification
The XrMarkerDetectorCustomProfileInfoML structure extends XrMarkerDetectorCreateInfoML and is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorCustomProfileInfoML {
XrStructureType type;
const void* next;
XrMarkerDetectorFpsML fpsHint;
XrMarkerDetectorResolutionML resolutionHint;
XrMarkerDetectorCameraML cameraHint;
XrMarkerDetectorCornerRefineMethodML cornerRefineMethod;
XrBool32 useEdgeRefinement;
XrMarkerDetectorFullAnalysisIntervalML fullAnalysisIntervalHint;
} XrMarkerDetectorCustomProfileInfoML;
Members
Description
All marker detectors share some underlying hardware and resources, and thus not all combinations of profiles between multiple detectors are possible. If a profile (preset or custom) specified during marker detector creation is different from those used by existing marker detectors the runtime will attempt to honor the highest frame rate and fps requested.
CPU load due to marker tracking is a function of the chosen XrMarkerTypeML, XrMarkerDetectorFpsML, and XrMarkerDetectorResolutionML.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorSizeInfoML(3)
Name
XrMarkerDetectorSizeInfoML - Information to create a marker detection handle for QR markers
C Specification
The XrMarkerDetectorSizeInfoML structure extends XrMarkerDetectorCreateInfoML and is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorSizeInfoML {
XrStructureType type;
const void* next;
float markerLength;
} XrMarkerDetectorSizeInfoML;
Members
Description
Pose estimation accuracy depends on the accuracy of the specified
markerLength.
This structure is used by XR_MARKER_TYPE_ARUCO_ML,
XR_MARKER_TYPE_APRIL_TAG_ML, and XR_MARKER_TYPE_QR_ML detectors.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorSnapshotInfoML(3)
Name
XrMarkerDetectorSnapshotInfoML - Marker snapshot parameters.
C Specification
The XrMarkerDetectorSnapshotInfoML structure is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorSnapshotInfoML {
XrStructureType type;
const void* next;
} XrMarkerDetectorSnapshotInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorStateML(3)
Name
XrMarkerDetectorStateML - Marker state query parameters
C Specification
The XrMarkerDetectorStateML structure is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerDetectorStateML {
XrStructureType type;
void* next;
XrMarkerDetectorStatusML state;
} XrMarkerDetectorStateML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerSpaceCreateInfoML(3)
Name
XrMarkerSpaceCreateInfoML - Specify marker space creation parameters
C Specification
The XrMarkerSpaceCreateInfoML structure is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrMarkerSpaceCreateInfoML {
XrStructureType type;
const void* next;
XrMarkerDetectorML markerDetector;
XrMarkerML marker;
XrPosef poseInMarkerSpace;
} XrMarkerSpaceCreateInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerSpaceCreateInfoVARJO(3)
Name
XrMarkerSpaceCreateInfoVARJO - Information to create a space from a spatial anchor
C Specification
The XrMarkerSpaceCreateInfoVARJO structure is defined as:
// Provided by XR_VARJO_marker_tracking
typedef struct XrMarkerSpaceCreateInfoVARJO {
XrStructureType type;
const void* next;
uint64_t markerId;
XrPosef poseInMarkerSpace;
} XrMarkerSpaceCreateInfoVARJO;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrNegotiateApiLayerRequest(3)
Name
XrNegotiateApiLayerRequest - Structure specifying API layer information to be passed to the loader
C Specification
The XrNegotiateApiLayerRequest structure is defined as:
typedef struct XrNegotiateApiLayerRequest {
XrLoaderInterfaceStructs structType;
uint32_t structVersion;
size_t structSize;
uint32_t layerInterfaceVersion;
XrVersion layerApiVersion;
PFN_xrGetInstanceProcAddr getInstanceProcAddr;
PFN_xrCreateApiLayerInstance createApiLayerInstance;
} XrNegotiateApiLayerRequest;
Members
Description
This is an output structure from API layer negotiation.
The loader must populate structType, structVersion, and
structSize before calling to ensure correct interpretation by the API
layer, while the API layer populates the rest of the fields in a successful
call to xrNegotiateLoaderApiLayerInterface.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrNegotiateLoaderInfo(3)
Name
XrNegotiateLoaderInfo - Structure specifying loader information to be passed to a runtime or an API layer
C Specification
The XrNegotiateLoaderInfo structure is defined as:
typedef struct XrNegotiateLoaderInfo {
XrLoaderInterfaceStructs structType;
uint32_t structVersion;
size_t structSize;
uint32_t minInterfaceVersion;
uint32_t maxInterfaceVersion;
XrVersion minApiVersion;
XrVersion maxApiVersion;
} XrNegotiateLoaderInfo;
Members
Description
This structure is an input from the loader to the runtime in an xrNegotiateLoaderRuntimeInterface call, as well as from the loader to an API layer in an xrNegotiateLoaderApiLayerInterface call.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrNegotiateRuntimeRequest(3)
Name
XrNegotiateRuntimeRequest - Structure specifying runtime information to be passed to the loader
C Specification
The XrNegotiateRuntimeRequest structure is defined as:
typedef struct XrNegotiateRuntimeRequest {
XrLoaderInterfaceStructs structType;
uint32_t structVersion;
size_t structSize;
uint32_t runtimeInterfaceVersion;
XrVersion runtimeApiVersion;
PFN_xrGetInstanceProcAddr getInstanceProcAddr;
} XrNegotiateRuntimeRequest;
Members
Description
This is an output structure from runtime negotiation.
The loader must populate structType, structVersion, and
structSize to ensure correct interpretation by the runtime, while the
runtime populates the rest of the fields in a successful call to
xrNegotiateLoaderRuntimeInterface.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrNewSceneComputeInfoMSFT(3)
Name
XrNewSceneComputeInfoMSFT - The information to compute a new scene
C Specification
The XrNewSceneComputeInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrNewSceneComputeInfoMSFT {
XrStructureType type;
const void* next;
uint32_t requestedFeatureCount;
const XrSceneComputeFeatureMSFT* requestedFeatures;
XrSceneComputeConsistencyMSFT consistency;
XrSceneBoundsMSFT bounds;
} XrNewSceneComputeInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOffset2Df(3)
Name
XrOffset2Df - Float offset in two dimensions
C Specification
A floating-point offset is defined by the structure:
// Provided by XR_VERSION_1_0
typedef struct XrOffset2Df {
float x;
float y;
} XrOffset2Df;
Members
Description
This structure is used for component values that may be real numbers, represented with single-precision floating point. For representing offsets in discrete values, such as texels, the integer variant XrOffset2Di is used instead.
If used to represent physical distances, values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOffset2Di(3)
Name
XrOffset2Di - Offset in two dimensions
C Specification
An integer offset is defined by the structure:
typedef struct XrOffset2Di {
int32_t x;
int32_t y;
} XrOffset2Di;
Members
Description
This variant is for representing discrete values such as texels. For representing physical distances, the floating-point variant XrOffset2Df is used instead.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOffset3DfFB(3)
Name
XrOffset3DfFB - Represents a point of 3D space
C Specification
The XrOffset3DfFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrOffset3DfFB {
float x;
float y;
float z;
} XrOffset3DfFB;
Members
Description
This structure is used for component values that may be fractional (floating-point). If used to represent physical distances, values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughBrightnessContrastSaturationFB(3)
Name
XrPassthroughBrightnessContrastSaturationFB - A color adjustment for passthrough layers
C Specification
The XrPassthroughBrightnessContrastSaturationFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughBrightnessContrastSaturationFB {
XrStructureType type;
const void* next;
float brightness;
float contrast;
float saturation;
} XrPassthroughBrightnessContrastSaturationFB;
Members
Description
XrPassthroughBrightnessContrastSaturationFB lets applications adjust the brightness, contrast, and saturation of passthrough layers. The adjustments only are applied before any additional effects (such as edges) are rendered on top.
The adjustments are applied in CIELAB color space (white point D65) using the following formulas:
-
L*' = clamp((L* - 50) × contrast + 50, 0, 100)
-
L*'' = clamp(L*' + brightness, 0, 100)
-
(a*', b*') = (a*, b*) × saturation
-
Resulting color: (L*'', a*', b*')
XrPassthroughBrightnessContrastSaturationFB is provided in the
next chain of XrPassthroughStyleFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCameraStateGetInfoANDROID(3)
Name
XrPassthroughCameraStateGetInfoANDROID - Camera state query parameter info
C Specification
The XrPassthroughCameraStateGetInfoANDROID structure is an input struct which specifies the camera state request parameters.
// Provided by XR_ANDROID_passthrough_camera_state
typedef struct XrPassthroughCameraStateGetInfoANDROID {
XrStructureType type;
const void* next;
} XrPassthroughCameraStateGetInfoANDROID;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorHTC(3)
Name
XrPassthroughColorHTC - The alpha value of the passthrough
C Specification
The XrPassthroughColorHTC structure is defined as:
// Provided by XR_HTC_passthrough
typedef struct XrPassthroughColorHTC {
XrStructureType type;
const void* next;
float alpha;
} XrPassthroughColorHTC;
Members
Description
The application can specify the XrPassthroughColorHTC to adjust the alpha value of the passthrough. The range is between 0.0f and 1.0f, 1.0f means opaque.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorLutCreateInfoMETA(3)
Name
XrPassthroughColorLutCreateInfoMETA - Passthrough color LUT creation info
C Specification
The XrPassthroughColorLutCreateInfoMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrPassthroughColorLutCreateInfoMETA {
XrStructureType type;
const void* next;
XrPassthroughColorLutChannelsMETA channels;
uint32_t resolution;
XrPassthroughColorLutDataMETA data;
} XrPassthroughColorLutCreateInfoMETA;
Members
Description
resolution must be a power of 2, otherwise the runtime must return
XR_ERROR_VALIDATION_FAILURE.
The runtime may impose a limit on the maximum supported resolution, which
is indicated in XrSystemPassthroughColorLutPropertiesMETA.
If resolution exceeds that limit, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
data contains a 3-dimensional array which defines an output color for
each RGB input color.
The input color is scaled to be in the range [0, resolution].
For an RGBA LUT, the RGBA tuple of output colors for an input color
(Rin, Gin, Bin) is found in the four bytes starting at the
offset 4 * (Rin + Gin * resolution + Bin *
resolution2).
For an RGB LUT, the RGB tuple of output colors for an input color
(Rin, Gin, Bin) is found in the three bytes starting at the
offset 3 * (Rin + Gin * resolution + Bin *
resolution2).
Color LUT data must be specified and interpreted in sRGB color space.
Runtimes must employ trilinear interpolation of neighboring color values if the resolution of the color LUT is smaller than the bit depth of the input colors.
The value of XrPassthroughColorLutDataMETA::bufferSize in
data must be equal to resolution3 * bytesPerElement,
where bytesPerElement is either 3 or 4 depending on channels.
Otherwise, the runtime must return
XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorLutDataMETA(3)
Name
XrPassthroughColorLutDataMETA - Passthrough color LUT data
C Specification
The XrPassthroughColorLutDataMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrPassthroughColorLutDataMETA {
uint32_t bufferSize;
const uint8_t* buffer;
} XrPassthroughColorLutDataMETA;
Members
Description
XrPassthroughColorLutDataMETA defines the LUT data for a color LUT. This structure is used when creating and updating color LUTs.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorLutUpdateInfoMETA(3)
Name
XrPassthroughColorLutUpdateInfoMETA - Passthrough color LUT update info
C Specification
The XrPassthroughColorLutUpdateInfoMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrPassthroughColorLutUpdateInfoMETA {
XrStructureType type;
const void* next;
XrPassthroughColorLutDataMETA data;
} XrPassthroughColorLutUpdateInfoMETA;
Members
Description
The LUT data may be updated for an existing color LUT, while channels and
resolution remain constant after creation.
Hence, the value of XrPassthroughColorLutDataMETA::bufferSize in
data must be equal to the buffer size specified at creation.
Otherwise, the runtime must return
XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorMapInterpolatedLutMETA(3)
Name
XrPassthroughColorMapInterpolatedLutMETA - A color map defined by the interpolation between two LUTs
C Specification
The XrPassthroughColorMapInterpolatedLutMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrPassthroughColorMapInterpolatedLutMETA {
XrStructureType type;
const void* next;
XrPassthroughColorLutMETA sourceColorLut;
XrPassthroughColorLutMETA targetColorLut;
float weight;
} XrPassthroughColorMapInterpolatedLutMETA;
Members
Description
XrPassthroughColorMapInterpolatedLutMETA lets applications apply the interpolation between two color LUTs to a passthrough layer. Applications may use this feature to smoothly transition between two color LUTs. Other Passthrough style elements (such as edges) must not be affected by color LUTs.
The blend between sourceColorLut and targetColorLut is computed
as (1 - weight) * sourceColorLut [Cin] + weight *
targetColorLut [Cin].
XrPassthroughColorMapInterpolatedLutMETA is provided in the next
chain of XrPassthroughStyleFB when calling
xrPassthroughLayerSetStyleFB.
Subsequent calls to xrPassthroughLayerSetStyleFB with
XrPassthroughColorMapInterpolatedLutMETA in the next chain update the
color LUT for that layer.
Subsequent calls to xrPassthroughLayerSetStyleFB without this
XrPassthroughColorMapInterpolatedLutMETA (or
XrPassthroughColorMapLutMETA) in the next chain disable color LUTs for
that layer.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorMapLutMETA(3)
Name
XrPassthroughColorMapLutMETA - A color map defined by a LUT
C Specification
The XrPassthroughColorMapLutMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrPassthroughColorMapLutMETA {
XrStructureType type;
const void* next;
XrPassthroughColorLutMETA colorLut;
float weight;
} XrPassthroughColorMapLutMETA;
Members
Description
XrPassthroughColorMapLutMETA lets applications apply a color LUT to a passthrough layer. Other Passthrough style elements (such as edges) must not be affected by color LUTs.
Applications may use weight to efficiently blend between the original
colors and the mapped colors.
The blend is computed as (1 - weight) * Cin + weight *
colorLut [Cin].
XrPassthroughColorMapLutMETA is provided in the next chain of
XrPassthroughStyleFB when calling xrPassthroughLayerSetStyleFB.
Subsequent calls to xrPassthroughLayerSetStyleFB with
XrPassthroughColorMapLutMETA in the next chain update the color
LUT for that layer.
Subsequent calls to xrPassthroughLayerSetStyleFB without this
XrPassthroughColorMapLutMETA (or
XrPassthroughColorMapInterpolatedLutMETA) in the next chain disable
color LUTs for that layer.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorMapMonoToMonoFB(3)
Name
XrPassthroughColorMapMonoToMonoFB - A layer color map
C Specification
The XrPassthroughColorMapMonoToMonoFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughColorMapMonoToMonoFB {
XrStructureType type;
const void* next;
uint8_t textureColorMap[XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB];
} XrPassthroughColorMapMonoToMonoFB;
Members
Description
XrPassthroughColorMapMonoToMonoFB lets applications define a map which
replaces each input luminance value in the passthrough imagery with a
grayscale color value defined in textureColorMap.
The map is applied before any additional effects (such as edges) are
rendered on top.
XrPassthroughColorMapMonoToMonoFB is provided in the next chain
of XrPassthroughStyleFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorMapMonoToRgbaFB(3)
Name
XrPassthroughColorMapMonoToRgbaFB - A layer color map
C Specification
The XrPassthroughColorMapMonoToRgbaFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughColorMapMonoToRgbaFB {
XrStructureType type;
const void* next;
XrColor4f textureColorMap[XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB];
} XrPassthroughColorMapMonoToRgbaFB;
Members
Description
XrPassthroughColorMapMonoToRgbaFB lets applications define a map which replaces each input luminance value in the passthrough imagery with an RGBA color value. The map is applied before any additional effects (such as edges) are rendered on top.
XrPassthroughColorMapMonoToRgbaFB is provided in the next chain
of XrPassthroughStyleFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCreateInfoFB(3)
Name
XrPassthroughCreateInfoFB - A create structure for passthrough
C Specification
The XrPassthroughCreateInfoFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughCreateInfoFB {
XrStructureType type;
const void* next;
XrPassthroughFlagsFB flags;
} XrPassthroughCreateInfoFB;
Members
It contains parameters used to specify a new passthrough feature.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCreateInfoHTC(3)
Name
XrPassthroughCreateInfoHTC - Information to create a passthrough handle
C Specification
The XrPassthroughCreateInfoHTC structure is defined as:
// Provided by XR_HTC_passthrough
typedef struct XrPassthroughCreateInfoHTC {
XrStructureType type;
const void* next;
XrPassthroughFormHTC form;
} XrPassthroughCreateInfoHTC;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughKeyboardHandsIntensityFB(3)
Name
XrPassthroughKeyboardHandsIntensityFB - A struct for setting the level of intensity for hands in the passthrough layer
C Specification
The XrPassthroughKeyboardHandsIntensityFB structure is defined as:
// Provided by XR_FB_passthrough_keyboard_hands
typedef struct XrPassthroughKeyboardHandsIntensityFB {
XrStructureType type;
const void* next;
float leftHandIntensity;
float rightHandIntensity;
} XrPassthroughKeyboardHandsIntensityFB;
Members
Description
XrPassthroughKeyboardHandsIntensityFB describes intensities of passthrough hands, and is used as a parameter to xrPassthroughLayerSetKeyboardHandsIntensityFB.
Each of the intensity values leftHandIntensity and
rightHandIntensity must be in the range [0.0, 1.0].
The hand intensity value represents the level of visibility of rendered
hand, the minimal value of the intensity 0.0 represents the fully
transparent hand (not visible), the maximal value of 1.0 represented fully
opaque hands (maximal visibility).
If either leftHandIntensity or rightHandIntensity is outside the
range [0.0, 1.0], the runtime must return XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughLayerCreateInfoFB(3)
Name
XrPassthroughLayerCreateInfoFB - A create structure for passthrough layers
C Specification
The XrPassthroughLayerCreateInfoFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughLayerCreateInfoFB {
XrStructureType type;
const void* next;
XrPassthroughFB passthrough;
XrPassthroughFlagsFB flags;
XrPassthroughLayerPurposeFB purpose;
} XrPassthroughLayerCreateInfoFB;
Members
It contains parameters used to specify a new passthrough layer.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughMeshTransformInfoHTC(3)
Name
XrPassthroughMeshTransformInfoHTC - The information of mesh and transformation of the passthrough
C Specification
The XrPassthroughMeshTransformInfoHTC structure is defined as:
// Provided by XR_HTC_passthrough
typedef struct XrPassthroughMeshTransformInfoHTC {
XrStructureType type;
const void* next;
uint32_t vertexCount;
const XrVector3f* vertices;
uint32_t indexCount;
const uint32_t* indices;
XrSpace baseSpace;
XrTime time;
XrPosef pose;
XrVector3f scale;
} XrPassthroughMeshTransformInfoHTC;
Members
Description
The XrPassthroughMeshTransformInfoHTC structure describes the mesh and transformation.
The application must specify the XrPassthroughMeshTransformInfoHTC in
the next chain of XrCompositionLayerPassthroughHTC if the
specified form of passthrough layer previously created by
xrCreatePassthroughHTC is XR_PASSTHROUGH_FORM_PROJECTED_HTC.
Passing XrPassthroughMeshTransformInfoHTC updates the projected mesh information in the runtime for passthrough layer composition.
If XrPassthroughMeshTransformInfoHTC is not set correctly, runtime
must return error XR_ERROR_VALIDATION_FAILURE when xrEndFrame
is called with composition layer XrCompositionLayerPassthroughHTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughPreferencesMETA(3)
Name
XrPassthroughPreferencesMETA - Passthrough preferences
C Specification
The XrPassthroughPreferencesMETA structure is defined as:
// Provided by XR_META_passthrough_preferences
typedef struct XrPassthroughPreferencesMETA {
XrStructureType type;
const void* next;
XrPassthroughPreferenceFlagsMETA flags;
} XrPassthroughPreferencesMETA;
Members
Description
The runtime must populate the XrPassthroughPreferencesMETA structure with the relevant information when the app calls xrGetPassthroughPreferencesMETA.
Presence of the bit flag
XR_PASSTHROUGH_PREFERENCE_DEFAULT_TO_ACTIVE_BIT_META does not indicate
a guarantee that applications can enable and use passthrough in practice.
The runtime may impose restrictions on passthrough usage (e.g. based on
hardware availability or permission models) independently of the state of
this flag bit.
Apps should test for this flag explicitly, as more flag bits may be
introduced in the future.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughStyleFB(3)
Name
XrPassthroughStyleFB - A layer style
C Specification
The XrPassthroughStyleFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrPassthroughStyleFB {
XrStructureType type;
const void* next;
float textureOpacityFactor;
XrColor4f edgeColor;
} XrPassthroughStyleFB;
Members
Description
XrPassthroughStyleFB lets applications customize the appearance of
passthrough layers.
In addition to the parameters specified here, applications may add one of
the following structures to the structure chain:
XrPassthroughColorMapMonoToRgbaFB,
XrPassthroughColorMapMonoToMonoFB,
XrPassthroughBrightnessContrastSaturationFB.
These structures are mutually exclusive.
The runtime must return XR_ERROR_VALIDATION_FAILURE if more than one
of them are present in the structure chain.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerformanceMetricsCounterMETA(3)
Name
XrPerformanceMetricsCounterMETA - Performance metrics counter value
C Specification
The XrPerformanceMetricsCounterMETA structure is defined as:
// Provided by XR_META_performance_metrics
typedef struct XrPerformanceMetricsCounterMETA {
XrStructureType type;
const void* next;
XrPerformanceMetricsCounterFlagsMETA counterFlags;
XrPerformanceMetricsCounterUnitMETA counterUnit;
uint32_t uintValue;
float floatValue;
} XrPerformanceMetricsCounterMETA;
Members
Description
XrPerformanceMetricsCounterMETA is populated by calling xrQueryPerformanceMetricsCounterMETA to query real-time performance metrics counter information.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerformanceMetricsStateMETA(3)
Name
XrPerformanceMetricsStateMETA - Performance metrics enable state
C Specification
The XrPerformanceMetricsStateMETA structure is defined as:
// Provided by XR_META_performance_metrics
typedef struct XrPerformanceMetricsStateMETA {
XrStructureType type;
const void* next;
XrBool32 enabled;
} XrPerformanceMetricsStateMETA;
Members
Description
XrPerformanceMetricsStateMETA is provided as input when calling xrSetPerformanceMetricsStateMETA to enable or disable the performance metrics system. XrPerformanceMetricsStateMETA is populated as an output parameter when calling xrGetPerformanceMetricsStateMETA to query if the performance metrics system is enabled.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPersistSpatialEntityCompletionEXT(3)
Name
XrPersistSpatialEntityCompletionEXT - Completion structure to retrieve the spatial entity persist result.
C Specification
The XrPersistSpatialEntityCompletionEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence_operations
typedef struct XrPersistSpatialEntityCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
XrSpatialPersistenceContextResultEXT persistResult;
XrUuid persistUuid;
} XrPersistSpatialEntityCompletionEXT;
Members
Description
If futureResult and persistResult are both success codes,
persistUuid must be valid and the application can use it to identify
the persisted spatial entity across sessions.
The runtime must set persistResult to
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT if it
lost tracking of the entity represented by
XrSpatialEntityPersistInfoEXT::spatialEntityId before it could
be successfully persisted.
The runtime must set persistResult only if futureResult is a
success code.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPersistedAnchorSpaceCreateInfoANDROID(3)
Name
XrPersistedAnchorSpaceCreateInfoANDROID - Information to create anchor from persisted anchor
C Specification
The XrPersistedAnchorSpaceCreateInfoANDROID structure is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
typedef struct XrPersistedAnchorSpaceCreateInfoANDROID {
XrStructureType type;
const void* next;
XrUuidEXT anchorId;
} XrPersistedAnchorSpaceCreateInfoANDROID;
Members
Description
The XrPersistedAnchorSpaceCreateInfoANDROID structure provides creation options for the anchor when passed to xrCreateDeviceAnchorPersistenceANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPersistedAnchorSpaceInfoANDROID(3)
Name
XrPersistedAnchorSpaceInfoANDROID - Information to persist an anchor
C Specification
The XrPersistedAnchorSpaceInfoANDROID structure is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
typedef struct XrPersistedAnchorSpaceInfoANDROID {
XrStructureType type;
const void* next;
XrSpace anchor;
} XrPersistedAnchorSpaceInfoANDROID;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorBeginInfoEXT(3)
Name
XrPlaneDetectorBeginInfoEXT - Describes the information to detect planes
C Specification
The XrPlaneDetectorBeginInfoEXT structure describes the information to detect planes.
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorBeginInfoEXT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
uint32_t orientationCount;
const XrPlaneDetectorOrientationEXT* orientations;
uint32_t semanticTypeCount;
const XrPlaneDetectorSemanticTypeEXT* semanticTypes;
uint32_t maxPlanes;
float minArea;
XrPosef boundingBoxPose;
XrExtent3DfEXT boundingBoxExtent;
} XrPlaneDetectorBeginInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorCreateInfoEXT(3)
Name
XrPlaneDetectorCreateInfoEXT - Information to create a plane detection handle
C Specification
The XrPlaneDetectorCreateInfoEXT structure is defined as:
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorCreateInfoEXT {
XrStructureType type;
const void* next;
XrPlaneDetectorFlagsEXT flags;
} XrPlaneDetectorCreateInfoEXT;
Members
Description
The XrPlaneDetectorCreateInfoEXT structure describes the information to create an XrPlaneDetectorEXT handle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorGetInfoEXT(3)
Name
XrPlaneDetectorGetInfoEXT - Contains the plane retrieval information
C Specification
XrPlaneDetectorGetInfoEXT structure contains the information required to retrieve the detected planes.
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorGetInfoEXT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
} XrPlaneDetectorGetInfoEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorLocationEXT(3)
Name
XrPlaneDetectorLocationEXT - Describes the location of a plane
C Specification
XrPlaneDetectorLocationEXT structure describes the position and orientation of a plane.
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorLocationEXT {
XrStructureType type;
void* next;
uint64_t planeId;
XrSpaceLocationFlags locationFlags;
XrPosef pose;
XrExtent2Df extents;
XrPlaneDetectorOrientationEXT orientation;
XrPlaneDetectorSemanticTypeEXT semanticType;
uint32_t polygonBufferCount;
} XrPlaneDetectorLocationEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorLocationsEXT(3)
Name
XrPlaneDetectorLocationsEXT - Contains the plane information
C Specification
XrPlaneDetectorLocationsEXT structure contains information on the detected planes.
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorLocationsEXT {
XrStructureType type;
void* next;
uint32_t planeLocationCapacityInput;
uint32_t planeLocationCountOutput;
XrPlaneDetectorLocationEXT* planeLocations;
} XrPlaneDetectorLocationsEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorPolygonBufferEXT(3)
Name
XrPlaneDetectorPolygonBufferEXT - Plane polygon vertex buffer
C Specification
XrPlaneDetectorPolygonBufferEXT is an input/output structure for reading plane contour polygon vertices.
// Provided by XR_EXT_plane_detection
typedef struct XrPlaneDetectorPolygonBufferEXT {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector2f* vertices;
} XrPlaneDetectorPolygonBufferEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPosef(3)
Name
XrPosef - Location and orientation in a space.
C Specification
A pose is defined by the XrPosef structure:
typedef struct XrPosef {
XrQuaternionf orientation;
XrVector3f position;
} XrPosef;
Members
A construct representing a position and orientation within a space, with
position expressed in meters, and orientation represented as a unit
quaternion.
When using XrPosef the rotation described by orientation is
always applied before the translation described by position.
Description
A runtime must return XR_ERROR_POSE_INVALID if the orientation
norm deviates by more than 1% from unit length.
See Also
XrActionSpaceCreateInfo, XrAnchorSpaceCreateInfoANDROID, XrAnchorSpaceCreateInfoBD, XrBodyJointLocationBD, XrBodyJointLocationFB, XrBodyJointLocationHTC, XrBodySkeletonJointFB, XrBodySkeletonJointHTC, XrBoxf, XrCompositionLayerCylinderKHR, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerProjectionView, XrCompositionLayerQuad, XrCompositionLayerSpaceWarpInfoFB, XrControllerModelNodeStateMSFT, XrCoordinateSpaceCreateInfoML, XrEnvironmentDepthImageViewMETA, XrEventDataReferenceSpaceChangePending, XrExternalCameraExtrinsicsOCULUS, XrEyeGazeFB, XrFrameSynthesisInfoEXT, XrFrustumf, XrGeometryInstanceCreateInfoFB, XrGeometryInstanceTransformFB, XrHandJointLocationEXT, XrHandMeshSpaceCreateInfoMSFT, XrHandTrackingAimStateFB, XrHandTrackingMeshFB, XrMarkerSpaceCreateInfoML, XrMarkerSpaceCreateInfoVARJO, XrPassthroughMeshTransformInfoHTC, XrPlaneDetectorBeginInfoEXT, XrPlaneDetectorLocationEXT, XrQuaternionf, XrRaycastHitResultANDROID, XrReferenceSpaceCreateInfo, XrRenderModelNodeStateEXT, XrSceneComponentLocationMSFT, XrSceneFrustumBoundMSFT, XrSceneOrientedBoxBoundMSFT, XrSpaceLocation, XrSpaceLocationData, XrSpatialAnchorCreateInfoBD, XrSpatialAnchorCreateInfoEXT, XrSpatialAnchorCreateInfoFB, XrSpatialAnchorCreateInfoHTC, XrSpatialAnchorCreateInfoMSFT, XrSpatialAnchorSpaceCreateInfoMSFT, XrSpatialAnchorsCreateInfoFromPoseML, XrSpatialBounded2DDataEXT, XrSpatialComponentAnchorListEXT, XrSpatialGraphNodeBindingPropertiesMSFT, XrSpatialGraphNodeSpaceCreateInfoMSFT, XrSpatialGraphStaticNodeBindingCreateInfoMSFT, XrSpatialMeshDataEXT, XrSpatialPolygon2DDataEXT, XrSpheref, XrTrackableMarkerANDROID, XrTrackableObjectANDROID, XrTrackablePlaneANDROID, XrVector2f, XrVector3f, XrVector4f, XrView, XrVirtualKeyboardInputInfoMETA, XrVirtualKeyboardLocationInfoMETA, XrVirtualKeyboardSpaceCreateInfoMETA, XrWorldMeshBlockStateML, XrWorldMeshStateRequestInfoML, xrSendVirtualKeyboardInputMETA, xrSetInputDeviceLocationEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrQuaternionf(3)
Name
XrQuaternionf - Unit Quaternion
C Specification
Rotation is represented by a unit quaternion defined by the XrQuaternionf structure:
typedef struct XrQuaternionf {
float x;
float y;
float z;
float w;
} XrQuaternionf;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrQueriedSenseDataBD(3)
Name
XrQueriedSenseDataBD - Info of queried sense data
C Specification
The XrQueriedSenseDataBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrQueriedSenseDataBD {
XrStructureType type;
void* next;
uint32_t stateCapacityInput;
uint32_t stateCountOutput;
XrSpatialEntityStateBD* states;
} XrQueriedSenseDataBD;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrQueriedSenseDataGetInfoBD(3)
Name
XrQueriedSenseDataGetInfoBD - Info of getting queried sense data
C Specification
The XrQueriedSenseDataGetInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrQueriedSenseDataGetInfoBD {
XrStructureType type;
const void* next;
} XrQueriedSenseDataGetInfoBD;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRaycastHitResultANDROID(3)
Name
XrRaycastHitResultANDROID - Raycast hit information.
C Specification
The XrRaycastHitResultANDROID structure is defined as:
// Provided by XR_ANDROID_raycast
typedef struct XrRaycastHitResultANDROID {
XrTrackableTypeANDROID type;
XrTrackableANDROID trackable;
XrPosef pose;
} XrRaycastHitResultANDROID;
Members
Description
The XrRaycastHitResultANDROID contains the details of a raycast hit.
The XrRaycastHitResultANDROID::pose for a plane hit must be
such that X+ is perpendicular to the cast ray and parallel to the physical
surface centered around the hit, Y+ points along the estimated surface
normal, and Z+ points roughly toward the ray origin.
The XrRaycastHitResultANDROID::pose for a depth hit is analogous
to a plane hit, using an estimated surface normal.
X+ is perpendicular to the cast ray and parallel to the physical surface
centered around the hit, Y+ points along the estimated surface normal, and
Z+ points roughly toward the ray origin.
| Type of trackable hit | Description |
|---|---|
|
Hits horizontal and/or vertical surfaces to determine a point’s correct depth and orientation. |
|
Uses depth information from the entire scene to determine a point’s correct depth and orientation. |
Other extensions may implement raycasting for other types of trackables.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRaycastHitResultsANDROID(3)
Name
XrRaycastHitResultsANDROID - The results from performing a raycast.
C Specification
The XrRaycastHitResultsANDROID structure is defined as:
// Provided by XR_ANDROID_raycast
typedef struct XrRaycastHitResultsANDROID {
XrStructureType type;
void* next;
uint32_t resultsCapacityInput;
uint32_t resultsCountOutput;
XrRaycastHitResultANDROID* results;
} XrRaycastHitResultsANDROID;
Members
Description
The XrRaycastHitResultsANDROID contains the array of hits of a raycast.
The runtime must set resultsCountOutput to be less than or equal to
XrRaycastInfoANDROID::maxResults.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRaycastInfoANDROID(3)
Name
XrRaycastInfoANDROID - Information to perform a raycast.
C Specification
The XrRaycastInfoANDROID structure is defined as:
// Provided by XR_ANDROID_raycast
typedef struct XrRaycastInfoANDROID {
XrStructureType type;
const void* next;
uint32_t maxResults;
uint32_t trackerCount;
const XrTrackableTrackerANDROID* trackers;
XrVector3f origin;
XrVector3f trajectory;
XrSpace space;
XrTime time;
} XrRaycastInfoANDROID;
Members
Description
The XrRaycastInfoANDROID structure describes the ray to cast.
-
The XrRaycastInfoANDROID::
trackersarray may contain trackers of different types. -
The XrRaycastInfoANDROID::
trackersarray must not contain multiple trackers of the same type, otherwise the runtime must returnXR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRecommendedLayerResolutionGetInfoMETA(3)
Name
XrRecommendedLayerResolutionGetInfoMETA - The structure provided by the application to the runtime, describing the information required for a recommendation to be made
C Specification
The XrRecommendedLayerResolutionGetInfoMETA structure is defined as:
// Provided by XR_META_recommended_layer_resolution
typedef struct XrRecommendedLayerResolutionGetInfoMETA {
XrStructureType type;
const void* next;
const XrCompositionLayerBaseHeader* layer;
XrTime predictedDisplayTime;
} XrRecommendedLayerResolutionGetInfoMETA;
Members
Description
If predictedDisplayTime is older than the predicted display time
returned from most recent xrWaitFrame then, the runtime must return
XR_ERROR_TIME_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRecommendedLayerResolutionMETA(3)
Name
XrRecommendedLayerResolutionMETA - The structure returned by the runtime, containing resolution and whether the recommendation is valid.
C Specification
The XrRecommendedLayerResolutionMETA structure is defined as:
// Provided by XR_META_recommended_layer_resolution
typedef struct XrRecommendedLayerResolutionMETA {
XrStructureType type;
void* next;
XrExtent2Di recommendedImageDimensions;
XrBool32 isValid;
} XrRecommendedLayerResolutionMETA;
Members
Description
If the runtime does not wish to make a recommendation, isValid must
be XR_FALSE and recommendedImageDimensions must be {0,0}.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRect2Df(3)
Name
XrRect2Df - Rect in two dimensions, floating-point values
C Specification
A rectangle with floating-point values is defined by the structure:
// Provided by XR_VERSION_1_0
typedef struct XrRect2Df {
XrOffset2Df offset;
XrExtent2Df extent;
} XrRect2Df;
Members
Description
This structure is used for component values that may be real numbers, represented with single-precision floating point.
The offset is the position of the rectangle corner with minimum value
coordinates.
The other three corners are computed by adding the
XrExtent2Df::width to the x offset,
XrExtent2Df::height to the y offset, or both.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRect2Di(3)
Name
XrRect2Di - Rect in two dimensions, integer values
C Specification
A rectangle with integer values is defined by the structure:
typedef struct XrRect2Di {
XrOffset2Di offset;
XrExtent2Di extent;
} XrRect2Di;
Members
Description
This variant is for representing discrete values such as texels. For representing physical distances, the floating-point variant XrRect2Df is used instead.
The offset is the position of the rectangle corner with minimum value
coordinates.
The other three corners are computed by adding the
XrExtent2Di::width to the x offset,
XrExtent2Di::height to the y offset, or both.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRect3DfFB(3)
Name
XrRect3DfFB - Represents a rectangular prism containing a region of space
C Specification
The XrRect3DfFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrRect3DfFB {
XrOffset3DfFB offset;
XrExtent3DfFB extent;
} XrRect3DfFB;
Members
Description
This structure is used for component values that may be fractional (floating-point).
The bounding box is defined by an offset and extent.
The offset refers to the coordinate of the minimum corner of the box
in the local space of the XrSpace; that is, the corner whose
coordinate has the minimum value on each axis.
The extent refers to the dimensions of the box along each axis.
The maximum corner can therefore be computed as offset
extent.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrReferenceSpaceCreateInfo(3)
Name
XrReferenceSpaceCreateInfo - Creation info for a reference space
C Specification
The XrReferenceSpaceCreateInfo structure is defined as:
typedef struct XrReferenceSpaceCreateInfo {
XrStructureType type;
const void* next;
XrReferenceSpaceType referenceSpaceType;
XrPosef poseInReferenceSpace;
} XrReferenceSpaceCreateInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetCreateInfoEXT(3)
Name
XrRenderModelAssetCreateInfoEXT - The information to create a render model asset handle
C Specification
The XrRenderModelAssetCreateInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetCreateInfoEXT {
XrStructureType type;
const void* next;
XrUuidEXT cacheId;
} XrRenderModelAssetCreateInfoEXT;
Members
Description
The XrRenderModelAssetCreateInfoEXT structure contains the information to create an XrRenderModelAssetEXT handle.
The UUID cacheId must match the
XrRenderModelPropertiesEXT::cacheId from some previous call to
xrGetRenderModelPropertiesEXT in the current session.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetDataEXT(3)
Name
XrRenderModelAssetDataEXT - Render model asset buffer
C Specification
The XrRenderModelAssetDataEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetDataEXT {
XrStructureType type;
void* next;
uint32_t bufferCapacityInput;
uint32_t bufferCountOutput;
uint8_t* buffer;
} XrRenderModelAssetDataEXT;
Members
Description
XrRenderModelAssetDataEXT is an input/output structure for xrGetRenderModelAssetDataEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetDataGetInfoEXT(3)
Name
XrRenderModelAssetDataGetInfoEXT - The information to load a render model asset
C Specification
The XrRenderModelAssetDataGetInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetDataGetInfoEXT {
XrStructureType type;
const void* next;
} XrRenderModelAssetDataGetInfoEXT;
Members
Description
XrRenderModelAssetDataGetInfoEXT is an input structure for xrGetRenderModelAssetDataEXT, defined for the purpose of future extension.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetNodePropertiesEXT(3)
Name
XrRenderModelAssetNodePropertiesEXT - Render model asset node properties
C Specification
The XrRenderModelAssetNodePropertiesEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetNodePropertiesEXT {
char uniqueName[XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT];
} XrRenderModelAssetNodePropertiesEXT;
Members
Description
The string returned in uniqueName must be the name of exactly one
node in the glTF asset.
Any given name must appear no more than once in the
XrRenderModelAssetPropertiesEXT::nodeProperties for a given
XrRenderModelAssetEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetPropertiesEXT(3)
Name
XrRenderModelAssetPropertiesEXT - The outputted render model asset properties
C Specification
The XrRenderModelAssetPropertiesEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetPropertiesEXT {
XrStructureType type;
void* next;
uint32_t nodePropertyCount;
XrRenderModelAssetNodePropertiesEXT* nodeProperties;
} XrRenderModelAssetPropertiesEXT;
Members
Description
The count XrRenderModelAssetPropertiesEXT::nodePropertyCount
must be equal to
XrRenderModelPropertiesEXT::animatableNodeCount.
If XrRenderModelAssetPropertiesEXT::nodePropertyCount is not
equal to XrRenderModelPropertiesEXT::animatableNodeCount as
populated by xrGetRenderModelPropertiesEXT, the runtime must return
XR_ERROR_VALIDATION_FAILURE from
xrGetRenderModelAssetPropertiesEXT.
The node names in the nodeProperties array define the identities of
the animatable nodes.
Order is significant, in that node states retrieved repeatedly during
rendering form a parallel associated array.
Because the number of animatable nodes is fixed per render model handle and retrievable with xrGetRenderModelPropertiesEXT, the two-call idiom for buffer sizing and allocation is not needed in this case.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelAssetPropertiesGetInfoEXT(3)
Name
XrRenderModelAssetPropertiesGetInfoEXT - Input structure to get the render model asset properties
C Specification
The XrRenderModelAssetPropertiesGetInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelAssetPropertiesGetInfoEXT {
XrStructureType type;
const void* next;
} XrRenderModelAssetPropertiesGetInfoEXT;
Members
Description
This structure exists for extensibility purposes.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelBufferFB(3)
Name
XrRenderModelBufferFB - The buffer containing the data for the render model
C Specification
The XrRenderModelBufferFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrRenderModelBufferFB {
XrStructureType type;
void* next;
uint32_t bufferCapacityInput;
uint32_t bufferCountOutput;
uint8_t* buffer;
} XrRenderModelBufferFB;
Members
Description
XrRenderModelBufferFB is used when loading the binary data for a render model. XrRenderModelBufferFB must be provided when calling xrLoadRenderModelFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelCapabilitiesRequestFB(3)
Name
XrRenderModelCapabilitiesRequestFB - A render model system property
C Specification
The XrRenderModelCapabilitiesRequestFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrRenderModelCapabilitiesRequestFB {
XrStructureType type;
void* next;
XrRenderModelFlagsFB flags;
} XrRenderModelCapabilitiesRequestFB;
Members
Description
XrRenderModelCapabilitiesRequestFB contains information about the
render capabilities requested for a model.
XrRenderModelCapabilitiesRequestFB must be set in the structure chain
of the next pointer on the XrRenderModelPropertiesFB passed into
the xrGetRenderModelPropertiesFB call.
The flags on XrRenderModelCapabilitiesRequestFB represent an
acknowledgement of being able to handle the individual model capability
levels.
If no XrRenderModelCapabilitiesRequestFB is on the structure chain
then the runtime should treat it as if a value of
XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB was set.
If the runtime does not have a model available that matches any of the
supports flags set, then it must return a
XR_RENDER_MODEL_UNAVAILABLE_FB result.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelCreateInfoEXT(3)
Name
XrRenderModelCreateInfoEXT - Information necessary to create a render model handle
C Specification
The XrRenderModelCreateInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelCreateInfoEXT {
XrStructureType type;
const void* next;
XrRenderModelIdEXT renderModelId;
uint32_t gltfExtensionCount;
const char* const* gltfExtensions;
} XrRenderModelCreateInfoEXT;
Members
Description
The XrRenderModelCreateInfoEXT structure describes the information necessary to create an XrRenderModelEXT handle.
The input renderModelId value must be obtained from the same
XrSession used in xrCreateRenderModelEXT.
If the renderModelId value does not match one retrieved from the
relevant XrSession, the runtime must return error
XR_ERROR_RENDER_MODEL_ID_INVALID_EXT.
Note: There is a chance that a renderModelId value incorrectly
retained from another session may have the same numerical value as one
retrieved from the current XrSession.
In such instances, the runtime is unable to distinguish between the two IDs.
As a result, the runtime may mistakenly accept the ID and return a success
code, even though it represents an invalid usage.
Applications should be prepared to handle unexpected behaviors or outcomes
stemming from this scenario.
The application can create multiple XrRenderModelEXT handles using the same ID. The runtime must return the same render model states and asset UUID to these handles if they also share the same list of extensions, since they are sharing the same underlying render model ID. If the list of extensions differs, the runtime may expose a different number of animatable nodes, different asset data and UUID, etc.
The runtime must return
XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT if the runtime is
unable to return a glTF asset that only requires extensions found in the
application’s list of supported glTF extensions.
Related extensions may require the application to support certain glTF extensions, in which case this error code indicates a failure to satisfy the requirement.
Alternately, related extensions may require the runtime to support providing base glTF assets without any required glTF extensions, in which case this error must not be returned by xrCreateRenderModelEXT in association with render model IDs retrieved from such extensions. See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#ext_render_model-choice-gltf-exts.
The order of gltfExtensions array represents the preferences from the
application when multiple extensions are specified.
The runtime may select or modify the retrieved glTF assets based on this
array of extensions to optimize the glTF asset for this application.
Successful creation of this handle implies that the runtime is ready to report a fixed number and sequence of animatable node states for an asset satisfying the application’s criteria, and that asset data, with node names, meeting the criteria may be available during this session. The asset data and node names may still be unavailable at the time the XrRenderModelEXT handle is returned.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelLoadInfoFB(3)
Name
XrRenderModelLoadInfoFB - The information for which render model to load
C Specification
The XrRenderModelLoadInfoFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrRenderModelLoadInfoFB {
XrStructureType type;
void* next;
XrRenderModelKeyFB modelKey;
} XrRenderModelLoadInfoFB;
Members
Description
XrRenderModelLoadInfoFB is used to provide information about which render model to load. XrRenderModelLoadInfoFB must be provided when calling xrLoadRenderModelFB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelNodeStateEXT(3)
Name
XrRenderModelNodeStateEXT - The state of a render model node
C Specification
The XrRenderModelNodeStateEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelNodeStateEXT {
XrPosef nodePose;
XrBool32 isVisible;
} XrRenderModelNodeStateEXT;
Members
Description
This structure is populated with state for a single animatable node in an XrRenderModelEXT.
For any animatable node N, if an ancestor node M is also animatable, and
isVisible is XR_FALSE for node M, then isVisible must
be XR_FALSE for node N as well.
That is, being not-visible is recursive.
An application should interpret all descendant nodes of an animatable node
with isVisible = XR_FALSE to also not be visible (to similarly
interpret being not-visible as recursive).
The pose nodePose locates the associated animatable node, and all
descendants, relative to that animatable node’s parent, replacing the
animatable node’s transform, if any was supplied as matrix or
translation/rotation/scale properties in the glTF asset.
The application should apply this nodePose to the associated node, as
well as to all descendant nodes per the glTF specification.
That is, the nodePose replaces, instead of composes with, the
asset-specified transform.
Where one animatable node M is a descendant of another animatable node
N, the application should transform the descendant node M and its
descendants by the composition of the nodePose for both M and N.
That is, nodePose should be interpreted by the application to respect
the hierarchy in the glTF asset, and compose with other animatable node
poses, as well as transformations supplied in the glTF asset on
non-animatable nodes.
For clarity, given a model for which the runtime returns a nodePose
equal to the original transform in the asset for all animatable nodes, the
resulting rendered model should be rendered the same as the unmodified glTF
asset.
This implies that for ease of use, runtimes may consider structuring their
assets such that animatable nodes have no (or identity) transformation
specified in the glTF asset, such that nodePose of identity for all
animatable nodes produces an rendered model in its neutral, original state.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelPathInfoFB(3)
Name
XrRenderModelPathInfoFB - Supported model paths
C Specification
The XrRenderModelPathInfoFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrRenderModelPathInfoFB {
XrStructureType type;
void* next;
XrPath path;
} XrRenderModelPathInfoFB;
Members
Description
XrRenderModelPathInfoFB contains a model path supported by the device when returned from xrEnumerateRenderModelPathsFB. This path can be used to request information about the render model for the connected device that the path represents using xrGetRenderModelPropertiesFB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelPropertiesEXT(3)
Name
XrRenderModelPropertiesEXT - The outputted render model properties
C Specification
The XrRenderModelPropertiesEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelPropertiesEXT {
XrStructureType type;
void* next;
XrUuidEXT cacheId;
uint32_t animatableNodeCount;
} XrRenderModelPropertiesEXT;
Members
Description
The XrRenderModelPropertiesEXT structure is an output structure for xrGetRenderModelPropertiesEXT.
Applications may use cacheId to avoid loading the exact same render
model asset twice when two or more XrRenderModelEXT handles use the
same glTF asset.
Applications may also use cacheId to cache preprocessed render model
asset data (and the associated animatableNodeCount node names) between
sessions: it is a persistent UUID, unlike the associated
XrRenderModelEXT handle or XrRenderModelIdEXT atom.
Note that runtimes may return a different UUID for a given logical entity
(e.g. hardware) in another session.
Within the corresponding XrSession, the association between an
XrRenderModelIdEXT value, the glTF extensions required by the
underlying model based on the contents of the
XrRenderModelCreateInfoEXT::gltfExtensions array, and the
cacheId, is constant.
A UUID cacheId corresponds to a unique binary asset, with a constant
animatableNodeCount, and is a function of the render model ID and the
required glTF extensions selected based on the supported glTF extension
contents reported by the application.
The runtime must set cacheId to a valid UUID value and subsequent
valid calls to xrGetRenderModelPropertiesEXT with the same
XrRenderModelEXT and XrRenderModelPropertiesGetInfoEXT values
must return the same values for cacheId while that ID remains valid
to use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelPropertiesFB(3)
Name
XrRenderModelPropertiesFB - The information about the render model
C Specification
The XrRenderModelPropertiesFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrRenderModelPropertiesFB {
XrStructureType type;
void* next;
uint32_t vendorId;
char modelName[XR_MAX_RENDER_MODEL_NAME_SIZE_FB];
XrRenderModelKeyFB modelKey;
uint32_t modelVersion;
XrRenderModelFlagsFB flags;
} XrRenderModelPropertiesFB;
Members
Description
XrRenderModelPropertiesFB contains information about the render model
for a device.
XrRenderModelPropertiesFB must be provided when calling
xrGetRenderModelPropertiesFB.
The XrRenderModelKeyFB included in the properties is a unique key
for each render model that is valid across multiple instances and installs.
If the application decides to cache or save the render model in any way,
modelVersion can be used to determine if the render model has changed.
The application should then update its cached or saved version.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelPropertiesGetInfoEXT(3)
Name
XrRenderModelPropertiesGetInfoEXT - The information to get the render model properties
C Specification
XrRenderModelPropertiesGetInfoEXT is an input structure for xrGetRenderModelPropertiesEXT.
// Provided by XR_EXT_render_model
typedef struct XrRenderModelPropertiesGetInfoEXT {
XrStructureType type;
const void* next;
} XrRenderModelPropertiesGetInfoEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelSpaceCreateInfoEXT(3)
Name
XrRenderModelSpaceCreateInfoEXT - The information to create an XrRenderModelEXT
C Specification
The XrRenderModelSpaceCreateInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelSpaceCreateInfoEXT {
XrStructureType type;
const void* next;
XrRenderModelEXT renderModel;
} XrRenderModelSpaceCreateInfoEXT;
Members
Description
XrRenderModelSpaceCreateInfoEXT is an input structure for xrCreateRenderModelSpaceEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelStateEXT(3)
Name
XrRenderModelStateEXT - The render model states
C Specification
The XrRenderModelStateEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelStateEXT {
XrStructureType type;
void* next;
uint32_t nodeStateCount;
XrRenderModelNodeStateEXT* nodeStates;
} XrRenderModelStateEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelStateGetInfoEXT(3)
Name
XrRenderModelStateGetInfoEXT - The information to get the render model states
C Specification
The XrRenderModelStateGetInfoEXT structure is defined as:
// Provided by XR_EXT_render_model
typedef struct XrRenderModelStateGetInfoEXT {
XrStructureType type;
const void* next;
XrTime displayTime;
} XrRenderModelStateGetInfoEXT;
Members
Description
When retrieving model state for a given frame, displayTime should be
set to the time value intended to be passed as
XrFrameEndInfo::displayTime.
See xrEndFrame for information on how to compute this value.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRoomLayoutFB(3)
Name
XrRoomLayoutFB - Provides additional context of a spatial entity representing a room
C Specification
The XrRoomLayoutFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrRoomLayoutFB {
XrStructureType type;
const void* next;
XrUuidEXT floorUuid;
XrUuidEXT ceilingUuid;
uint32_t wallUuidCapacityInput;
uint32_t wallUuidCountOutput;
XrUuidEXT* wallUuids;
} XrRoomLayoutFB;
Members
Description
This structure is used by the xrGetSpaceRoomLayoutFB function to provide the application with the XrUuidEXT handles representing the various surfaces of a room.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneBoundsMSFT(3)
Name
XrSceneBoundsMSFT - The scene bounds
C Specification
An application can pass one or more bounding volumes when calling xrComputeNewSceneMSFT. These bounding volumes are used to determine which scene components to include in the resulting scene. Scene components that intersect one or more of the bounding volumes should be included, and all other scene components should be excluded. If an application inputs no bounding volumes, then the runtime must not associate any scene components with the resulting XrSceneMSFT handle.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneBoundsMSFT {
XrSpace space;
XrTime time;
uint32_t sphereCount;
const XrSceneSphereBoundMSFT* spheres;
uint32_t boxCount;
const XrSceneOrientedBoxBoundMSFT* boxes;
uint32_t frustumCount;
const XrSceneFrustumBoundMSFT* frustums;
} XrSceneBoundsMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneCaptureInfoBD(3)
Name
XrSceneCaptureInfoBD - Info of starting the scene capture process
C Specification
The XrSceneCaptureInfoBD structure is defined as:
// Provided by XR_BD_spatial_scene
typedef struct XrSceneCaptureInfoBD {
XrStructureType type;
const void* next;
} XrSceneCaptureInfoBD;
Members
Description
This structure is defined for future extension.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneCaptureRequestInfoFB(3)
Name
XrSceneCaptureRequestInfoFB - Describes how a scene capture should be conducted by the system
C Specification
The XrSceneCaptureRequestInfoFB structure is defined as:
// Provided by XR_FB_scene_capture
typedef struct XrSceneCaptureRequestInfoFB {
XrStructureType type;
const void* next;
uint32_t requestByteCount;
const char* request;
} XrSceneCaptureRequestInfoFB;
Members
Description
The XrSceneCaptureRequestInfoFB structure is used by an application to
instruct the system what to look for during a scene capture.
If the request parameter is NULL, then the runtime must conduct
a default scene capture.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentLocationMSFT(3)
Name
XrSceneComponentLocationMSFT - Describes the location of a scene component
C Specification
The XrSceneComponentLocationMSFT structure describes the position and
orientation of a scene component to space
XrSceneComponentsLocateInfoMSFT::baseSpace at time
XrSceneComponentsLocateInfoMSFT::time.
If the scene component identified by XrUuidMSFT is not found,
flags should be empty.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentLocationMSFT {
XrSpaceLocationFlags flags;
XrPosef pose;
} XrSceneComponentLocationMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentLocationsMSFT(3)
Name
XrSceneComponentLocationsMSFT - Returns the scene component locations
C Specification
The XrSceneComponentLocationsMSFT structure returns scene component locations.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentLocationsMSFT {
XrStructureType type;
void* next;
uint32_t locationCount;
XrSceneComponentLocationMSFT* locations;
} XrSceneComponentLocationsMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentMSFT(3)
Name
XrSceneComponentMSFT - Scene component
C Specification
The XrSceneComponentMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentMSFT {
XrSceneComponentTypeMSFT componentType;
XrUuidMSFT id;
XrUuidMSFT parentId;
XrTime updateTime;
} XrSceneComponentMSFT;
Members
Description
The runtime must set parentId to either zero or a valid
XrUuidMSFT that corresponds to a scene component of type
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT that exists in the
XrSceneMSFT.
|
Note
|
Note
The parent scene object is intended to allow scene components to be grouped.
For example, the scene object for a wall might have multiple scene component
children like |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentParentFilterInfoMSFT(3)
Name
XrSceneComponentParentFilterInfoMSFT - Scene component parent filter
C Specification
The XrSceneComponentParentFilterInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentParentFilterInfoMSFT {
XrStructureType type;
const void* next;
XrUuidMSFT parentId;
} XrSceneComponentParentFilterInfoMSFT;
Members
Description
The runtime must return only scene components with matching parentId.
If parentId is zero then the runtime must return only scene
components that do not have a parent.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentsGetInfoMSFT(3)
Name
XrSceneComponentsGetInfoMSFT - The information to get the scene components
C Specification
An application can use XrSceneComponentsGetInfoMSFT to read the state
of a specific component type using the xrGetSceneComponentsMSFT
function.
Applications can chain one or more of following extension structures to the
XrSceneComponentsGetInfoMSFT::next chain to further narrow the
returned components.
The returned components must satisfy all conditions in the extension
structs.
-
XrSceneComponentParentFilterInfoMSFT to return only scene components that match the given parent object identifier.
-
XrSceneObjectTypesFilterInfoMSFT to return only scene components that match any of the given XrSceneObjectTypeMSFT values or if a scene component does not have an XrSceneObjectTypeMSFT property then the parent’s XrSceneObjectTypeMSFT property will be compared.
-
XrScenePlaneAlignmentFilterInfoMSFT to return only scene components that match any of the given XrScenePlaneAlignmentTypeMSFT values.
The XrSceneComponentsGetInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentsGetInfoMSFT {
XrStructureType type;
const void* next;
XrSceneComponentTypeMSFT componentType;
} XrSceneComponentsGetInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentsLocateInfoMSFT(3)
Name
XrSceneComponentsLocateInfoMSFT - Describes the information to locate scene components
C Specification
The XrSceneComponentsLocateInfoMSFT structure describes the information to locate scene components.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentsLocateInfoMSFT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
uint32_t componentIdCount;
const XrUuidMSFT* componentIds;
} XrSceneComponentsLocateInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentsMSFT(3)
Name
XrSceneComponentsMSFT - Scene components
C Specification
The XrSceneComponentsMSFT structure contains an array of
XrSceneComponentMSFT returning the components that satisfy the
conditions in xrGetSceneComponentsMSFT::getInfo.
The XrSceneComponentsMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneComponentsMSFT {
XrStructureType type;
void* next;
uint32_t componentCapacityInput;
uint32_t componentCountOutput;
XrSceneComponentMSFT* components;
} XrSceneComponentsMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneCreateInfoMSFT(3)
Name
XrSceneCreateInfoMSFT - The information to create a scene handle
C Specification
The XrSceneCreateInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneCreateInfoMSFT {
XrStructureType type;
const void* next;
} XrSceneCreateInfoMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneDeserializeInfoMSFT(3)
Name
XrSceneDeserializeInfoMSFT - The information to deserialize a binary scene
C Specification
XrSceneDeserializeInfoMSFT is an input structure that describes the array of serialized scene fragments that will be deserialized by the xrDeserializeSceneMSFT function.
// Provided by XR_MSFT_scene_understanding_serialization
typedef struct XrSceneDeserializeInfoMSFT {
XrStructureType type;
const void* next;
uint32_t fragmentCount;
const XrDeserializeSceneFragmentMSFT* fragments;
} XrSceneDeserializeInfoMSFT;
Members
Description
If the scene fragments are not in the same order as returned by
xrGetSceneComponentsMSFT or the runtime failed to deserialized the
binary data then xrGetSceneComputeStateMSFT must return
XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneFrustumBoundMSFT(3)
Name
XrSceneFrustumBoundMSFT - Describe a scene frustum bounds
C Specification
An XrSceneFrustumBoundMSFT structure describes the pose, field of view, and far distance of a frustum bounds.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneFrustumBoundMSFT {
XrPosef pose;
XrFovf fov;
float farDistance;
} XrSceneFrustumBoundMSFT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if
farDistance is less than or equal to zero.
The runtime must return XR_ERROR_VALIDATION_FAILURE if the fov
angles are not between between -π/2 and π/2 exclusively.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerMSFT(3)
Name
XrSceneMarkerMSFT - The properties of a scene marker.
C Specification
The XrSceneMarkerMSFT structure is defined as:
// Provided by XR_MSFT_scene_marker
typedef struct XrSceneMarkerMSFT {
XrSceneMarkerTypeMSFT markerType;
XrTime lastSeenTime;
XrOffset2Df center;
XrExtent2Df size;
} XrSceneMarkerMSFT;
Members
Description
The XrSceneMarkerMSFT structure is an element in the array of
XrSceneMarkersMSFT::sceneMarkers.
Refer to the QR code convention for an example of marker’s center and size in the context of a QR code.
When the runtime updates the location or properties of an observed marker,
the runtime must set the XrSceneMarkerMSFT::lastSeenTime to the
new timestamp of the update.
When the runtime cannot observe a previously observed
XrSceneMarkerMSFT, the runtime must keep the previous
lastSeenTime for the marker.
Hence, the application can use the lastSeenTime to know how fresh the
tracking information is for a given marker.
The center and size are measured in meters, relative to the
XrPosef of the marker for the visual bound of the marker in XY plane,
regardless of the marker type.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerQRCodeMSFT(3)
Name
XrSceneMarkerQRCodeMSFT - Properties specific to QR Codes
C Specification
The XrSceneMarkerQRCodeMSFT structure is defined as:
// Provided by XR_MSFT_scene_marker
typedef struct XrSceneMarkerQRCodeMSFT {
XrSceneMarkerQRCodeSymbolTypeMSFT symbolType;
uint8_t version;
} XrSceneMarkerQRCodeMSFT;
The XrSceneMarkerQRCodeMSFT structure contains the detailed QR Code
symbol type and version according to ISO/IEC
18004:2015.
The version must be in the range 1 to 40 inclusively for a QR Code
and 1 to 4 inclusively for a Micro QR Code.
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerQRCodesMSFT(3)
Name
XrSceneMarkerQRCodesMSFT - Properties for QRCode marker
C Specification
The XrSceneMarkerQRCodesMSFT structure is defined as:
// Provided by XR_MSFT_scene_marker
typedef struct XrSceneMarkerQRCodesMSFT {
XrStructureType type;
const void* next;
uint32_t qrCodeCapacityInput;
XrSceneMarkerQRCodeMSFT* qrCodes;
} XrSceneMarkerQRCodesMSFT;
Members
Description
An XrSceneMarkerQRCodesMSFT structure can be chained to the next
pointer of XrSceneComponentsMSFT when calling
xrGetSceneComponentsMSFT function to retrieve the QR Code specific
properties through an array of XrSceneMarkerQRCodeMSFT structures.
xrGetSceneComponentsMSFT follows the two-call idiom for filling the XrSceneComponentsMSFT structure to which an XrSceneMarkerQRCodesMSFT structure can be chained.
The qrCodeCapacityInput must be equal to or greater than the
corresponding XrSceneComponentsMSFT::componentCapacityInput, otherwise
the runtime must return the success code XR_ERROR_SIZE_INSUFFICIENT
from xrGetSceneComponentsMSFT.
The actual count of elements returned in the array qrCodes is
consistent to the extended XrSceneComponentsMSFT structure and
returned in XrSceneComponentsMSFT::componentCountOutput.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerTypeFilterMSFT(3)
Name
XrSceneMarkerTypeFilterMSFT - The information to filter marker query results
C Specification
The XrSceneMarkerTypeFilterMSFT structure is defined as:
// Provided by XR_MSFT_scene_marker
typedef struct XrSceneMarkerTypeFilterMSFT {
XrStructureType type;
const void* next;
uint32_t markerTypeCount;
XrSceneMarkerTypeMSFT* markerTypes;
} XrSceneMarkerTypeFilterMSFT;
Members
Description
The application can filter the returned scene components to specific marker
types by chaining XrSceneMarkerTypeFilterMSFT to the next
pointer of XrSceneComponentsGetInfoMSFT when calling
xrGetSceneComponentsMSFT.
When XrSceneMarkerTypeFilterMSFT is provided to xrGetSceneComponentsMSFT, the runtime must only return scene components that match the requested types.
The application must provide a non-empty array of unique markerTypes,
i.e. the markerTypeCount must be positive and the elements in the
markerTypes array must not have duplicated values.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE for
xrGetSceneComponentsMSFT function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkersMSFT(3)
Name
XrSceneMarkersMSFT - Provide an array to retrieve scene marker properties
C Specification
The XrSceneMarkersMSFT structure is defined as:
// Provided by XR_MSFT_scene_marker
typedef struct XrSceneMarkersMSFT {
XrStructureType type;
const void* next;
uint32_t sceneMarkerCapacityInput;
XrSceneMarkerMSFT* sceneMarkers;
} XrSceneMarkersMSFT;
Members
Description
Once the application creates an XrSceneMSFT after a successful scene compute, it can retrieve the scene markers' properties by chaining XrSceneMarkersMSFT structure to the next pointer of XrSceneComponentsGetInfoMSFT when calling xrGetSceneComponentsMSFT.
xrGetSceneComponentsMSFT follows the two-call idiom for filling the XrSceneComponentsMSFT structure to which an XrSceneMarkersMSFT structure can be chained.
The input sceneMarkerCapacityInput must be equal to or greater than
the corresponding XrSceneComponentsMSFT::componentCapacityInput,
otherwise the runtime must return XR_ERROR_SIZE_INSUFFICIENT.
The actual count of elements returned in the array sceneMarkers is
consistent with the extended XrSceneComponentsMSFT structure and
returned in XrSceneComponentsMSFT::componentCountOutput.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshBuffersGetInfoMSFT(3)
Name
XrSceneMeshBuffersGetInfoMSFT - The information to get the scene mesh buffer data
C Specification
XrSceneMeshBuffersGetInfoMSFT is an input structure for the xrGetSceneMeshBuffersMSFT function.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshBuffersGetInfoMSFT {
XrStructureType type;
const void* next;
uint64_t meshBufferId;
} XrSceneMeshBuffersGetInfoMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshBuffersMSFT(3)
Name
XrSceneMeshBuffersMSFT - Scene mesh buffers
C Specification
XrSceneMeshBuffersMSFT is an input/output structure for reading scene mesh buffers.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshBuffersMSFT {
XrStructureType type;
void* next;
} XrSceneMeshBuffersMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshIndicesUint16MSFT(3)
Name
XrSceneMeshIndicesUint16MSFT - Scene mesh 16-bit indices
C Specification
XrSceneMeshIndicesUint16MSFT is an input/output structure for reading 16-bit indices from a scene mesh buffer.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshIndicesUint16MSFT {
XrStructureType type;
void* next;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint16_t* indices;
} XrSceneMeshIndicesUint16MSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshIndicesUint32MSFT(3)
Name
XrSceneMeshIndicesUint32MSFT - Scene mesh 32-bit indices
C Specification
XrSceneMeshIndicesUint32MSFT is an input/output structure for reading 32-bit indices from a scene mesh buffer.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshIndicesUint32MSFT {
XrStructureType type;
void* next;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint32_t* indices;
} XrSceneMeshIndicesUint32MSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshMSFT(3)
Name
XrSceneMeshMSFT - Scene mesh
C Specification
The XrSceneMeshMSFT structure represents the state of a scene component’s mesh.
It is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshMSFT {
uint64_t meshBufferId;
XrBool32 supportsIndicesUint16;
} XrSceneMeshMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshVertexBufferMSFT(3)
Name
XrSceneMeshVertexBufferMSFT - Scene mesh vertex buffer
C Specification
XrSceneMeshVertexBufferMSFT is an input/output structure for reading scene mesh buffer vertices.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshVertexBufferMSFT {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector3f* vertices;
} XrSceneMeshVertexBufferMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMeshesMSFT(3)
Name
XrSceneMeshesMSFT - Scene meshes
C Specification
The runtime must fill out the XrSceneMeshesMSFT structure when
included in the XrSceneComponentsMSFT::next chain.
The XrSceneComponentsGetInfoMSFT::componentType must be
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT or
XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT when
XrSceneMeshesMSFT is included in the next chain.
If it is not, the XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT error
must be returned.
The XrSceneMeshesMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneMeshesMSFT {
XrStructureType type;
void* next;
uint32_t sceneMeshCount;
XrSceneMeshMSFT* sceneMeshes;
} XrSceneMeshesMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObjectMSFT(3)
Name
XrSceneObjectMSFT - Scene object
C Specification
The XrSceneObjectMSFT structure represents the state of a scene object.
It is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneObjectMSFT {
XrSceneObjectTypeMSFT objectType;
} XrSceneObjectMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObjectTypesFilterInfoMSFT(3)
Name
XrSceneObjectTypesFilterInfoMSFT - Scene object types filter
C Specification
The XrSceneObjectTypesFilterInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneObjectTypesFilterInfoMSFT {
XrStructureType type;
const void* next;
uint32_t objectTypeCount;
const XrSceneObjectTypeMSFT* objectTypes;
} XrSceneObjectTypesFilterInfoMSFT;
Members
Description
The runtime must return only scene components that match any of the
XrSceneObjectTypeMSFT in objectTypes.
If a scene component does not have an XrSceneObjectTypeMSFT then the
parent’s XrSceneObjectTypeMSFT value will be used for the comparison
if it exists.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObjectsMSFT(3)
Name
XrSceneObjectsMSFT - Scene objects
C Specification
The runtime must fill out the XrSceneObjectsMSFT structure when
included in the XrSceneComponentsMSFT::next chain.
The XrSceneComponentsGetInfoMSFT::componentType must be
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT when XrSceneObjectsMSFT is
included in the next chain.
If it is not, the XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT error
must be returned.
The XrSceneObjectsMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneObjectsMSFT {
XrStructureType type;
void* next;
uint32_t sceneObjectCount;
XrSceneObjectMSFT* sceneObjects;
} XrSceneObjectsMSFT;
Members
Description
The runtime must only set XrSceneObjectMSFT::objectType to any
of the following XrSceneObjectTypeMSFT values:
-
XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT -
XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT -
XR_SCENE_OBJECT_TYPE_WALL_MSFT -
XR_SCENE_OBJECT_TYPE_FLOOR_MSFT -
XR_SCENE_OBJECT_TYPE_CEILING_MSFT -
XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT -
XR_SCENE_OBJECT_TYPE_INFERRED_MSFT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObserverCreateInfoMSFT(3)
Name
XrSceneObserverCreateInfoMSFT - The information to create a scene observer handle
C Specification
The XrSceneObserverCreateInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneObserverCreateInfoMSFT {
XrStructureType type;
const void* next;
} XrSceneObserverCreateInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneOrientedBoxBoundMSFT(3)
Name
XrSceneOrientedBoxBoundMSFT - Describe a scene oriented box bounds
C Specification
An XrSceneOrientedBoxBoundMSFT structure describes the pose and extents of an oriented box bounds.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneOrientedBoxBoundMSFT {
XrPosef pose;
XrVector3f extents;
} XrSceneOrientedBoxBoundMSFT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if any component
of extents is not finite or less than or equal to zero.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrScenePlaneAlignmentFilterInfoMSFT(3)
Name
XrScenePlaneAlignmentFilterInfoMSFT - Plane alignment filter
C Specification
The XrScenePlaneAlignmentFilterInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrScenePlaneAlignmentFilterInfoMSFT {
XrStructureType type;
const void* next;
uint32_t alignmentCount;
const XrScenePlaneAlignmentTypeMSFT* alignments;
} XrScenePlaneAlignmentFilterInfoMSFT;
Members
Description
The runtime must return only scene components that match one of the
XrScenePlaneAlignmentTypeMSFT values passed in alignments.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrScenePlaneMSFT(3)
Name
XrScenePlaneMSFT - Scene plane
C Specification
The XrScenePlaneMSFT structure represents the state of a scene plane.
It is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrScenePlaneMSFT {
XrScenePlaneAlignmentTypeMSFT alignment;
XrExtent2Df size;
uint64_t meshBufferId;
XrBool32 supportsIndicesUint16;
} XrScenePlaneMSFT;
Members
Description
The size of a plane refers to the plane’s size in the x-y plane
of the plane’s coordinate system.
A plane with a position of {0,0,0}, rotation of {0,0,0,1} (no rotation), and
an extent of {1,1} refers to a 1 meter x 1 meter plane centered at {0,0,0}
with its front face normal vector pointing towards the +Z direction in the
plane component’s space.
For planes with an alignment of
XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT, the +Y direction must
point up away from the direction of gravity.
|
Note
|
Note
OpenXR uses an X-Y plane with +Z as the plane normal but other APIs may use an X-Z plane with +Y as the plane normal. The X-Y plane can be converted to an X-Z plane by rotating -Ï€/2 radians around the +X axis. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrScenePlanesMSFT(3)
Name
XrScenePlanesMSFT - Scene planes
C Specification
The runtime must fill out the XrScenePlanesMSFT structure when
included in the XrSceneComponentsMSFT::next chain.
The XrSceneComponentsGetInfoMSFT::componentType must be
XR_SCENE_COMPONENT_TYPE_PLANE_MSFT when XrScenePlanesMSFT is
included in the next chain.
If it is not, the XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT error
must be returned.
The XrScenePlanesMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrScenePlanesMSFT {
XrStructureType type;
void* next;
uint32_t scenePlaneCount;
XrScenePlaneMSFT* scenePlanes;
} XrScenePlanesMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneSphereBoundMSFT(3)
Name
XrSceneSphereBoundMSFT - Describe a scene sphere bounds
C Specification
An XrSceneSphereBoundMSFT structure describes the center and radius of a sphere bounds.
// Provided by XR_MSFT_scene_understanding
typedef struct XrSceneSphereBoundMSFT {
XrVector3f center;
float radius;
} XrSceneSphereBoundMSFT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if radius
is not a finite positive value.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationFrameEndInfoMSFT(3)
Name
XrSecondaryViewConfigurationFrameEndInfoMSFT - Submit an array of XrSecondaryViewConfigurationLayerInfoMSFT, one for each secondary view configuration.
C Specification
The application should submit layers each frame for all active secondary view configurations using the xrEndFrame function, by chaining the XrSecondaryViewConfigurationFrameEndInfoMSFT structure to the next pointer of XrFrameEndInfo structure.
The XrSecondaryViewConfigurationFrameEndInfoMSFT structure is defined as as:
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationFrameEndInfoMSFT {
XrStructureType type;
const void* next;
uint32_t viewConfigurationCount;
const XrSecondaryViewConfigurationLayerInfoMSFT* viewConfigurationLayersInfo;
} XrSecondaryViewConfigurationFrameEndInfoMSFT;
Members
Description
The view configuration type in each
XrSecondaryViewConfigurationLayerInfoMSFT must be one of the view
configurations enabled when calling xrBeginSession in
XrSecondaryViewConfigurationSessionBeginInfoMSFT, or else the runtime
must return error
XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT.
The view configuration type in each
XrSecondaryViewConfigurationLayerInfoMSFT must not be the primary view
configuration in this session, or else the runtime must return error
XR_ERROR_LAYER_INVALID.
The primary view configuration layers continue to be submitted through
XrFrameEndInfo directly.
If the view configuration is not active, as indicated in XrSecondaryViewConfigurationFrameStateMSFT, the composition layers submitted to this view configuration may be ignored by the runtime. Applications should avoid rendering into secondary views when the view configuration is inactive.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationFrameStateMSFT(3)
Name
XrSecondaryViewConfigurationFrameStateMSFT - Extension structure to xrWaitFrame to return a list of secondary view configuration states.
C Specification
The XrSecondaryViewConfigurationFrameStateMSFT structure returns whether the enabled view configurations are active or inactive.
It is defined as as:
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationFrameStateMSFT {
XrStructureType type;
void* next;
uint32_t viewConfigurationCount;
XrSecondaryViewConfigurationStateMSFT* viewConfigurationStates;
} XrSecondaryViewConfigurationFrameStateMSFT;
Members
Description
The array size viewConfigurationCount in the
XrSecondaryViewConfigurationFrameStateMSFT structure must be the same
as the array size enabled through
XrSecondaryViewConfigurationSessionBeginInfoMSFT when calling
xrBeginSession earlier, otherwise the runtime must return error
XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationLayerInfoMSFT(3)
Name
XrSecondaryViewConfigurationLayerInfoMSFT - Describe an array of composition layers to be submitted to given XrViewConfigurationType.
C Specification
The application should submit an XrSecondaryViewConfigurationLayerInfoMSFT in XrSecondaryViewConfigurationFrameEndInfoMSFT for each active secondary view configuration type when calling xrEndFrame.
The XrSecondaryViewConfigurationLayerInfoMSFT structure is defined as as:
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationLayerInfoMSFT {
XrStructureType type;
const void* next;
XrViewConfigurationType viewConfigurationType;
XrEnvironmentBlendMode environmentBlendMode;
uint32_t layerCount;
const XrCompositionLayerBaseHeader* const* layers;
} XrSecondaryViewConfigurationLayerInfoMSFT;
Members
Description
This structure is similar to the XrFrameEndInfo structure, with an extra XrViewConfigurationType field to specify the view configuration for which the submitted layers will be rendered.
The application should render its content for both the primary and
secondary view configurations using the same
XrFrameState::predictedDisplayTime reported by
xrWaitFrame.
The runtime must treat both the primary views and secondary views as being
submitted for the same XrViewLocateInfo::displayTime specified
in the call to xrEndFrame.
For layers such as quad layers whose content is identical across view configurations, the application can submit the same XrCompositionLayerBaseHeader structures to multiple view configurations in the same xrEndFrame function call.
For each frame, the application should only render and submit layers for the secondary view configurations that were active that frame, as indicated in the XrSecondaryViewConfigurationFrameStateMSFT filled in for that frame’s xrWaitFrame call. The runtime must ignore composition layers submitted for an inactive view configuration.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationSessionBeginInfoMSFT(3)
Name
XrSecondaryViewConfigurationSessionBeginInfoMSFT - Describes an extension structure to xrBeginSession indicating supported view configuration types.
C Specification
The XrSecondaryViewConfigurationSessionBeginInfoMSFT structure is used by the application to indicate the list of secondary XrViewConfigurationType to enable for this session.
It is defined as:
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationSessionBeginInfoMSFT {
XrStructureType type;
const void* next;
uint32_t viewConfigurationCount;
const XrViewConfigurationType* enabledViewConfigurationTypes;
} XrSecondaryViewConfigurationSessionBeginInfoMSFT;
Members
Description
If there are any duplicated view configuration types in the array of
enabledViewConfigurationTypes, the runtime must return error
XR_ERROR_VALIDATION_FAILURE.
If there are any primary view configuration types in the array of
enabledViewConfigurationTypes, the runtime must return error
XR_ERROR_VALIDATION_FAILURE.
If there are any secondary view configuration types not returned by
xrEnumerateViewConfigurations in the array of
enabledViewConfigurationTypes, the runtime must return error
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationStateMSFT(3)
Name
XrSecondaryViewConfigurationStateMSFT - Returns the state of an enabled secondary view configuration.
C Specification
The XrSecondaryViewConfigurationStateMSFT structure returns the state of an enabled secondary view configurations.
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationStateMSFT {
XrStructureType type;
void* next;
XrViewConfigurationType viewConfigurationType;
XrBool32 active;
} XrSecondaryViewConfigurationStateMSFT;
Members
Description
When a secondary view configuration becomes active, the application should
render its secondary views as soon as possible, by getting their view
transforms and FOV using xrLocateViews and then submitting composition
layers to xrEndFrame through the
XrSecondaryViewConfigurationFrameEndInfoMSFT extension structure.
When a secondary view configuration changes from inactive to active, the
runtime may change XrViewConfigurationView of the given view
configuration such as the recommended image width or height.
An application should query for latest XrViewConfigurationView
through xrEnumerateViewConfigurationViews function for the secondary
view configuration and consider recreating swapchain images if necessary.
The runtime must not change the XrViewConfigurationView, including
recommended image width and height of a secondary view configuration when
active remains true until the secondary view configuration deactivated
or the session has ended.
If necessary, the application can take longer than a frame duration to
prepare by calling xrEndFrame without submitting layers for that
secondary view configuration until ready.
The runtime should delay the underlying scenario managed by the secondary
view configuration until the application begins submitting frames with
layers for that configuration.
The active secondary view configuration composed output is undefined if the
application stops submitting frames with layers for a secondary view
configuration while active remains true.
When the runtime intends to conclude a secondary view configuration, for
example when user stops video capture, the runtime makes the view
configuration inactive by setting the corresponding active in the
XrSecondaryViewConfigurationStateMSFT structure to false.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSecondaryViewConfigurationSwapchainCreateInfoMSFT(3)
Name
XrSecondaryViewConfigurationSwapchainCreateInfoMSFT - Hint to runtime that the created swapchain image will be used for given secondary view configuration.
C Specification
When an application creates swapchain images for a secondary view configuration, it can chain a XrSecondaryViewConfigurationSwapchainCreateInfoMSFT structure to XrSwapchainCreateInfo when calling xrCreateSwapchain. This hints to the runtime that the created swapchain image will be submitted to the given secondary view configuration, allowing the runtime to make optimizations for such usage when there is opportunity.
// Provided by XR_MSFT_secondary_view_configuration
typedef struct XrSecondaryViewConfigurationSwapchainCreateInfoMSFT {
XrStructureType type;
const void* next;
XrViewConfigurationType viewConfigurationType;
} XrSecondaryViewConfigurationSwapchainCreateInfoMSFT;
Members
Description
If this structure is not present in the XrSwapchainCreateInfo next chain when calling xrCreateSwapchain, the runtime should optimize the created swapchain for the primary view configuration of the session.
If the application submits a swapchain image created with one view configuration type to a composition layer for another view configuration, the runtime may need to copy the resource across view configurations. However, the runtime must correctly compose the image regardless which view configuration type was hinted when swapchain image was created.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSemanticLabelsFB(3)
Name
XrSemanticLabelsFB - Provides application with semantic usage of a spatial entity
C Specification
The XrSemanticLabelsFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrSemanticLabelsFB {
XrStructureType type;
const void* next;
uint32_t bufferCapacityInput;
uint32_t bufferCountOutput;
char* buffer;
} XrSemanticLabelsFB;
Members
Description
This structure is used by the xrGetSpaceSemanticLabelsFB function to provide the application with the intended usage of the spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSemanticLabelsSupportInfoFB(3)
Name
XrSemanticLabelsSupportInfoFB - Specifies additional behaviors of the xrGetSpaceSemanticLabelsFB function
C Specification
The XrSemanticLabelsSupportInfoFB structure is defined as:
// Provided by XR_FB_scene
typedef struct XrSemanticLabelsSupportInfoFB {
XrStructureType type;
const void* next;
XrSemanticLabelsSupportFlagsFB flags;
const char* recognizedLabels;
} XrSemanticLabelsSupportInfoFB;
Members
Description
The XrSemanticLabelsSupportInfoFB structure may be specified in the
next chain of XrSemanticLabelsFB to specify additional behaviors
of the xrGetSpaceSemanticLabelsFB function.
The runtime must follow the behaviors specified in flags according to
the descriptions of XrSemanticLabelsSupportFlagBitsFB.
The runtime must return any semantic label that is not included in
recognizedLabels as "OTHER" to the application.
The runtime must follow this direction only if the runtime reports the
XrExtensionProperties::extensionVersion as 2 or greater,
otherwise the runtime must ignore this as an unknown chained structure.
If the XrSemanticLabelsSupportInfoFB structure is not present in the
next chain of XrSemanticLabelsFB, the runtime may return any
semantic labels to the application.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataFilterPlaneOrientationBD(3)
Name
XrSenseDataFilterPlaneOrientationBD - Plane orientation filter
C Specification
The XrSenseDataFilterPlaneOrientationBD structure is defined as:
// Provided by XR_BD_spatial_plane
typedef struct XrSenseDataFilterPlaneOrientationBD {
XrStructureType type;
const void* next;
uint32_t orientationCount;
XrPlaneOrientationBD* orientations;
} XrSenseDataFilterPlaneOrientationBD;
Members
Description
The XrSenseDataFilterPlaneOrientationBD structure contains a list of plane orientations. When the application passes this filter, all sense data that matches the criteria in the filter is included in the result returned. The runtime must not include sense data that does not match the provided filter.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataFilterSemanticBD(3)
Name
XrSenseDataFilterSemanticBD - Semantic label filter
C Specification
The XrSenseDataFilterSemanticBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataFilterSemanticBD {
XrStructureType type;
const void* next;
uint32_t labelCount;
const XrSemanticLabelBD* labels;
} XrSenseDataFilterSemanticBD;
Members
The XrSenseDataFilterSemanticBD contains a list of semantic labels. When the application passes this filter, the query result will only contain entities with semantic labels that appear in this list.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataFilterUuidBD(3)
Name
XrSenseDataFilterUuidBD - Uuid filter
C Specification
The XrSenseDataFilterUuidBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataFilterUuidBD {
XrStructureType type;
const void* next;
uint32_t uuidCount;
const XrUuidEXT* uuids;
} XrSenseDataFilterUuidBD;
Members
Description
The XrSenseDataFilterUuidBD contains a list of UUIDs. When the application passes this filter, the query result will only contain entities with UUIDs that appear in this list.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderCreateInfoBD(3)
Name
XrSenseDataProviderCreateInfoBD - Info of creating a sense data provider
C Specification
The XrSenseDataProviderCreateInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataProviderCreateInfoBD {
XrStructureType type;
const void* next;
XrSenseDataProviderTypeBD providerType;
} XrSenseDataProviderCreateInfoBD;
Members
Description
When the application creates an XrSenseDataProviderBD, it must
specify the type of provider via providerType.
If the value of providerType is not valid given the current enabled
extensions, the runtime must return XR_ERROR_VALIDATION_FAILURE.
Some provider types have additional parameters passed via the
XrSenseDataProviderCreateInfoBD::next chain.
If a valid provider type is specified in providerType but that type
requires an additional configuration structure that is not provided in the
next chain, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
Note that in accordance with
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-valid-usage-for-structure-pointer-chains, configuration
structures in the next chain for provider types other than the one
indicated by providerType are ignored.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderCreateInfoSpatialMeshBD(3)
Name
XrSenseDataProviderCreateInfoSpatialMeshBD - Info of creating a spatial mesh data provider
C Specification
The XrSenseDataProviderCreateInfoSpatialMeshBD structure is defined as:
// Provided by XR_BD_spatial_mesh
typedef struct XrSenseDataProviderCreateInfoSpatialMeshBD {
XrStructureType type;
const void* next;
XrSpatialMeshConfigFlagsBD configFlags;
XrSpatialMeshLodBD lod;
} XrSenseDataProviderCreateInfoSpatialMeshBD;
Members
Description
An application creates an XrSenseDataProviderBD handle representing a
a spatial mesh provider by calling xrCreateSenseDataProviderBD,
setting XrSenseDataProviderCreateInfoBD::providerType equal to
the XrSenseDataProviderTypeBD value
XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD, and chaining
XrSenseDataProviderCreateInfoSpatialMeshBD to
XrSenseDataProviderCreateInfoBD::next.
Both the XrSenseDataProviderTypeBD value and the chained
XrSenseDataProviderCreateInfoSpatialMeshBD structure are required.
If XrSenseDataProviderCreateInfoBD::providerType is equal to
XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD but
XrSenseDataProviderCreateInfoSpatialMeshBD is not in the next
chain, the runtime must return XR_ERROR_VALIDATION_FAILURE.
An application uses such a provider to obtain the spatial mesh info that is detected and tracked by the runtime. This data generally consists of spatial entities with at least a XrSpatialEntityComponentDataTriangleMeshBD component.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderStartInfoBD(3)
Name
XrSenseDataProviderStartInfoBD - Info of starting a sense data provider
C Specification
The XrSenseDataProviderStartInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataProviderStartInfoBD {
XrStructureType type;
const void* next;
} XrSenseDataProviderStartInfoBD;
Members
This structure is defined for future extension.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataQueryCompletionBD(3)
Name
XrSenseDataQueryCompletionBD - Completion info of query a sense data provider
C Specification
The XrSenseDataQueryCompletionBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataQueryCompletionBD {
XrStructureType type;
void* next;
XrResult futureResult;
XrSenseDataSnapshotBD snapshot;
} XrSenseDataQueryCompletionBD;
Members
Description
If the futureResult is not XR_SUCCESS, the runtime must set
snapshot to XR_NULL_HANDLE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataQueryInfoBD(3)
Name
XrSenseDataQueryInfoBD - Query info to a sense data provider
C Specification
The XrSenseDataQueryInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSenseDataQueryInfoBD {
XrStructureType type;
const void* next;
} XrSenseDataQueryInfoBD;
Members
Description
When the application initiates a query request, it can chain a
XrSenseDataFilter* structure to
XrSenseDataQueryInfoBD::next.
Then all sense data that matches the criteria in the filter is included in
the result returned.
The runtime must not include sense data that does not match the provided
filter.
If no XrSenseDataFilter* structure is chained to
XrSenseDataQueryInfoBD::next, it means no filter is applied, and
runtime must include all currently detected sense data of this provider in
the result.
|
Note
|
Note
Currently, only the first filter in the
XrSenseDataQueryInfoBD:: |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSerializedSceneFragmentDataGetInfoMSFT(3)
Name
XrSerializedSceneFragmentDataGetInfoMSFT - The information to get the serialized scene fragment data
C Specification
The XrSerializedSceneFragmentDataGetInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding_serialization
typedef struct XrSerializedSceneFragmentDataGetInfoMSFT {
XrStructureType type;
const void* next;
XrUuidMSFT sceneFragmentId;
} XrSerializedSceneFragmentDataGetInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionActionSetsAttachInfo(3)
Name
XrSessionActionSetsAttachInfo - Information to attach action sets to a session
C Specification
The XrSessionActionSetsAttachInfo structure is defined as:
typedef struct XrSessionActionSetsAttachInfo {
XrStructureType type;
const void* next;
uint32_t countActionSets;
const XrActionSet* actionSets;
} XrSessionActionSetsAttachInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionBeginInfo(3)
Name
XrSessionBeginInfo - Struct containing session begin info
C Specification
The XrSessionBeginInfo structure is defined as:
typedef struct XrSessionBeginInfo {
XrStructureType type;
const void* next;
XrViewConfigurationType primaryViewConfigurationType;
} XrSessionBeginInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateInfo(3)
Name
XrSessionCreateInfo - Creates a session
C Specification
The XrSessionCreateInfo structure is defined as:
typedef struct XrSessionCreateInfo {
XrStructureType type;
const void* next;
XrSessionCreateFlags createFlags;
XrSystemId systemId;
} XrSessionCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateInfoOverlayEXTX(3)
Name
XrSessionCreateInfoOverlayEXTX - Session creation extension struct providing overlay session parameters
C Specification
// Provided by XR_EXTX_overlay
typedef struct XrSessionCreateInfoOverlayEXTX {
XrStructureType type;
const void* next;
XrOverlaySessionCreateFlagsEXTX createFlags;
uint32_t sessionLayersPlacement;
} XrSessionCreateInfoOverlayEXTX;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrShareSpacesInfoMETA(3)
Name
XrShareSpacesInfoMETA - Information about share spatial entity request
C Specification
The XrShareSpacesInfoMETA structure is defined as:
// Provided by XR_META_spatial_entity_sharing
typedef struct XrShareSpacesInfoMETA {
XrStructureType type;
const void* next;
uint32_t spaceCount;
XrSpace* spaces;
const XrShareSpacesRecipientBaseHeaderMETA* recipientInfo;
} XrShareSpacesInfoMETA;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrShareSpacesRecipientBaseHeaderMETA(3)
Name
XrShareSpacesRecipientBaseHeaderMETA - Information about share spatial entity request
C Specification
The XrShareSpacesRecipientBaseHeaderMETA structure is defined as:
// Provided by XR_META_spatial_entity_sharing
typedef struct XrShareSpacesRecipientBaseHeaderMETA {
XrStructureType type;
const void* next;
} XrShareSpacesRecipientBaseHeaderMETA;
Members
Description
XrShareSpacesRecipientBaseHeaderMETA is designed to be an abstract base struct which is to be extended by other structures.
Any valid structure that identifies XrShareSpacesRecipientBaseHeaderMETA as its parent structure may be provided anywhere a valid XrShareSpacesRecipientBaseHeaderMETA is specified to be passed.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrShareSpacesRecipientGroupsMETA(3)
Name
XrShareSpacesRecipientGroupsMETA - Information about the share spaces recipient
C Specification
The XrShareSpacesRecipientGroupsMETA structure is defined as:
// Provided by XR_META_spatial_entity_group_sharing with XR_META_spatial_entity_sharing
typedef struct XrShareSpacesRecipientGroupsMETA {
XrStructureType type;
const void* next;
uint32_t groupCount;
XrUuid* groups;
} XrShareSpacesRecipientGroupsMETA;
Members
Description
XrShareSpacesRecipientGroupsMETA implements the XrShareSpacesRecipientBaseHeaderMETA base type. Where xrShareSpacesMETA specifies that a valid structure based on XrShareSpacesRecipientBaseHeaderMETA is to be passed, a valid XrShareSpacesRecipientGroupsMETA structure may be passed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSharedSpatialAnchorDownloadInfoBD(3)
Name
XrSharedSpatialAnchorDownloadInfoBD - Info of downloading a shared spatial anchor
C Specification
The XrSharedSpatialAnchorDownloadInfoBD structure is defined as:
// Provided by XR_BD_spatial_anchor_sharing
typedef struct XrSharedSpatialAnchorDownloadInfoBD {
XrStructureType type;
const void* next;
XrUuidEXT uuid;
} XrSharedSpatialAnchorDownloadInfoBD;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSimultaneousHandsAndControllersTrackingPauseInfoMETA(3)
Name
XrSimultaneousHandsAndControllersTrackingPauseInfoMETA - Input parameter to the xrPauseSimultaneousHandsAndControllersTrackingMETA function
C Specification
The XrSimultaneousHandsAndControllersTrackingPauseInfoMETA structure is defined as:
// Provided by XR_META_simultaneous_hands_and_controllers
typedef struct XrSimultaneousHandsAndControllersTrackingPauseInfoMETA {
XrStructureType type;
const void* next;
} XrSimultaneousHandsAndControllersTrackingPauseInfoMETA;
Members
Description
This structure only exists to point to future extension structures.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSimultaneousHandsAndControllersTrackingResumeInfoMETA(3)
Name
XrSimultaneousHandsAndControllersTrackingResumeInfoMETA - Input parameter to the xrResumeSimultaneousHandsAndControllersTrackingMETA function
C Specification
The XrSimultaneousHandsAndControllersTrackingResumeInfoMETA structure is defined as:
// Provided by XR_META_simultaneous_hands_and_controllers
typedef struct XrSimultaneousHandsAndControllersTrackingResumeInfoMETA {
XrStructureType type;
const void* next;
} XrSimultaneousHandsAndControllersTrackingResumeInfoMETA;
Members
Description
This structure only exists to point to future extension structures.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceComponentFilterInfoFB(3)
Name
XrSpaceComponentFilterInfoFB - Filters for entities with specific components enabled
C Specification
The XrSpaceComponentFilterInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceComponentFilterInfoFB {
XrStructureType type;
const void* next;
XrSpaceComponentTypeFB componentType;
} XrSpaceComponentFilterInfoFB;
Members
Description
The XrSpaceComponentFilterInfoFB structure is a filter an application
can use to find XrSpace entities which have the componentType
enabled, to include or exclude them from a query.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceComponentStatusFB(3)
Name
XrSpaceComponentStatusFB - Current status of an entity
C Specification
The XrSpaceComponentStatusFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrSpaceComponentStatusFB {
XrStructureType type;
void* next;
XrBool32 enabled;
XrBool32 changePending;
} XrSpaceComponentStatusFB;
Members
Description
It holds information on the current state of a component.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceComponentStatusSetInfoFB(3)
Name
XrSpaceComponentStatusSetInfoFB - Request info to enable or disable an entity
C Specification
The XrSpaceComponentStatusSetInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrSpaceComponentStatusSetInfoFB {
XrStructureType type;
const void* next;
XrSpaceComponentTypeFB componentType;
XrBool32 enabled;
XrDuration timeout;
} XrSpaceComponentStatusSetInfoFB;
Members
Description
Enables or disables the specified component for the specified spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceContainerFB(3)
Name
XrSpaceContainerFB - Represents a collection of other spaces, represented by UUIDs, contained by this space
C Specification
The XrSpaceContainerFB structure is defined as:
// Provided by XR_FB_spatial_entity_container
typedef struct XrSpaceContainerFB {
XrStructureType type;
const void* next;
uint32_t uuidCapacityInput;
uint32_t uuidCountOutput;
XrUuidEXT* uuids;
} XrSpaceContainerFB;
Members
Description
The XrSpaceContainerFB structure can be used by an application to perform the two calls required to obtain information about which spatial entities are contained by a specified spatial entity.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceDiscoveryInfoMETA(3)
Name
XrSpaceDiscoveryInfoMETA - Parameters for a discovery operation
C Specification
The XrSpaceDiscoveryInfoMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceDiscoveryInfoMETA {
XrStructureType type;
const void* next;
uint32_t filterCount;
const XrSpaceFilterBaseHeaderMETA* const * filters;
} XrSpaceDiscoveryInfoMETA;
Members
Description
The XrSpaceDiscoveryInfoMETA structure contains information used to discover space(s).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceDiscoveryResultMETA(3)
Name
XrSpaceDiscoveryResultMETA - Single result from retrieving results from Discovery
C Specification
The XrSpaceDiscoveryResultMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceDiscoveryResultMETA {
XrSpace space;
XrUuidEXT uuid;
} XrSpaceDiscoveryResultMETA;
Members
Description
The XrSpaceDiscoveryResultMETA structure contains a single Space result retrieved after Discovery returns results.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceDiscoveryResultsMETA(3)
Name
XrSpaceDiscoveryResultsMETA - Result(s) from retrieving results from Discovery
C Specification
The XrSpaceDiscoveryResultsMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceDiscoveryResultsMETA {
XrStructureType type;
const void* next;
uint32_t resultCapacityInput;
uint32_t resultCountOutput;
XrSpaceDiscoveryResultMETA* results;
} XrSpaceDiscoveryResultsMETA;
Members
Description
The XrSpaceDiscoveryResultsMETA structure is used to retrieve all results from a Discovery operation.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceEraseInfoFB(3)
Name
XrSpaceEraseInfoFB - Parameters for an erase operation
C Specification
The XrSpaceEraseInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage
typedef struct XrSpaceEraseInfoFB {
XrStructureType type;
const void* next;
XrSpace space;
XrSpaceStorageLocationFB location;
} XrSpaceEraseInfoFB;
Members
Description
The XrSpaceEraseInfoFB structure contains information used to erase the spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceFilterBaseHeaderMETA(3)
Name
XrSpaceFilterBaseHeaderMETA - Base header for space discovery filters
C Specification
The XrSpaceFilterBaseHeaderMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceFilterBaseHeaderMETA {
XrStructureType type;
const void* next;
} XrSpaceFilterBaseHeaderMETA;
Members
Description
The XrSpaceFilterBaseHeaderMETA structure is meant to be used as the base header for filter types defined in this extension.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceFilterComponentMETA(3)
Name
XrSpaceFilterComponentMETA - Component filter for Discovery
C Specification
The XrSpaceFilterComponentMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceFilterComponentMETA {
XrStructureType type;
const void* next;
XrSpaceComponentTypeFB componentType;
} XrSpaceFilterComponentMETA;
Members
Description
The XrSpaceFilterComponentMETA structure contains information used to discover Spatial Entities by components enabled.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceFilterInfoBaseHeaderFB(3)
Name
XrSpaceFilterInfoBaseHeaderFB - Base structure for all query filter structures
C Specification
The XrSpaceFilterInfoBaseHeaderFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceFilterInfoBaseHeaderFB {
XrStructureType type;
const void* next;
} XrSpaceFilterInfoBaseHeaderFB;
Members
Description
The XrSpaceFilterInfoBaseHeaderFB is a base structure that is not
intended to be directly used, but forms a basis for specific filter info
types.
All filter info structures begin with the elements described in the
XrSpaceFilterInfoBaseHeaderFB, and a filter info pointer must be cast
to a pointer to XrSpaceFilterInfoBaseHeaderFB when populating
XrSpaceQueryInfoFB::filter and
XrSpaceQueryInfoFB::excludeFilter to pass to the
xrQuerySpacesFB function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceFilterUuidMETA(3)
Name
XrSpaceFilterUuidMETA - ID filter for Discovery
C Specification
The XrSpaceFilterUuidMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSpaceFilterUuidMETA {
XrStructureType type;
const void* next;
uint32_t uuidCount;
const XrUuidEXT* uuids;
} XrSpaceFilterUuidMETA;
Members
Description
The XrSpaceFilterUuidMETA structure contains information used to discover space(s) by ID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceGroupUuidFilterInfoMETA(3)
Name
XrSpaceGroupUuidFilterInfoMETA - Filters for entities with specific unique identifiers
C Specification
The XrSpaceGroupUuidFilterInfoMETA structure is defined as:
// Provided by XR_FB_spatial_entity_query with XR_META_spatial_entity_group_sharing
typedef struct XrSpaceGroupUuidFilterInfoMETA {
XrStructureType type;
const void* next;
XrUuid groupUuid;
} XrSpaceGroupUuidFilterInfoMETA;
Members
Description
This structure is a space query filter for use with query functions
introduced in the XR_FB_spatial_entity_query extension.
To query spaces shared with a group, the application can include the XrSpaceGroupUuidFilterInfoMETA filter in the query filters when calling xrQuerySpacesFB.
If XrSpaceGroupUuidFilterInfoMETA is passed into xrQuerySpacesFB
and the group UUID is not found by the runtime, the runtime must return an
XR_ERROR_SPACE_GROUP_NOT_FOUND_META as the
XrEventDataSpaceQueryCompleteFB::result.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceListSaveInfoFB(3)
Name
XrSpaceListSaveInfoFB - Parameters for a list save operation
C Specification
The XrSpaceListSaveInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage_batch
typedef struct XrSpaceListSaveInfoFB {
XrStructureType type;
const void* next;
uint32_t spaceCount;
XrSpace* spaces;
XrSpaceStorageLocationFB location;
} XrSpaceListSaveInfoFB;
Members
Description
The XrSpaceListSaveInfoFB structure contains information used to save multiple spatial entities.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceLocation(3)
Name
XrSpaceLocation - Contains info about a space
C Specification
The XrSpaceLocation structure is defined as:
typedef struct XrSpaceLocation {
XrStructureType type;
void* next;
XrSpaceLocationFlags locationFlags;
XrPosef pose;
} XrSpaceLocation;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceLocationData(3)
Name
XrSpaceLocationData - Returns the data of a space
C Specification
The XrSpaceLocationData structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrSpaceLocationData {
XrSpaceLocationFlags locationFlags;
XrPosef pose;
} XrSpaceLocationData;
Members
Description
This is a single element of the array in
XrSpaceLocations::locations, and is used to return the pose and
location flags for a single space with respect to the specified base space
from a call to xrLocateSpaces.
It does not accept chained structures to allow for easier use in dynamically
allocated container datatypes.
Chained structures are possible with the XrSpaceLocations that
describes an array of these elements.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceLocations(3)
Name
XrSpaceLocations - Returns an array of space locations
C Specification
The XrSpaceLocations structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrSpaceLocations {
XrStructureType type;
void* next;
uint32_t locationCount;
XrSpaceLocationData* locations;
} XrSpaceLocations;
Members
Description
The XrSpaceLocations structure contains an array of space locations in
the member locations, to be used as output for xrLocateSpaces.
The application must allocate this array to be populated with the function
output.
The locationCount value must be the same as
XrSpacesLocateInfo::spaceCount, otherwise, the
xrLocateSpaces function must return
XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceQueryInfoBaseHeaderFB(3)
Name
XrSpaceQueryInfoBaseHeaderFB - Base structure for all query info structures
C Specification
The XrSpaceQueryInfoBaseHeaderFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceQueryInfoBaseHeaderFB {
XrStructureType type;
const void* next;
} XrSpaceQueryInfoBaseHeaderFB;
Members
The XrSpaceQueryInfoBaseHeaderFB is a base structure that is not intended to be directly used, but forms a basis for specific query info types. All query info structures begin with the elements described in the XrSpaceQueryInfoBaseHeaderFB, and a query info pointer must be cast to a pointer to XrSpaceQueryInfoBaseHeaderFB when passing it to the xrQuerySpacesFB function.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceQueryInfoFB(3)
Name
XrSpaceQueryInfoFB - Query for entities and perform an action on any results
C Specification
The XrSpaceQueryInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceQueryInfoFB {
XrStructureType type;
const void* next;
XrSpaceQueryActionFB queryAction;
uint32_t maxResultCount;
XrDuration timeout;
const XrSpaceFilterInfoBaseHeaderFB* filter;
const XrSpaceFilterInfoBaseHeaderFB* excludeFilter;
} XrSpaceQueryInfoFB;
Members
Description
May be used to query for spaces and perform a specific action on the spaces
returned.
The available actions are enumerated in XrSpaceQueryActionFB.
The filter info provided to the filter member of the struct is used as
an inclusive filter.
The filter info provided to the excludeFilter member of the structure
is used to exclude spaces from the results returned from the filter.
All spaces that match the criteria in filter, and that do not match
the criteria in excludeFilter, must be included in the results
returned.
This is to allow for a more selective style query.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceQueryResultFB(3)
Name
XrSpaceQueryResultFB - Query result
C Specification
The XrSpaceQueryResultFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceQueryResultFB {
XrSpace space;
XrUuidEXT uuid;
} XrSpaceQueryResultFB;
Members
Description
The XrSpaceQueryResultFB structure is a query result returned in the
xrRetrieveSpaceQueryResultsFB::results output parameter of the
xrRetrieveSpaceQueryResultsFB function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceQueryResultsFB(3)
Name
XrSpaceQueryResultsFB - Used to retrieve query results
C Specification
The XrSpaceQueryResultsFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceQueryResultsFB {
XrStructureType type;
void* next;
uint32_t resultCapacityInput;
uint32_t resultCountOutput;
XrSpaceQueryResultFB* results;
} XrSpaceQueryResultsFB;
Members
Description
The XrSpaceQueryResultsFB structure is used by the xrRetrieveSpaceQueryResultsFB function to retrieve query results.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceSaveInfoFB(3)
Name
XrSpaceSaveInfoFB - Parameters for a save operation
C Specification
The XrSpaceSaveInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_storage
typedef struct XrSpaceSaveInfoFB {
XrStructureType type;
const void* next;
XrSpace space;
XrSpaceStorageLocationFB location;
XrSpacePersistenceModeFB persistenceMode;
} XrSpaceSaveInfoFB;
Members
Description
The XrSpaceSaveInfoFB structure contains information used to save the spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceShareInfoFB(3)
Name
XrSpaceShareInfoFB - Describes a request to share some number of spatial entities
C Specification
The XrSpaceShareInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_sharing
typedef struct XrSpaceShareInfoFB {
XrStructureType type;
const void* next;
uint32_t spaceCount;
XrSpace* spaces;
uint32_t userCount;
XrSpaceUserFB* users;
} XrSpaceShareInfoFB;
Members
Description
The XrSpaceShareInfoFB structure describes a request to share one or more spatial entities with one or more users.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceStorageLocationFilterInfoFB(3)
Name
XrSpaceStorageLocationFilterInfoFB - Describes where a spatial entity is stored
C Specification
The XrSpaceStorageLocationFilterInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceStorageLocationFilterInfoFB {
XrStructureType type;
const void* next;
XrSpaceStorageLocationFB location;
} XrSpaceStorageLocationFilterInfoFB;
Members
Description
Extends a query filter to limit a query to a specific storage location.
Set the next pointer of an XrSpaceFilterInfoBaseHeaderFB to
chain this extra filtering functionality.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceTriangleMeshGetInfoMETA(3)
Name
XrSpaceTriangleMeshGetInfoMETA - Input parameter to the xrGetSpaceTriangleMeshMETA function
C Specification
The XrSpaceTriangleMeshGetInfoMETA structure is defined as:
// Provided by XR_META_spatial_entity_mesh
typedef struct XrSpaceTriangleMeshGetInfoMETA {
XrStructureType type;
const void* next;
} XrSpaceTriangleMeshGetInfoMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceTriangleMeshMETA(3)
Name
XrSpaceTriangleMeshMETA - Output parameter to the xrGetSpaceTriangleMeshMETA function
C Specification
The XrSpaceTriangleMeshMETA structure is defined as:
// Provided by XR_META_spatial_entity_mesh
typedef struct XrSpaceTriangleMeshMETA {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector3f* vertices;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint32_t* indices;
} XrSpaceTriangleMeshMETA;
Members
Description
The XrSpaceTriangleMeshMETA structure can be used by the application to perform the two calls required to obtain a triangle mesh associated to a specified spatial entity.
The output values written in the indices array represent indices of
vertices: Three consecutive elements represent a triangle with a
counter-clockwise winding order.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceUserCreateInfoFB(3)
Name
XrSpaceUserCreateInfoFB - Describes a user
C Specification
The XrSpaceUserCreateInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_user
typedef struct XrSpaceUserCreateInfoFB {
XrStructureType type;
const void* next;
XrSpaceUserIdFB userId;
} XrSpaceUserCreateInfoFB;
Members
Description
The XrSpaceUserCreateInfoFB structure describes a user with which the application can interact.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceUuidFilterInfoFB(3)
Name
XrSpaceUuidFilterInfoFB - Filters for entities with specific unique identifiers
C Specification
The XrSpaceUuidFilterInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity_query
typedef struct XrSpaceUuidFilterInfoFB {
XrStructureType type;
const void* next;
uint32_t uuidCount;
XrUuidEXT* uuids;
} XrSpaceUuidFilterInfoFB;
Members
Description
The XrSpaceUuidFilterInfoFB structure is a filter an application can use to find XrSpace entities that match specified UUIDs, to include or exclude them from a query.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceVelocities(3)
Name
XrSpaceVelocities - Returns an array of space velocities
C Specification
Applications can request the velocities of spaces by chaining the XrSpaceVelocities structure to the next pointer of XrSpaceLocations when calling xrLocateSpaces.
The XrSpaceVelocities structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrSpaceVelocities {
XrStructureType type;
void* next;
uint32_t velocityCount;
XrSpaceVelocityData* velocities;
} XrSpaceVelocities;
Members
Description
The velocities member contains an array of space velocities in the
member velocities, to be used as output for xrLocateSpaces.
The application must allocate this array to be populated with the function
output.
The velocityCount value must be the same as
XrSpacesLocateInfo::spaceCount, otherwise, the
xrLocateSpaces function must return
XR_ERROR_VALIDATION_FAILURE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceVelocity(3)
Name
XrSpaceVelocity - Contains info about a space
C Specification
The XrSpaceVelocity structure is defined as:
// Provided by XR_VERSION_1_0
typedef struct XrSpaceVelocity {
XrStructureType type;
void* next;
XrSpaceVelocityFlags velocityFlags;
XrVector3f linearVelocity;
XrVector3f angularVelocity;
} XrSpaceVelocity;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceVelocityData(3)
Name
XrSpaceVelocityData - Returns the data of a space
C Specification
The XrSpaceVelocityData structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrSpaceVelocityData {
XrSpaceVelocityFlags velocityFlags;
XrVector3f linearVelocity;
XrVector3f angularVelocity;
} XrSpaceVelocityData;
Members
Description
This is a single element of the array in
XrSpaceVelocities::velocities, and is used to return the linear
and angular velocity and velocity flags for a single space with respect to
the specified base space from a call to xrLocateSpaces.
It does not accept chained structures to allow for easier use in dynamically
allocated container datatypes.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpacesEraseInfoMETA(3)
Name
XrSpacesEraseInfoMETA - Parameters for an erase operation when erasing by XrSpace
C Specification
The XrSpacesEraseInfoMETA structure is defined as:
// Provided by XR_META_spatial_entity_persistence
typedef struct XrSpacesEraseInfoMETA {
XrStructureType type;
const void* next;
uint32_t spaceCount;
XrSpace* spaces;
uint32_t uuidCount;
XrUuidEXT* uuids;
} XrSpacesEraseInfoMETA;
Members
Description
The XrSpacesEraseInfoMETA structure contains information used to erase
one or more spaces with xrEraseSpacesMETA.
Both the spaces and uuids arrays are optional, but at least one
of them must contain at least one element.
See xrEraseSpacesMETA for required validation behavior by the runtime.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpacesLocateInfo(3)
Name
XrSpacesLocateInfo - Inputs the information to locate spaces.
C Specification
The XrSpacesLocateInfo structure is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrSpacesLocateInfo {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
uint32_t spaceCount;
const XrSpace* spaces;
} XrSpacesLocateInfo;
Members
Description
The time, the baseSpace, and each space in spaces all
follow the same specifics as the corresponding inputs to the
xrLocateSpace function.
The baseSpace and all of the XrSpace handles in the spaces
array must be valid and share the same parent XrSession.
If the time is invalid, the xrLocateSpaces must return
XR_ERROR_TIME_INVALID.
The spaceCount must be a positive number, i.e. the array spaces
must not be empty.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpacesSaveInfoMETA(3)
Name
XrSpacesSaveInfoMETA - Parameters for a save operation
C Specification
The XrSpacesSaveInfoMETA structure is defined as:
// Provided by XR_META_spatial_entity_persistence
typedef struct XrSpacesSaveInfoMETA {
XrStructureType type;
const void* next;
uint32_t spaceCount;
XrSpace* spaces;
} XrSpacesSaveInfoMETA;
Members
Description
The XrSpacesSaveInfoMETA structure contains information used to save one or more spaces with xrSaveSpacesMETA.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCompletionResultML(3)
Name
XrSpatialAnchorCompletionResultML - Per Anchor Completion detail
C Specification
The XrSpatialAnchorCompletionResultML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorCompletionResultML {
XrUuidEXT uuid;
XrResult result;
} XrSpatialAnchorCompletionResultML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateCompletionBD(3)
Name
XrSpatialAnchorCreateCompletionBD - Completion info of creating a spatial anchor
C Specification
The XrSpatialAnchorCreateCompletionBD structure is defined as:
// Provided by XR_BD_spatial_anchor
typedef struct XrSpatialAnchorCreateCompletionBD {
XrStructureType type;
void* next;
XrResult futureResult;
XrUuidEXT uuid;
XrAnchorBD anchor;
} XrSpatialAnchorCreateCompletionBD;
Members
Description
This is the completion data structure associated with the asynchronous operation started by xrCreateSpatialAnchorAsyncBD and completed by xrCreateSpatialAnchorCompleteBD.
It is populated by a valid call to xrCreateSpatialAnchorCompleteBD on a corresponding, READY future.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateInfoBD(3)
Name
XrSpatialAnchorCreateInfoBD - Info of creating a spatial anchor
C Specification
The XrSpatialAnchorCreateInfoBD structure is defined as:
// Provided by XR_BD_spatial_anchor
typedef struct XrSpatialAnchorCreateInfoBD {
XrStructureType type;
const void* next;
XrSpace space;
XrPosef pose;
XrTime time;
} XrSpatialAnchorCreateInfoBD;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateInfoEXT(3)
Name
XrSpatialAnchorCreateInfoEXT - Create structure for anchor
C Specification
The XrSpatialAnchorCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_anchor
typedef struct XrSpatialAnchorCreateInfoEXT {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
XrPosef pose;
} XrSpatialAnchorCreateInfoEXT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateInfoFB(3)
Name
XrSpatialAnchorCreateInfoFB - Parameters to create a new spatial anchor
C Specification
The XrSpatialAnchorCreateInfoFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrSpatialAnchorCreateInfoFB {
XrStructureType type;
const void* next;
XrSpace space;
XrPosef poseInSpace;
XrTime time;
} XrSpatialAnchorCreateInfoFB;
Members
Description
Parameters to create a new spatial anchor.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateInfoHTC(3)
Name
XrSpatialAnchorCreateInfoHTC - Information to create a spatial anchor
C Specification
The XrSpatialAnchorCreateInfoHTC structure is defined as:
// Provided by XR_HTC_anchor
typedef struct XrSpatialAnchorCreateInfoHTC {
XrStructureType type;
const void* next;
XrSpace space;
XrPosef poseInSpace;
XrSpatialAnchorNameHTC name;
} XrSpatialAnchorCreateInfoHTC;
Members
Description
The poseInSpace is transformed into world space to specify the point
in the real world.
The anchor tracks changes of the reality and may not be affected by the
changes of space.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorCreateInfoMSFT(3)
Name
XrSpatialAnchorCreateInfoMSFT - Information to create a spatial anchor
C Specification
The XrSpatialAnchorCreateInfoMSFT structure is defined as:
typedef struct XrSpatialAnchorCreateInfoMSFT {
XrStructureType type;
const void* next;
XrSpace space;
XrPosef pose;
XrTime time;
} XrSpatialAnchorCreateInfoMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT(3)
Name
XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT - Creation info for creating a spatial anchor handle from a persisted anchor
C Specification
The XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT structure is defined as:
// Provided by XR_MSFT_spatial_anchor_persistence
typedef struct XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT {
XrStructureType type;
const void* next;
XrSpatialAnchorStoreConnectionMSFT spatialAnchorStore;
XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName;
} XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT;
Members
Description
The spatialAnchorPersistenceName is a character array of maximum size
XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT, which must include a null
terminator and must not be empty (i.e. the first element is the null
terminator).
If an empty spatialAnchorPersistenceName value is passed to any
function as a parameter, that function must return
XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorNameHTC(3)
Name
XrSpatialAnchorNameHTC - The name of a spatial anchor
C Specification
The XrSpatialAnchorNameHTC structure is defined as:
// Provided by XR_HTC_anchor
typedef struct XrSpatialAnchorNameHTC {
char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_HTC];
} XrSpatialAnchorNameHTC;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorPersistInfoBD(3)
Name
XrSpatialAnchorPersistInfoBD - Info of persisting a spatial anchor
C Specification
The XrSpatialAnchorPersistInfoBD structure is defined as:
// Provided by XR_BD_spatial_anchor
typedef struct XrSpatialAnchorPersistInfoBD {
XrStructureType type;
const void* next;
XrPersistenceLocationBD location;
XrAnchorBD anchor;
} XrSpatialAnchorPersistInfoBD;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorPersistenceInfoMSFT(3)
Name
XrSpatialAnchorPersistenceInfoMSFT - Persistence info for a spatial anchor
C Specification
The XrSpatialAnchorPersistenceInfoMSFT structure is defined as:
// Provided by XR_MSFT_spatial_anchor_persistence
typedef struct XrSpatialAnchorPersistenceInfoMSFT {
XrStructureType type;
const void* next;
XrSpatialAnchorPersistenceNameMSFT spatialAnchorPersistenceName;
XrSpatialAnchorMSFT spatialAnchor;
} XrSpatialAnchorPersistenceInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorPersistenceNameMSFT(3)
Name
XrSpatialAnchorPersistenceNameMSFT - The name to identify a Spatial anchor persistence operations
C Specification
The XrSpatialAnchorPersistenceNameMSFT structure is the name
associated with the XrSpatialAnchorMSFT in the spatial anchor store.
It is used to perform persist and unpersist on an name in the spatial
anchor store.
The XrSpatialAnchorPersistenceNameMSFT structure is defined as:
// Provided by XR_MSFT_spatial_anchor_persistence
typedef struct XrSpatialAnchorPersistenceNameMSFT {
char name[XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT];
} XrSpatialAnchorPersistenceNameMSFT;
Members
Description
If an XrSpatialAnchorPersistenceNameMSFT with an empty name
value is passed to any function as a parameter, that function must return
XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorShareInfoBD(3)
Name
XrSpatialAnchorShareInfoBD - Info of sharing a spatial anchor
C Specification
The XrSpatialAnchorShareInfoBD structure is defined as:
// Provided by XR_BD_spatial_anchor_sharing
typedef struct XrSpatialAnchorShareInfoBD {
XrStructureType type;
const void* next;
XrAnchorBD anchor;
} XrSpatialAnchorShareInfoBD;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorSpaceCreateInfoMSFT(3)
Name
XrSpatialAnchorSpaceCreateInfoMSFT - Information to create a space from a spatial anchor
C Specification
The XrSpatialAnchorSpaceCreateInfoMSFT structure is defined as:
typedef struct XrSpatialAnchorSpaceCreateInfoMSFT {
XrStructureType type;
const void* next;
XrSpatialAnchorMSFT anchor;
XrPosef poseInAnchorSpace;
} XrSpatialAnchorSpaceCreateInfoMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorStateML(3)
Name
XrSpatialAnchorStateML - Structure describing the state of a spatial anchor.
C Specification
The XrSpatialAnchorStateML structure is defined as:
// Provided by XR_ML_spatial_anchors
typedef struct XrSpatialAnchorStateML {
XrStructureType type;
void* next;
XrSpatialAnchorConfidenceML confidence;
} XrSpatialAnchorStateML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorUnpersistInfoBD(3)
Name
XrSpatialAnchorUnpersistInfoBD - Info of unpersisting a spatial anchor
C Specification
The XrSpatialAnchorUnpersistInfoBD structure is defined as:
// Provided by XR_BD_spatial_anchor
typedef struct XrSpatialAnchorUnpersistInfoBD {
XrStructureType type;
const void* next;
XrPersistenceLocationBD location;
XrAnchorBD anchor;
} XrSpatialAnchorUnpersistInfoBD;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsCreateInfoBaseHeaderML(3)
Name
XrSpatialAnchorsCreateInfoBaseHeaderML - Base structure used in the creation of spatial anchors.
C Specification
The XrSpatialAnchorsCreateInfoBaseHeaderML structure is defined as:
// Provided by XR_ML_spatial_anchors
typedef struct XrSpatialAnchorsCreateInfoBaseHeaderML {
XrStructureType type;
const void* next;
} XrSpatialAnchorsCreateInfoBaseHeaderML;
Members
Description
This structure is not directly used in the API, please see XrSpatialAnchorsCreateInfoFromPoseML for an example of a child structure.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsCreateInfoFromPoseML(3)
Name
XrSpatialAnchorsCreateInfoFromPoseML - Structure used to create a single anchors at a certain pose.
C Specification
The XrSpatialAnchorsCreateInfoFromPoseML structure can be used to create an spatial anchor from a pose in an XrSpace.
// Provided by XR_ML_spatial_anchors
typedef struct XrSpatialAnchorsCreateInfoFromPoseML {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrPosef poseInBaseSpace;
XrTime time;
} XrSpatialAnchorsCreateInfoFromPoseML;
Members
Description
Note that xrCreateSpatialAnchorsCompleteML must be called with
XrCreateSpatialAnchorsCompletionML::spaceCount set to 1 when
using XrSpatialAnchorsCreateInfoFromPoseML to create a spatial anchor.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsCreateInfoFromUuidsML(3)
Name
XrSpatialAnchorsCreateInfoFromUuidsML - Structure used to create tracked spatial anchors from uuids.
C Specification
The XrSpatialAnchorsCreateInfoFromUuidsML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsCreateInfoFromUuidsML {
XrStructureType type;
const void* next;
XrSpatialAnchorsStorageML storage;
uint32_t uuidCount;
const XrUuidEXT* uuids;
} XrSpatialAnchorsCreateInfoFromUuidsML;
Members
Description
The XrSpace handle or handles returned via
XrCreateSpatialAnchorsCompletionML::spaces must be in the same
order as uuids.
The XrCreateSpatialAnchorsCompletionML::spaceCount field must
match uuidCount.
If not the runtime must return XR_ERROR_VALIDATION_FAILURE in
XrCreateSpatialAnchorsCompletionML::futureResult.
If an anchor with a given UUID is not found, the runtime must return
XR_NULL_HANDLE for the corresponding XrSpace handle(s) and
return XR_SUCCESS in
XrCreateSpatialAnchorsCompletionML::futureResult.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsCreateStorageInfoML(3)
Name
XrSpatialAnchorsCreateStorageInfoML - Information used to create a handle to interact with storage for spatial anchors.
C Specification
The XrSpatialAnchorsCreateStorageInfoML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsCreateStorageInfoML {
XrStructureType type;
const void* next;
} XrSpatialAnchorsCreateStorageInfoML;
Members
Currently no extra information is needed to create this structure.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsDeleteCompletionDetailsML(3)
Name
XrSpatialAnchorsDeleteCompletionDetailsML - Completion structure to retrieve the per anchor result of the anchor deletion
C Specification
The XrSpatialAnchorsDeleteCompletionDetailsML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsDeleteCompletionDetailsML {
XrStructureType type;
void* next;
uint32_t resultCount;
XrSpatialAnchorCompletionResultML* results;
} XrSpatialAnchorsDeleteCompletionDetailsML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsDeleteCompletionML(3)
Name
XrSpatialAnchorsDeleteCompletionML - Completion structure to retrieve the result of the anchor deletion
C Specification
The XrSpatialAnchorsDeleteCompletionML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsDeleteCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
} XrSpatialAnchorsDeleteCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsDeleteInfoML(3)
Name
XrSpatialAnchorsDeleteInfoML - Structure used to list the anchors that need to be deleted.
C Specification
The XrSpatialAnchorsDeleteInfoML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsDeleteInfoML {
XrStructureType type;
const void* next;
uint32_t uuidCount;
const XrUuidEXT* uuids;
} XrSpatialAnchorsDeleteInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsPublishCompletionDetailsML(3)
Name
XrSpatialAnchorsPublishCompletionDetailsML - Completion structure to retrieve the per anchor result of the anchor creation
C Specification
The XrSpatialAnchorsPublishCompletionDetailsML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsPublishCompletionDetailsML {
XrStructureType type;
void* next;
uint32_t resultCount;
XrSpatialAnchorCompletionResultML* results;
} XrSpatialAnchorsPublishCompletionDetailsML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsPublishCompletionML(3)
Name
XrSpatialAnchorsPublishCompletionML - Completion structure to retrieve the result of the anchor creation
C Specification
The XrSpatialAnchorsPublishCompletionML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsPublishCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
uint32_t uuidCount;
XrUuidEXT* uuids;
} XrSpatialAnchorsPublishCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsPublishInfoML(3)
Name
XrSpatialAnchorsPublishInfoML - Structure used to list the anchors that need to be published.
C Specification
The XrSpatialAnchorsPublishInfoML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsPublishInfoML {
XrStructureType type;
const void* next;
uint32_t anchorCount;
const XrSpace* anchors;
uint64_t expiration;
} XrSpatialAnchorsPublishInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsQueryCompletionML(3)
Name
XrSpatialAnchorsQueryCompletionML - Completion structure to retrieve the result of the anchor query
C Specification
The XrSpatialAnchorsQueryCompletionML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsQueryCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
uint32_t uuidCapacityInput;
uint32_t uuidCountOutput;
XrUuidEXT* uuids;
} XrSpatialAnchorsQueryCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsQueryInfoBaseHeaderML(3)
Name
XrSpatialAnchorsQueryInfoBaseHeaderML - Information used to query for anchors.
C Specification
The XrSpatialAnchorsQueryInfoBaseHeaderML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsQueryInfoBaseHeaderML {
XrStructureType type;
const void* next;
} XrSpatialAnchorsQueryInfoBaseHeaderML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsQueryInfoRadiusML(3)
Name
XrSpatialAnchorsQueryInfoRadiusML - Information used to query for anchors.
C Specification
The XrSpatialAnchorsQueryInfoRadiusML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsQueryInfoRadiusML {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrVector3f center;
XrTime time;
float radius;
} XrSpatialAnchorsQueryInfoRadiusML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsUpdateExpirationCompletionDetailsML(3)
Name
XrSpatialAnchorsUpdateExpirationCompletionDetailsML - Completion structure to retrieve the per anchor result of the anchor expiration update
C Specification
The XrSpatialAnchorsUpdateExpirationCompletionDetailsML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsUpdateExpirationCompletionDetailsML {
XrStructureType type;
void* next;
uint32_t resultCount;
XrSpatialAnchorCompletionResultML* results;
} XrSpatialAnchorsUpdateExpirationCompletionDetailsML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsUpdateExpirationCompletionML(3)
Name
XrSpatialAnchorsUpdateExpirationCompletionML - Completion structure to retrieve the result of the anchor update
C Specification
The XrSpatialAnchorsUpdateExpirationCompletionML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsUpdateExpirationCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
} XrSpatialAnchorsUpdateExpirationCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorsUpdateExpirationInfoML(3)
Name
XrSpatialAnchorsUpdateExpirationInfoML - Structure used to list the anchors that need to be updated.
C Specification
The XrSpatialAnchorsUpdateExpirationInfoML structure is defined as:
// Provided by XR_ML_spatial_anchors_storage
typedef struct XrSpatialAnchorsUpdateExpirationInfoML {
XrStructureType type;
const void* next;
uint32_t uuidCount;
const XrUuidEXT* uuids;
uint64_t expiration;
} XrSpatialAnchorsUpdateExpirationInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialBounded2DDataEXT(3)
Name
XrSpatialBounded2DDataEXT - Bounded 2D component data
C Specification
The XrSpatialBounded2DDataEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialBounded2DDataEXT {
XrPosef center;
XrExtent2Df extents;
} XrSpatialBounded2DDataEXT;
Members
Description
The extents of the XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT
refer to the entity’s size in the x-y plane of the plane’s coordinate
system.
A plane with a position of {0, 0, 0}, rotation of {0, 0, 0, 1} (no
rotation), and an extent of {1, 1} refers to a 1 meter x 1 meter plane
centered at {0, 0, 0} with its front face normal vector pointing towards the
+Z direction in the component’s space.
|
Note
|
Note
OpenXR uses an X-Y plane with +Z as the plane normal but other APIs may use an X-Z plane with +Y as the plane normal. The X-Y plane can be converted to an X-Z plane by rotating -Ï€/2 radians around the +X axis. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialBufferEXT(3)
Name
XrSpatialBufferEXT - Spatial buffer
C Specification
The XrSpatialBufferEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialBufferEXT {
XrSpatialBufferIdEXT bufferId;
XrSpatialBufferTypeEXT bufferType;
} XrSpatialBufferEXT;
Some spatial components have variable-sized data and therefore require using the two-call idiom to retrieve their data. In such cases, the spatial component data structure provides an XrSpatialBufferEXT for each variable sized buffer needed in that component’s data.
Members
For the same bufferId, the runtime must provide the same data from
one component data query to another, even across one snapshot to another.
A different bufferId between component data query calls indicates to
the application that the data for that component may have changed.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialBufferGetInfoEXT(3)
Name
XrSpatialBufferGetInfoEXT - Data required to get the data for a spatial buffer.
C Specification
The XrSpatialBufferGetInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialBufferGetInfoEXT {
XrStructureType type;
const void* next;
XrSpatialBufferIdEXT bufferId;
} XrSpatialBufferGetInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityComponentTypesEXT(3)
Name
XrSpatialCapabilityComponentTypesEXT - Supported components of a spatial capability
C Specification
The XrSpatialCapabilityComponentTypesEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialCapabilityComponentTypesEXT {
XrStructureType type;
void* next;
uint32_t componentTypeCapacityInput;
uint32_t componentTypeCountOutput;
XrSpatialComponentTypeEXT* componentTypes;
} XrSpatialCapabilityComponentTypesEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationAnchorEXT(3)
Name
XrSpatialCapabilityConfigurationAnchorEXT - Config structure for the anchoring capability
C Specification
The XrSpatialCapabilityConfigurationAnchorEXT structure is defined as:
// Provided by XR_EXT_spatial_anchor
typedef struct XrSpatialCapabilityConfigurationAnchorEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
} XrSpatialCapabilityConfigurationAnchorEXT;
Members
Description
Applications can enable the XR_SPATIAL_CAPABILITY_ANCHOR_EXT spatial
capability by including a pointer to an
XrSpatialCapabilityConfigurationAnchorEXT structure in
XrSpatialContextCreateInfoEXT::capabilityConfigs.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
capability is not XR_SPATIAL_CAPABILITY_ANCHOR_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationAprilTagEXT(3)
Name
XrSpatialCapabilityConfigurationAprilTagEXT - AprilTags configuration
C Specification
The XrSpatialCapabilityConfigurationAprilTagEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialCapabilityConfigurationAprilTagEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
XrSpatialMarkerAprilTagDictEXT aprilDict;
} XrSpatialCapabilityConfigurationAprilTagEXT;
Members
Description
If AprilTags are supported, the runtime must enable AprilTag tracking when
an XrSpatialCapabilityConfigurationAprilTagEXT structure is passed in
XrSpatialContextCreateInfoEXT::capabilityConfigs when calling
xrCreateSpatialContextAsyncEXT.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
from xrCreateSpatialContextAsyncEXT if an
XrSpatialCapabilityConfigurationAprilTagEXT structure is in
XrSpatialContextCreateInfoEXT::capabilityConfigs but
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT is not enumerated
by xrEnumerateSpatialCapabilitiesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationArucoMarkerEXT(3)
Name
XrSpatialCapabilityConfigurationArucoMarkerEXT - ArUco marker configuration
C Specification
The XrSpatialCapabilityConfigurationArucoMarkerEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialCapabilityConfigurationArucoMarkerEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
XrSpatialMarkerArucoDictEXT arUcoDict;
} XrSpatialCapabilityConfigurationArucoMarkerEXT;
Members
Description
If ArUco markers are supported, the runtime must enable ArUco marker
tracking when an XrSpatialCapabilityConfigurationArucoMarkerEXT
structure is passed in
XrSpatialContextCreateInfoEXT::capabilityConfigs when calling
xrCreateSpatialContextAsyncEXT.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
from xrCreateSpatialContextAsyncEXT if an
XrSpatialCapabilityConfigurationArucoMarkerEXT structure is in
XrSpatialContextCreateInfoEXT::capabilityConfigs but
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT is not
enumerated by xrEnumerateSpatialCapabilitiesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationBaseHeaderEXT(3)
Name
XrSpatialCapabilityConfigurationBaseHeaderEXT - Base structure used to provide information to configure a spatial component
C Specification
The XrSpatialCapabilityConfigurationBaseHeaderEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialCapabilityConfigurationBaseHeaderEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
} XrSpatialCapabilityConfigurationBaseHeaderEXT;
Members
This structure is not directly used in the API but instead its child structures can be used with XrSpatialContextCreateInfoEXT to configure spatial capabilities.
Description
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
if capability is not enumerated by
xrEnumerateSpatialCapabilitiesEXT.
The runtime must return
XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT if any
component type listed in enabledComponents is not enumerated for
capability in xrEnumerateSpatialCapabilityComponentTypesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationMicroQrCodeEXT(3)
Name
XrSpatialCapabilityConfigurationMicroQrCodeEXT - Micro QR Code configuration
C Specification
The XrSpatialCapabilityConfigurationMicroQrCodeEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialCapabilityConfigurationMicroQrCodeEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
} XrSpatialCapabilityConfigurationMicroQrCodeEXT;
Members
Description
If Micro QR codes are supported, the runtime must enable Micro QR Code
tracking when an XrSpatialCapabilityConfigurationMicroQrCodeEXT
structure is passed in
XrSpatialContextCreateInfoEXT::capabilityConfigs when calling
xrCreateSpatialContextAsyncEXT.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
if XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT is not
enumerated by xrEnumerateSpatialCapabilitiesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationPlaneTrackingEXT(3)
Name
XrSpatialCapabilityConfigurationPlaneTrackingEXT - Config structure for the plane tracking capability
C Specification
The XrSpatialCapabilityConfigurationPlaneTrackingEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialCapabilityConfigurationPlaneTrackingEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
} XrSpatialCapabilityConfigurationPlaneTrackingEXT;
Members
Description
Applications can enable the XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT
spatial capability by including a pointer to an
XrSpatialCapabilityConfigurationPlaneTrackingEXT structure in
XrSpatialContextCreateInfoEXT::capabilityConfigs.
The runtime must return XR_ERROR_VALIDATION_FAILURE if
capability is not XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityConfigurationQrCodeEXT(3)
Name
XrSpatialCapabilityConfigurationQrCodeEXT - QR Code configuration
C Specification
The XrSpatialCapabilityConfigurationQrCodeEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialCapabilityConfigurationQrCodeEXT {
XrStructureType type;
const void* next;
XrSpatialCapabilityEXT capability;
uint32_t enabledComponentCount;
const XrSpatialComponentTypeEXT* enabledComponents;
} XrSpatialCapabilityConfigurationQrCodeEXT;
Members
Description
If QR codes are supported, the runtime must enable QR Code tracking when an
XrSpatialCapabilityConfigurationQrCodeEXT structure is passed in
XrSpatialContextCreateInfoEXT::capabilityConfigs when calling
xrCreateSpatialContextAsyncEXT.
The runtime must return XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT
if XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT is not enumerated
by xrEnumerateSpatialCapabilitiesEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentAnchorListEXT(3)
Name
XrSpatialComponentAnchorListEXT - List structure for the anchor component
C Specification
The XrSpatialComponentAnchorListEXT structure is defined as:
// Provided by XR_EXT_spatial_anchor
typedef struct XrSpatialComponentAnchorListEXT {
XrStructureType type;
void* next;
uint32_t locationCount;
XrPosef* locations;
} XrSpatialComponentAnchorListEXT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentAnchorListEXT is in the
XrSpatialComponentDataQueryResultEXT::next chain but
XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if locationCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentBounded2DListEXT(3)
Name
XrSpatialComponentBounded2DListEXT - List structure for the bounded 2D component
C Specification
The XrSpatialComponentBounded2DListEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentBounded2DListEXT {
XrStructureType type;
void* next;
uint32_t boundCount;
XrSpatialBounded2DDataEXT* bounds;
} XrSpatialComponentBounded2DListEXT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentBounded2DListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XrSpatialComponentDataQueryConditionEXT::componentTypeCount is not
zero and XR_SPATIAL_COMPONENT_TYPE_BOUNDED_2D_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if boundCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
If xrQuerySpatialComponentDataEXT::snapshot was created from
xrCreateSpatialDiscoverySnapshotCompleteEXT, then the runtime must
provide XrSpatialBounded2DDataEXT::center in
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::baseSpace and
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::time.
If xrQuerySpatialComponentDataEXT::snapshot was created from
xrCreateSpatialUpdateSnapshotEXT, then the runtime must provide
XrSpatialBounded2DDataEXT::center in
XrSpatialUpdateSnapshotCreateInfoEXT::baseSpace and
XrSpatialUpdateSnapshotCreateInfoEXT::time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentBounded3DListEXT(3)
Name
XrSpatialComponentBounded3DListEXT - List structure for the bounded 3D component
C Specification
The XrSpatialComponentBounded3DListEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentBounded3DListEXT {
XrStructureType type;
void* next;
uint32_t boundCount;
XrBoxf* bounds;
} XrSpatialComponentBounded3DListEXT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentBounded3DListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XrSpatialComponentDataQueryConditionEXT::componentTypeCount is not
zero and XR_SPATIAL_COMPONENT_TYPE_BOUNDED_3D_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if boundCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
If xrQuerySpatialComponentDataEXT::snapshot was created from
xrCreateSpatialDiscoverySnapshotCompleteEXT, then the runtime must
provide XrBoxf::center in
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::baseSpace at
XrCreateSpatialDiscoverySnapshotCompletionInfoEXT::time.
If xrQuerySpatialComponentDataEXT::snapshot was created from
xrCreateSpatialUpdateSnapshotEXT, then the runtime must provide
XrBoxf::center in
XrSpatialUpdateSnapshotCreateInfoEXT::baseSpace at
XrSpatialUpdateSnapshotCreateInfoEXT::time.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentDataQueryConditionEXT(3)
Name
XrSpatialComponentDataQueryConditionEXT - Structure used to get the discovered spatial entities by component type.
C Specification
The XrSpatialComponentDataQueryConditionEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentDataQueryConditionEXT {
XrStructureType type;
const void* next;
uint32_t componentTypeCount;
const XrSpatialComponentTypeEXT* componentTypes;
} XrSpatialComponentDataQueryConditionEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentDataQueryResultEXT(3)
Name
XrSpatialComponentDataQueryResultEXT - Structure containing the snapshot query result.
C Specification
The XrSpatialComponentDataQueryResultEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentDataQueryResultEXT {
XrStructureType type;
void* next;
uint32_t entityIdCapacityInput;
uint32_t entityIdCountOutput;
XrSpatialEntityIdEXT* entityIds;
uint32_t entityStateCapacityInput;
uint32_t entityStateCountOutput;
XrSpatialEntityTrackingStateEXT* entityStates;
} XrSpatialComponentDataQueryResultEXT;
Members
Description
An application can use the entityIds with
xrCreateSpatialEntityFromIdEXT to create XrSpatialEntityEXT
handles for the entities it is interested in getting regular updates for.
The application can then use these XrSpatialEntityEXT handles with
xrCreateSpatialUpdateSnapshotEXT to create an update snapshot that has
the runtime’s latest known data of the components for the provided entities.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentMarkerListEXT(3)
Name
XrSpatialComponentMarkerListEXT - List structure for the marker component
C Specification
The XrSpatialComponentMarkerListEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialComponentMarkerListEXT {
XrStructureType type;
void* next;
uint32_t markerCount;
XrSpatialMarkerDataEXT* markers;
} XrSpatialComponentMarkerListEXT;
Members
Description
The application can query the marker component of the spatial entities in
an XrSpatialSnapshotEXT by adding
XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and
adding XrSpatialComponentMarkerListEXT to the next pointer chain of
XrSpatialComponentDataQueryResultEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentMarkerListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if markerCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentMesh2DListEXT(3)
Name
XrSpatialComponentMesh2DListEXT - List structure for the mesh 2D component
C Specification
The XrSpatialComponentMesh2DListEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialComponentMesh2DListEXT {
XrStructureType type;
void* next;
uint32_t meshCount;
XrSpatialMeshDataEXT* meshes;
} XrSpatialComponentMesh2DListEXT;
Members
Description
To query the mesh 2D component of the spatial entities in an
XrSpatialSnapshotEXT, include
XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and add
XrSpatialComponentMesh2DListEXT to the
XrSpatialComponentDataQueryResultEXT::next chain.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentMesh2DListEXT is in the
XrSpatialComponentDataQueryResultEXT::next chain but
XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if meshCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
For the XrSpatialMeshDataEXT populated by the runtime in the
meshes array, the XrSpatialBufferEXT::bufferType for
XrSpatialMeshDataEXT::vertexBuffer must be
XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT and
XrSpatialBufferEXT::bufferType for
XrSpatialMeshDataEXT::indexBuffer must be
XR_SPATIAL_BUFFER_TYPE_UINT16_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentMesh3DListEXT(3)
Name
XrSpatialComponentMesh3DListEXT - List structure for the mesh 3D component
C Specification
The XrSpatialComponentMesh3DListEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentMesh3DListEXT {
XrStructureType type;
void* next;
uint32_t meshCount;
XrSpatialMeshDataEXT* meshes;
} XrSpatialComponentMesh3DListEXT;
Members
Description
The application can query the mesh 3D component of the spatial entities in
an XrSpatialSnapshotEXT by adding
XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and
adding XrSpatialComponentMesh3DListEXT to the next pointer chain of
XrSpatialComponentDataQueryResultEXT.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentMesh3DListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XrSpatialComponentDataQueryConditionEXT::componentTypeCount is not
zero and XR_SPATIAL_COMPONENT_TYPE_MESH_3D_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if meshCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
For the XrSpatialMeshDataEXT filled out by the runtime in the
meshes array, the XrSpatialBufferEXT::bufferType for
XrSpatialMeshDataEXT::vertexBuffer must be
XR_SPATIAL_BUFFER_TYPE_VECTOR3F_EXT and
XrSpatialBufferEXT::bufferType for
XrSpatialMeshDataEXT::indexBuffer must be
XR_SPATIAL_BUFFER_TYPE_UINT32_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentParentListEXT(3)
Name
XrSpatialComponentParentListEXT - List structure for the parent component
C Specification
The XrSpatialComponentParentListEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialComponentParentListEXT {
XrStructureType type;
void* next;
uint32_t parentCount;
XrSpatialEntityIdEXT* parents;
} XrSpatialComponentParentListEXT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentParentListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XrSpatialComponentDataQueryConditionEXT::componentTypeCount is not
zero and XR_SPATIAL_COMPONENT_TYPE_PARENT_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if parentCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentPersistenceListEXT(3)
Name
XrSpatialComponentPersistenceListEXT - List structure for the persistence component
C Specification
The XrSpatialComponentPersistenceListEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrSpatialComponentPersistenceListEXT {
XrStructureType type;
void* next;
uint32_t persistDataCount;
XrSpatialPersistenceDataEXT* persistData;
} XrSpatialComponentPersistenceListEXT;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentPersistenceListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if persistDataCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
Unlike the other components, the runtime must set the data for
XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT regardless of the
XrSpatialEntityTrackingStateEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentPlaneAlignmentListEXT(3)
Name
XrSpatialComponentPlaneAlignmentListEXT - List structure for the plane alignment component
C Specification
The XrSpatialComponentPlaneAlignmentListEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialComponentPlaneAlignmentListEXT {
XrStructureType type;
void* next;
uint32_t planeAlignmentCount;
XrSpatialPlaneAlignmentEXT* planeAlignments;
} XrSpatialComponentPlaneAlignmentListEXT;
Members
Description
To query the plane alignment component of the spatial entities in an
XrSpatialSnapshotEXT, include
XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and add
XrSpatialComponentPlaneAlignmentListEXT to the
XrSpatialComponentDataQueryResultEXT::next chain.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentPlaneAlignmentListEXT is in the
XrSpatialComponentDataQueryResultEXT::next chain but
XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if planeAlignmentCount is less
than XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentPlaneSemanticLabelListEXT(3)
Name
XrSpatialComponentPlaneSemanticLabelListEXT - List structure for the plane semantic label component
C Specification
The XrSpatialComponentPlaneSemanticLabelListEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialComponentPlaneSemanticLabelListEXT {
XrStructureType type;
void* next;
uint32_t semanticLabelCount;
XrSpatialPlaneSemanticLabelEXT* semanticLabels;
} XrSpatialComponentPlaneSemanticLabelListEXT;
Members
Description
To query the plane semantic label component of the spatial entities in an
XrSpatialSnapshotEXT, include
XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and add
XrSpatialComponentPlaneSemanticLabelListEXT to the
XrSpatialComponentDataQueryResultEXT::next chain.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentPlaneSemanticLabelListEXT is in the next chain of
XrSpatialComponentDataQueryResultEXT::next but
XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if semanticLabelCount is less
than XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentPolygon2DListEXT(3)
Name
XrSpatialComponentPolygon2DListEXT - List structure for the polygon 2D component
C Specification
The XrSpatialComponentPolygon2DListEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialComponentPolygon2DListEXT {
XrStructureType type;
void* next;
uint32_t polygonCount;
XrSpatialPolygon2DDataEXT* polygons;
} XrSpatialComponentPolygon2DListEXT;
Members
Description
To query the polygon 2D component of the spatial entities in an
XrSpatialSnapshotEXT, include
XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT in
XrSpatialComponentDataQueryConditionEXT::componentTypes and add
XrSpatialComponentPolygon2DListEXT to the
XrSpatialComponentDataQueryResultEXT::next chain.
The runtime must return XR_ERROR_VALIDATION_FAILURE from
xrQuerySpatialComponentDataEXT if
XrSpatialComponentPolygon2DListEXT is in the
XrSpatialComponentDataQueryResultEXT::next chain but
XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT is not included in
XrSpatialComponentDataQueryConditionEXT::componentTypes.
The runtime must return XR_ERROR_SIZE_INSUFFICIENT from
xrQuerySpatialComponentDataEXT if polygonCount is less than
XrSpatialComponentDataQueryResultEXT::entityIdCountOutput.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialContextCreateInfoEXT(3)
Name
XrSpatialContextCreateInfoEXT - Information to create a spatial context handle
C Specification
The XrSpatialContextCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialContextCreateInfoEXT {
XrStructureType type;
const void* next;
uint32_t capabilityConfigCount;
const XrSpatialCapabilityConfigurationBaseHeaderEXT* const* capabilityConfigs;
} XrSpatialContextCreateInfoEXT;
Members
Description
The XrSpatialContextCreateInfoEXT structure describes the information to create an XrSpatialContextEXT handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialContextPersistenceConfigEXT(3)
Name
XrSpatialContextPersistenceConfigEXT - Configure a spatial context with persistence contexts
C Specification
The XrSpatialContextPersistenceConfigEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrSpatialContextPersistenceConfigEXT {
XrStructureType type;
const void* next;
uint32_t persistenceContextCount;
const XrSpatialPersistenceContextEXT* persistenceContexts;
} XrSpatialContextPersistenceConfigEXT;
Members
Description
An application can add XrSpatialContextPersistenceConfigEXT to the
next chain of XrSpatialContextCreateInfoEXT.
This will configure the created XrSpatialContextEXT with
persistenceContexts and allow the application to discover the spatial
entities persisted in the storage represented by the
XrSpatialPersistenceContextEXT handles in persistenceContexts.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialDiscoveryPersistenceUuidFilterEXT(3)
Name
XrSpatialDiscoveryPersistenceUuidFilterEXT - Discover only the entities identified with the given uuids
C Specification
The XrSpatialDiscoveryPersistenceUuidFilterEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrSpatialDiscoveryPersistenceUuidFilterEXT {
XrStructureType type;
const void* next;
uint32_t persistedUuidCount;
const XrUuid* persistedUuids;
} XrSpatialDiscoveryPersistenceUuidFilterEXT;
Members
Description
The application can use XrSpatialDiscoveryPersistenceUuidFilterEXT in
the next chain of XrSpatialDiscoverySnapshotCreateInfoEXT to scope the
discovery operation to just the entities whose persisted UUIDs are in the
set of the UUIDs provided in persistedUuids.
If the application adds XrSpatialDiscoveryPersistenceUuidFilterEXT in
the next chain of XrSpatialDiscoverySnapshotCreateInfoEXT but the
xrCreateSpatialDiscoverySnapshotAsyncEXT::spatialContext was not
configured with any XrSpatialPersistenceContextEXT using
XrSpatialContextPersistenceConfigEXT, the runtime must return
XR_ERROR_VALIDATION_FAILURE from
xrCreateSpatialDiscoverySnapshotAsyncEXT.
The runtime must treat the XrSpatialDiscoveryPersistenceUuidFilterEXT
filter as an 'AND' condition with any other filters provided in
XrSpatialDiscoverySnapshotCreateInfoEXT or its next chain.
The runtime must treat the persistedUuids array itself as an 'OR'
condition i.e. filter for entities that have any of the UUIDs provided in
that array.
The runtime must include one entry in the created snapshot for each of the
UUIDs in persistedUuids for which it was able to determine the
XrSpatialPersistenceStateEXT state at this time.
-
If the runtime has successfully found the UUID in its storage, then -
-
The runtime must set the XrSpatialPersistenceStateEXT in the XrSpatialPersistenceDataEXT of this entity to
XR_SPATIAL_PERSISTENCE_STATE_LOADED_EXT. -
The runtime must include a valid
XrSpatialEntityIdEXTfor this entity in the created snapshot. -
The runtime must set the XrSpatialEntityTrackingStateEXT of that entity to
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXTif it is actively tracking the entity and has valid data for its components. Otherwise, the runtime must set the XrSpatialEntityTrackingStateEXT toXR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT.
-
-
If the runtime has determined that the UUID is not present in its storage (regardless of whether that UUID was never in the storage or has was present once but has since been unpersisted), then -
-
The runtime must set the XrSpatialPersistenceStateEXT in the XrSpatialPersistenceDataEXT of this entity to
XR_SPATIAL_PERSISTENCE_STATE_NOT_FOUND_EXTto indicate to the application that this UUID is no longer present in the storage. -
The runtime must set the
XrSpatialEntityIdEXTfor this entity in the created snapshot to XR_NULL_SPATIAL_ENTITY_ID_EXT. -
The runtime must set the XrSpatialEntityTrackingStateEXT of that entity to
XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXTto indicate to the application that this entity will never be tracked.
-
-
If the runtime was not able to determine if the UUID is present in its storage or not, it must not include it in the snapshot.
The application can also use
XrSpatialDiscoveryPersistenceUuidFilterEXT in the next chain of
XrSpatialComponentDataQueryConditionEXT to query for entities of
specific UUIDs in existing snapshots.
When used with XrSpatialComponentDataQueryConditionEXT, if
XrSpatialDiscoveryPersistenceUuidFilterEXT::persistedUuids
contains any XrUuid that is not in the XrSpatialSnapshotEXT, the
runtime must not include an entry for that XrUuid in the query
result.
Also, the order (sequence) of entities in the query result may not match
the order of UUIDs provided in
XrSpatialDiscoveryPersistenceUuidFilterEXT::persistedUuids.
Application should include XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT
in XrSpatialComponentDataQueryConditionEXT::componentTypes and
XrSpatialComponentPersistenceListEXT in the next chain of
XrSpatialComponentDataQueryResultEXT and then check the
XrSpatialPersistenceDataEXT::persistUuid of the each query
result index to understand which UUID the current result index corresponds
to.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialDiscoverySnapshotCreateInfoEXT(3)
Name
XrSpatialDiscoverySnapshotCreateInfoEXT - Information to create a spatial discovery snapshot handle
C Specification
The XrSpatialDiscoverySnapshotCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialDiscoverySnapshotCreateInfoEXT {
XrStructureType type;
const void* next;
uint32_t componentTypeCount;
const XrSpatialComponentTypeEXT* componentTypes;
} XrSpatialDiscoverySnapshotCreateInfoEXT;
Members
Description
The XrSpatialDiscoverySnapshotCreateInfoEXT structure describes the information to create an XrSpatialSnapshotEXT handle when discovering spatial entities.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityAnchorCreateInfoBD(3)
Name
XrSpatialEntityAnchorCreateInfoBD - Info of creating an anchor from a spatial entity
C Specification
The XrSpatialEntityAnchorCreateInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityAnchorCreateInfoBD {
XrStructureType type;
const void* next;
XrSenseDataSnapshotBD snapshot;
XrSpatialEntityIdBD entityId;
} XrSpatialEntityAnchorCreateInfoBD;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataBaseHeaderBD(3)
Name
XrSpatialEntityComponentDataBaseHeaderBD - Spatial entity component data information
C Specification
The XrSpatialEntityComponentDataBaseHeaderBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataBaseHeaderBD {
XrStructureType type;
void* next;
} XrSpatialEntityComponentDataBaseHeaderBD;
Members
Description
The XrSpatialEntityComponentDataBaseHeaderBD is a base structure that is not intended to be directly used, but forms a basis for specific component info types. All component info structures begin with the elements described in the XrSpatialEntityComponentDataBaseHeaderBD, and a component info pointer must be cast to a pointer to XrSpatialEntityComponentDataBaseHeaderBD when passing it to the xrGetSpatialEntityComponentDataBD function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataBoundingBox2DBD(3)
Name
XrSpatialEntityComponentDataBoundingBox2DBD - Spatial entity bounding box 2D component data information.
C Specification
The XrSpatialEntityComponentDataBoundingBox2DBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataBoundingBox2DBD {
XrStructureType type;
void* next;
XrRect2Df boundingBox2D;
} XrSpatialEntityComponentDataBoundingBox2DBD;
Members
The XrSpatialEntityComponentDataBoundingBox2DBD is an output struct
for getting the bounding box 2D component data from the snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_2D_BD.
Description
The x-axis and y-axis that describe boundingBox2D are defined by the
spatial entity’s coordinate space.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataBoundingBox3DBD(3)
Name
XrSpatialEntityComponentDataBoundingBox3DBD - Spatial entity bounding box 3D component data information.
C Specification
The XrSpatialEntityComponentDataBoundingBox3DBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataBoundingBox3DBD {
XrStructureType type;
void* next;
XrBoxf boundingBox3D;
} XrSpatialEntityComponentDataBoundingBox3DBD;
Members
The XrSpatialEntityComponentDataBoundingBox3DBD is an output struct
for getting the bounding box 3D component data from an entity in the
snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_3D_BD.
Description
The x-axis, y-axis, and z-axis that describe boundingBox3D are defined
by the spatial entity’s coordinate space.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataLocationBD(3)
Name
XrSpatialEntityComponentDataLocationBD - Spatial entity location component data information
C Specification
The XrSpatialEntityComponentDataLocationBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataLocationBD {
XrStructureType type;
void* next;
XrSpaceLocation location;
} XrSpatialEntityComponentDataLocationBD;
Members
Description
The XrSpatialEntityComponentDataLocationBD is an output struct for
getting the location component data from the snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_LOCATION_BD.
The application must chain XrSpatialEntityLocationGetInfoBD to
XrSpatialEntityComponentGetInfoBD::next when querying
XrSpatialEntityComponentDataLocationBD.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE from
xrGetSpatialEntityComponentDataBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataPlaneOrientationBD(3)
Name
XrSpatialEntityComponentDataPlaneOrientationBD - Spatial entity plane orientation component data information.
C Specification
The XrSpatialEntityComponentDataPlaneOrientationBD structure is defined as:
// Provided by XR_BD_spatial_plane
typedef struct XrSpatialEntityComponentDataPlaneOrientationBD {
XrStructureType type;
void* next;
XrPlaneOrientationBD orientation;
} XrSpatialEntityComponentDataPlaneOrientationBD;
Members
Description
XrSpatialEntityComponentDataPlaneOrientationBD is an output structure
for getting the plane orientation component data from a snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_PLANE_ORIENTATION_BD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataPolygonBD(3)
Name
XrSpatialEntityComponentDataPolygonBD - Spatial entity polygon component data information.
C Specification
The XrSpatialEntityComponentDataPolygonBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataPolygonBD {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector2f* vertices;
} XrSpatialEntityComponentDataPolygonBD;
Members
The XrSpatialEntityComponentDataPolygonBD is an output struct for
getting the polygon component data from an entity in the snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_POLYGON_BD.
Description
The vertices is a list of vertices described on the XY plane, which is
defined by the spatial entity’s coordinate space.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataSemanticBD(3)
Name
XrSpatialEntityComponentDataSemanticBD - Spatial entity semantic component data information.
C Specification
The XrSpatialEntityComponentDataSemanticBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataSemanticBD {
XrStructureType type;
void* next;
uint32_t labelCapacityInput;
uint32_t labelCountOutput;
XrSemanticLabelBD* labels;
} XrSpatialEntityComponentDataSemanticBD;
Members
The XrSpatialEntityComponentDataSemanticBD is an output struct for
getting the semantic labels component data from an entity in the snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_SEMANTIC_BD.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentDataTriangleMeshBD(3)
Name
XrSpatialEntityComponentDataTriangleMeshBD - Spatial entity triangle mesh component data information.
C Specification
The XrSpatialEntityComponentDataTriangleMeshBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentDataTriangleMeshBD {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector3f* vertices;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint16_t* indices;
} XrSpatialEntityComponentDataTriangleMeshBD;
Members
The XrSpatialEntityComponentDataTriangleMeshBD is an output struct for
getting the triangle mesh component data from the snapshot.
This corresponds to an XrSpatialEntityComponentTypeBD value of
XR_SPATIAL_ENTITY_COMPONENT_TYPE_TRIANGLE_MESH_BD.
Description
The vertices array is a list of vertices described by the spatial
entity’s coordinate space.
The triangle vertices are in counter-clockwise order as viewed from the user
perspective.
The indices array defines the topology of the triangle mesh.
Each triplet of consecutive elements points to three vertices in the
vertices array and thus form a triangle.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentGetInfoBD(3)
Name
XrSpatialEntityComponentGetInfoBD - Spatial entity component get information
C Specification
The XrSpatialEntityComponentGetInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityComponentGetInfoBD {
XrStructureType type;
const void* next;
XrSpatialEntityIdBD entityId;
XrSpatialEntityComponentTypeBD componentType;
} XrSpatialEntityComponentGetInfoBD;
Members
Description
The XrSpatialEntityComponentGetInfoBD is a common structure that is
used to get component data for a given component type.
For some component types, applications may need to chain additional
getInfo structures on the
XrSpatialEntityComponentGetInfoBD::next chain, when passing it
to the xrGetSpatialEntityComponentDataBD function.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityFromIdCreateInfoEXT(3)
Name
XrSpatialEntityFromIdCreateInfoEXT - Information to create a spatial entity handle
C Specification
The XrSpatialEntityFromIdCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialEntityFromIdCreateInfoEXT {
XrStructureType type;
const void* next;
XrSpatialEntityIdEXT entityId;
} XrSpatialEntityFromIdCreateInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityLocationGetInfoBD(3)
Name
XrSpatialEntityLocationGetInfoBD - Spatial entity location component get information
C Specification
The XrSpatialEntityLocationGetInfoBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityLocationGetInfoBD {
XrStructureType type;
const void* next;
XrSpace baseSpace;
} XrSpatialEntityLocationGetInfoBD;
Members
Description
Chaining this struct to XrSpatialEntityComponentGetInfoBD::next
is required when querying certain component data with
xrGetSpatialEntityComponentDataBD.
Otherwise, the runtime must return XR_ERROR_VALIDATION_FAILURE from
xrGetSpatialEntityComponentDataBD.
See the XrSpatialEntityComponentData* struct details for more
information which components require this struct to be chained.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityPersistInfoEXT(3)
Name
XrSpatialEntityPersistInfoEXT - Information to persist a spatial entity
C Specification
The XrSpatialEntityPersistInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence_operations
typedef struct XrSpatialEntityPersistInfoEXT {
XrStructureType type;
const void* next;
XrSpatialContextEXT spatialContext;
XrSpatialEntityIdEXT spatialEntityId;
} XrSpatialEntityPersistInfoEXT;
Members
Description
The XrSpatialEntityPersistInfoEXT structure describes the information
to persist a spatial entity represented by spatialEntityId in an
XrSpatialPersistenceContextEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityStateBD(3)
Name
XrSpatialEntityStateBD - Info of spatial entities
C Specification
The XrSpatialEntityStateBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSpatialEntityStateBD {
XrStructureType type;
void* next;
XrSpatialEntityIdBD entityId;
XrTime lastUpdateTime;
XrUuidEXT uuid;
} XrSpatialEntityStateBD;
Members
The XrSpatialEntityStateBD contains the general info of the spatial entity.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityUnpersistInfoEXT(3)
Name
XrSpatialEntityUnpersistInfoEXT - Information to unpersist a previously persisted spatial entity
C Specification
The XrSpatialEntityUnpersistInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence_operations
typedef struct XrSpatialEntityUnpersistInfoEXT {
XrStructureType type;
const void* next;
XrUuid persistUuid;
} XrSpatialEntityUnpersistInfoEXT;
Members
Description
The XrSpatialEntityUnpersistInfoEXT structure describes the information to unpersist a spatial entity previously persisted using xrPersistSpatialEntityAsyncEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialFilterTrackingStateEXT(3)
Name
XrSpatialFilterTrackingStateEXT - List structure for the mesh 3D component
C Specification
The XrSpatialFilterTrackingStateEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialFilterTrackingStateEXT {
XrStructureType type;
const void* next;
XrSpatialEntityTrackingStateEXT trackingState;
} XrSpatialFilterTrackingStateEXT;
Members
Description
The application can use XrSpatialFilterTrackingStateEXT in the next
chain of XrSpatialDiscoverySnapshotCreateInfoEXT to scope the
discovery to only those entities whose tracking state is
trackingState.
The application can use XrSpatialFilterTrackingStateEXT in the next
chain of XrSpatialComponentDataQueryConditionEXT to scope the
component data query from a snapshot only to entities whose tracking state
is trackingState.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphNodeBindingPropertiesGetInfoMSFT(3)
Name
XrSpatialGraphNodeBindingPropertiesGetInfoMSFT - The information to get node binding properties
C Specification
XrSpatialGraphNodeBindingPropertiesGetInfoMSFT is an input structure for xrGetSpatialGraphNodeBindingPropertiesMSFT.
// Provided by XR_MSFT_spatial_graph_bridge
typedef struct XrSpatialGraphNodeBindingPropertiesGetInfoMSFT {
XrStructureType type;
const void* next;
} XrSpatialGraphNodeBindingPropertiesGetInfoMSFT;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphNodeBindingPropertiesMSFT(3)
Name
XrSpatialGraphNodeBindingPropertiesMSFT - The spatial graph node binding properties
C Specification
XrSpatialGraphNodeBindingPropertiesMSFT is an output structure for xrGetSpatialGraphNodeBindingPropertiesMSFT.
// Provided by XR_MSFT_spatial_graph_bridge
typedef struct XrSpatialGraphNodeBindingPropertiesMSFT {
XrStructureType type;
void* next;
uint8_t nodeId[XR_GUID_SIZE_MSFT];
XrPosef poseInNodeSpace;
} XrSpatialGraphNodeBindingPropertiesMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphNodeSpaceCreateInfoMSFT(3)
Name
XrSpatialGraphNodeSpaceCreateInfoMSFT - The information to create space from a spatial graph node.
C Specification
The XrSpatialGraphNodeSpaceCreateInfoMSFT structure is used with xrCreateSpatialGraphNodeSpaceMSFT to create an XrSpace handle for a given spatial node type and node ID.
// Provided by XR_MSFT_spatial_graph_bridge
typedef struct XrSpatialGraphNodeSpaceCreateInfoMSFT {
XrStructureType type;
const void* next;
XrSpatialGraphNodeTypeMSFT nodeType;
uint8_t nodeId[XR_GUID_SIZE_MSFT];
XrPosef pose;
} XrSpatialGraphNodeSpaceCreateInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphStaticNodeBindingCreateInfoMSFT(3)
Name
XrSpatialGraphStaticNodeBindingCreateInfoMSFT - The information to create a spatial graph static node binding handle
C Specification
XrSpatialGraphStaticNodeBindingCreateInfoMSFT is an input structure for xrTryCreateSpatialGraphStaticNodeBindingMSFT.
// Provided by XR_MSFT_spatial_graph_bridge
typedef struct XrSpatialGraphStaticNodeBindingCreateInfoMSFT {
XrStructureType type;
const void* next;
XrSpace space;
XrPosef poseInSpace;
XrTime time;
} XrSpatialGraphStaticNodeBindingCreateInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMarkerDataEXT(3)
Name
XrSpatialMarkerDataEXT - Marker Information
C Specification
The XrSpatialMarkerDataEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialMarkerDataEXT {
XrSpatialCapabilityEXT capability;
uint32_t markerId;
XrSpatialBufferEXT data;
} XrSpatialMarkerDataEXT;
Members
Description
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT and
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT support extra
data.
If capability is one of these -
-
If the runtime has successfully decoded the data for the marker, it must set the
databuffer type to eitherXR_SPATIAL_BUFFER_TYPE_UINT8_EXTorXR_SPATIAL_BUFFER_TYPE_STRING_EXT, depending on the data in the marker. The runtime must also set a valid buffer ID indatawhich the application can use with the appropriatexrGetSpatialBuffer*function to get the data. -
If the runtime has not yet decoded the data of the marker, it must set
databuffer ID to XR_NULL_SPATIAL_BUFFER_ID_EXT and the buffer type toXR_SPATIAL_BUFFER_TYPE_UNKNOWN_EXT.
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT and
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT do not support
extra data and the runtime must set the buffer ID of data to
XR_NULL_SPATIAL_BUFFER_ID_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMarkerSizeEXT(3)
Name
XrSpatialMarkerSizeEXT - Provide expected marker size to runtime
C Specification
The XrSpatialMarkerSizeEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialMarkerSizeEXT {
XrStructureType type;
const void* next;
float markerSideLength;
} XrSpatialMarkerSizeEXT;
Members
Description
If
XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_FIXED_SIZE_MARKERS_EXT
is enumerated by xrEnumerateSpatialCapabilityFeaturesEXT for a certain
capability, and if the application chains XrSpatialMarkerSizeEXT to
the corresponding configuration structure of that capability, the runtime
must assume that all markers detected have width and height of
markerSideLength.
Providing this information to the runtime allows the runtime to return a
more accurate pose and size.
This structure must be linked into the next chain of
XrSpatialCapabilityConfigurationQrCodeEXT,
XrSpatialCapabilityConfigurationMicroQrCodeEXT,
XrSpatialCapabilityConfigurationArucoMarkerEXT, or
XrSpatialCapabilityConfigurationAprilTagEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMarkerStaticOptimizationEXT(3)
Name
XrSpatialMarkerStaticOptimizationEXT - Provide information that markers do not move
C Specification
The XrSpatialMarkerStaticOptimizationEXT structure is defined as:
// Provided by XR_EXT_spatial_marker_tracking
typedef struct XrSpatialMarkerStaticOptimizationEXT {
XrStructureType type;
const void* next;
XrBool32 optimizeForStaticMarker;
} XrSpatialMarkerStaticOptimizationEXT;
Members
Description
If XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_STATIC_MARKERS_EXT is
enumerated by xrEnumerateSpatialCapabilityFeaturesEXT for a certain
capability, and if the application chains
XrSpatialMarkerStaticOptimizationEXT to the corresponding
configuration structure of that capability, the runtime must assume that
all markers detected are static if optimizeForStaticMarker is set to
XR_TRUE.
This allows the runtime to generate a more accurate pose and size.
This structure must be linked into the next chain of
XrSpatialCapabilityConfigurationQrCodeEXT,
XrSpatialCapabilityConfigurationMicroQrCodeEXT,
XrSpatialCapabilityConfigurationArucoMarkerEXT, or
XrSpatialCapabilityConfigurationAprilTagEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMeshDataEXT(3)
Name
XrSpatialMeshDataEXT - structure containing the data for a mesh 3D component
C Specification
The XrSpatialMeshDataEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialMeshDataEXT {
XrPosef origin;
XrSpatialBufferEXT vertexBuffer;
XrSpatialBufferEXT indexBuffer;
} XrSpatialMeshDataEXT;
Members
Description
The component type using XrSpatialMeshDataEXT must specify the
XrSpatialBufferTypeEXT of the vertexBuffer and
indexBuffer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceContextCreateInfoEXT(3)
Name
XrSpatialPersistenceContextCreateInfoEXT - Information to create a spatial persistence context handle
C Specification
The XrSpatialPersistenceContextCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrSpatialPersistenceContextCreateInfoEXT {
XrStructureType type;
const void* next;
XrSpatialPersistenceScopeEXT scope;
} XrSpatialPersistenceContextCreateInfoEXT;
Members
Description
The XrSpatialPersistenceContextCreateInfoEXT structure describes the information to create an XrSpatialPersistenceContextEXT handle.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceDataEXT(3)
Name
XrSpatialPersistenceDataEXT - Data provided by the spatial persistence component
C Specification
The XrSpatialPersistenceDataEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence
typedef struct XrSpatialPersistenceDataEXT {
XrUuid persistUuid;
XrSpatialPersistenceStateEXT persistState;
} XrSpatialPersistenceDataEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPolygon2DDataEXT(3)
Name
XrSpatialPolygon2DDataEXT - Structure containing the data for a polygon 2D component
C Specification
The XrSpatialPolygon2DDataEXT structure is defined as:
// Provided by XR_EXT_spatial_plane_tracking
typedef struct XrSpatialPolygon2DDataEXT {
XrPosef origin;
XrSpatialBufferEXT vertexBuffer;
} XrSpatialPolygon2DDataEXT;
Members
Description
XrSpatialBufferEXT::bufferType for vertexBuffer must be
XR_SPATIAL_BUFFER_TYPE_VECTOR2F_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialUpdateSnapshotCreateInfoEXT(3)
Name
XrSpatialUpdateSnapshotCreateInfoEXT - Information to create an update snapshot
C Specification
The XrSpatialUpdateSnapshotCreateInfoEXT structure is defined as:
// Provided by XR_EXT_spatial_entity
typedef struct XrSpatialUpdateSnapshotCreateInfoEXT {
XrStructureType type;
const void* next;
uint32_t entityCount;
const XrSpatialEntityEXT* entities;
uint32_t componentTypeCount;
const XrSpatialComponentTypeEXT* componentTypes;
XrSpace baseSpace;
XrTime time;
} XrSpatialUpdateSnapshotCreateInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpheref(3)
Name
XrSpheref - Describe a sphere bounds
C Specification
An XrSpheref structure describes the center and radius of a sphere bounds.
// Provided by XR_VERSION_1_1
typedef struct XrSpheref {
XrPosef center;
float radius;
} XrSpheref;
Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if radius
is not a finite positive value.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateInfo(3)
Name
XrSwapchainCreateInfo - Creation info for a swapchain
C Specification
The XrSwapchainCreateInfo structure is defined as:
typedef struct XrSwapchainCreateInfo {
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;
} XrSwapchainCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateInfoFoveationFB(3)
Name
XrSwapchainCreateInfoFoveationFB - The information to create a swapchain supporting foveation
C Specification
XrSwapchainCreateInfoFoveationFB can be provided in the next
chain of XrSwapchainCreateInfo when calling xrCreateSwapchain to
indicate to the runtime that the swapchain must be created with foveation
support in the corresponding graphics API.
XrSwapchainCreateInfoFoveationFB contains additional
foveation-specific flags for swapchain creation.
The XrSwapchainCreateInfoFoveationFB structure is defined as:
// Provided by XR_FB_foveation
typedef struct XrSwapchainCreateInfoFoveationFB {
XrStructureType type;
void* next;
XrSwapchainCreateFoveationFlagsFB flags;
} XrSwapchainCreateInfoFoveationFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageAcquireInfo(3)
Name
XrSwapchainImageAcquireInfo - Describes a swapchain image acquisition
C Specification
The XrSwapchainImageAcquireInfo structure is defined as:
typedef struct XrSwapchainImageAcquireInfo {
XrStructureType type;
const void* next;
} XrSwapchainImageAcquireInfo;
Members
Description
Because this structure only exists to support extension-specific structures,
xrAcquireSwapchainImage will accept a NULL argument for
xrAcquireSwapchainImage::acquireInfo for applications that are
not using any relevant extensions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageBaseHeader(3)
Name
XrSwapchainImageBaseHeader - Image base header for a swapchain image
C Specification
The XrSwapchainImageBaseHeader structure is defined as:
typedef struct XrSwapchainImageBaseHeader {
XrStructureType type;
void* next;
} XrSwapchainImageBaseHeader;
Members
Description
The XrSwapchainImageBaseHeader is a base structure that is extended by
graphics API-specific XrSwapchainImage* child structures.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageD3D11KHR(3)
Name
XrSwapchainImageD3D11KHR - D3D11-specific swapchain image structure
C Specification
The XrSwapchainImageD3D11KHR structure is defined as:
// Provided by XR_KHR_D3D11_enable
typedef struct XrSwapchainImageD3D11KHR {
XrStructureType type;
void* next;
ID3D11Texture2D* texture;
} XrSwapchainImageD3D11KHR;
Members
Description
If a given session was created with XrGraphicsBindingD3D11KHR, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageD3D11KHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageD3D11KHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
The OpenXR runtime must return a texture created in accordance with https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_d3d11_enable-flags.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageD3D12KHR(3)
Name
XrSwapchainImageD3D12KHR - D3D12-specific swapchain image structure
C Specification
The XrSwapchainImageD3D12KHR structure is defined as:
// Provided by XR_KHR_D3D12_enable
typedef struct XrSwapchainImageD3D12KHR {
XrStructureType type;
void* next;
ID3D12Resource* texture;
} XrSwapchainImageD3D12KHR;
Members
Description
If a given session was created with XrGraphicsBindingD3D12KHR, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageD3D12KHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageD3D12KHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
The OpenXR runtime must return a texture created in accordance with https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_d3d12_enable-flags.
The OpenXR runtime must manage image resource state in accordance with https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_d3d12_enable-state.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageFoveationVulkanFB(3)
Name
XrSwapchainImageFoveationVulkanFB - Profile with properties defining a foveation pattern
C Specification
XrSwapchainImageFoveationVulkanFB can be provided in the next
chain of XrSwapchainImageVulkanKHR when calling
xrEnumerateSwapchainImages on a swapchain created with
xrCreateSwapchain, if XrSwapchainCreateInfoFoveationFB was in
the next chain of XrSwapchainCreateInfo and
XrSwapchainCreateInfoFoveationFB had the
XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB flag set.
The image, width, and height will be populated by
xrEnumerateSwapchainImages to be compatible with the corresponding
XrSwapchainImageVulkanKHR.
The XrSwapchainImageFoveationVulkanFB structure is defined as:
// Provided by XR_FB_foveation_vulkan
typedef struct XrSwapchainImageFoveationVulkanFB {
XrStructureType type;
void* next;
VkImage image;
uint32_t width;
uint32_t height;
} XrSwapchainImageFoveationVulkanFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageMetalKHR(3)
Name
XrSwapchainImageMetalKHR - Metal-specific swapchain image structure
C Specification
The XrSwapchainImageMetalKHR structure is defined as:
// Provided by XR_KHR_metal_enable
typedef struct XrSwapchainImageMetalKHR {
XrStructureType type;
const void* next;
void* texture;
} XrSwapchainImageMetalKHR;
Members
Description
If a given session was created with XrGraphicsBindingMetalKHR, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageMetalKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageMetalKHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageOpenGLESKHR(3)
Name
XrSwapchainImageOpenGLESKHR - OpenGL ES-specific swapchain image structure
C Specification
The XrSwapchainImageOpenGLESKHR structure is defined as:
// Provided by XR_KHR_opengl_es_enable
typedef struct XrSwapchainImageOpenGLESKHR {
XrStructureType type;
void* next;
uint32_t image;
} XrSwapchainImageOpenGLESKHR;
Members
Description
If a given session was created with some XrGraphicsBindingOpenGLES*KHR
graphics binding structure, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageOpenGLESKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageOpenGLESKHR structure.
The OpenXR runtime must interpret the bottom-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at -1, and far Z plane at 1.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageOpenGLKHR(3)
Name
XrSwapchainImageOpenGLKHR - OpenGL-specific swapchain image structure
C Specification
The XrSwapchainImageOpenGLKHR structure is defined as:
// Provided by XR_KHR_opengl_enable
typedef struct XrSwapchainImageOpenGLKHR {
XrStructureType type;
void* next;
uint32_t image;
} XrSwapchainImageOpenGLKHR;
Members
Description
If a given session was created with some XrGraphicsBindingOpenGL*KHR
graphics binding structure, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageOpenGLKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageOpenGLKHR.
The OpenXR runtime must interpret the bottom-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at -1, and far Z plane at 1.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageReleaseInfo(3)
Name
XrSwapchainImageReleaseInfo - Describes a swapchain image release
C Specification
The XrSwapchainImageReleaseInfo structure is defined as:
typedef struct XrSwapchainImageReleaseInfo {
XrStructureType type;
const void* next;
} XrSwapchainImageReleaseInfo;
Members
Description
Because this structure only exists to support extension-specific structures,
xrReleaseSwapchainImage will accept a NULL argument for
xrReleaseSwapchainImage::releaseInfo for applications that are
not using any relevant extensions.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageVulkanKHR(3)
Name
XrSwapchainImageVulkanKHR - Vulkan-specific swapchain image structure
C Specification
The XrSwapchainImageVulkanKHR structure is defined as:
// Provided by XR_KHR_vulkan_enable
typedef struct XrSwapchainImageVulkanKHR {
XrStructureType type;
void* next;
VkImage image;
} XrSwapchainImageVulkanKHR;
Members
Description
If a given session was created with XrGraphicsBindingVulkanKHR, the following conditions apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageVulkanKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageVulkanKHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing down, near Z plane at 0, and far Z plane at 1.
The OpenXR runtime must return a texture created in accordance with https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_vulkan_enable-flags.
The OpenXR runtime must manage image resource state in accordance with https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#khr_vulkan_enable-state.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageWaitInfo(3)
Name
XrSwapchainImageWaitInfo - Describes a swapchain image wait operation
C Specification
The XrSwapchainImageWaitInfo structure describes a swapchain image wait operation. It is defined as:
typedef struct XrSwapchainImageWaitInfo {
XrStructureType type;
const void* next;
XrDuration timeout;
} XrSwapchainImageWaitInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateAndroidSurfaceDimensionsFB(3)
Name
XrSwapchainStateAndroidSurfaceDimensionsFB - Android Surface Swapchain specific dimensions structure
C Specification
The XrSwapchainStateAndroidSurfaceDimensionsFB structure is defined as:
// Provided by XR_FB_swapchain_update_state_android_surface
typedef struct XrSwapchainStateAndroidSurfaceDimensionsFB {
XrStructureType type;
void* next;
uint32_t width;
uint32_t height;
} XrSwapchainStateAndroidSurfaceDimensionsFB;
Members
Description
When XrSwapchainStateAndroidSurfaceDimensionsFB is specified in the call to xrUpdateSwapchainFB, the dimensions provided will be used to update the default size of the image buffers associated with the Android Surface swapchain.
Additionally, the dimensions provided will become the new source of truth for the swapchain width and height, affecting operations such as computing the normalized imageRect for the swapchain.
When XrSwapchainStateAndroidSurfaceDimensionsFB is specified in the call to xrGetSwapchainStateFB, the dimensions will be populated with the current swapchain width and height.
To use XrSwapchainStateAndroidSurfaceDimensionsFB,
XR_USE_PLATFORM_ANDROID must be defined before including
openxr_platform.h.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateBaseHeaderFB(3)
Name
XrSwapchainStateBaseHeaderFB - Base header for swapchain update state
C Specification
The XrSwapchainStateBaseHeaderFB structure is defined as:
// Provided by XR_FB_swapchain_update_state
typedef struct XrSwapchainStateBaseHeaderFB {
XrStructureType type;
void* next;
} XrSwapchainStateBaseHeaderFB;
Members
Description
The XrSwapchainStateBaseHeaderFB is a base structure that can be
overridden by a specific XrSwapchainState* child structure.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateFoveationFB(3)
Name
XrSwapchainStateFoveationFB - Foveation swapchain state,xrefs=
C Specification
XrSwapchainStateFoveationFB can be provided in place of XrSwapchainStateBaseHeaderFB when calling xrUpdateSwapchainFB to update the foveation properties of the swapchain. XrSwapchainCreateInfoFoveationFB contains the desired foveation profile and additional foveation specific flags for updating the swapchain.
The XrSwapchainStateFoveationFB structure is defined as:
// Provided by XR_FB_foveation
typedef struct XrSwapchainStateFoveationFB {
XrStructureType type;
void* next;
XrSwapchainStateFoveationFlagsFB flags;
XrFoveationProfileFB profile;
} XrSwapchainStateFoveationFB;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateSamplerOpenGLESFB(3)
Name
XrSwapchainStateSamplerOpenGLESFB - OpenGL ES-specific swapchain sampler state structure
C Specification
The XrSwapchainStateSamplerOpenGLESFB structure is defined as:
// Provided by XR_FB_swapchain_update_state_opengl_es
typedef struct XrSwapchainStateSamplerOpenGLESFB {
XrStructureType type;
void* next;
EGLenum minFilter;
EGLenum magFilter;
EGLenum wrapModeS;
EGLenum wrapModeT;
EGLenum swizzleRed;
EGLenum swizzleGreen;
EGLenum swizzleBlue;
EGLenum swizzleAlpha;
float maxAnisotropy;
XrColor4f borderColor;
} XrSwapchainStateSamplerOpenGLESFB;
Members
Description
When XrSwapchainStateSamplerOpenGLESFB is specified in the call to xrUpdateSwapchainFB, texture sampler state for all images in the XrSwapchain will be updated for both the application and compositor processes.
For most cases, the sampler state update is only required compositor-side, as that is where the swapchain images are sampled. For completeness, the application-side sampler state is additionally updated to support cases where the application may choose to directly sample the swapchain images.
Applications are expected to handle synchronization of the sampler state update with application-side rendering. Similarly, the compositor will synchronize the sampler state update with rendering of the next compositor frame.
An EGLContext, either the EGLContext bound during
XrSwapchain creation or an EGLContext in the same share group,
is required to be bound on the application calling thread.
Current texture bindings may be altered by the call, including the active
texture.
When XrSwapchainStateSamplerOpenGLESFB is specified in the call to xrGetSwapchainStateFB, the sampler state will be populated with the current swapchain sampler state.
To use XrSwapchainStateSamplerOpenGLESFB,
XR_USE_GRAPHICS_API_OPENGL_ES must be defined before including
openxr_platform.h.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateSamplerVulkanFB(3)
Name
XrSwapchainStateSamplerVulkanFB - Vulkan-specific swapchain sampler state structure
C Specification
The XrSwapchainStateSamplerVulkanFB structure is defined as:
// Provided by XR_FB_swapchain_update_state_vulkan
typedef struct XrSwapchainStateSamplerVulkanFB {
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;
} XrSwapchainStateSamplerVulkanFB;
Members
Description
When XrSwapchainStateSamplerVulkanFB is specified in the call to xrUpdateSwapchainFB, texture sampler state for all images in the XrSwapchain will be updated for the compositor process. For most cases, the sampler state update is only required compositor-side, as that is where the swapchain images are sampled. If the application requires sampling of the swapchain images, the application will be responsible for updating the texture state using normal Vulkan mechanisms and synchronizing appropriately with application-side rendering.
When XrSwapchainStateSamplerVulkanFB is specified in the call to xrGetSwapchainStateFB, the sampler state will be populated with the current swapchain sampler state.
To use XrSwapchainStateSamplerVulkanFB,
XR_USE_GRAPHICS_API_VULKAN must be defined before including
openxr_platform.h.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainSubImage(3)
Name
XrSwapchainSubImage - Composition layer data
C Specification
The XrSwapchainSubImage structure is defined as:
typedef struct XrSwapchainSubImage {
XrSwapchain swapchain;
XrRect2Di imageRect;
uint32_t imageArrayIndex;
} XrSwapchainSubImage;
Members
Description
See Also
XrCompositionLayerCylinderKHR, XrCompositionLayerDepthInfoKHR, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerProjectionView, XrCompositionLayerQuad, XrCompositionLayerSpaceWarpInfoFB, XrFoveationApplyInfoHTC, XrFrameEndInfo, XrFrameSynthesisInfoEXT, XrRect2Di, XrSwapchain
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemAnchorPropertiesHTC(3)
Name
XrSystemAnchorPropertiesHTC - System property for anchor
C Specification
The XrSystemAnchorPropertiesHTC structure is defined as:
// Provided by XR_HTC_anchor
typedef struct XrSystemAnchorPropertiesHTC {
XrStructureType type;
void* next;
XrBool32 supportsAnchor;
} XrSystemAnchorPropertiesHTC;
Members
Description
An application can inspect whether the system is capable of anchor
functionality by chaining an XrSystemAnchorPropertiesHTC structure to
the XrSystemProperties when calling xrGetSystemProperties.
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED if
XrSystemAnchorPropertiesHTC::supportsAnchor was XR_FALSE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemAnchorSharingExportPropertiesANDROID(3)
Name
XrSystemAnchorSharingExportPropertiesANDROID - System property for anchor sharing export
C Specification
The XrSystemAnchorSharingExportPropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_anchor_sharing_export
typedef struct XrSystemAnchorSharingExportPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsAnchorSharingExport;
} XrSystemAnchorSharingExportPropertiesANDROID;
Members
Description
An application can inspect whether the system is capable of sharing anchors
by chaining an XrSystemAnchorSharingExportPropertiesANDROID structure
to the XrSystemProperties::next chain when calling
xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsAnchorSharingExport, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrShareAnchorANDROID and
xrUnshareAnchorANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemBodyTrackingPropertiesBD(3)
Name
XrSystemBodyTrackingPropertiesBD - System property for body tracking
C Specification
The XrSystemBodyTrackingPropertiesBD structure is defined as:
// Provided by XR_BD_body_tracking
typedef struct XrSystemBodyTrackingPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsBodyTracking;
} XrSystemBodyTrackingPropertiesBD;
Members
Description
An application can inspect whether the system is capable of body tracking by extending the XrSystemProperties with XrSystemBodyTrackingPropertiesBD structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsBodyTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateBodyTrackerBD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemBodyTrackingPropertiesFB(3)
Name
XrSystemBodyTrackingPropertiesFB - System property for body tracking
C Specification
An application can inspect whether the system is capable of body tracking by extending the XrSystemProperties with XrSystemBodyTrackingPropertiesFB structure when calling xrGetSystemProperties.
// Provided by XR_FB_body_tracking
typedef struct XrSystemBodyTrackingPropertiesFB {
XrStructureType type;
void* next;
XrBool32 supportsBodyTracking;
} XrSystemBodyTrackingPropertiesFB;
Members
Description
If a runtime returns XR_FALSE for supportsBodyTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateBodyTrackerFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemBodyTrackingPropertiesHTC(3)
Name
XrSystemBodyTrackingPropertiesHTC - System property for body tracking
C Specification
The XrSystemBodyTrackingPropertiesHTC structure is defined as:
// Provided by XR_HTC_body_tracking
typedef struct XrSystemBodyTrackingPropertiesHTC {
XrStructureType type;
void* next;
XrBool32 supportsBodyTracking;
} XrSystemBodyTrackingPropertiesHTC;
Members
Description
An application can inspect whether the system is capable of body tracking by extending the XrSystemProperties with XrSystemBodyTrackingPropertiesHTC structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsBodyTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateBodyTrackerHTC.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemColocationDiscoveryPropertiesMETA(3)
Name
XrSystemColocationDiscoveryPropertiesMETA - Colocation discovery system properties
C Specification
The XrSystemColocationDiscoveryPropertiesMETA structure is defined as:
// Provided by XR_META_colocation_discovery
typedef struct XrSystemColocationDiscoveryPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsColocationDiscovery;
} XrSystemColocationDiscoveryPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of colocation advertisement and discovery by extending the XrSystemProperties with XrSystemColocationDiscoveryPropertiesMETA structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsColocationDiscovery,
the runtime must return XR_ERROR_FEATURE_UNSUPPORTED for all
functions in the XR_META_colocation_discovery extension.
Colocation advertisement controls whether a device is discoverable using colocation discovery, so the term "colocation discovery" on its own is used here to refer to the combined capability of colocation advertisement and colocation discovery.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemColorSpacePropertiesFB(3)
Name
XrSystemColorSpacePropertiesFB - System property for color space
C Specification
An application may inspect the native color space of the system by chaining an XrSystemColorSpacePropertiesFB structure to the XrSystemProperties when calling xrGetSystemProperties.
The XrSystemColorSpacePropertiesFB structure is defined as:
// Provided by XR_FB_color_space
typedef struct XrSystemColorSpacePropertiesFB {
XrStructureType type;
void* next;
XrColorSpaceFB colorSpace;
} XrSystemColorSpacePropertiesFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemDeviceAnchorPersistencePropertiesANDROID(3)
Name
XrSystemDeviceAnchorPersistencePropertiesANDROID - System property for anchor persistence
C Specification
The XrSystemDeviceAnchorPersistencePropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
typedef struct XrSystemDeviceAnchorPersistencePropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsAnchorPersistence;
} XrSystemDeviceAnchorPersistencePropertiesANDROID;
Members
Description
An application inspects whether the system is capable of persisting spatial anchors (see xrCreateAnchorSpaceANDROID) by extending the XrSystemProperties with XrSystemDeviceAnchorPersistencePropertiesANDROID structure when calling xrGetSystemProperties.
To query the supported types for the supported trackable anchors an application calls xrEnumerateSupportedPersistenceAnchorTypesANDROID.
If and only if a runtime returns XR_FALSE for
supportsAnchorPersistence, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from device anchor persistence functions
that operate on a spatial anchor.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemEnvironmentDepthPropertiesMETA(3)
Name
XrSystemEnvironmentDepthPropertiesMETA - System property for environment depth
C Specification
The XrSystemEnvironmentDepthPropertiesMETA structure is defined as:
// Provided by XR_META_environment_depth
typedef struct XrSystemEnvironmentDepthPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsEnvironmentDepth;
XrBool32 supportsHandRemoval;
} XrSystemEnvironmentDepthPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of supporting environment depth by extending the XrSystemProperties with XrSystemEnvironmentDepthPropertiesMETA structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsEnvironmentDepth, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateEnvironmentDepthProviderMETA.
If and only if a runtime returns XR_FALSE for
supportsHandRemoval, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from
xrSetEnvironmentDepthHandRemovalMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemEyeGazeInteractionPropertiesEXT(3)
Name
XrSystemEyeGazeInteractionPropertiesEXT - Eye gaze interaction system properties
C Specification
// Provided by XR_EXT_eye_gaze_interaction
typedef struct XrSystemEyeGazeInteractionPropertiesEXT {
XrStructureType type;
void* next;
XrBool32 supportsEyeGazeInteraction;
} XrSystemEyeGazeInteractionPropertiesEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemEyeTrackingPropertiesFB(3)
Name
XrSystemEyeTrackingPropertiesFB - System property for eye tracking
C Specification
The XrSystemEyeTrackingPropertiesFB structure is defined as:
// Provided by XR_FB_eye_tracking_social
typedef struct XrSystemEyeTrackingPropertiesFB {
XrStructureType type;
void* next;
XrBool32 supportsEyeTracking;
} XrSystemEyeTrackingPropertiesFB;
Members
Description
An application can inspect whether the system is capable of eye tracking input by extending the XrSystemProperties with XrSystemEyeTrackingPropertiesFB structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsEyeTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateEyeTrackerFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFaceTrackingProperties2FB(3)
Name
XrSystemFaceTrackingProperties2FB - System property for face tracking
C Specification
// Provided by XR_FB_face_tracking2
typedef struct XrSystemFaceTrackingProperties2FB {
XrStructureType type;
void* next;
XrBool32 supportsVisualFaceTracking;
XrBool32 supportsAudioFaceTracking;
} XrSystemFaceTrackingProperties2FB;
Members
Description
An application can inspect whether the system is capable of receiving face tracking input by extending the XrSystemProperties with XrSystemFaceTrackingProperties2FB structure when calling xrGetSystemProperties.
If an application calls xrCreateFaceTracker2FB only with unsupported
XrFaceTrackerCreateInfo2FB::requestedDataSources, the runtime
must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFaceTracker2FB.
For example, if an application calls xrCreateFaceTracker2FB only with
XR_FACE_TRACKING_DATA_SOURCE2_AUDIO_FB in
XrFaceTrackerCreateInfo2FB::requestedDataSources when the
runtime returns XR_FALSE for supportsAudioFaceTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFaceTracker2FB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFaceTrackingPropertiesANDROID(3)
Name
XrSystemFaceTrackingPropertiesANDROID - System property for face tracking
C Specification
The XrSystemFaceTrackingPropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_face_tracking
typedef struct XrSystemFaceTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsFaceTracking;
} XrSystemFaceTrackingPropertiesANDROID;
Members
Description
|
Important
|
Permissions
Android applications must have the android.permission.FACE_TRACKING permission listed in their manifest. The android.permission.FACE_TRACKING permission is considered a dangerous permission. The application must request the permission at runtime to use these functions: (protection level: dangerous) |
An application inspects whether the system is capable of face tracking by extending the XrSystemProperties with an XrSystemFaceTrackingPropertiesANDROID structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsFaceTracking, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFaceTrackerANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFaceTrackingPropertiesFB(3)
Name
XrSystemFaceTrackingPropertiesFB - System property for face tracking
C Specification
// Provided by XR_FB_face_tracking
typedef struct XrSystemFaceTrackingPropertiesFB {
XrStructureType type;
void* next;
XrBool32 supportsFaceTracking;
} XrSystemFaceTrackingPropertiesFB;
Members
Description
An application can inspect whether the system is capable of receiving face tracking input by extending the XrSystemProperties with XrSystemFaceTrackingPropertiesFB structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsFaceTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFaceTrackerFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFacialExpressionPropertiesML(3)
Name
XrSystemFacialExpressionPropertiesML - System property for facial expression parsing
C Specification
The XrSystemFacialExpressionPropertiesML structure is defined as:
// Provided by XR_ML_facial_expression
typedef struct XrSystemFacialExpressionPropertiesML {
XrStructureType type;
void* next;
XrBool32 supportsFacialExpression;
} XrSystemFacialExpressionPropertiesML;
Members
Description
An application can inspect whether the system is capable of parsing facial blend shapes by extending the XrSystemProperties with XrSystemFacialExpressionPropertiesML structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsFacialExpression, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFacialExpressionClientML.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFacialSimulationPropertiesBD(3)
Name
XrSystemFacialSimulationPropertiesBD - System property for facial simulation
C Specification
The XrSystemFacialSimulationPropertiesBD structure is defined as:
// Provided by XR_BD_facial_simulation
typedef struct XrSystemFacialSimulationPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsFaceTracking;
} XrSystemFacialSimulationPropertiesBD;
Members
Description
An application can inspect whether the system is capable of providing face
tracking input by extending the XrSystemProperties::next chain
with an XrSystemFacialSimulationPropertiesBD structure when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsFaceTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFaceTrackerBD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFacialTrackingPropertiesHTC(3)
Name
XrSystemFacialTrackingPropertiesHTC - System property for facial tracking
C Specification
XrSystemFacialTrackingPropertiesHTC is defined as:
// Provided by XR_HTC_facial_tracking
typedef struct XrSystemFacialTrackingPropertiesHTC {
XrStructureType type;
void* next;
XrBool32 supportEyeFacialTracking;
XrBool32 supportLipFacialTracking;
} XrSystemFacialTrackingPropertiesHTC;
Members
Description
An application can inspect whether the system is capable of two of the facial tracking by extending the XrSystemProperties with XrSystemFacialTrackingPropertiesHTC structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportEyeFacialTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateFacialTrackerHTC with
XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC set for
XrFacialTrackingTypeHTC in XrFacialTrackerCreateInfoHTC.
Similarly, if a runtime returns XR_FALSE for
supportLipFacialTracking the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateFacialTrackerHTC with
XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC set for
XrFacialTrackingTypeHTC in XrFacialTrackerCreateInfoHTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemForceFeedbackCurlPropertiesMNDX(3)
Name
XrSystemForceFeedbackCurlPropertiesMNDX - System property for force feedback curl
C Specification
The XrSystemForceFeedbackCurlPropertiesMNDX structure is defined as:
// Provided by XR_MNDX_force_feedback_curl
typedef struct XrSystemForceFeedbackCurlPropertiesMNDX {
XrStructureType type;
void* next;
XrBool32 supportsForceFeedbackCurl;
} XrSystemForceFeedbackCurlPropertiesMNDX;
Members
Description
An application may inspect whether the system is capable of force feedback by chaining an XrSystemForceFeedbackCurlPropertiesMNDX structure to the XrSystemProperties structure when calling xrGetSystemProperties.
The runtime should return XR_TRUE for supportsForceFeedbackCurl
when force feedback is available in the system, otherwise XR_FALSE.
Force feedback calls must return XR_ERROR_FEATURE_UNSUPPORTED if
force feedback is not available in the system.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFoveatedRenderingPropertiesVARJO(3)
Name
XrSystemFoveatedRenderingPropertiesVARJO - System property for foveated rendering
C Specification
An application can inspect whether the system is capable of foveated rendering by chaining an XrSystemFoveatedRenderingPropertiesVARJO structure to the XrSystemProperties structure when calling xrGetSystemProperties.
// Provided by XR_VARJO_foveated_rendering
typedef struct XrSystemFoveatedRenderingPropertiesVARJO {
XrStructureType type;
void* next;
XrBool32 supportsFoveatedRendering;
} XrSystemFoveatedRenderingPropertiesVARJO;
Members
Description
The runtime should return XR_TRUE for supportsFoveatedRendering
when rendering gaze is available in the system.
An application should avoid using foveated rendering functionality when
supportsFoveatedRendering is XR_FALSE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemFoveationEyeTrackedPropertiesMETA(3)
Name
XrSystemFoveationEyeTrackedPropertiesMETA - Information about the current system support for eye tracked foveation
C Specification
The XrSystemFoveationEyeTrackedPropertiesMETA structure is defined as:
// Provided by XR_META_foveation_eye_tracked
typedef struct XrSystemFoveationEyeTrackedPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsFoveationEyeTracked;
} XrSystemFoveationEyeTrackedPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of eye tracked foveation by extending the XrSystemProperties with XrSystemFoveationEyeTrackedPropertiesMETA structure when calling xrGetSystemProperties.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemGetInfo(3)
Name
XrSystemGetInfo - Specifies desired attributes of the system
C Specification
The XrSystemGetInfo structure is defined as:
typedef struct XrSystemGetInfo {
XrStructureType type;
const void* next;
XrFormFactor formFactor;
} XrSystemGetInfo;
Members
Description
The XrSystemGetInfo structure specifies attributes about a system as desired by an application.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemGraphicsProperties(3)
Name
XrSystemGraphicsProperties - Graphics-related properties of a particular system
C Specification
The runtime must report a valid vendor ID for the system. The vendor ID must be either the USB vendor ID defined for the physical device or a Khronos vendor ID.
The XrSystemGraphicsProperties structure is defined as:
typedef struct XrSystemGraphicsProperties {
uint32_t maxSwapchainImageHeight;
uint32_t maxSwapchainImageWidth;
uint32_t maxLayerCount;
} XrSystemGraphicsProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemHandTrackingMeshPropertiesMSFT(3)
Name
XrSystemHandTrackingMeshPropertiesMSFT - System property for hand tracking mesh
C Specification
An application can inspect whether the system is capable of hand tracking meshes by chaining an XrSystemHandTrackingMeshPropertiesMSFT structure to the XrSystemProperties when calling xrGetSystemProperties.
// Provided by XR_MSFT_hand_tracking_mesh
typedef struct XrSystemHandTrackingMeshPropertiesMSFT {
XrStructureType type;
void* next;
XrBool32 supportsHandTrackingMesh;
uint32_t maxHandMeshIndexCount;
uint32_t maxHandMeshVertexCount;
} XrSystemHandTrackingMeshPropertiesMSFT;
Members
Description
If a runtime returns XR_FALSE for supportsHandTrackingMesh, the
system does not support hand tracking mesh input, and therefore must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateHandMeshSpaceMSFT and
xrUpdateHandMeshMSFT.
The application should avoid using hand mesh functionality when
supportsHandTrackingMesh is XR_FALSE.
If a runtime returns XR_TRUE for supportsHandTrackingMesh, the
system supports hand tracking mesh input.
In this case, the runtime must return a positive number for
maxHandMeshIndexCount and maxHandMeshVertexCount.
An application should use maxHandMeshIndexCount and
maxHandMeshVertexCount to preallocate hand mesh buffers and reuse them
in their render loop when calling xrUpdateHandMeshMSFT every frame.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemHandTrackingPropertiesEXT(3)
Name
XrSystemHandTrackingPropertiesEXT - System property for hand tracking
C Specification
An application can inspect whether the system is capable of hand tracking input by extending the XrSystemProperties with XrSystemHandTrackingPropertiesEXT structure when calling xrGetSystemProperties.
// Provided by XR_EXT_hand_tracking
typedef struct XrSystemHandTrackingPropertiesEXT {
XrStructureType type;
void* next;
XrBool32 supportsHandTracking;
} XrSystemHandTrackingPropertiesEXT;
Members
Description
If a runtime returns XR_FALSE for supportsHandTracking, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateHandTrackerEXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemHeadsetIdPropertiesMETA(3)
Name
XrSystemHeadsetIdPropertiesMETA - get headset model id from xrGetSystemProperties
C Specification
The XrSystemHeadsetIdPropertiesMETA structure is defined as:
// Provided by XR_META_headset_id
typedef struct XrSystemHeadsetIdPropertiesMETA {
XrStructureType type;
void* next;
XrUuidEXT id;
} XrSystemHeadsetIdPropertiesMETA;
Members
Description
An application can get a corresponding headset UUID of the headset model by chaining an XrSystemHeadsetIdPropertiesMETA structure to the XrSystemProperties when calling xrGetSystemProperties.
The UUID returned in the XrSystemHeadsetIdPropertiesMETA structure is an opaque UUID that identifies a runtime / headset model combo.
The runtime should always return the same UUID for a given headset model for the entire lifetime of that product.
The runtime may report a different UUID to some applications for compatibility purposes.
This is in contrast to the XrSystemProperties::systemName field
which is not required to be consistent across product renames.
This is intended to be a temporary feature that will be deprecated along
with its extension as soon as motivating use cases are resolved in a better
way.
See the disclaimer at the start of the XR_META_headset_id extension
documentation for more details.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemKeyboardTrackingPropertiesFB(3)
Name
XrSystemKeyboardTrackingPropertiesFB - Information from the system about tracked keyboard support.
C Specification
The XrSystemKeyboardTrackingPropertiesFB structure is defined as:
// Provided by XR_FB_keyboard_tracking
typedef struct XrSystemKeyboardTrackingPropertiesFB {
XrStructureType type;
void* next;
XrBool32 supportsKeyboardTracking;
} XrSystemKeyboardTrackingPropertiesFB;
Members
Description
XrSystemKeyboardTrackingPropertiesFB is populated with information from the system about tracked keyboard support.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemMarkerTrackingPropertiesANDROID(3)
Name
XrSystemMarkerTrackingPropertiesANDROID - System property for marker tracking
C Specification
The XrSystemMarkerTrackingPropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_trackables_marker
typedef struct XrSystemMarkerTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsMarkerTracking;
XrBool32 supportsMarkerSizeEstimation;
uint16_t maxMarkerCount;
} XrSystemMarkerTrackingPropertiesANDROID;
Members
Description
An application can inspect whether the system is capable of marker tracking
by extending the XrSystemProperties with
XrSystemMarkerTrackingPropertiesANDROID structure when calling
xrGetSystemProperties.
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED for marker
tracker creation if and only if supportsMarkerTracking is
XR_FALSE.
If a runtime supports marker tracking, maxMarkerCount must be at
least 1.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemMarkerTrackingPropertiesVARJO(3)
Name
XrSystemMarkerTrackingPropertiesVARJO - System property for marker tracking
C Specification
The XrSystemMarkerTrackingPropertiesVARJO structure is defined as:
// Provided by XR_VARJO_marker_tracking
typedef struct XrSystemMarkerTrackingPropertiesVARJO {
XrStructureType type;
void* next;
XrBool32 supportsMarkerTracking;
} XrSystemMarkerTrackingPropertiesVARJO;
Members
Description
An application may inspect whether the system is capable of marker tracking by chaining an XrSystemMarkerTrackingPropertiesVARJO structure to the XrSystemProperties structure when calling xrGetSystemProperties.
The runtime should return XR_TRUE for supportsMarkerTracking
when marker tracking is available in the system, otherwise XR_FALSE.
Marker tracking calls must return XR_ERROR_FEATURE_UNSUPPORTED if
marker tracking is not available in the system.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemMarkerUnderstandingPropertiesML(3)
Name
XrSystemMarkerUnderstandingPropertiesML - System Property for Marker Understanding support.
C Specification
The XrSystemMarkerUnderstandingPropertiesML structure is defined as:
// Provided by XR_ML_marker_understanding
typedef struct XrSystemMarkerUnderstandingPropertiesML {
XrStructureType type;
void* next;
XrBool32 supportsMarkerUnderstanding;
} XrSystemMarkerUnderstandingPropertiesML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemNotificationsSetInfoML(3)
Name
XrSystemNotificationsSetInfoML - Information for setting system notifications.
C Specification
The XrSystemNotificationsSetInfoML structure is defined as:
// Provided by XR_ML_system_notifications
typedef struct XrSystemNotificationsSetInfoML {
XrStructureType type;
const void* next;
XrBool32 suppressNotifications;
} XrSystemNotificationsSetInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPassthroughCameraStatePropertiesANDROID(3)
Name
XrSystemPassthroughCameraStatePropertiesANDROID - System property for passthrough camera state
C Specification
The XrSystemPassthroughCameraStatePropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_passthrough_camera_state
typedef struct XrSystemPassthroughCameraStatePropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsPassthroughCameraState;
} XrSystemPassthroughCameraStatePropertiesANDROID;
Members
Description
Applications inspect whether the system is capable of querying the passthrough camera state by extending the XrSystemProperties with an XrSystemPassthroughCameraStatePropertiesANDROID structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsPassthroughCameraState, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from
xrGetPassthroughCameraStateANDROID.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPassthroughColorLutPropertiesMETA(3)
Name
XrSystemPassthroughColorLutPropertiesMETA - Passthrough color LUT system properties
C Specification
The XrSystemPassthroughColorLutPropertiesMETA structure is defined as:
// Provided by XR_META_passthrough_color_lut
typedef struct XrSystemPassthroughColorLutPropertiesMETA {
XrStructureType type;
const void* next;
uint32_t maxColorLutResolution;
} XrSystemPassthroughColorLutPropertiesMETA;
Members
Description
When the XR_META_passthrough_color_lut extension is enabled, an
application may pass in an XrSystemPassthroughColorLutPropertiesMETA
structure in next chain structure when calling xrGetSystemProperties
to acquire information about the connected system.
The runtime must populate the XrSystemPassthroughColorLutPropertiesMETA structure with the relevant information to the XrSystemProperties returned by the xrGetSystemProperties call.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPassthroughProperties2FB(3)
Name
XrSystemPassthroughProperties2FB - Passthrough system properties
C Specification
The XrSystemPassthroughProperties2FB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrSystemPassthroughProperties2FB {
XrStructureType type;
const void* next;
XrPassthroughCapabilityFlagsFB capabilities;
} XrSystemPassthroughProperties2FB;
Members
Applications can pass this structure in a call to
xrGetSystemProperties to query passthrough system properties.
Applications should verify that the runtime implements
XR_FB_passthrough spec version 3 or newer before doing so.
In older versions, this structure is not supported and will be left
unpopulated.
Applications should use XrSystemPassthroughPropertiesFB in that case.
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPassthroughPropertiesFB(3)
Name
XrSystemPassthroughPropertiesFB - A passthrough system property
C Specification
The XrSystemPassthroughPropertiesFB structure is defined as:
// Provided by XR_FB_passthrough
typedef struct XrSystemPassthroughPropertiesFB {
XrStructureType type;
const void* next;
XrBool32 supportsPassthrough;
} XrSystemPassthroughPropertiesFB;
Members
It describes a passthrough system property.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPlaneDetectionPropertiesEXT(3)
Name
XrSystemPlaneDetectionPropertiesEXT - System Properties of the Plane Detection extension
C Specification
XrSystemPlaneDetectionPropertiesEXT provides information on the features supported by the runtime.
// Provided by XR_EXT_plane_detection
typedef struct XrSystemPlaneDetectionPropertiesEXT {
XrStructureType type;
void* next;
XrPlaneDetectionCapabilityFlagsEXT supportedFeatures;
} XrSystemPlaneDetectionPropertiesEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemProperties(3)
Name
XrSystemProperties - Properties of a particular system
C Specification
The XrSystemProperties structure is defined as:
typedef struct XrSystemProperties {
XrStructureType type;
void* next;
XrSystemId systemId;
uint32_t vendorId;
char systemName[XR_MAX_SYSTEM_NAME_SIZE];
XrSystemGraphicsProperties graphicsProperties;
XrSystemTrackingProperties trackingProperties;
} XrSystemProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPropertiesBodyTrackingCalibrationMETA(3)
Name
XrSystemPropertiesBodyTrackingCalibrationMETA - System property for body tracking calibration
C Specification
The XrSystemPropertiesBodyTrackingCalibrationMETA structure is defined as:
// Provided by XR_META_body_tracking_calibration
typedef struct XrSystemPropertiesBodyTrackingCalibrationMETA {
XrStructureType type;
void* next;
XrBool32 supportsHeightOverride;
} XrSystemPropertiesBodyTrackingCalibrationMETA;
Members
Description
An application can inspect whether the system supports body tracking and body calibration by extending the XrSystemProperties with XrSystemPropertiesBodyTrackingCalibrationMETA structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsHeightOverride, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrSuggestBodyTrackingCalibrationOverrideMETA and from
xrResetBodyTrackingCalibrationMETA.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemPropertiesBodyTrackingFullBodyMETA(3)
Name
XrSystemPropertiesBodyTrackingFullBodyMETA - System property for full body tracking
C Specification
The XrSystemPropertiesBodyTrackingFullBodyMETA structure is defined as:
// Provided by XR_META_body_tracking_full_body
typedef struct XrSystemPropertiesBodyTrackingFullBodyMETA {
XrStructureType type;
void* next;
XrBool32 supportsFullBodyTracking;
} XrSystemPropertiesBodyTrackingFullBodyMETA;
Members
Description
An application can inspect whether the system is capable of full body tracking by extending the XrSystemProperties with XrSystemPropertiesBodyTrackingFullBodyMETA structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsFullBodyTracking, the
runtime must return XR_ERROR_VALIDATION_FAILURE from
xrCreateBodyTrackerFB when trying to create a body tracker for full
body tracking using the joint set XR_BODY_JOINT_SET_FULL_BODY_META.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemRenderModelPropertiesFB(3)
Name
XrSystemRenderModelPropertiesFB - A render model system property
C Specification
The XrSystemRenderModelPropertiesFB structure is defined as:
// Provided by XR_FB_render_model
typedef struct XrSystemRenderModelPropertiesFB {
XrStructureType type;
void* next;
XrBool32 supportsRenderModelLoading;
} XrSystemRenderModelPropertiesFB;
Members
It describes a render model system property.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSimultaneousHandsAndControllersPropertiesMETA(3)
Name
XrSystemSimultaneousHandsAndControllersPropertiesMETA - System property for XR_META_simultaneous_hands_and_controllers
C Specification
The XrSystemSimultaneousHandsAndControllersPropertiesMETA structure is defined as:
// Provided by XR_META_simultaneous_hands_and_controllers
typedef struct XrSystemSimultaneousHandsAndControllersPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsSimultaneousHandsAndControllers;
} XrSystemSimultaneousHandsAndControllersPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of enabling simultaneous hands and controller tracking by extending the XrSystemProperties with XrSystemSimultaneousHandsAndControllersPropertiesMETA structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsSimultaneousHandsAndControllers, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from
xrResumeSimultaneousHandsAndControllersTrackingMETA and
xrPauseSimultaneousHandsAndControllersTrackingMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpaceDiscoveryPropertiesMETA(3)
Name
XrSystemSpaceDiscoveryPropertiesMETA - System property for space discovery
C Specification
The XrSystemSpaceDiscoveryPropertiesMETA structure is defined as:
// Provided by XR_META_spatial_entity_discovery
typedef struct XrSystemSpaceDiscoveryPropertiesMETA {
XrStructureType type;
const void* next;
XrBool32 supportsSpaceDiscovery;
} XrSystemSpaceDiscoveryPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of supporting space discovery by extending the XrSystemProperties with XrSystemSpaceDiscoveryPropertiesMETA structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsSpaceDiscovery, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrDiscoverSpacesMETA and
xrRetrieveSpaceDiscoveryResultsMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpacePersistencePropertiesMETA(3)
Name
XrSystemSpacePersistencePropertiesMETA - System property for space persistence
C Specification
The XrSystemSpacePersistencePropertiesMETA structure is defined as:
// Provided by XR_META_spatial_entity_persistence
typedef struct XrSystemSpacePersistencePropertiesMETA {
XrStructureType type;
const void* next;
XrBool32 supportsSpacePersistence;
} XrSystemSpacePersistencePropertiesMETA;
Members
Description
An application can inspect whether the system is capable of supporting space persistence by extending the XrSystemProperties with XrSystemSpacePersistencePropertiesMETA structure when calling xrGetSystemProperties.
If and only if a runtime returns XR_FALSE for
supportsSpacePersistence, the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrSaveSpacesMETA and
xrEraseSpacesMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpaceWarpPropertiesFB(3)
Name
XrSystemSpaceWarpPropertiesFB - Composition Layer Space Warp structure
C Specification
When this extension is enabled, an application can pass in an
XrSystemSpaceWarpPropertiesFB structure in the
XrSystemProperties::next chain when calling
xrGetSystemProperties to acquire information about recommended motion
vector buffer resolution.
The XrSystemSpaceWarpPropertiesFB structure is defined as:
// Provided by XR_FB_space_warp
typedef struct XrSystemSpaceWarpPropertiesFB {
XrStructureType type;
void* next;
uint32_t recommendedMotionVectorImageRectWidth;
uint32_t recommendedMotionVectorImageRectHeight;
} XrSystemSpaceWarpPropertiesFB;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialAnchorPropertiesBD(3)
Name
XrSystemSpatialAnchorPropertiesBD - System property for spatial anchor
C Specification
The XrSystemSpatialAnchorPropertiesBD structure is defined as:
// Provided by XR_BD_spatial_anchor
typedef struct XrSystemSpatialAnchorPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialAnchor;
} XrSystemSpatialAnchorPropertiesBD;
Members
Description
An application can inspect whether the system is capable of application
created spatial anchor by chaining an
XrSystemSpatialAnchorPropertiesBD structure to the
XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialAnchor, the
system does not support creating arbitrary spatial anchors, and must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateSpatialAnchorAsyncBD,
as well as from xrCreateSenseDataProviderBD when passing the
XrSenseDataProviderTypeBD value
XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD.
The application should avoid using spatial anchor functionality when
supportsSpatialAnchor is XR_FALSE.
If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is
XR_FALSE, then supportsSpatialAnchor must also be
XR_FALSE.
If a runtime returns XR_TRUE for supportsSpatialAnchor, the
system supports creating and storing arbitrary spatial anchors.
This implies that
XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing must
also be XR_TRUE.
Note that supportsSpatialAnchor may be XR_TRUE even if running
on an Android-based platform and the application does not have the required
com.picovr.permission.SPATIAL_DATA permission both declared in the
manifest and granted at runtime.
Evaluation of permissions takes place later, in the asynchronous operation
started by xrStartSenseDataProviderAsyncBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialAnchorSharingPropertiesBD(3)
Name
XrSystemSpatialAnchorSharingPropertiesBD - System property for spatial anchor sharing.
C Specification
// Provided by XR_BD_spatial_anchor_sharing
typedef struct XrSystemSpatialAnchorSharingPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialAnchorSharing;
} XrSystemSpatialAnchorSharingPropertiesBD;
Members
Description
An application can inspect whether the system is capable of spatial anchor
sharing by chaining an XrSystemSpatialAnchorSharingPropertiesBD
structure to the XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialAnchorSharing,
the system does not support spatial anchor sharing.
The application should avoid using spatial anchor sharing functionality
when supportsSpatialAnchorSharing is XR_FALSE.
If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is
XR_FALSE, then supportsSpatialAnchorSharing must also be
XR_FALSE.
Similarly, if
XrSystemSpatialAnchorPropertiesBD::supportsSpatialAnchor is
XR_FALSE, then supportsSpatialAnchorSharing must also be
XR_FALSE.
If a runtime returns XR_FALSE for supportsSpatialAnchorSharing,
the runtime must return XR_ERROR_FEATURE_UNSUPPORTED for all the
functions defined in this extension.
If a runtime returns XR_TRUE for supportsSpatialAnchorSharing,
the system supports spatial anchor sharing.
This implies that
XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing and
XrSystemSpatialAnchorPropertiesBD::supportsSpatialAnchor must
also be also XR_TRUE.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialEntityGroupSharingPropertiesMETA(3)
Name
XrSystemSpatialEntityGroupSharingPropertiesMETA - Group sharing system properties
C Specification
The XrSystemSpatialEntityGroupSharingPropertiesMETA structure is defined as:
// Provided by XR_META_spatial_entity_group_sharing
typedef struct XrSystemSpatialEntityGroupSharingPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsSpatialEntityGroupSharing;
} XrSystemSpatialEntityGroupSharingPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of group based sharing by extending the XrSystemProperties with XrSystemSpatialEntityGroupSharingPropertiesMETA structure when calling xrGetSystemProperties.
In order to use XrShareSpacesRecipientGroupsMETA with
xrShareSpacesMETA, the system must also support
XR_META_spatial_entity_sharing.
Please see XR_META_spatial_entity_sharing’s section for how to check
if XR_META_spatial_entity_sharing is supported.
In order to use XrSpaceGroupUuidFilterInfoMETA with
xrQuerySpacesFB, the system must also support
XR_FB_spatial_entity_query.
Please see XR_FB_spatial_entity_query’s section for how to check if
XR_FB_spatial_entity_query is supported.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialEntityPropertiesFB(3)
Name
XrSystemSpatialEntityPropertiesFB - Properties object retrieved as part of next chain from xrGetSystemProperties
C Specification
The XrSystemSpatialEntityPropertiesFB structure is defined as:
// Provided by XR_FB_spatial_entity
typedef struct XrSystemSpatialEntityPropertiesFB {
XrStructureType type;
const void* next;
XrBool32 supportsSpatialEntity;
} XrSystemSpatialEntityPropertiesFB;
Members
Description
An application can inspect whether the system is capable of spatial entity operations by extending the XrSystemProperties with XrSystemSpatialEntityPropertiesFB structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialEntity, the
runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrGetSpaceUuidFB.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialEntitySharingPropertiesMETA(3)
Name
XrSystemSpatialEntitySharingPropertiesMETA - spatial entity sharing system properties
C Specification
The XrSystemSpatialEntitySharingPropertiesMETA structure is defined as:
// Provided by XR_META_spatial_entity_sharing
typedef struct XrSystemSpatialEntitySharingPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsSpatialEntitySharing;
} XrSystemSpatialEntitySharingPropertiesMETA;
Members
Description
An application can inspect whether the system is capable of Spatial Entity Sharing by extending the XrSystemProperties with XrSystemSpatialEntitySharingPropertiesMETA structure when calling xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialEntitySharing,
the runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrShareSpacesMETA.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialMeshPropertiesBD(3)
Name
XrSystemSpatialMeshPropertiesBD - System property for spatial mesh.
C Specification
The XrSystemSpatialMeshPropertiesBD structure is defined as:
// Provided by XR_BD_spatial_mesh
typedef struct XrSystemSpatialMeshPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialMesh;
} XrSystemSpatialMeshPropertiesBD;
Members
Description
An application can inspect whether the system is capable of spatial mesh
functionality by chaining an XrSystemSpatialMeshPropertiesBD structure
to the XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialMesh, the
system does not support spatial mesh functionality, and the runtime must
return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateSenseDataProviderBD when called with
XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD.
The application should avoid using spatial mesh functionality when
supportsSpatialMesh is XR_FALSE.
If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is
XR_FALSE, then supportsSpatialMesh must also be XR_FALSE.
If a runtime returns XR_TRUE for supportsSpatialMesh, the system
supports spatial mesh functionality.
This implies that
XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing must
also be XR_TRUE.
Note that supportsSpatialMesh may be XR_TRUE even if running on
an Android-based platform and the application does not have the required
com.picovr.permission.SPATIAL_DATA permission both declared in the
manifest and granted at runtime.
Evaluation of permissions takes place later, in the asynchronous operation
started by xrStartSenseDataProviderAsyncBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialPlanePropertiesBD(3)
Name
XrSystemSpatialPlanePropertiesBD - System property for spatial plane.
C Specification
The XrSystemSpatialPlanePropertiesBD structure is defined as:
// Provided by XR_BD_spatial_plane
typedef struct XrSystemSpatialPlanePropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialPlane;
} XrSystemSpatialPlanePropertiesBD;
Members
Description
An application can inspect whether the system is capable of spatial plane
functionality by chaining an XrSystemSpatialPlanePropertiesBD
structure to the XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialPlane, the
system does not support spatial plane functionality, and the runtime must
return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateSenseDataProviderBD when called with
XR_SENSE_DATA_PROVIDER_TYPE_PLANE_BD.
The application should avoid using spatial plane functionality when
supportsSpatialPlane is XR_FALSE.
If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is
XR_FALSE, then supportsSpatialPlane must also be
XR_FALSE.
If the runtime returns XR_TRUE for supportsSpatialPlane, the
system supports spatial plane functionality.
This implies that
XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing must
also be XR_TRUE.
Note that supportsSpatialPlane may be XR_TRUE even if running
on an Android-based platform and the application does not have the required
com.picovr.permission.SPATIAL_DATA permission both declared in the
manifest and granted at runtime.
Evaluation of permissions takes place later, in the asynchronous operation
started by xrStartSenseDataProviderAsyncBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialScenePropertiesBD(3)
Name
XrSystemSpatialScenePropertiesBD - System property for spatial scene
C Specification
The XrSystemSpatialScenePropertiesBD structure is defined as:
// Provided by XR_BD_spatial_scene
typedef struct XrSystemSpatialScenePropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialScene;
} XrSystemSpatialScenePropertiesBD;
Members
Description
An application can inspect whether the system is capable of spatial scene
functionality by chaining an XrSystemSpatialScenePropertiesBD
structure to the XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialScene, the
system does not support spatial scene functionality, and must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateSenseDataProviderBD
when passing the XrSenseDataProviderTypeBD value
XR_SENSE_DATA_PROVIDER_TYPE_SCENE_BD.
The application should avoid using spatial scene functionality when
supportsSpatialScene is XR_FALSE.
If XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing is
XR_FALSE, then supportsSpatialScene must also be
XR_FALSE.
If a runtime returns XR_TRUE for supportsSpatialScene, the
system supports spatial scene functionality.
This implies that
XrSystemSpatialSensingPropertiesBD::supportsSpatialSensing must
also be XR_TRUE.
Note that supportsSpatialScene may be XR_TRUE even if running
on an Android-based platform and the application does not have the required
com.picovr.permission.SPATIAL_DATA permission both declared in the
manifest and granted at runtime.
Evaluation of permissions takes place later, in the asynchronous operation
started by xrStartSenseDataProviderAsyncBD.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemSpatialSensingPropertiesBD(3)
Name
XrSystemSpatialSensingPropertiesBD - System property for spatial sensing
C Specification
The XrSystemSpatialSensingPropertiesBD structure is defined as:
// Provided by XR_BD_spatial_sensing
typedef struct XrSystemSpatialSensingPropertiesBD {
XrStructureType type;
void* next;
XrBool32 supportsSpatialSensing;
} XrSystemSpatialSensingPropertiesBD;
Members
Description
An application can inspect whether the system is capable of spatial sensing
by chaining an XrSystemSpatialSensingPropertiesBD structure to the
XrSystemProperties::next chain when calling
xrGetSystemProperties.
If a runtime returns XR_FALSE for supportsSpatialSensing, the
system does not support spatial sensing, and the runtime must return
XR_ERROR_FEATURE_UNSUPPORTED from xrCreateSenseDataProviderBD.
If a runtime returns XR_TRUE for supportsSpatialSensing, the
system supports spatial sensing.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemTrackablesPropertiesANDROID(3)
Name
XrSystemTrackablesPropertiesANDROID - System property for trackables
C Specification
The XrSystemTrackablesPropertiesANDROID structure is defined as:
// Provided by XR_ANDROID_trackables
typedef struct XrSystemTrackablesPropertiesANDROID {
XrStructureType type;
const void* next;
XrBool32 supportsAnchor;
uint32_t maxAnchors;
} XrSystemTrackablesPropertiesANDROID;
Members
Description
To inspect whether the system is capable of creating spatial anchors an
application calls xrCreateAnchorSpaceANDROID by extending the
XrSystemProperties with XrSystemTrackablesPropertiesANDROID
structure when calling xrGetSystemProperties.
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED for spatial
anchor creation if and only if supportsAnchor is false.
If a runtime supports anchors, it must support maxAnchors active
anchors at any given time.
To determine which trackable types are supported by the runtime for tracking and for anchor creation respectively an application calls xrEnumerateSupportedTrackableTypesANDROID and xrEnumerateSupportedAnchorTrackableTypesANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemTrackingProperties(3)
Name
XrSystemTrackingProperties - Tracking-related properties of a particular system
C Specification
The XrSystemTrackingProperties structure is defined as:
typedef struct XrSystemTrackingProperties {
XrBool32 orientationTracking;
XrBool32 positionTracking;
} XrSystemTrackingProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemUserPresencePropertiesEXT(3)
Name
XrSystemUserPresencePropertiesEXT - Returns the system capability whether it supports user presence.
C Specification
The XrSystemUserPresencePropertiesEXT structure is defined as:
// Provided by XR_EXT_user_presence
typedef struct XrSystemUserPresencePropertiesEXT {
XrStructureType type;
void* next;
XrBool32 supportsUserPresence;
} XrSystemUserPresencePropertiesEXT;
Members
Description
The application can use the XrSystemUserPresencePropertiesEXT event in xrGetSystemProperties to detect if the given system supports the sensing of user presence.
If the system does not support user presence sensing, the runtime must
return XR_FALSE for supportsUserPresence and must not queue the
XrEventDataUserPresenceChangedEXT event for any session on this
system.
In this case, an application typically assumes that the user is always present, as the runtime is unable to detect changes in user presence.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemVirtualKeyboardPropertiesMETA(3)
Name
XrSystemVirtualKeyboardPropertiesMETA - Virtual Keyboard Properties structure
C Specification
The XrSystemVirtualKeyboardPropertiesMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrSystemVirtualKeyboardPropertiesMETA {
XrStructureType type;
void* next;
XrBool32 supportsVirtualKeyboard;
} XrSystemVirtualKeyboardPropertiesMETA;
Members
Description
The struct is used for checking virtual keyboard support.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableGetInfoANDROID(3)
Name
XrTrackableGetInfoANDROID - Information to get trackable plane
C Specification
The XrTrackableGetInfoANDROID structure is defined as:
// Provided by XR_ANDROID_trackables
typedef struct XrTrackableGetInfoANDROID {
XrStructureType type;
const void* next;
XrTrackableANDROID trackable;
XrSpace baseSpace;
XrTime time;
} XrTrackableGetInfoANDROID;
Members
Description
The XrTrackableGetInfoANDROID structure provides query options when
passed to xrGetTrackablePlaneANDROID.
The trackable must correspond to the trackable used in
xrGetTrackablePlaneANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerANDROID(3)
Name
XrTrackableMarkerANDROID - Trackable marker information.
C Specification
The XrTrackableMarkerANDROID structure is defined as:
// Provided by XR_ANDROID_trackables_marker
typedef struct XrTrackableMarkerANDROID {
XrStructureType type;
void* next;
XrTrackingStateANDROID trackingState;
XrTime lastUpdatedTime;
XrTrackableMarkerDictionaryANDROID dictionary;
int32_t markerId;
XrPosef centerPose;
XrExtent2Df extents;
} XrTrackableMarkerANDROID;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerConfigurationANDROID(3)
Name
XrTrackableMarkerConfigurationANDROID - Configure marker tracking.
C Specification
The XrTrackableMarkerConfigurationANDROID structure is defined as:
// Provided by XR_ANDROID_trackables_marker
typedef struct XrTrackableMarkerConfigurationANDROID {
XrStructureType type;
void* next;
XrTrackableMarkerTrackingModeANDROID trackingMode;
uint32_t databaseCount;
const XrTrackableMarkerDatabaseANDROID* databases;
} XrTrackableMarkerConfigurationANDROID;
Members
Description
The application must set a valid configuration by adding a
XrTrackableMarkerConfigurationANDROID to the
XrTrackableTrackerCreateInfoANDROID::next chain when calling
xrCreateTrackableTrackerANDROID with
XrTrackableTrackerCreateInfoANDROID::trackableType set to
XR_TRACKABLE_TYPE_MARKER_ANDROID.
Otherwise, if the tracker type is set as above but the configuration
structure is not present or not valid, the runtime must return
XR_ERROR_VALIDATION_FAILURE.
If a runtime supports marker size estimation, the application can set
XrTrackableMarkerDatabaseEntryANDROID::edgeSize to 0 in
XrTrackableMarkerDatabaseANDROID::entries to indicate the usage
of size estimation.
Otherwise, the application must set
XrTrackableMarkerDatabaseEntryANDROID::edgeSize to a positive
value or the runtime must return XR_ERROR_VALIDATION_FAILURE.
The runtime must filter the output from xrGetAllTrackablesANDROID to
match the trackingMode and
XrTrackableMarkerDatabaseEntryANDROID::edgeSize.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerDatabaseANDROID(3)
Name
XrTrackableMarkerDatabaseANDROID - A database of markers to track.
C Specification
The XrTrackableMarkerDatabaseANDROID structure defines a dictionary and corresponding marker ids to be tracked.
// Provided by XR_ANDROID_trackables_marker
typedef struct XrTrackableMarkerDatabaseANDROID {
XrTrackableMarkerDictionaryANDROID dictionary;
uint32_t entryCount;
const XrTrackableMarkerDatabaseEntryANDROID* entries;
} XrTrackableMarkerDatabaseANDROID;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerDatabaseEntryANDROID(3)
Name
XrTrackableMarkerDatabaseEntryANDROID - An entry of markers
C Specification
The XrTrackableMarkerDatabaseEntryANDROID structure configures a single marker id of a dictionary.
// Provided by XR_ANDROID_trackables_marker
typedef struct XrTrackableMarkerDatabaseEntryANDROID {
int32_t id;
float edgeSize;
} XrTrackableMarkerDatabaseEntryANDROID;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableObjectANDROID(3)
Name
XrTrackableObjectANDROID - Trackable object information.
C Specification
The XrTrackableObjectANDROID structure is defined as:
// Provided by XR_ANDROID_trackables_object
typedef struct XrTrackableObjectANDROID {
XrStructureType type;
void* next;
XrTrackingStateANDROID trackingState;
XrPosef centerPose;
XrExtent3DfEXT extents;
XrObjectLabelANDROID objectLabel;
XrTime lastUpdatedTime;
} XrTrackableObjectANDROID;
Members
Description
The runtime must only return objects that it successfully identified.
I.e. XrTrackableObjectANDROID::objectLabel must not be
XR_OBJECT_LABEL_UNKNOWN_ANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableObjectConfigurationANDROID(3)
Name
XrTrackableObjectConfigurationANDROID - Configure object tracking.
C Specification
The XrTrackableObjectConfigurationANDROID structure is defined as:
// Provided by XR_ANDROID_trackables_object
typedef struct XrTrackableObjectConfigurationANDROID {
XrStructureType type;
void* next;
uint32_t labelCount;
const XrObjectLabelANDROID* activeLabels;
} XrTrackableObjectConfigurationANDROID;
Members
Description
-
The application can configure the XrTrackableTrackerANDROID to track only a subset of supported objects by adding a XrTrackableObjectConfigurationANDROID structure to the XrTrackableTrackerCreateInfoANDROID::
nextchain. -
The runtime must filter the output from xrGetAllTrackablesANDROID to match any of the
activeLabels.
If the application does not add XrTrackableObjectConfigurationANDROID
to the XrTrackableTrackerCreateInfoANDROID::next chain, the
runtime must track all objects that the system has identified.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackablePlaneANDROID(3)
Name
XrTrackablePlaneANDROID - Trackable plane information
C Specification
The XrTrackablePlaneANDROID structure is defined as:
// Provided by XR_ANDROID_trackables
typedef struct XrTrackablePlaneANDROID {
XrStructureType type;
void* next;
XrTrackingStateANDROID trackingState;
XrPosef centerPose;
XrExtent2Df extents;
XrPlaneTypeANDROID planeType;
XrPlaneLabelANDROID planeLabel;
XrTrackableANDROID subsumedByPlane;
XrTime lastUpdatedTime;
uint32_t vertexCapacityInput;
uint32_t* vertexCountOutput;
XrVector2f* vertices;
} XrTrackablePlaneANDROID;
Members
Description
When the runtime has acquired enough environment information to detect that
2 tracked planes are actually the same plane, it must set the
XrTrackablePlaneANDROID::subsumedByPlane of one of the planes to
the handle of the other.
When this happens, the plane information returned in both of the associated
planes must be identical.
The application should stop querying for information about planes that have
been reported as subsumed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableTrackerCreateInfoANDROID(3)
Name
XrTrackableTrackerCreateInfoANDROID - Information to create a trackable tracker
C Specification
The XrTrackableTrackerCreateInfoANDROID structure is defined as:
// Provided by XR_ANDROID_trackables
typedef struct XrTrackableTrackerCreateInfoANDROID {
XrStructureType type;
const void* next;
XrTrackableTypeANDROID trackableType;
} XrTrackableTrackerCreateInfoANDROID;
Members
Description
The XrTrackableTrackerCreateInfoANDROID structure is passed to xrCreateTrackableTrackerANDROID and provides creation options for the XrTrackableTrackerANDROID.
Extensions may define structures to be provided in the
slinkXrTrackableTrackerCreateInfoANDROID::next chain to allow
additional configuration for the trackable trackers.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTriangleMeshCreateInfoFB(3)
Name
XrTriangleMeshCreateInfoFB - The information to create a triangle mesh
C Specification
XrTriangleMeshCreateInfoFB must be provided when calling xrCreateTriangleMeshFB.
The XrTriangleMeshCreateInfoFB structure is defined as:
// Provided by XR_FB_triangle_mesh
typedef struct XrTriangleMeshCreateInfoFB {
XrStructureType type;
const void* next;
XrTriangleMeshFlagsFB flags;
XrWindingOrderFB windingOrder;
uint32_t vertexCount;
const XrVector3f* vertexBuffer;
uint32_t triangleCount;
const uint32_t* indexBuffer;
} XrTriangleMeshCreateInfoFB;
Members
Description
Mesh buffers can be updated between xrTriangleMeshBeginUpdateFB and xrTriangleMeshEndUpdateFB calls.
If the mesh is non-mutable, vertexBuffer must be a pointer to an
array of vertexCount XrVector3f structures.
If the mesh is non-mutable, indexBuffer must be a pointer to an array
of 3 * triangleCount uint32_t vertex indices.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrUnpersistSpatialEntityCompletionEXT(3)
Name
XrUnpersistSpatialEntityCompletionEXT - Completion structure to retrieve the spatial entity unpersist result.
C Specification
The XrUnpersistSpatialEntityCompletionEXT structure is defined as:
// Provided by XR_EXT_spatial_persistence_operations
typedef struct XrUnpersistSpatialEntityCompletionEXT {
XrStructureType type;
void* next;
XrResult futureResult;
XrSpatialPersistenceContextResultEXT unpersistResult;
} XrUnpersistSpatialEntityCompletionEXT;
Members
Description
The runtime must set unpersistResult only if futureResult is a
success code.
If XrSpatialEntityUnpersistInfoEXT::persistUuid is not found in
the storage represented by
xrUnpersistSpatialEntityCompleteEXT::persistenceContext, then
the runtime must set unpersistResult to
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrUserCalibrationEnableEventsInfoML(3)
Name
XrUserCalibrationEnableEventsInfoML - Information to enable headset fit events
C Specification
The XrUserCalibrationEnableEventsInfoML structure is defined as:
// Provided by XR_ML_user_calibration
typedef struct XrUserCalibrationEnableEventsInfoML {
XrStructureType type;
const void* next;
XrBool32 enabled;
} XrUserCalibrationEnableEventsInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrUuid(3)
Name
XrUuid - Universally Unique Identifier
C Specification
The XrUuid structure is a 128-bit Universally Unique Identifier and is defined as:
// Provided by XR_VERSION_1_1
typedef struct XrUuid {
uint8_t data[XR_UUID_SIZE];
} XrUuid;
Members
Description
The structure is composed of 16 octets, with the size and order of the fields defined in RFC 4122 section 4.1.2.
See Also
XR_VERSION_1_1, XrEventDataColocationDiscoveryResultMETA, XrEventDataStartColocationAdvertisementCompleteMETA, XrPersistSpatialEntityCompletionEXT, XrShareSpacesRecipientGroupsMETA, XrSpaceGroupUuidFilterInfoMETA, XrSpatialDiscoveryPersistenceUuidFilterEXT, XrSpatialEntityUnpersistInfoEXT, XrSpatialPersistenceDataEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrUuidMSFT(3)
Name
XrUuidMSFT - Universally Unique Identifier
C Specification
The XrUuidMSFT structure is a 128-bit UUID (Universally Unique IDentifier) that follows RFC 4122 Variant 1. The structure is composed of 16 octets, typically with the sizes and order of the fields defined in RFC 4122 section 4.1.2. The XrUuidMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrUuidMSFT {
uint8_t bytes[16];
} XrUuidMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector2f(3)
Name
XrVector2f - Two-dimensional vector
C Specification
A two-dimensional vector is defined by the XrVector2f structure:
typedef struct XrVector2f {
float x;
float y;
} XrVector2f;
Members
Description
If used to represent physical distances (rather than e.g. normalized direction) and not otherwise specified, values must be in meters.
See Also
XrActionStateVector2f, XrBoundary2DFB, XrCompositionLayerEquirectKHR, XrFoveationConfigurationHTC, XrFoveationEyeTrackedStateMETA, XrHandTrackingMeshFB, XrPlaneDetectorPolygonBufferEXT, XrPosef, XrQuaternionf, XrSpatialEntityComponentDataPolygonBD, XrTrackablePlaneANDROID, XrVector3f, XrVector4f, XrVisibilityMaskKHR, xrGetSpatialBufferVector2fEXT, xrSetInputDeviceStateVector2fEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector3f(3)
Name
XrVector3f - Three-dimensional vector
C Specification
A three-dimensional vector is defined by the XrVector3f structure:
typedef struct XrVector3f {
float x;
float y;
float z;
} XrVector3f;
Members
Description
If used to represent physical distances (rather than e.g. velocity or angular velocity) and not otherwise specified, values must be in meters.
See Also
XrCompositionLayerReprojectionPlaneOverrideMSFT, XrGeometryInstanceCreateInfoFB, XrGeometryInstanceTransformFB, XrHandCapsuleFB, XrHandJointVelocityEXT, XrHandMeshVertexMSFT, XrHandTrackingMeshFB, XrKeyboardTrackingDescriptionFB, XrPassthroughMeshTransformInfoHTC, XrPosef, XrQuaternionf, XrRaycastInfoANDROID, XrSceneMeshVertexBufferMSFT, XrSceneOrientedBoxBoundMSFT, XrSceneSphereBoundMSFT, XrSpaceTriangleMeshMETA, XrSpaceVelocity, XrSpaceVelocityData, XrSpatialAnchorsQueryInfoRadiusML, XrSpatialEntityComponentDataTriangleMeshBD, XrTriangleMeshCreateInfoFB, XrVector2f, XrVector4f, XrWorldMeshBlockML, xrGetSpatialBufferVector3fEXT, xrTriangleMeshGetVertexBufferFB
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector4f(3)
Name
XrVector4f - Four-dimensional vector
C Specification
A four-dimensional or homogeneous vector is defined by the XrVector4f structure:
// Provided by XR_VERSION_1_0
typedef struct XrVector4f {
float x;
float y;
float z;
float w;
} XrVector4f;
Members
Description
If used to represent physical distances, x, y, and z
values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector4sFB(3)
Name
XrVector4sFB - A four component short integer vector
C Specification
The XrVector4sFB structure is defined as:
// Provided by XR_FB_hand_tracking_mesh
typedef struct XrVector4sFB {
int16_t x;
int16_t y;
int16_t z;
int16_t w;
} XrVector4sFB;
Members
This is a short integer, four component vector type, used for per-vertex joint indexing for mesh skinning.
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrView(3)
Name
XrView - Struct containing view projection state
C Specification
The XrView structure is defined as:
typedef struct XrView {
XrStructureType type;
void* next;
XrPosef pose;
XrFovf fov;
} XrView;
Members
Description
The XrView structure contains view pose and projection state necessary to render a single projection view in the view configuration.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationDepthRangeEXT(3)
Name
XrViewConfigurationDepthRangeEXT - View configuration depth range information
C Specification
The XrViewConfigurationDepthRangeEXT structure is defined as:
// Provided by XR_EXT_view_configuration_depth_range
typedef struct XrViewConfigurationDepthRangeEXT {
XrStructureType type;
void* next;
float recommendedNearZ;
float minNearZ;
float recommendedFarZ;
float maxFarZ;
} XrViewConfigurationDepthRangeEXT;
Members
Description
When enumerating the view configurations with
xrEnumerateViewConfigurationViews, the application can provide a
pointer to an XrViewConfigurationDepthRangeEXT in the next chain
of XrViewConfigurationView.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationProperties(3)
Name
XrViewConfigurationProperties - Detailed configuration properties for an XrViewConfigurationProperties
C Specification
The XrViewConfigurationProperties structure is defined as:
typedef struct XrViewConfigurationProperties {
XrStructureType type;
void* next;
XrViewConfigurationType viewConfigurationType;
XrBool32 fovMutable;
} XrViewConfigurationProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationView(3)
Name
XrViewConfigurationView - Individual view configuration
C Specification
Each XrViewConfigurationView specifies properties related to rendering of an individual view within a view configuration.
The XrViewConfigurationView structure is defined as:
typedef struct XrViewConfigurationView {
XrStructureType type;
void* next;
uint32_t recommendedImageRectWidth;
uint32_t maxImageRectWidth;
uint32_t recommendedImageRectHeight;
uint32_t maxImageRectHeight;
uint32_t recommendedSwapchainSampleCount;
uint32_t maxSwapchainSampleCount;
} XrViewConfigurationView;
Members
Description
See XrSwapchainSubImage for more information about
XrSwapchainSubImage::imageRect values, and
XrSwapchainCreateInfo for more information about creating swapchains
appropriately sized to support those
XrSwapchainSubImage::imageRect values.
The array of XrViewConfigurationView returned by the runtime must adhere to the rules defined in XrViewConfigurationType, such as the count and association to the left and right eyes.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationViewFovEPIC(3)
Name
XrViewConfigurationViewFovEPIC - View Configuration Field-of-View
C Specification
The XrViewConfigurationViewFovEPIC structure is an output struct which can be added to the next chain of XrViewConfigurationView to retrieve the field-of-view for that view.
// Provided by XR_EPIC_view_configuration_fov
typedef struct XrViewConfigurationViewFovEPIC {
XrStructureType type;
const void* next;
XrFovf recommendedFov;
XrFovf maxMutableFov;
} XrViewConfigurationViewFovEPIC;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewLocateFoveatedRenderingVARJO(3)
Name
XrViewLocateFoveatedRenderingVARJO - Request foveated FoV
C Specification
For each frame, the application indicates if the runtime will return foveated or non-foveated field of view. This is done by chaining XrViewLocateFoveatedRenderingVARJO to XrViewLocateInfo.
// Provided by XR_VARJO_foveated_rendering
typedef struct XrViewLocateFoveatedRenderingVARJO {
XrStructureType type;
const void* next;
XrBool32 foveatedRenderingActive;
} XrViewLocateFoveatedRenderingVARJO;
Members
Description
The runtime must return foveated field of view when
foveatedRenderingActive is XR_TRUE.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewLocateInfo(3)
Name
XrViewLocateInfo - Struct containing view locate information
C Specification
The XrViewLocateInfo structure is defined as:
typedef struct XrViewLocateInfo {
XrStructureType type;
const void* next;
XrViewConfigurationType viewConfigurationType;
XrTime displayTime;
XrSpace space;
} XrViewLocateInfo;
Members
Description
The XrViewLocateInfo structure contains the display time and space used to locate the view XrView structures.
The runtime must return error
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED if the given
viewConfigurationType is not one of the supported type reported by
xrEnumerateViewConfigurations.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewState(3)
Name
XrViewState - Struct containing additional view state
C Specification
The XrViewState structure is defined as:
typedef struct XrViewState {
XrStructureType type;
void* next;
XrViewStateFlags viewStateFlags;
} XrViewState;
Members
Description
The XrViewState contains additional view state from xrLocateViews common to all views of the active view configuration.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardAnimationStateMETA(3)
Name
XrVirtualKeyboardAnimationStateMETA - State for a single animation
C Specification
The XrVirtualKeyboardAnimationStateMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardAnimationStateMETA {
XrStructureType type;
void* next;
int32_t animationIndex;
float fraction;
} XrVirtualKeyboardAnimationStateMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardCreateInfoMETA(3)
Name
XrVirtualKeyboardCreateInfoMETA - Virtual keyboard creation info
C Specification
The XrVirtualKeyboardCreateInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardCreateInfoMETA {
XrStructureType type;
const void* next;
} XrVirtualKeyboardCreateInfoMETA;
Members
Description
The struct is used for keyboard creation. Empty with the intention of future extension.
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED if
XrSystemVirtualKeyboardPropertiesMETA::supportsVirtualKeyboard
is XR_FALSE when checking the device compatibility.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardInputInfoMETA(3)
Name
XrVirtualKeyboardInputInfoMETA - Virtual keyboard input info
C Specification
The XrVirtualKeyboardInputInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardInputInfoMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardInputSourceMETA inputSource;
XrSpace inputSpace;
XrPosef inputPoseInSpace;
XrVirtualKeyboardInputStateFlagsMETA inputState;
} XrVirtualKeyboardInputInfoMETA;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardLocationInfoMETA(3)
Name
XrVirtualKeyboardLocationInfoMETA - Virtual keyboard location info
C Specification
The XrVirtualKeyboardLocationInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardLocationInfoMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardLocationTypeMETA locationType;
XrSpace space;
XrPosef poseInSpace;
float scale;
} XrVirtualKeyboardLocationInfoMETA;
Members
Description
If locationType is set to
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_CUSTOM_META, the runtime must use
the values poseInSpace and scale set by the application.
Otherwise, the runtime must provide a default pose and scale and ignore
poseInSpace and scale.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardModelAnimationStatesMETA(3)
Name
XrVirtualKeyboardModelAnimationStatesMETA - Virtual keyboard model animation states
C Specification
The XrVirtualKeyboardModelAnimationStatesMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardModelAnimationStatesMETA {
XrStructureType type;
void* next;
uint32_t stateCapacityInput;
uint32_t stateCountOutput;
XrVirtualKeyboardAnimationStateMETA* states;
} XrVirtualKeyboardModelAnimationStatesMETA;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardModelVisibilitySetInfoMETA(3)
Name
XrVirtualKeyboardModelVisibilitySetInfoMETA - Virtual keyboard model visibility
C Specification
The XrVirtualKeyboardModelVisibilitySetInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardModelVisibilitySetInfoMETA {
XrStructureType type;
const void* next;
XrBool32 visible;
} XrVirtualKeyboardModelVisibilitySetInfoMETA;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardSpaceCreateInfoMETA(3)
Name
XrVirtualKeyboardSpaceCreateInfoMETA - Virtual keyboard space creation info
C Specification
The XrVirtualKeyboardSpaceCreateInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardSpaceCreateInfoMETA {
XrStructureType type;
const void* next;
XrVirtualKeyboardLocationTypeMETA locationType;
XrSpace space;
XrPosef poseInSpace;
} XrVirtualKeyboardSpaceCreateInfoMETA;
Members
Description
If locationType is set to
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_CUSTOM_META, the runtime must use
the value poseInSpace set by the application.
Otherwise, the runtime must provide a default pose and ignore
poseInSpace.
In all cases, the runtime must default the scale to 1.0.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardTextContextChangeInfoMETA(3)
Name
XrVirtualKeyboardTextContextChangeInfoMETA - Virtual keyboard text context change info
C Specification
The XrVirtualKeyboardTextContextChangeInfoMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardTextContextChangeInfoMETA {
XrStructureType type;
const void* next;
const char* textContext;
} XrVirtualKeyboardTextContextChangeInfoMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardTextureDataMETA(3)
Name
XrVirtualKeyboardTextureDataMETA - Virtual keyboard texture data
C Specification
The XrVirtualKeyboardTextureDataMETA structure is defined as:
// Provided by XR_META_virtual_keyboard
typedef struct XrVirtualKeyboardTextureDataMETA {
XrStructureType type;
void* next;
uint32_t textureWidth;
uint32_t textureHeight;
uint32_t bufferCapacityInput;
uint32_t bufferCountOutput;
uint8_t* buffer;
} XrVirtualKeyboardTextureDataMETA;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVisibilityMaskKHR(3)
Name
XrVisibilityMaskKHR - Visibility Mask
C Specification
The XrVisibilityMaskKHR structure is an input/output struct which specifies the view mask.
// Provided by XR_KHR_visibility_mask
typedef struct XrVisibilityMaskKHR {
XrStructureType type;
void* next;
uint32_t vertexCapacityInput;
uint32_t vertexCountOutput;
XrVector2f* vertices;
uint32_t indexCapacityInput;
uint32_t indexCountOutput;
uint32_t* indices;
} XrVisibilityMaskKHR;
Members
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVisualMeshComputeLodInfoMSFT(3)
Name
XrVisualMeshComputeLodInfoMSFT - Visual mesh compute level of detail info
C Specification
Applications can request a desired visual mesh level of detail by including
XrVisualMeshComputeLodInfoMSFT in the
XrNewSceneComputeInfoMSFT::next chain.
If XrVisualMeshComputeLodInfoMSFT is not included in the
XrNewSceneComputeInfoMSFT::next chain, then
XR_MESH_COMPUTE_LOD_COARSE_MSFT must be used for the visual mesh
level of detail.
The XrVisualMeshComputeLodInfoMSFT structure is defined as:
// Provided by XR_MSFT_scene_understanding
typedef struct XrVisualMeshComputeLodInfoMSFT {
XrStructureType type;
const void* next;
XrMeshComputeLodMSFT lod;
} XrVisualMeshComputeLodInfoMSFT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViveTrackerPathsHTCX(3)
Name
XrViveTrackerPathsHTCX - Struct contains two paths of VIVE tracker
C Specification
The XrViveTrackerPathsHTCX structure is defined as:
// Provided by XR_HTCX_vive_tracker_interaction
typedef struct XrViveTrackerPathsHTCX {
XrStructureType type;
void* next;
XrPath persistentPath;
XrPath rolePath;
} XrViveTrackerPathsHTCX;
Members
Description
The XrViveTrackerPathsHTCX structure contains two paths of VIVE tracker.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanDeviceCreateInfoKHR(3)
Name
XrVulkanDeviceCreateInfoKHR - Vulkan Device Create Info
C Specification
// Provided by XR_KHR_vulkan_enable2
typedef struct XrVulkanDeviceCreateInfoKHR {
XrStructureType type;
const void* next;
XrSystemId systemId;
XrVulkanDeviceCreateFlagsKHR createFlags;
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
VkPhysicalDevice vulkanPhysicalDevice;
const VkDeviceCreateInfo* vulkanCreateInfo;
const VkAllocationCallbacks* vulkanAllocator;
} XrVulkanDeviceCreateInfoKHR;
Members
Description
If the vulkanPhysicalDevice parameter does not match the output of
xrGetVulkanGraphicsDeviceKHR, then the runtime must return
XR_ERROR_HANDLE_INVALID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanGraphicsDeviceGetInfoKHR(3)
Name
XrVulkanGraphicsDeviceGetInfoKHR - Vulkan Graphics Device Get Info
C Specification
// Provided by XR_KHR_vulkan_enable2
typedef struct XrVulkanGraphicsDeviceGetInfoKHR {
XrStructureType type;
const void* next;
XrSystemId systemId;
VkInstance vulkanInstance;
} XrVulkanGraphicsDeviceGetInfoKHR;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanInstanceCreateInfoKHR(3)
Name
XrVulkanInstanceCreateInfoKHR - Vulkan Instance Create Info
C Specification
The XrVulkanInstanceCreateInfoKHR structure contains the input parameters to xrCreateVulkanInstanceKHR.
// Provided by XR_KHR_vulkan_enable2
typedef struct XrVulkanInstanceCreateInfoKHR {
XrStructureType type;
const void* next;
XrSystemId systemId;
XrVulkanInstanceCreateFlagsKHR createFlags;
PFN_vkGetInstanceProcAddr pfnGetInstanceProcAddr;
const VkInstanceCreateInfo* vulkanCreateInfo;
const VkAllocationCallbacks* vulkanAllocator;
} XrVulkanInstanceCreateInfoKHR;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanSwapchainCreateInfoMETA(3)
Name
XrVulkanSwapchainCreateInfoMETA - Debug utils object name info
C Specification
// Provided by XR_META_vulkan_swapchain_create_info
typedef struct XrVulkanSwapchainCreateInfoMETA {
XrStructureType type;
const void* next;
VkImageCreateFlags additionalCreateFlags;
VkImageUsageFlags additionalUsageFlags;
} XrVulkanSwapchainCreateInfoMETA;
Members
Description
The runtime must return XR_ERROR_FEATURE_UNSUPPORTED if any bit of
either additionalCreateFlags or additionalUsageFlags is not
supported.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanSwapchainFormatListCreateInfoKHR(3)
Name
XrVulkanSwapchainFormatListCreateInfoKHR - A list of Vulkan view formats
C Specification
// Provided by XR_KHR_vulkan_swapchain_format_list
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR {
XrStructureType type;
const void* next;
uint32_t viewFormatCount;
const VkFormat* viewFormats;
} XrVulkanSwapchainFormatListCreateInfoKHR;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBlockML(3)
Name
XrWorldMeshBlockML - Block Vertex Data.
C Specification
The XrWorldMeshBlockML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBlockML {
XrStructureType type;
void* next;
XrUuidEXT uuid;
XrWorldMeshBlockResultML blockResult;
XrWorldMeshDetectorLodML lod;
XrWorldMeshDetectorFlagsML flags;
uint32_t indexCount;
uint16_t* indexBuffer;
uint32_t vertexCount;
XrVector3f* vertexBuffer;
uint32_t normalCount;
XrVector3f* normalBuffer;
uint32_t confidenceCount;
float* confidenceBuffer;
} XrWorldMeshBlockML;
Members
Description
normalCount must be equal to vertexCount if
XR_WORLD_MESH_DETECTOR_COMPUTE_NORMALS_BIT_ML was specified during
XrWorldMeshDetectorML creation, otherwise 0.
confidenceCount must be equal to vertexCount if
XR_WORLD_MESH_DETECTOR_COMPUTE_CONFIDENCE_BIT_ML was specified during
XrWorldMeshDetectorML creation, otherwise 0.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBlockRequestML(3)
Name
XrWorldMeshBlockRequestML - Block Request Info
C Specification
The XrWorldMeshBlockRequestML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBlockRequestML {
XrStructureType type;
void* next;
XrUuidEXT uuid;
XrWorldMeshDetectorLodML lod;
} XrWorldMeshBlockRequestML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBlockStateML(3)
Name
XrWorldMeshBlockStateML - Mesh block detection info.
C Specification
The XrWorldMeshBlockStateML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBlockStateML {
XrStructureType type;
void* next;
XrUuidEXT uuid;
XrPosef meshBoundingBoxCenter;
XrExtent3DfEXT meshBoundingBoxExtents;
XrTime lastUpdateTime;
XrWorldMeshBlockStatusML status;
} XrWorldMeshBlockStateML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBufferML(3)
Name
XrWorldMeshBufferML - Memory Block Information
C Specification
The XrWorldMeshBufferML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBufferML {
XrStructureType type;
void* next;
uint32_t bufferSize;
void* buffer;
} XrWorldMeshBufferML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBufferRecommendedSizeInfoML(3)
Name
XrWorldMeshBufferRecommendedSizeInfoML - Memory Allocation Info
C Specification
The XrWorldMeshBufferRecommendedSizeInfoML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBufferRecommendedSizeInfoML {
XrStructureType type;
const void* next;
uint32_t maxBlockCount;
} XrWorldMeshBufferRecommendedSizeInfoML;
Members
Description
The value for maxBlockCount should be populated
XrWorldMeshStateRequestCompletionML::meshBlockStateCountOutput.
As long as the maxBlockCount is equal or larger to this
XrWorldMeshStateRequestCompletionML::meshBlockStateCountOutput,
a memory block may be reused for new requests.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBufferSizeML(3)
Name
XrWorldMeshBufferSizeML - Memory Allocation Info
C Specification
The XrWorldMeshBufferSizeML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshBufferSizeML {
XrStructureType type;
void* next;
uint32_t size;
} XrWorldMeshBufferSizeML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshDetectorCreateInfoML(3)
Name
XrWorldMeshDetectorCreateInfoML - Mesh Detector Create Info.
C Specification
The XrWorldMeshDetectorCreateInfoML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshDetectorCreateInfoML {
XrStructureType type;
const void* next;
} XrWorldMeshDetectorCreateInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshGetInfoML(3)
Name
XrWorldMeshGetInfoML - Block Request Info
C Specification
The XrWorldMeshGetInfoML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshGetInfoML {
XrStructureType type;
const void* next;
XrWorldMeshDetectorFlagsML flags;
float fillHoleLength;
float disconnectedComponentArea;
uint32_t blockCount;
XrWorldMeshBlockRequestML* blocks;
} XrWorldMeshGetInfoML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshRequestCompletionInfoML(3)
Name
XrWorldMeshRequestCompletionInfoML - Block Request Completion Info
C Specification
The XrWorldMeshRequestCompletionInfoML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshRequestCompletionInfoML {
XrStructureType type;
const void* next;
XrSpace meshSpace;
XrTime meshSpaceLocateTime;
} XrWorldMeshRequestCompletionInfoML;
Members
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshRequestCompletionML(3)
Name
XrWorldMeshRequestCompletionML - Block Request Completion
C Specification
The XrWorldMeshRequestCompletionML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshRequestCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
uint32_t blockCount;
XrWorldMeshBlockML* blocks;
} XrWorldMeshRequestCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshStateRequestCompletionML(3)
Name
XrWorldMeshStateRequestCompletionML - Mesh block detection info.
C Specification
The XrWorldMeshStateRequestCompletionML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshStateRequestCompletionML {
XrStructureType type;
void* next;
XrResult futureResult;
XrTime timestamp;
uint32_t meshBlockStateCapacityInput;
uint32_t meshBlockStateCountOutput;
XrWorldMeshBlockStateML* meshBlockStates;
} XrWorldMeshStateRequestCompletionML;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshStateRequestInfoML(3)
Name
XrWorldMeshStateRequestInfoML - Mesh block detection info.
C Specification
The XrWorldMeshStateRequestInfoML structure is defined as:
// Provided by XR_ML_world_mesh_detection
typedef struct XrWorldMeshStateRequestInfoML {
XrStructureType type;
const void* next;
XrSpace baseSpace;
XrTime time;
XrPosef boundingBoxCenter;
XrExtent3DfEXT boundingBoxExtents;
} XrWorldMeshStateRequestInfoML;
Members
Description
Each mesh block may have a 'skirt' if
XR_WORLD_MESH_DETECTOR_REMOVE_MESH_SKIRT_BIT_ML was not specified
during the creation of the XrWorldMeshDetectorML.
A skirt provides some overlap between adjacent mesh blocks.
While a skirt improves coverage between blocks, it does not create a
watertight mesh.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Enumerations
XrActionType(3)
Name
XrActionType - XrAction type
C Specification
The XrActionType parameter takes one of the following values:
typedef enum XrActionType {
XR_ACTION_TYPE_BOOLEAN_INPUT = 1,
XR_ACTION_TYPE_FLOAT_INPUT = 2,
XR_ACTION_TYPE_VECTOR2F_INPUT = 3,
XR_ACTION_TYPE_POSE_INPUT = 4,
XR_ACTION_TYPE_VIBRATION_OUTPUT = 100,
XR_ACTION_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrActionType;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAnchorPersistStateANDROID(3)
Name
XrAnchorPersistStateANDROID - Anchor persistence state
C Specification
The XrAnchorPersistStateANDROID enum is defined as:
// Provided by XR_ANDROID_device_anchor_persistence
typedef enum XrAnchorPersistStateANDROID {
XR_ANCHOR_PERSIST_STATE_PERSIST_NOT_REQUESTED_ANDROID = 0,
XR_ANCHOR_PERSIST_STATE_PERSIST_PENDING_ANDROID = 1,
XR_ANCHOR_PERSIST_STATE_PERSISTED_ANDROID = 2,
XR_ANCHOR_PERSIST_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrAnchorPersistStateANDROID;
Description
| Enum | Description |
|---|---|
|
Anchor has not been requested to be persisted by the app. |
|
Anchor has been requested to be persisted but not persisted yet. |
|
Anchor has been successfully persisted by the runtime. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAndroidSurfaceSwapchainFlagBitsFB(3)
Name
XrAndroidSurfaceSwapchainFlagBitsFB - XrAndroidSurfaceSwapchainFlagBitsFB
C Specification
// Flag bits for XrAndroidSurfaceSwapchainFlagsFB
static const XrAndroidSurfaceSwapchainFlagsFB XR_ANDROID_SURFACE_SWAPCHAIN_SYNCHRONOUS_BIT_FB = 0x00000001;
static const XrAndroidSurfaceSwapchainFlagsFB XR_ANDROID_SURFACE_SWAPCHAIN_USE_TIMESTAMPS_BIT_FB = 0x00000002;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAndroidThreadTypeKHR(3)
Name
XrAndroidThreadTypeKHR - Enum describing Android thread types
C Specification
The possible thread types are specified by the XrAndroidThreadTypeKHR enumeration:
// Provided by XR_KHR_android_thread_settings
typedef enum XrAndroidThreadTypeKHR {
XR_ANDROID_THREAD_TYPE_APPLICATION_MAIN_KHR = 1,
XR_ANDROID_THREAD_TYPE_APPLICATION_WORKER_KHR = 2,
XR_ANDROID_THREAD_TYPE_RENDERER_MAIN_KHR = 3,
XR_ANDROID_THREAD_TYPE_RENDERER_WORKER_KHR = 4,
XR_ANDROID_THREAD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
} XrAndroidThreadTypeKHR;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBlendFactorFB(3)
Name
XrBlendFactorFB - Blend Factor Types
C Specification
The possible blend factors are specified by the XrBlendFactorFB enumeration.
// Provided by XR_FB_composition_layer_alpha_blend
typedef enum XrBlendFactorFB {
XR_BLEND_FACTOR_ZERO_FB = 0,
XR_BLEND_FACTOR_ONE_FB = 1,
XR_BLEND_FACTOR_SRC_ALPHA_FB = 2,
XR_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA_FB = 3,
XR_BLEND_FACTOR_DST_ALPHA_FB = 4,
XR_BLEND_FACTOR_ONE_MINUS_DST_ALPHA_FB = 5,
XR_BLEND_FACTOR_MAX_ENUM_FB = 0x7FFFFFFF
} XrBlendFactorFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointBD(3)
Name
XrBodyJointBD - The names of trackable body joints for use as an index
C Specification
This extension defines 24 body joints.
The body joints are sorted starting from the XR_BODY_JOINT_PELVIS_BD
and then incrementing in a spiral manner.
// Provided by XR_BD_body_tracking
typedef enum XrBodyJointBD {
XR_BODY_JOINT_PELVIS_BD = 0,
XR_BODY_JOINT_LEFT_HIP_BD = 1,
XR_BODY_JOINT_RIGHT_HIP_BD = 2,
XR_BODY_JOINT_SPINE1_BD = 3,
XR_BODY_JOINT_LEFT_KNEE_BD = 4,
XR_BODY_JOINT_RIGHT_KNEE_BD = 5,
XR_BODY_JOINT_SPINE2_BD = 6,
XR_BODY_JOINT_LEFT_ANKLE_BD = 7,
XR_BODY_JOINT_RIGHT_ANKLE_BD = 8,
XR_BODY_JOINT_SPINE3_BD = 9,
XR_BODY_JOINT_LEFT_FOOT_BD = 10,
XR_BODY_JOINT_RIGHT_FOOT_BD = 11,
XR_BODY_JOINT_NECK_BD = 12,
XR_BODY_JOINT_LEFT_COLLAR_BD = 13,
XR_BODY_JOINT_RIGHT_COLLAR_BD = 14,
XR_BODY_JOINT_HEAD_BD = 15,
XR_BODY_JOINT_LEFT_SHOULDER_BD = 16,
XR_BODY_JOINT_RIGHT_SHOULDER_BD = 17,
XR_BODY_JOINT_LEFT_ELBOW_BD = 18,
XR_BODY_JOINT_RIGHT_ELBOW_BD = 19,
XR_BODY_JOINT_LEFT_WRIST_BD = 20,
XR_BODY_JOINT_RIGHT_WRIST_BD = 21,
XR_BODY_JOINT_LEFT_HAND_BD = 22,
XR_BODY_JOINT_RIGHT_HAND_BD = 23,
XR_BODY_JOINT_MAX_ENUM_BD = 0x7FFFFFFF
} XrBodyJointBD;
Description
Put body in a T-shape as above. The backward (+Z) direction is perpendicular to body surface and pointing towards the back of the body. The right (+X) direction points to the right side of the body. The Y direction is perpendicular to the X and Z directions and follows the right hand rule.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointConfidenceHTC(3)
Name
XrBodyJointConfidenceHTC - The confidence level for the returned body joint pose.
C Specification
The XrBodyJointConfidenceHTC enumeration is defined as:
// Provided by XR_HTC_body_tracking
typedef enum XrBodyJointConfidenceHTC {
XR_BODY_JOINT_CONFIDENCE_NONE_HTC = 0,
XR_BODY_JOINT_CONFIDENCE_LOW_HTC = 1,
XR_BODY_JOINT_CONFIDENCE_HIGH_HTC = 2,
XR_BODY_JOINT_CONFIDENCE_MAX_ENUM_HTC = 0x7FFFFFFF
} XrBodyJointConfidenceHTC;
Description
The XrBodyJointConfidenceHTC enumeration describes the confidence level for the returned body joint pose.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointFB(3)
Name
XrBodyJointFB - Trackable body joints
C Specification
This extension defines 70 joints for body tracking: 18 core body joints + 52 hand joints.
// Provided by XR_FB_body_tracking
typedef enum XrBodyJointFB {
XR_BODY_JOINT_ROOT_FB = 0,
XR_BODY_JOINT_HIPS_FB = 1,
XR_BODY_JOINT_SPINE_LOWER_FB = 2,
XR_BODY_JOINT_SPINE_MIDDLE_FB = 3,
XR_BODY_JOINT_SPINE_UPPER_FB = 4,
XR_BODY_JOINT_CHEST_FB = 5,
XR_BODY_JOINT_NECK_FB = 6,
XR_BODY_JOINT_HEAD_FB = 7,
XR_BODY_JOINT_LEFT_SHOULDER_FB = 8,
XR_BODY_JOINT_LEFT_SCAPULA_FB = 9,
XR_BODY_JOINT_LEFT_ARM_UPPER_FB = 10,
XR_BODY_JOINT_LEFT_ARM_LOWER_FB = 11,
XR_BODY_JOINT_LEFT_HAND_WRIST_TWIST_FB = 12,
XR_BODY_JOINT_RIGHT_SHOULDER_FB = 13,
XR_BODY_JOINT_RIGHT_SCAPULA_FB = 14,
XR_BODY_JOINT_RIGHT_ARM_UPPER_FB = 15,
XR_BODY_JOINT_RIGHT_ARM_LOWER_FB = 16,
XR_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_FB = 17,
XR_BODY_JOINT_LEFT_HAND_PALM_FB = 18,
XR_BODY_JOINT_LEFT_HAND_WRIST_FB = 19,
XR_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_FB = 20,
XR_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_FB = 21,
XR_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_FB = 22,
XR_BODY_JOINT_LEFT_HAND_THUMB_TIP_FB = 23,
XR_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_FB = 24,
XR_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_FB = 25,
XR_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_FB = 26,
XR_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_FB = 27,
XR_BODY_JOINT_LEFT_HAND_INDEX_TIP_FB = 28,
XR_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_FB = 29,
XR_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_FB = 30,
XR_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_FB = 31,
XR_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_FB = 32,
XR_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_FB = 33,
XR_BODY_JOINT_LEFT_HAND_RING_METACARPAL_FB = 34,
XR_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_FB = 35,
XR_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_FB = 36,
XR_BODY_JOINT_LEFT_HAND_RING_DISTAL_FB = 37,
XR_BODY_JOINT_LEFT_HAND_RING_TIP_FB = 38,
XR_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_FB = 39,
XR_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_FB = 40,
XR_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_FB = 41,
XR_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_FB = 42,
XR_BODY_JOINT_LEFT_HAND_LITTLE_TIP_FB = 43,
XR_BODY_JOINT_RIGHT_HAND_PALM_FB = 44,
XR_BODY_JOINT_RIGHT_HAND_WRIST_FB = 45,
XR_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_FB = 46,
XR_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_FB = 47,
XR_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_FB = 48,
XR_BODY_JOINT_RIGHT_HAND_THUMB_TIP_FB = 49,
XR_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_FB = 50,
XR_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_FB = 51,
XR_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_FB = 52,
XR_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_FB = 53,
XR_BODY_JOINT_RIGHT_HAND_INDEX_TIP_FB = 54,
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_FB = 55,
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_FB = 56,
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_FB = 57,
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_FB = 58,
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_FB = 59,
XR_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_FB = 60,
XR_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_FB = 61,
XR_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_FB = 62,
XR_BODY_JOINT_RIGHT_HAND_RING_DISTAL_FB = 63,
XR_BODY_JOINT_RIGHT_HAND_RING_TIP_FB = 64,
XR_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_FB = 65,
XR_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_FB = 66,
XR_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_FB = 67,
XR_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_FB = 68,
XR_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_FB = 69,
XR_BODY_JOINT_COUNT_FB = 70,
XR_BODY_JOINT_NONE_FB = -1,
XR_BODY_JOINT_MAX_ENUM_FB = 0x7FFFFFFF
} XrBodyJointFB;
Description
The backward (+Z) direction is parallel to the corresponding bone and points away from the finger tip. The up (+Y) direction is pointing out of the back of and perpendicular to the corresponding finger nail at the fully opened hand pose. The X direction is perpendicular to Y and Z and follows the right hand rule.
The wrist joint is located at the pivot point of the wrist, which is location invariant when twisting the hand without moving the forearm. The backward (+Z) direction is parallel to the line from wrist joint to middle finger metacarpal joint, and points away from the finger tips. The up (+Y) direction points out towards back of the hand and perpendicular to the skin at wrist. The X direction is perpendicular to the Y and Z directions and follows the right hand rule.
The palm joint is located at the center of the middle finger’s metacarpal bone. The backward (+Z) direction is parallel to the middle finger’s metacarpal bone, and points away from the finger tips. The up (+Y) direction is perpendicular to palm surface and pointing towards the back of the hand. The X direction is perpendicular to the Y and Z directions and follows the right hand rule.
Body skeleton has the full set of body joints (e.g. defined by XrBodyJointFB), organized in a hierarchy with a default T-shape body pose.
The purpose of the skeleton is to provide data about the body size. Coordinates are relative to each other, so there is no any relation to any space.
The calculation of the body size may be updated during a session.
Each time the calculation of the size is changed, skeletonChangedCount
of XrBodyJointLocationsFB is changed to indicate that a new skeleton
may be retrieved.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointHTC(3)
Name
XrBodyJointHTC - Indices for body joint names
C Specification
The XrBodyJointHTC enumeration is defined as:
// Provided by XR_HTC_body_tracking
typedef enum XrBodyJointHTC {
XR_BODY_JOINT_PELVIS_HTC = 0,
XR_BODY_JOINT_LEFT_HIP_HTC = 1,
XR_BODY_JOINT_LEFT_KNEE_HTC = 2,
XR_BODY_JOINT_LEFT_ANKLE_HTC = 3,
XR_BODY_JOINT_LEFT_FEET_HTC = 4,
XR_BODY_JOINT_RIGHT_HIP_HTC = 5,
XR_BODY_JOINT_RIGHT_KNEE_HTC = 6,
XR_BODY_JOINT_RIGHT_ANKLE_HTC = 7,
XR_BODY_JOINT_RIGHT_FEET_HTC = 8,
XR_BODY_JOINT_WAIST_HTC = 9,
XR_BODY_JOINT_SPINE_LOWER_HTC = 10,
XR_BODY_JOINT_SPINE_MIDDLE_HTC = 11,
XR_BODY_JOINT_SPINE_HIGH_HTC = 12,
XR_BODY_JOINT_CHEST_HTC = 13,
XR_BODY_JOINT_NECK_HTC = 14,
XR_BODY_JOINT_HEAD_HTC = 15,
XR_BODY_JOINT_LEFT_CLAVICLE_HTC = 16,
XR_BODY_JOINT_LEFT_SCAPULA_HTC = 17,
XR_BODY_JOINT_LEFT_ARM_HTC = 18,
XR_BODY_JOINT_LEFT_ELBOW_HTC = 19,
XR_BODY_JOINT_LEFT_WRIST_HTC = 20,
XR_BODY_JOINT_RIGHT_CLAVICLE_HTC = 21,
XR_BODY_JOINT_RIGHT_SCAPULA_HTC = 22,
XR_BODY_JOINT_RIGHT_ARM_HTC = 23,
XR_BODY_JOINT_RIGHT_ELBOW_HTC = 24,
XR_BODY_JOINT_RIGHT_WRIST_HTC = 25,
XR_BODY_JOINT_MAX_ENUM_HTC = 0x7FFFFFFF
} XrBodyJointHTC;
Description
It is used to index into a joint location array when the joint set in use
(XrBodyJointSetHTC) is XR_BODY_JOINT_SET_FULL_HTC.
This extension defines 26 joints for body tracking: 6 joints for the torso, 5 joints for each arm, 4 joints for each leg, and the other 2 joints for the head and neck. The definitions of these joints are based on human skeletal joints.
As shown in the figure below, the following conventions are stated with a T-shape body pose in which the palms are facing down to the ground.
The right direction (+X) is pointing from left hand to right hand in T-pose.
The up direction (+Y) is pointing from foot to head in T-pose.
The Z direction is perpendicular to X and Y and follows the right hand rule in T-pose.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointSetBD(3)
Name
XrBodyJointSetBD - The set of body joints to track.
C Specification
The XrBodyJointSetBD enum describes the set of body joints to track when creating an XrBodyTrackerBD.
// Provided by XR_BD_body_tracking
typedef enum XrBodyJointSetBD {
XR_BODY_JOINT_SET_BODY_WITHOUT_ARM_BD = 1,
XR_BODY_JOINT_SET_FULL_BODY_JOINTS_BD = 2,
XR_BODY_JOINT_SET_MAX_ENUM_BD = 0x7FFFFFFF
} XrBodyJointSetBD;
Description
The joint sets have the following meaning.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointSetFB(3)
Name
XrBodyJointSetFB - The set of body joints to track.
C Specification
The XrBodyJointSetFB enum describes the set of body joints to track when creating an XrBodyTrackerFB.
// Provided by XR_FB_body_tracking
typedef enum XrBodyJointSetFB {
XR_BODY_JOINT_SET_DEFAULT_FB = 0,
// Provided by XR_META_body_tracking_full_body
XR_BODY_JOINT_SET_FULL_BODY_META = 1000274000,
XR_BODY_JOINT_SET_MAX_ENUM_FB = 0x7FFFFFFF
} XrBodyJointSetFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyJointSetHTC(3)
Name
XrBodyJointSetHTC - The set of body joints to track.
C Specification
The XrBodyJointSetHTC enumeration is defined as:
// Provided by XR_HTC_body_tracking
typedef enum XrBodyJointSetHTC {
XR_BODY_JOINT_SET_FULL_HTC = 0,
XR_BODY_JOINT_SET_MAX_ENUM_HTC = 0x7FFFFFFF
} XrBodyJointSetHTC;
Description
The XrBodyJointSetHTC enumeration describes the set of body joints to track when creating an XrBodyTrackerHTC.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBodyTrackingCalibrationStateMETA(3)
Name
XrBodyTrackingCalibrationStateMETA - The current calibration state.
C Specification
The XrBodyTrackingCalibrationStateMETA enum describes the current calibration state.
// Provided by XR_META_body_tracking_calibration
typedef enum XrBodyTrackingCalibrationStateMETA {
XR_BODY_TRACKING_CALIBRATION_STATE_VALID_META = 1,
XR_BODY_TRACKING_CALIBRATION_STATE_CALIBRATING_META = 2,
XR_BODY_TRACKING_CALIBRATION_STATE_INVALID_META = 3,
XR_BODY_TRACKING_CALIBRATION_STATE_MAX_ENUM_META = 0x7FFFFFFF
} XrBodyTrackingCalibrationStateMETA;
Description
| Enum | Description |
|---|---|
|
Valid calibration, body tracking expected to be stable. |
|
Calibration is in progress, body joint poses from |
|
Calibration is invalid, accessing the body joint poses from |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrColorSpaceFB(3)
Name
XrColorSpaceFB - Color Space Type
C Specification
The possible color spaces are specified by the XrColorSpaceFB enumeration.
// Provided by XR_FB_color_space
typedef enum XrColorSpaceFB {
XR_COLOR_SPACE_UNMANAGED_FB = 0,
XR_COLOR_SPACE_REC2020_FB = 1,
XR_COLOR_SPACE_REC709_FB = 2,
XR_COLOR_SPACE_RIFT_CV1_FB = 3,
XR_COLOR_SPACE_RIFT_S_FB = 4,
XR_COLOR_SPACE_QUEST_FB = 5,
XR_COLOR_SPACE_P3_FB = 6,
XR_COLOR_SPACE_ADOBE_RGB_FB = 7,
XR_COLOR_SPACE_MAX_ENUM_FB = 0x7FFFFFFF
} XrColorSpaceFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompareOpFB(3)
Name
XrCompareOpFB - Compare Operation
C Specification
The possible comparison operations are specified by the XrCompareOpFB enumeration.
// Provided by XR_FB_composition_layer_depth_test
typedef enum XrCompareOpFB {
XR_COMPARE_OP_NEVER_FB = 0,
XR_COMPARE_OP_LESS_FB = 1,
XR_COMPARE_OP_EQUAL_FB = 2,
XR_COMPARE_OP_LESS_OR_EQUAL_FB = 3,
XR_COMPARE_OP_GREATER_FB = 4,
XR_COMPARE_OP_NOT_EQUAL_FB = 5,
XR_COMPARE_OP_GREATER_OR_EQUAL_FB = 6,
XR_COMPARE_OP_ALWAYS_FB = 7,
XR_COMPARE_OP_MAX_ENUM_FB = 0x7FFFFFFF
} XrCompareOpFB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerFlagBits(3)
Name
XrCompositionLayerFlagBits - Composition layer flags
C Specification
Valid bits for XrCompositionLayerFlags are defined by XrCompositionLayerFlagBits, which is specified as:
// Flag bits for XrCompositionLayerFlags
// XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT is deprecated and should not be used
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT = 0x00000001;
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT = 0x00000002;
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_UNPREMULTIPLIED_ALPHA_BIT = 0x00000004;
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_INVERTED_ALPHA_BIT_EXT = 0x00000008;
Description
The flag bits have the following meanings:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerImageLayoutFlagBitsFB(3)
Name
XrCompositionLayerImageLayoutFlagBitsFB - XrCompositionLayerImageLayoutFlagBitsFB
C Specification
// Flag bits for XrCompositionLayerImageLayoutFlagsFB
static const XrCompositionLayerImageLayoutFlagsFB XR_COMPOSITION_LAYER_IMAGE_LAYOUT_VERTICAL_FLIP_BIT_FB = 0x00000001;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSecureContentFlagBitsFB(3)
Name
XrCompositionLayerSecureContentFlagBitsFB - XrCompositionLayerSecureContentFlagBitsFB
C Specification
// Flag bits for XrCompositionLayerSecureContentFlagsFB
static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_EXCLUDE_LAYER_BIT_FB = 0x00000001;
static const XrCompositionLayerSecureContentFlagsFB XR_COMPOSITION_LAYER_SECURE_CONTENT_REPLACE_LAYER_BIT_FB = 0x00000002;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSettingsFlagBitsFB(3)
Name
XrCompositionLayerSettingsFlagBitsFB - XrCompositionLayerSettingsFlagBitsFB
C Specification
// Flag bits for XrCompositionLayerSettingsFlagsFB
static const XrCompositionLayerSettingsFlagsFB XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SUPER_SAMPLING_BIT_FB = 0x00000001;
static const XrCompositionLayerSettingsFlagsFB XR_COMPOSITION_LAYER_SETTINGS_QUALITY_SUPER_SAMPLING_BIT_FB = 0x00000002;
static const XrCompositionLayerSettingsFlagsFB XR_COMPOSITION_LAYER_SETTINGS_NORMAL_SHARPENING_BIT_FB = 0x00000004;
static const XrCompositionLayerSettingsFlagsFB XR_COMPOSITION_LAYER_SETTINGS_QUALITY_SHARPENING_BIT_FB = 0x00000008;
static const XrCompositionLayerSettingsFlagsFB XR_COMPOSITION_LAYER_SETTINGS_AUTO_LAYER_FILTER_BIT_META = 0x00000020;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSpaceWarpInfoFlagBitsFB(3)
Name
XrCompositionLayerSpaceWarpInfoFlagBitsFB - XrCompositionLayerSpaceWarpInfoFlagBitsFB
C Specification
// Flag bits for XrCompositionLayerSpaceWarpInfoFlagsFB
static const XrCompositionLayerSpaceWarpInfoFlagsFB XR_COMPOSITION_LAYER_SPACE_WARP_INFO_FRAME_SKIP_BIT_FB = 0x00000001;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessageSeverityFlagBitsEXT(3)
Name
XrDebugUtilsMessageSeverityFlagBitsEXT - XrDebugUtilsMessageSeverityFlagBitsEXT
C Specification
// Flag bits for XrDebugUtilsMessageSeverityFlagsEXT
static const XrDebugUtilsMessageSeverityFlagsEXT XR_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = 0x00000001;
static const XrDebugUtilsMessageSeverityFlagsEXT XR_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = 0x00000010;
static const XrDebugUtilsMessageSeverityFlagsEXT XR_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = 0x00000100;
static const XrDebugUtilsMessageSeverityFlagsEXT XR_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = 0x00001000;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessageTypeFlagBitsEXT(3)
Name
XrDebugUtilsMessageTypeFlagBitsEXT - XrDebugUtilsMessageTypeFlagBitsEXT
C Specification
// Flag bits for XrDebugUtilsMessageTypeFlagsEXT
static const XrDebugUtilsMessageTypeFlagsEXT XR_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001;
static const XrDebugUtilsMessageTypeFlagsEXT XR_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002;
static const XrDebugUtilsMessageTypeFlagsEXT XR_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004;
static const XrDebugUtilsMessageTypeFlagsEXT XR_DEBUG_UTILS_MESSAGE_TYPE_CONFORMANCE_BIT_EXT = 0x00000008;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDigitalLensControlFlagBitsALMALENCE(3)
Name
XrDigitalLensControlFlagBitsALMALENCE - XrDigitalLensControlFlagBitsALMALENCE
C Specification
// Flag bits for XrDigitalLensControlFlagsALMALENCE
static const XrDigitalLensControlFlagsALMALENCE XR_DIGITAL_LENS_CONTROL_PROCESSING_DISABLE_BIT_ALMALENCE = 0x00000001;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentBlendMode(3)
Name
XrEnvironmentBlendMode - Environment blend modes
C Specification
The possible blend modes are specified by the XrEnvironmentBlendMode enumeration:
typedef enum XrEnvironmentBlendMode {
XR_ENVIRONMENT_BLEND_MODE_OPAQUE = 1,
XR_ENVIRONMENT_BLEND_MODE_ADDITIVE = 2,
XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND = 3,
XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM = 0x7FFFFFFF
} XrEnvironmentBlendMode;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthProviderCreateFlagBitsMETA(3)
Name
XrEnvironmentDepthProviderCreateFlagBitsMETA - Environment depth provider create flags
C Specification
Valid bits for XrEnvironmentDepthProviderCreateFlagsMETA are defined by XrEnvironmentDepthProviderCreateFlagBitsMETA, which is specified as:
// Provided by XR_META_environment_depth
// Flag bits for XrEnvironmentDepthProviderCreateFlagsMETA
Description
There are currently no flag bits defined. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthSwapchainCreateFlagBitsMETA(3)
Name
XrEnvironmentDepthSwapchainCreateFlagBitsMETA - Environment depth swapchain create flags
C Specification
Valid bits for XrEnvironmentDepthProviderCreateFlagsMETA are defined by XrEnvironmentDepthSwapchainCreateFlagBitsMETA, which is specified as:
// Provided by XR_META_environment_depth
// Flag bits for XrEnvironmentDepthSwapchainCreateFlagsMETA
Description
There are currently no flag bits defined. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraAttachedToDeviceOCULUS(3)
Name
XrExternalCameraAttachedToDeviceOCULUS - XrExternalCameraAttachedToDeviceOCULUS
C Specification
// Provided by XR_OCULUS_external_camera
typedef enum XrExternalCameraAttachedToDeviceOCULUS {
XR_EXTERNAL_CAMERA_ATTACHED_TO_DEVICE_NONE_OCULUS = 0,
XR_EXTERNAL_CAMERA_ATTACHED_TO_DEVICE_HMD_OCULUS = 1,
XR_EXTERNAL_CAMERA_ATTACHED_TO_DEVICE_LTOUCH_OCULUS = 2,
XR_EXTERNAL_CAMERA_ATTACHED_TO_DEVICE_RTOUCH_OCULUS = 3,
XR_EXTERNAL_CAMERA_ATTACHED_TO_DEVICE_MAX_ENUM_OCULUS = 0x7FFFFFFF
} XrExternalCameraAttachedToDeviceOCULUS;
Description
| Enum | Description |
|---|---|
|
External camera is at a fixed point in LOCAL space |
|
External camera is attached to the HMD |
|
External camera is attached to a left Touch controller |
|
External camera is attached to a right Touch controller |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraStatusFlagBitsOCULUS(3)
Name
XrExternalCameraStatusFlagBitsOCULUS - XrExternalCameraStatusFlagBitsOCULUS
C Specification
// Flag bits for XrExternalCameraStatusFlagsOCULUS
static const XrExternalCameraStatusFlagsOCULUS XR_EXTERNAL_CAMERA_STATUS_CONNECTED_BIT_OCULUS = 0x00000001;
static const XrExternalCameraStatusFlagsOCULUS XR_EXTERNAL_CAMERA_STATUS_CALIBRATING_BIT_OCULUS = 0x00000002;
static const XrExternalCameraStatusFlagsOCULUS XR_EXTERNAL_CAMERA_STATUS_CALIBRATION_FAILED_BIT_OCULUS = 0x00000004;
static const XrExternalCameraStatusFlagsOCULUS XR_EXTERNAL_CAMERA_STATUS_CALIBRATED_BIT_OCULUS = 0x00000008;
static const XrExternalCameraStatusFlagsOCULUS XR_EXTERNAL_CAMERA_STATUS_CAPTURING_BIT_OCULUS = 0x00000010;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeCalibrationStatusML(3)
Name
XrEyeCalibrationStatusML - Headset fit status
C Specification
// Provided by XR_ML_user_calibration
typedef enum XrEyeCalibrationStatusML {
XR_EYE_CALIBRATION_STATUS_UNKNOWN_ML = 0,
XR_EYE_CALIBRATION_STATUS_NONE_ML = 1,
XR_EYE_CALIBRATION_STATUS_COARSE_ML = 2,
XR_EYE_CALIBRATION_STATUS_FINE_ML = 3,
XR_EYE_CALIBRATION_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
} XrEyeCalibrationStatusML;
Description
| Enum | Description |
|---|---|
|
Eye calibration status not available for unknown reason. |
|
User has not performed the eye calibration step. Use system provided app to perform eye calibration. |
|
Eye calibration is of lower accuracy. |
|
Eye calibration is of higher accuracy. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeExpressionHTC(3)
Name
XrEyeExpressionHTC - The blend shapes of eye expression
C Specification
// Provided by XR_HTC_facial_tracking
typedef enum XrEyeExpressionHTC {
XR_EYE_EXPRESSION_LEFT_BLINK_HTC = 0,
XR_EYE_EXPRESSION_LEFT_WIDE_HTC = 1,
XR_EYE_EXPRESSION_RIGHT_BLINK_HTC = 2,
XR_EYE_EXPRESSION_RIGHT_WIDE_HTC = 3,
XR_EYE_EXPRESSION_LEFT_SQUEEZE_HTC = 4,
XR_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC = 5,
XR_EYE_EXPRESSION_LEFT_DOWN_HTC = 6,
XR_EYE_EXPRESSION_RIGHT_DOWN_HTC = 7,
XR_EYE_EXPRESSION_LEFT_OUT_HTC = 8,
XR_EYE_EXPRESSION_RIGHT_IN_HTC = 9,
XR_EYE_EXPRESSION_LEFT_IN_HTC = 10,
XR_EYE_EXPRESSION_RIGHT_OUT_HTC = 11,
XR_EYE_EXPRESSION_LEFT_UP_HTC = 12,
XR_EYE_EXPRESSION_RIGHT_UP_HTC = 13,
XR_EYE_EXPRESSION_MAX_ENUM_HTC = 0x7FFFFFFF
} XrEyeExpressionHTC;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyePositionFB(3)
Name
XrEyePositionFB - Enumerates eyes.
C Specification
The XrEyePositionFB describes which eye in the specific position of
the gaze is in the XrEyeGazesFB.
// Provided by XR_FB_eye_tracking_social
typedef enum XrEyePositionFB {
XR_EYE_POSITION_LEFT_FB = 0,
XR_EYE_POSITION_RIGHT_FB = 1,
XR_EYE_POSITION_COUNT_FB = 2,
XR_EYE_POSITION_MAX_ENUM_FB = 0x7FFFFFFF
} XrEyePositionFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeVisibility(3)
Name
XrEyeVisibility - Eye visibility selector
C Specification
The XrEyeVisibility enum selects which of the viewer’s eyes to display a layer to:
typedef enum XrEyeVisibility {
XR_EYE_VISIBILITY_BOTH = 0,
XR_EYE_VISIBILITY_LEFT = 1,
XR_EYE_VISIBILITY_RIGHT = 2,
XR_EYE_VISIBILITY_MAX_ENUM = 0x7FFFFFFF
} XrEyeVisibility;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceConfidence2FB(3)
Name
XrFaceConfidence2FB - The name of face areas where confidence is known
C Specification
// Provided by XR_FB_face_tracking2
typedef enum XrFaceConfidence2FB {
XR_FACE_CONFIDENCE2_LOWER_FACE_FB = 0,
XR_FACE_CONFIDENCE2_UPPER_FACE_FB = 1,
XR_FACE_CONFIDENCE2_COUNT_FB = 2,
XR_FACE_CONFIDENCE_2FB_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceConfidence2FB;
Description
The "upper face" area represents everything above the upper lip, including the eyes and eyebrows. The "lower face" area represents everything under the eyes, including the mouth and chin. Cheek and nose areas contribute to both "upper face" and "lower face" areas.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceConfidenceFB(3)
Name
XrFaceConfidenceFB - The name of face areas where confidence is known
C Specification
// Provided by XR_FB_face_tracking
typedef enum XrFaceConfidenceFB {
XR_FACE_CONFIDENCE_LOWER_FACE_FB = 0,
XR_FACE_CONFIDENCE_UPPER_FACE_FB = 1,
XR_FACE_CONFIDENCE_COUNT_FB = 2,
XR_FACE_CONFIDENCE_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceConfidenceFB;
Description
The "upper face" area represents everything above the upper lip, including eye, eyebrows + cheek, and nose. The "lower face" area represents everything under eyes, including mouth, chin + cheek, and nose. Cheek and nose areas contribute to both "upper face" and "lower face" areas.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceConfidenceRegionsANDROID(3)
Name
XrFaceConfidenceRegionsANDROID - Face confidence regions
C Specification
The XrFaceConfidenceRegionsANDROID enumeration identifies the different confidence regions of the face.
// Provided by XR_ANDROID_face_tracking
typedef enum XrFaceConfidenceRegionsANDROID {
XR_FACE_CONFIDENCE_REGIONS_LOWER_ANDROID = 0,
XR_FACE_CONFIDENCE_REGIONS_LEFT_UPPER_ANDROID = 1,
XR_FACE_CONFIDENCE_REGIONS_RIGHT_UPPER_ANDROID = 2,
XR_FACE_CONFIDENCE_REGIONS_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrFaceConfidenceRegionsANDROID;
Description
The enumerants have the following meanings:
| Enum | Description |
|---|---|
|
Confidence corresponding to the lower region. |
|
Confidence corresponding to the left upper region. |
|
Confidence corresponding to the right upper region. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpression2FB(3)
Name
XrFaceExpression2FB - The name of blend shapes that are trackable
C Specification
// Provided by XR_FB_face_tracking2
typedef enum XrFaceExpression2FB {
XR_FACE_EXPRESSION2_BROW_LOWERER_L_FB = 0,
XR_FACE_EXPRESSION2_BROW_LOWERER_R_FB = 1,
XR_FACE_EXPRESSION2_CHEEK_PUFF_L_FB = 2,
XR_FACE_EXPRESSION2_CHEEK_PUFF_R_FB = 3,
XR_FACE_EXPRESSION2_CHEEK_RAISER_L_FB = 4,
XR_FACE_EXPRESSION2_CHEEK_RAISER_R_FB = 5,
XR_FACE_EXPRESSION2_CHEEK_SUCK_L_FB = 6,
XR_FACE_EXPRESSION2_CHEEK_SUCK_R_FB = 7,
XR_FACE_EXPRESSION2_CHIN_RAISER_B_FB = 8,
XR_FACE_EXPRESSION2_CHIN_RAISER_T_FB = 9,
XR_FACE_EXPRESSION2_DIMPLER_L_FB = 10,
XR_FACE_EXPRESSION2_DIMPLER_R_FB = 11,
XR_FACE_EXPRESSION2_EYES_CLOSED_L_FB = 12,
XR_FACE_EXPRESSION2_EYES_CLOSED_R_FB = 13,
XR_FACE_EXPRESSION2_EYES_LOOK_DOWN_L_FB = 14,
XR_FACE_EXPRESSION2_EYES_LOOK_DOWN_R_FB = 15,
XR_FACE_EXPRESSION2_EYES_LOOK_LEFT_L_FB = 16,
XR_FACE_EXPRESSION2_EYES_LOOK_LEFT_R_FB = 17,
XR_FACE_EXPRESSION2_EYES_LOOK_RIGHT_L_FB = 18,
XR_FACE_EXPRESSION2_EYES_LOOK_RIGHT_R_FB = 19,
XR_FACE_EXPRESSION2_EYES_LOOK_UP_L_FB = 20,
XR_FACE_EXPRESSION2_EYES_LOOK_UP_R_FB = 21,
XR_FACE_EXPRESSION2_INNER_BROW_RAISER_L_FB = 22,
XR_FACE_EXPRESSION2_INNER_BROW_RAISER_R_FB = 23,
XR_FACE_EXPRESSION2_JAW_DROP_FB = 24,
XR_FACE_EXPRESSION2_JAW_SIDEWAYS_LEFT_FB = 25,
XR_FACE_EXPRESSION2_JAW_SIDEWAYS_RIGHT_FB = 26,
XR_FACE_EXPRESSION2_JAW_THRUST_FB = 27,
XR_FACE_EXPRESSION2_LID_TIGHTENER_L_FB = 28,
XR_FACE_EXPRESSION2_LID_TIGHTENER_R_FB = 29,
XR_FACE_EXPRESSION2_LIP_CORNER_DEPRESSOR_L_FB = 30,
XR_FACE_EXPRESSION2_LIP_CORNER_DEPRESSOR_R_FB = 31,
XR_FACE_EXPRESSION2_LIP_CORNER_PULLER_L_FB = 32,
XR_FACE_EXPRESSION2_LIP_CORNER_PULLER_R_FB = 33,
XR_FACE_EXPRESSION2_LIP_FUNNELER_LB_FB = 34,
XR_FACE_EXPRESSION2_LIP_FUNNELER_LT_FB = 35,
XR_FACE_EXPRESSION2_LIP_FUNNELER_RB_FB = 36,
XR_FACE_EXPRESSION2_LIP_FUNNELER_RT_FB = 37,
XR_FACE_EXPRESSION2_LIP_PRESSOR_L_FB = 38,
XR_FACE_EXPRESSION2_LIP_PRESSOR_R_FB = 39,
XR_FACE_EXPRESSION2_LIP_PUCKER_L_FB = 40,
XR_FACE_EXPRESSION2_LIP_PUCKER_R_FB = 41,
XR_FACE_EXPRESSION2_LIP_STRETCHER_L_FB = 42,
XR_FACE_EXPRESSION2_LIP_STRETCHER_R_FB = 43,
XR_FACE_EXPRESSION2_LIP_SUCK_LB_FB = 44,
XR_FACE_EXPRESSION2_LIP_SUCK_LT_FB = 45,
XR_FACE_EXPRESSION2_LIP_SUCK_RB_FB = 46,
XR_FACE_EXPRESSION2_LIP_SUCK_RT_FB = 47,
XR_FACE_EXPRESSION2_LIP_TIGHTENER_L_FB = 48,
XR_FACE_EXPRESSION2_LIP_TIGHTENER_R_FB = 49,
XR_FACE_EXPRESSION2_LIPS_TOWARD_FB = 50,
XR_FACE_EXPRESSION2_LOWER_LIP_DEPRESSOR_L_FB = 51,
XR_FACE_EXPRESSION2_LOWER_LIP_DEPRESSOR_R_FB = 52,
XR_FACE_EXPRESSION2_MOUTH_LEFT_FB = 53,
XR_FACE_EXPRESSION2_MOUTH_RIGHT_FB = 54,
XR_FACE_EXPRESSION2_NOSE_WRINKLER_L_FB = 55,
XR_FACE_EXPRESSION2_NOSE_WRINKLER_R_FB = 56,
XR_FACE_EXPRESSION2_OUTER_BROW_RAISER_L_FB = 57,
XR_FACE_EXPRESSION2_OUTER_BROW_RAISER_R_FB = 58,
XR_FACE_EXPRESSION2_UPPER_LID_RAISER_L_FB = 59,
XR_FACE_EXPRESSION2_UPPER_LID_RAISER_R_FB = 60,
XR_FACE_EXPRESSION2_UPPER_LIP_RAISER_L_FB = 61,
XR_FACE_EXPRESSION2_UPPER_LIP_RAISER_R_FB = 62,
XR_FACE_EXPRESSION2_TONGUE_TIP_INTERDENTAL_FB = 63,
XR_FACE_EXPRESSION2_TONGUE_TIP_ALVEOLAR_FB = 64,
XR_FACE_EXPRESSION2_TONGUE_FRONT_DORSAL_PALATE_FB = 65,
XR_FACE_EXPRESSION2_TONGUE_MID_DORSAL_PALATE_FB = 66,
XR_FACE_EXPRESSION2_TONGUE_BACK_DORSAL_VELAR_FB = 67,
XR_FACE_EXPRESSION2_TONGUE_OUT_FB = 68,
XR_FACE_EXPRESSION2_TONGUE_RETREAT_FB = 69,
XR_FACE_EXPRESSION2_COUNT_FB = 70,
XR_FACE_EXPRESSION_2FB_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceExpression2FB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionBD(3)
Name
XrFaceExpressionBD - The name of blend shapes of face that can be tracked
C Specification
// Provided by XR_BD_facial_simulation
typedef enum XrFaceExpressionBD {
XR_FACE_EXPRESSION_BROW_DROP_L_BD = 0,
XR_FACE_EXPRESSION_BROW_DROP_R_BD = 1,
XR_FACE_EXPRESSION_BROW_INNER_UPWARDS_BD = 2,
XR_FACE_EXPRESSION_BROW_OUTER_UPWARDS_L_BD = 3,
XR_FACE_EXPRESSION_BROW_OUTER_UPWARDS_R_BD = 4,
XR_FACE_EXPRESSION_EYE_BLINK_L_BD = 5,
XR_FACE_EXPRESSION_EYE_LOOK_DROP_L_BD = 6,
XR_FACE_EXPRESSION_EYE_LOOK_IN_L_BD = 7,
XR_FACE_EXPRESSION_EYE_LOOK_OUT_L_BD = 8,
XR_FACE_EXPRESSION_EYE_LOOK_UPWARDS_L_BD = 9,
XR_FACE_EXPRESSION_EYE_LOOK_SQUINT_L_BD = 10,
XR_FACE_EXPRESSION_EYE_LOOK_WIDE_L_BD = 11,
XR_FACE_EXPRESSION_EYE_BLINK_R_BD = 12,
XR_FACE_EXPRESSION_EYE_LOOK_DROP_R_BD = 13,
XR_FACE_EXPRESSION_EYE_LOOK_IN_R_BD = 14,
XR_FACE_EXPRESSION_EYE_LOOK_OUT_R_BD = 15,
XR_FACE_EXPRESSION_EYE_LOOK_UPWARDS_R_BD = 16,
XR_FACE_EXPRESSION_EYE_LOOK_SQUINT_R_BD = 17,
XR_FACE_EXPRESSION_EYE_LOOK_WIDE_R_BD = 18,
XR_FACE_EXPRESSION_NOSE_SNEER_L_BD = 19,
XR_FACE_EXPRESSION_NOSE_SNEER_R_BD = 20,
XR_FACE_EXPRESSION_CHEEK_PUFF_BD = 21,
XR_FACE_EXPRESSION_CHEEK_SQUINT_L_BD = 22,
XR_FACE_EXPRESSION_CHEEK_SQUINT_R_BD = 23,
XR_FACE_EXPRESSION_MOUTH_CLOSE_BD = 24,
XR_FACE_EXPRESSION_MOUTH_FUNNEL_BD = 25,
XR_FACE_EXPRESSION_MOUTH_PUCKER_BD = 26,
XR_FACE_EXPRESSION_MOUTH_L_BD = 27,
XR_FACE_EXPRESSION_MOUTH_R_BD = 28,
XR_FACE_EXPRESSION_MOUTH_SMILE_L_BD = 29,
XR_FACE_EXPRESSION_MOUTH_SMILE_R_BD = 30,
XR_FACE_EXPRESSION_MOUTH_FROWN_L_BD = 31,
XR_FACE_EXPRESSION_MOUTH_FROWN_R_BD = 32,
XR_FACE_EXPRESSION_MOUTH_DIMPLE_L_BD = 33,
XR_FACE_EXPRESSION_MOUTH_DIMPLE_R_BD = 34,
XR_FACE_EXPRESSION_MOUTH_STRETCH_L_BD = 35,
XR_FACE_EXPRESSION_MOUTH_STRETCH_R_BD = 36,
XR_FACE_EXPRESSION_MOUTH_ROLL_LOWER_BD = 37,
XR_FACE_EXPRESSION_MOUTH_ROLL_UPPER_BD = 38,
XR_FACE_EXPRESSION_MOUTH_SHRUG_LOWER_BD = 39,
XR_FACE_EXPRESSION_MOUTH_SHRUG_UPPER_BD = 40,
XR_FACE_EXPRESSION_MOUTH_PRESS_L_BD = 41,
XR_FACE_EXPRESSION_MOUTH_PRESS_R_BD = 42,
XR_FACE_EXPRESSION_MOUTH_LOWER_DROP_L_BD = 43,
XR_FACE_EXPRESSION_MOUTH_LOWER_DROP_R_BD = 44,
XR_FACE_EXPRESSION_MOUTH_UPPER_UPWARDS_L_BD = 45,
XR_FACE_EXPRESSION_MOUTH_UPPER_UPWARDS_R_BD = 46,
XR_FACE_EXPRESSION_JAW_FORWARD_BD = 47,
XR_FACE_EXPRESSION_JAW_L_BD = 48,
XR_FACE_EXPRESSION_JAW_R_BD = 49,
XR_FACE_EXPRESSION_JAW_OPEN_BD = 50,
XR_FACE_EXPRESSION_TONGUE_OUT_BD = 51,
XR_FACE_EXPRESSION_MAX_ENUM_BD = 0x7FFFFFFF
} XrFaceExpressionBD;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionFB(3)
Name
XrFaceExpressionFB - The names of trackable blend shapes
C Specification
// Provided by XR_FB_face_tracking
typedef enum XrFaceExpressionFB {
XR_FACE_EXPRESSION_BROW_LOWERER_L_FB = 0,
XR_FACE_EXPRESSION_BROW_LOWERER_R_FB = 1,
XR_FACE_EXPRESSION_CHEEK_PUFF_L_FB = 2,
XR_FACE_EXPRESSION_CHEEK_PUFF_R_FB = 3,
XR_FACE_EXPRESSION_CHEEK_RAISER_L_FB = 4,
XR_FACE_EXPRESSION_CHEEK_RAISER_R_FB = 5,
XR_FACE_EXPRESSION_CHEEK_SUCK_L_FB = 6,
XR_FACE_EXPRESSION_CHEEK_SUCK_R_FB = 7,
XR_FACE_EXPRESSION_CHIN_RAISER_B_FB = 8,
XR_FACE_EXPRESSION_CHIN_RAISER_T_FB = 9,
XR_FACE_EXPRESSION_DIMPLER_L_FB = 10,
XR_FACE_EXPRESSION_DIMPLER_R_FB = 11,
XR_FACE_EXPRESSION_EYES_CLOSED_L_FB = 12,
XR_FACE_EXPRESSION_EYES_CLOSED_R_FB = 13,
XR_FACE_EXPRESSION_EYES_LOOK_DOWN_L_FB = 14,
XR_FACE_EXPRESSION_EYES_LOOK_DOWN_R_FB = 15,
XR_FACE_EXPRESSION_EYES_LOOK_LEFT_L_FB = 16,
XR_FACE_EXPRESSION_EYES_LOOK_LEFT_R_FB = 17,
XR_FACE_EXPRESSION_EYES_LOOK_RIGHT_L_FB = 18,
XR_FACE_EXPRESSION_EYES_LOOK_RIGHT_R_FB = 19,
XR_FACE_EXPRESSION_EYES_LOOK_UP_L_FB = 20,
XR_FACE_EXPRESSION_EYES_LOOK_UP_R_FB = 21,
XR_FACE_EXPRESSION_INNER_BROW_RAISER_L_FB = 22,
XR_FACE_EXPRESSION_INNER_BROW_RAISER_R_FB = 23,
XR_FACE_EXPRESSION_JAW_DROP_FB = 24,
XR_FACE_EXPRESSION_JAW_SIDEWAYS_LEFT_FB = 25,
XR_FACE_EXPRESSION_JAW_SIDEWAYS_RIGHT_FB = 26,
XR_FACE_EXPRESSION_JAW_THRUST_FB = 27,
XR_FACE_EXPRESSION_LID_TIGHTENER_L_FB = 28,
XR_FACE_EXPRESSION_LID_TIGHTENER_R_FB = 29,
XR_FACE_EXPRESSION_LIP_CORNER_DEPRESSOR_L_FB = 30,
XR_FACE_EXPRESSION_LIP_CORNER_DEPRESSOR_R_FB = 31,
XR_FACE_EXPRESSION_LIP_CORNER_PULLER_L_FB = 32,
XR_FACE_EXPRESSION_LIP_CORNER_PULLER_R_FB = 33,
XR_FACE_EXPRESSION_LIP_FUNNELER_LB_FB = 34,
XR_FACE_EXPRESSION_LIP_FUNNELER_LT_FB = 35,
XR_FACE_EXPRESSION_LIP_FUNNELER_RB_FB = 36,
XR_FACE_EXPRESSION_LIP_FUNNELER_RT_FB = 37,
XR_FACE_EXPRESSION_LIP_PRESSOR_L_FB = 38,
XR_FACE_EXPRESSION_LIP_PRESSOR_R_FB = 39,
XR_FACE_EXPRESSION_LIP_PUCKER_L_FB = 40,
XR_FACE_EXPRESSION_LIP_PUCKER_R_FB = 41,
XR_FACE_EXPRESSION_LIP_STRETCHER_L_FB = 42,
XR_FACE_EXPRESSION_LIP_STRETCHER_R_FB = 43,
XR_FACE_EXPRESSION_LIP_SUCK_LB_FB = 44,
XR_FACE_EXPRESSION_LIP_SUCK_LT_FB = 45,
XR_FACE_EXPRESSION_LIP_SUCK_RB_FB = 46,
XR_FACE_EXPRESSION_LIP_SUCK_RT_FB = 47,
XR_FACE_EXPRESSION_LIP_TIGHTENER_L_FB = 48,
XR_FACE_EXPRESSION_LIP_TIGHTENER_R_FB = 49,
XR_FACE_EXPRESSION_LIPS_TOWARD_FB = 50,
XR_FACE_EXPRESSION_LOWER_LIP_DEPRESSOR_L_FB = 51,
XR_FACE_EXPRESSION_LOWER_LIP_DEPRESSOR_R_FB = 52,
XR_FACE_EXPRESSION_MOUTH_LEFT_FB = 53,
XR_FACE_EXPRESSION_MOUTH_RIGHT_FB = 54,
XR_FACE_EXPRESSION_NOSE_WRINKLER_L_FB = 55,
XR_FACE_EXPRESSION_NOSE_WRINKLER_R_FB = 56,
XR_FACE_EXPRESSION_OUTER_BROW_RAISER_L_FB = 57,
XR_FACE_EXPRESSION_OUTER_BROW_RAISER_R_FB = 58,
XR_FACE_EXPRESSION_UPPER_LID_RAISER_L_FB = 59,
XR_FACE_EXPRESSION_UPPER_LID_RAISER_R_FB = 60,
XR_FACE_EXPRESSION_UPPER_LIP_RAISER_L_FB = 61,
XR_FACE_EXPRESSION_UPPER_LIP_RAISER_R_FB = 62,
XR_FACE_EXPRESSION_COUNT_FB = 63,
XR_FACE_EXPRESSION_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceExpressionFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionSet2FB(3)
Name
XrFaceExpressionSet2FB - The set of blend shapes of a facial expression to track.
C Specification
The XrFaceExpressionSet2FB enum describes the set of blend shapes of a facial expression to track when creating an XrFaceTracker2FB.
// Provided by XR_FB_face_tracking2
typedef enum XrFaceExpressionSet2FB {
XR_FACE_EXPRESSION_SET2_DEFAULT_FB = 0,
XR_FACE_EXPRESSION_SET_2FB_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceExpressionSet2FB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceExpressionSetFB(3)
Name
XrFaceExpressionSetFB - The set of blend shapes of a facial expression to track.
C Specification
The XrFaceExpressionSetFB enum describes the set of blend shapes of a facial expression to track when creating an XrFaceTrackerFB.
// Provided by XR_FB_face_tracking
typedef enum XrFaceExpressionSetFB {
XR_FACE_EXPRESSION_SET_DEFAULT_FB = 0,
XR_FACE_EXPRESSION_SET_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceExpressionSetFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceParameterIndicesANDROID(3)
Name
XrFaceParameterIndicesANDROID - The names of trackable blend shapes
C Specification
// Provided by XR_ANDROID_face_tracking
typedef enum XrFaceParameterIndicesANDROID {
XR_FACE_PARAMETER_INDICES_BROW_LOWERER_L_ANDROID = 0,
XR_FACE_PARAMETER_INDICES_BROW_LOWERER_R_ANDROID = 1,
XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_L_ANDROID = 2,
XR_FACE_PARAMETER_INDICES_CHEEK_PUFF_R_ANDROID = 3,
XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_L_ANDROID = 4,
XR_FACE_PARAMETER_INDICES_CHEEK_RAISER_R_ANDROID = 5,
XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_L_ANDROID = 6,
XR_FACE_PARAMETER_INDICES_CHEEK_SUCK_R_ANDROID = 7,
XR_FACE_PARAMETER_INDICES_CHIN_RAISER_B_ANDROID = 8,
XR_FACE_PARAMETER_INDICES_CHIN_RAISER_T_ANDROID = 9,
XR_FACE_PARAMETER_INDICES_DIMPLER_L_ANDROID = 10,
XR_FACE_PARAMETER_INDICES_DIMPLER_R_ANDROID = 11,
XR_FACE_PARAMETER_INDICES_EYES_CLOSED_L_ANDROID = 12,
XR_FACE_PARAMETER_INDICES_EYES_CLOSED_R_ANDROID = 13,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_L_ANDROID = 14,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_R_ANDROID = 15,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_L_ANDROID = 16,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_R_ANDROID = 17,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_L_ANDROID = 18,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_R_ANDROID = 19,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_L_ANDROID = 20,
XR_FACE_PARAMETER_INDICES_EYES_LOOK_UP_R_ANDROID = 21,
XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_L_ANDROID = 22,
XR_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_R_ANDROID = 23,
XR_FACE_PARAMETER_INDICES_JAW_DROP_ANDROID = 24,
XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_LEFT_ANDROID = 25,
XR_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_RIGHT_ANDROID = 26,
XR_FACE_PARAMETER_INDICES_JAW_THRUST_ANDROID = 27,
XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_L_ANDROID = 28,
XR_FACE_PARAMETER_INDICES_LID_TIGHTENER_R_ANDROID = 29,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_L_ANDROID = 30,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_R_ANDROID = 31,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_L_ANDROID = 32,
XR_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_R_ANDROID = 33,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LB_ANDROID = 34,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_LT_ANDROID = 35,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RB_ANDROID = 36,
XR_FACE_PARAMETER_INDICES_LIP_FUNNELER_RT_ANDROID = 37,
XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_L_ANDROID = 38,
XR_FACE_PARAMETER_INDICES_LIP_PRESSOR_R_ANDROID = 39,
XR_FACE_PARAMETER_INDICES_LIP_PUCKER_L_ANDROID = 40,
XR_FACE_PARAMETER_INDICES_LIP_PUCKER_R_ANDROID = 41,
XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_L_ANDROID = 42,
XR_FACE_PARAMETER_INDICES_LIP_STRETCHER_R_ANDROID = 43,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_LB_ANDROID = 44,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_LT_ANDROID = 45,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_RB_ANDROID = 46,
XR_FACE_PARAMETER_INDICES_LIP_SUCK_RT_ANDROID = 47,
XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_L_ANDROID = 48,
XR_FACE_PARAMETER_INDICES_LIP_TIGHTENER_R_ANDROID = 49,
XR_FACE_PARAMETER_INDICES_LIPS_TOWARD_ANDROID = 50,
XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_L_ANDROID = 51,
XR_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_R_ANDROID = 52,
XR_FACE_PARAMETER_INDICES_MOUTH_LEFT_ANDROID = 53,
XR_FACE_PARAMETER_INDICES_MOUTH_RIGHT_ANDROID = 54,
XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_L_ANDROID = 55,
XR_FACE_PARAMETER_INDICES_NOSE_WRINKLER_R_ANDROID = 56,
XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_L_ANDROID = 57,
XR_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_R_ANDROID = 58,
XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_L_ANDROID = 59,
XR_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_R_ANDROID = 60,
XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_L_ANDROID = 61,
XR_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_R_ANDROID = 62,
XR_FACE_PARAMETER_INDICES_TONGUE_OUT_ANDROID = 63,
XR_FACE_PARAMETER_INDICES_TONGUE_LEFT_ANDROID = 64,
XR_FACE_PARAMETER_INDICES_TONGUE_RIGHT_ANDROID = 65,
XR_FACE_PARAMETER_INDICES_TONGUE_UP_ANDROID = 66,
XR_FACE_PARAMETER_INDICES_TONGUE_DOWN_ANDROID = 67,
XR_FACE_PARAMETER_INDICES_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrFaceParameterIndicesANDROID;
Description
| Enum | Description |
|---|---|
|
The left brow lowerer blendshape parameter. |
|
The right brow lowerer blendshape parameter. |
|
The left cheek puff blendshape parameter. |
|
The right cheek puff blendshape parameter. |
|
The left cheek raiser blendshape parameter. |
|
The right cheek raiser blendshape parameter. |
|
The left cheek suck blendshape parameter. |
|
The right cheek suck blendshape parameter. |
|
The bottom chin raiser blendshape parameter. |
|
The top chin raiser blendshape parameter. |
|
The left dimpler blendshape parameter. |
|
The right dimpler lowerer blendshape parameter. |
|
The left eyes closed blendshape parameter. |
|
The right eyes closed blendshape parameter. |
|
The left eyes look down blendshape parameter. |
|
The right eyes look down blendshape parameter. |
|
The left look left blendshape parameter. |
|
The left look right blendshape parameter. |
|
The right look left blendshape parameter. |
|
The right look right blendshape parameter. |
|
The left eyes look up blendshape parameter. |
|
The right eyes look up blendshape parameter. |
|
The left inner brow raiser blendshape parameter. |
|
The right inner brow raiser blendshape parameter. |
|
The jaw drop blendshape parameter. |
|
The left jaw sideways blendshape parameter. |
|
The right jaw sideways blendshape parameter. |
|
The jaw thrust blendshape parameter. |
|
The left lid tightener blendshape parameter. |
|
The right lid tightener blendshape parameter. |
|
The left corner lip depressor blendshape parameter. |
|
The right corner lip depressor blendshape parameter. |
|
The left corner lip puller blendshape parameter. |
|
The right corner lip puller blendshape parameter. |
|
The left bottom lip funneler blendshape parameter. |
|
The left top lip funneler blendshape parameter. |
|
The right bottom lip funneler blendshape parameter. |
|
The right top lip funneler blendshape parameter. |
|
The left lip pressor blendshape parameter. |
|
The right lip pressor blendshape parameter. |
|
The left lip pucker blendshape parameter. |
|
The right lip pucker blendshape parameter. |
|
The left lip stretcher blendshape parameter. |
|
The right lip stretcher blendshape parameter. |
|
The left bottom lip suck blendshape parameter. |
|
The left top lip suck blendshape parameter. |
|
The right bottom lip suck blendshape parameter. |
|
The right top lip suck blendshape parameter. |
|
The left lip tightener blendshape parameter. |
|
The right lip tightener blendshape parameter. |
|
The lips toward blendshape parameter. |
|
The left lower lip depressor blendshape parameter. |
|
The right lower lip depressor blendshape parameter. |
|
The mouth move left blendshape parameter. |
|
The mouth move right blendshape parameter. |
|
The left nose wrinkler blendshape parameter. |
|
The right nose wrinkler blendshape parameter. |
|
The left outer brow raiser blendshape parameter. |
|
The right outer brow raiser blendshape parameter. |
|
The left lid raiser blendshape parameter. |
|
The right lid raiser blendshape parameter. |
|
The left lip raiser blendshape parameter. |
|
The right lip raiser blendshape parameter. |
|
The tongue out blendshape parameter. |
|
The tongue left puller blendshape parameter. |
|
The right right puller blendshape parameter. |
|
The right up puller blendshape parameter. |
|
The right down puller blendshape parameter. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackingDataSource2FB(3)
Name
XrFaceTrackingDataSource2FB - Data source that is used to estimate facial expression.
C Specification
The XrFaceTrackingDataSource2FB enumeration is defined as:
// Provided by XR_FB_face_tracking2
typedef enum XrFaceTrackingDataSource2FB {
XR_FACE_TRACKING_DATA_SOURCE2_VISUAL_FB = 0,
XR_FACE_TRACKING_DATA_SOURCE2_AUDIO_FB = 1,
XR_FACE_TRACKING_DATA_SOURCE_2FB_MAX_ENUM_FB = 0x7FFFFFFF
} XrFaceTrackingDataSource2FB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFaceTrackingStateANDROID(3)
Name
XrFaceTrackingStateANDROID - Current tracking state of a face tracker
C Specification
The XrFaceTrackingStateANDROID enumeration identifies the different states of the face tracker.
// Provided by XR_ANDROID_face_tracking
typedef enum XrFaceTrackingStateANDROID {
XR_FACE_TRACKING_STATE_PAUSED_ANDROID = 0,
XR_FACE_TRACKING_STATE_STOPPED_ANDROID = 1,
XR_FACE_TRACKING_STATE_TRACKING_ANDROID = 2,
XR_FACE_TRACKING_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrFaceTrackingStateANDROID;
Description
The enumerants have the following meanings:
| Enum | Description |
|---|---|
|
Indicates that face tracking is paused but may be resumed in the future. |
|
Tracking has stopped but the client still has an active face tracker. |
|
The face is currently tracked and its pose is current. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialBlendShapeML(3)
Name
XrFacialBlendShapeML - The names of trackable blend shapes
C Specification
// Provided by XR_ML_facial_expression
typedef enum XrFacialBlendShapeML {
XR_FACIAL_BLEND_SHAPE_BROW_LOWERER_L_ML = 0,
XR_FACIAL_BLEND_SHAPE_BROW_LOWERER_R_ML = 1,
XR_FACIAL_BLEND_SHAPE_CHEEK_RAISER_L_ML = 2,
XR_FACIAL_BLEND_SHAPE_CHEEK_RAISER_R_ML = 3,
XR_FACIAL_BLEND_SHAPE_CHIN_RAISER_ML = 4,
XR_FACIAL_BLEND_SHAPE_DIMPLER_L_ML = 5,
XR_FACIAL_BLEND_SHAPE_DIMPLER_R_ML = 6,
XR_FACIAL_BLEND_SHAPE_EYES_CLOSED_L_ML = 7,
XR_FACIAL_BLEND_SHAPE_EYES_CLOSED_R_ML = 8,
XR_FACIAL_BLEND_SHAPE_INNER_BROW_RAISER_L_ML = 9,
XR_FACIAL_BLEND_SHAPE_INNER_BROW_RAISER_R_ML = 10,
XR_FACIAL_BLEND_SHAPE_JAW_DROP_ML = 11,
XR_FACIAL_BLEND_SHAPE_LID_TIGHTENER_L_ML = 12,
XR_FACIAL_BLEND_SHAPE_LID_TIGHTENER_R_ML = 13,
XR_FACIAL_BLEND_SHAPE_LIP_CORNER_DEPRESSOR_L_ML = 14,
XR_FACIAL_BLEND_SHAPE_LIP_CORNER_DEPRESSOR_R_ML = 15,
XR_FACIAL_BLEND_SHAPE_LIP_CORNER_PULLER_L_ML = 16,
XR_FACIAL_BLEND_SHAPE_LIP_CORNER_PULLER_R_ML = 17,
XR_FACIAL_BLEND_SHAPE_LIP_FUNNELER_LB_ML = 18,
XR_FACIAL_BLEND_SHAPE_LIP_FUNNELER_LT_ML = 19,
XR_FACIAL_BLEND_SHAPE_LIP_FUNNELER_RB_ML = 20,
XR_FACIAL_BLEND_SHAPE_LIP_FUNNELER_RT_ML = 21,
XR_FACIAL_BLEND_SHAPE_LIP_PRESSOR_L_ML = 22,
XR_FACIAL_BLEND_SHAPE_LIP_PRESSOR_R_ML = 23,
XR_FACIAL_BLEND_SHAPE_LIP_PUCKER_L_ML = 24,
XR_FACIAL_BLEND_SHAPE_LIP_PUCKER_R_ML = 25,
XR_FACIAL_BLEND_SHAPE_LIP_STRETCHER_L_ML = 26,
XR_FACIAL_BLEND_SHAPE_LIP_STRETCHER_R_ML = 27,
XR_FACIAL_BLEND_SHAPE_LIP_SUCK_LB_ML = 28,
XR_FACIAL_BLEND_SHAPE_LIP_SUCK_LT_ML = 29,
XR_FACIAL_BLEND_SHAPE_LIP_SUCK_RB_ML = 30,
XR_FACIAL_BLEND_SHAPE_LIP_SUCK_RT_ML = 31,
XR_FACIAL_BLEND_SHAPE_LIP_TIGHTENER_L_ML = 32,
XR_FACIAL_BLEND_SHAPE_LIP_TIGHTENER_R_ML = 33,
XR_FACIAL_BLEND_SHAPE_LIPS_TOWARD_ML = 34,
XR_FACIAL_BLEND_SHAPE_LOWER_LIP_DEPRESSOR_L_ML = 35,
XR_FACIAL_BLEND_SHAPE_LOWER_LIP_DEPRESSOR_R_ML = 36,
XR_FACIAL_BLEND_SHAPE_NOSE_WRINKLER_L_ML = 37,
XR_FACIAL_BLEND_SHAPE_NOSE_WRINKLER_R_ML = 38,
XR_FACIAL_BLEND_SHAPE_OUTER_BROW_RAISER_L_ML = 39,
XR_FACIAL_BLEND_SHAPE_OUTER_BROW_RAISER_R_ML = 40,
XR_FACIAL_BLEND_SHAPE_UPPER_LID_RAISER_L_ML = 41,
XR_FACIAL_BLEND_SHAPE_UPPER_LID_RAISER_R_ML = 42,
XR_FACIAL_BLEND_SHAPE_UPPER_LIP_RAISER_L_ML = 43,
XR_FACIAL_BLEND_SHAPE_UPPER_LIP_RAISER_R_ML = 44,
XR_FACIAL_BLEND_SHAPE_TONGUE_OUT_ML = 45,
XR_FACIAL_BLEND_SHAPE_MAX_ENUM_ML = 0x7FFFFFFF
} XrFacialBlendShapeML;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionBlendShapePropertiesFlagBitsML(3)
Name
XrFacialExpressionBlendShapePropertiesFlagBitsML - Flag bits for facial expression blend shape properties.
C Specification
Valid bits for XrFacialExpressionBlendShapePropertiesFlagsML are defined by XrFacialExpressionBlendShapePropertiesFlagBitsML and are specified as:
// Flag bits for XrFacialExpressionBlendShapePropertiesFlagsML
static const XrFacialExpressionBlendShapePropertiesFlagsML XR_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_VALID_BIT_ML = 0x00000001;
static const XrFacialExpressionBlendShapePropertiesFlagsML XR_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_TRACKED_BIT_ML = 0x00000002;
Description
The flag bits' meaning are described as below:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialSimulationModeBD(3)
Name
XrFacialSimulationModeBD - Facial simulation modes
C Specification
The XrFacialSimulationModeBD enumeration describes the modes of facial simulation and tracking.
// Provided by XR_BD_facial_simulation
typedef enum XrFacialSimulationModeBD {
XR_FACIAL_SIMULATION_MODE_DEFAULT_BD = 0,
XR_FACIAL_SIMULATION_MODE_COMBINED_AUDIO_BD = 1,
XR_FACIAL_SIMULATION_MODE_COMBINED_AUDIO_WITH_LIP_BD = 2,
XR_FACIAL_SIMULATION_MODE_ONLY_AUDIO_WITH_LIP_BD = 3,
XR_FACIAL_SIMULATION_MODE_MAX_ENUM_BD = 0x7FFFFFFF
} XrFacialSimulationModeBD;
Description
When using XR_FACIAL_SIMULATION_MODE_DEFAULT_BD and
XR_FACIAL_SIMULATION_MODE_COMBINED_AUDIO_BD, only
XrFacialSimulationDataBD is populated in the output.
When using XR_FACIAL_SIMULATION_MODE_COMBINED_AUDIO_WITH_LIP_BD the
application must chain an XrLipExpressionDataBD to
XrFacialSimulationDataBD::next when calling
xrGetFacialSimulationDataBD.
When using XR_FACIAL_SIMULATION_MODE_ONLY_AUDIO_WITH_LIP_BD the
runtime may generate predicted animations in face expression in
XrFacialSimulationDataBD and XrLipExpressionDataBD structures
when calling xrGetFacialSimulationDataBD, to make the avatar look more
natural.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialTrackingTypeHTC(3)
Name
XrFacialTrackingTypeHTC - Describes the type of facial tracking.
C Specification
The XrFacialTrackingTypeHTC describes which type of tracking the XrFacialTrackerHTC is using.
// Provided by XR_HTC_facial_tracking
typedef enum XrFacialTrackingTypeHTC {
XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC = 1,
XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC = 2,
XR_FACIAL_TRACKING_TYPE_MAX_ENUM_HTC = 0x7FFFFFFF
} XrFacialTrackingTypeHTC;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrForceFeedbackCurlLocationMNDX(3)
Name
XrForceFeedbackCurlLocationMNDX - Describes which location to apply force feedback
C Specification
The XrForceFeedbackCurlLocationMNDX describes which location to apply force feedback.
// Provided by XR_MNDX_force_feedback_curl
typedef enum XrForceFeedbackCurlLocationMNDX {
XR_FORCE_FEEDBACK_CURL_LOCATION_THUMB_CURL_MNDX = 0,
XR_FORCE_FEEDBACK_CURL_LOCATION_INDEX_CURL_MNDX = 1,
XR_FORCE_FEEDBACK_CURL_LOCATION_MIDDLE_CURL_MNDX = 2,
XR_FORCE_FEEDBACK_CURL_LOCATION_RING_CURL_MNDX = 3,
XR_FORCE_FEEDBACK_CURL_LOCATION_LITTLE_CURL_MNDX = 4,
XR_FORCE_FEEDBACK_CURL_LOCATION_MAX_ENUM_MNDX = 0x7FFFFFFF
} XrForceFeedbackCurlLocationMNDX;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFormFactor(3)
Name
XrFormFactor - Supported form factors
C Specification
typedef enum XrFormFactor {
XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY = 1,
XR_FORM_FACTOR_HANDHELD_DISPLAY = 2,
XR_FORM_FACTOR_MAX_ENUM = 0x7FFFFFFF
} XrFormFactor;
Description
The predefined form factors which may be supported by OpenXR runtimes are:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationDynamicFB(3)
Name
XrFoveationDynamicFB - Dynamic foveation settings
C Specification
The possible foveation levels are specified by the XrFoveationDynamicFB enumeration:
// Provided by XR_FB_foveation_configuration
typedef enum XrFoveationDynamicFB {
XR_FOVEATION_DYNAMIC_DISABLED_FB = 0,
XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_FB = 1,
XR_FOVEATION_DYNAMIC_MAX_ENUM_FB = 0x7FFFFFFF
} XrFoveationDynamicFB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationDynamicFlagBitsHTC(3)
Name
XrFoveationDynamicFlagBitsHTC - Features allow to change in dynamic mode
C Specification
// Flag bits for XrFoveationDynamicFlagsHTC
static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_LEVEL_ENABLED_BIT_HTC = 0x00000001;
static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_CLEAR_FOV_ENABLED_BIT_HTC = 0x00000002;
static const XrFoveationDynamicFlagsHTC XR_FOVEATION_DYNAMIC_FOCAL_CENTER_OFFSET_ENABLED_BIT_HTC = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedProfileCreateFlagBitsMETA(3)
Name
XrFoveationEyeTrackedProfileCreateFlagBitsMETA - XrFoveationEyeTrackedProfileCreateFlagBitsMETA
C Specification
// Provided by XR_META_foveation_eye_tracked
// Flag bits for XrFoveationEyeTrackedProfileCreateFlagsMETA
Description
This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedStateFlagBitsMETA(3)
Name
XrFoveationEyeTrackedStateFlagBitsMETA - XrFoveationEyeTrackedStateFlagBitsMETA
C Specification
// Provided by XR_META_foveation_eye_tracked
// Flag bits for XrFoveationEyeTrackedStateFlagsMETA
static const XrFoveationEyeTrackedStateFlagsMETA XR_FOVEATION_EYE_TRACKED_STATE_VALID_BIT_META = 0x00000001;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationLevelFB(3)
Name
XrFoveationLevelFB - Foveation levels
C Specification
The possible foveation levels are specified by the XrFoveationLevelFB enumeration:
// Provided by XR_FB_foveation_configuration
typedef enum XrFoveationLevelFB {
XR_FOVEATION_LEVEL_NONE_FB = 0,
XR_FOVEATION_LEVEL_LOW_FB = 1,
XR_FOVEATION_LEVEL_MEDIUM_FB = 2,
XR_FOVEATION_LEVEL_HIGH_FB = 3,
XR_FOVEATION_LEVEL_MAX_ENUM_FB = 0x7FFFFFFF
} XrFoveationLevelFB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationLevelHTC(3)
Name
XrFoveationLevelHTC - The pixel density drop level of periphery area
C Specification
// Provided by XR_HTC_foveation
typedef enum XrFoveationLevelHTC {
XR_FOVEATION_LEVEL_NONE_HTC = 0,
XR_FOVEATION_LEVEL_LOW_HTC = 1,
XR_FOVEATION_LEVEL_MEDIUM_HTC = 2,
XR_FOVEATION_LEVEL_HIGH_HTC = 3,
XR_FOVEATION_LEVEL_MAX_ENUM_HTC = 0x7FFFFFFF
} XrFoveationLevelHTC;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationModeHTC(3)
Name
XrFoveationModeHTC - Foveation mode
C Specification
XrFoveationModeHTC identifies the different foveation modes.
// Provided by XR_HTC_foveation
typedef enum XrFoveationModeHTC {
XR_FOVEATION_MODE_DISABLE_HTC = 0,
XR_FOVEATION_MODE_FIXED_HTC = 1,
XR_FOVEATION_MODE_DYNAMIC_HTC = 2,
XR_FOVEATION_MODE_CUSTOM_HTC = 3,
XR_FOVEATION_MODE_MAX_ENUM_HTC = 0x7FFFFFFF
} XrFoveationModeHTC;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameEndInfoFlagBitsML(3)
Name
XrFrameEndInfoFlagBitsML - XrFrameEndInfoFlagBitsML
C Specification
Valid bits for XrFrameEndInfoFlagsML are defined by XrFrameEndInfoFlagBitsML, which is specified as:
// Flag bits for XrFrameEndInfoFlagsML
static const XrFrameEndInfoFlagsML XR_FRAME_END_INFO_PROTECTED_BIT_ML = 0x00000001;
static const XrFrameEndInfoFlagsML XR_FRAME_END_INFO_VIGNETTE_BIT_ML = 0x00000002;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameSynthesisInfoFlagBitsEXT(3)
Name
XrFrameSynthesisInfoFlagBitsEXT - XrFrameSynthesisInfoFlagBitsEXT
C Specification
// Flag bits for XrFrameSynthesisInfoFlagsEXT
static const XrFrameSynthesisInfoFlagsEXT XR_FRAME_SYNTHESIS_INFO_USE_2D_MOTION_VECTOR_BIT_EXT = 0x00000001;
static const XrFrameSynthesisInfoFlagsEXT XR_FRAME_SYNTHESIS_INFO_REQUEST_RELAXED_FRAME_INTERVAL_BIT_EXT = 0x00000002;
Description
By default, 3D motion vector data is expected by the runtime, so motionVectorSubImagergb, motionVectorScalexyz and motionVectorOffsetxyz are used, as described in XrFrameSynthesisInfoEXT.
When XR_FRAME_SYNTHESIS_INFO_USE_2D_MOTION_VECTOR_BIT_EXT is enabled
on XrFrameSynthesisInfoEXT layerFlags, the runtime instead
interprets the submitted motion vector image as 2D motion vector data,
representing 2D pixel movement from the previous frame to the current frame.
Pixels values are interpreted as follows for 2D motion vector data:
motionVector = motionVectorSubImagerg * motionVectorScalexy +
motionVectorOffsetxy.
The components motionVectorSubImageba, motionVectorScalezw
and motionVectorOffsetzw are ignored.
Using 2D instead of 3D motion vector data may decrease the quality of the
synthesized frames.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFullBodyJointMETA(3)
Name
XrFullBodyJointMETA - Create a full body tracker.
C Specification
The XrBodyJointSetFB enum is extended with a new joint set
XR_BODY_JOINT_SET_FULL_BODY_META, which can be set as the joint set in
the XrBodyTrackerCreateInfoFB info parameter to
xrCreateBodyTrackerFB.
// Provided by XR_META_body_tracking_full_body
typedef enum XrFullBodyJointMETA {
XR_FULL_BODY_JOINT_ROOT_META = 0,
XR_FULL_BODY_JOINT_HIPS_META = 1,
XR_FULL_BODY_JOINT_SPINE_LOWER_META = 2,
XR_FULL_BODY_JOINT_SPINE_MIDDLE_META = 3,
XR_FULL_BODY_JOINT_SPINE_UPPER_META = 4,
XR_FULL_BODY_JOINT_CHEST_META = 5,
XR_FULL_BODY_JOINT_NECK_META = 6,
XR_FULL_BODY_JOINT_HEAD_META = 7,
XR_FULL_BODY_JOINT_LEFT_SHOULDER_META = 8,
XR_FULL_BODY_JOINT_LEFT_SCAPULA_META = 9,
XR_FULL_BODY_JOINT_LEFT_ARM_UPPER_META = 10,
XR_FULL_BODY_JOINT_LEFT_ARM_LOWER_META = 11,
XR_FULL_BODY_JOINT_LEFT_HAND_WRIST_TWIST_META = 12,
XR_FULL_BODY_JOINT_RIGHT_SHOULDER_META = 13,
XR_FULL_BODY_JOINT_RIGHT_SCAPULA_META = 14,
XR_FULL_BODY_JOINT_RIGHT_ARM_UPPER_META = 15,
XR_FULL_BODY_JOINT_RIGHT_ARM_LOWER_META = 16,
XR_FULL_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_META = 17,
XR_FULL_BODY_JOINT_LEFT_HAND_PALM_META = 18,
XR_FULL_BODY_JOINT_LEFT_HAND_WRIST_META = 19,
XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_META = 20,
XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_META = 21,
XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_META = 22,
XR_FULL_BODY_JOINT_LEFT_HAND_THUMB_TIP_META = 23,
XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_META = 24,
XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_META = 25,
XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_META = 26,
XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_META = 27,
XR_FULL_BODY_JOINT_LEFT_HAND_INDEX_TIP_META = 28,
XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_META = 29,
XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_META = 30,
XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_META = 31,
XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_META = 32,
XR_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_META = 33,
XR_FULL_BODY_JOINT_LEFT_HAND_RING_METACARPAL_META = 34,
XR_FULL_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_META = 35,
XR_FULL_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_META = 36,
XR_FULL_BODY_JOINT_LEFT_HAND_RING_DISTAL_META = 37,
XR_FULL_BODY_JOINT_LEFT_HAND_RING_TIP_META = 38,
XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_META = 39,
XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_META = 40,
XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_META = 41,
XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_META = 42,
XR_FULL_BODY_JOINT_LEFT_HAND_LITTLE_TIP_META = 43,
XR_FULL_BODY_JOINT_RIGHT_HAND_PALM_META = 44,
XR_FULL_BODY_JOINT_RIGHT_HAND_WRIST_META = 45,
XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_META = 46,
XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_META = 47,
XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_META = 48,
XR_FULL_BODY_JOINT_RIGHT_HAND_THUMB_TIP_META = 49,
XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_META = 50,
XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_META = 51,
XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_META = 52,
XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_META = 53,
XR_FULL_BODY_JOINT_RIGHT_HAND_INDEX_TIP_META = 54,
XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_META = 55,
XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_META = 56,
XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_META = 57,
XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_META = 58,
XR_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_META = 59,
XR_FULL_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_META = 60,
XR_FULL_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_META = 61,
XR_FULL_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_META = 62,
XR_FULL_BODY_JOINT_RIGHT_HAND_RING_DISTAL_META = 63,
XR_FULL_BODY_JOINT_RIGHT_HAND_RING_TIP_META = 64,
XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_META = 65,
XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_META = 66,
XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_META = 67,
XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_META = 68,
XR_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_META = 69,
XR_FULL_BODY_JOINT_LEFT_UPPER_LEG_META = 70,
XR_FULL_BODY_JOINT_LEFT_LOWER_LEG_META = 71,
XR_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_TWIST_META = 72,
XR_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_META = 73,
XR_FULL_BODY_JOINT_LEFT_FOOT_SUBTALAR_META = 74,
XR_FULL_BODY_JOINT_LEFT_FOOT_TRANSVERSE_META = 75,
XR_FULL_BODY_JOINT_LEFT_FOOT_BALL_META = 76,
XR_FULL_BODY_JOINT_RIGHT_UPPER_LEG_META = 77,
XR_FULL_BODY_JOINT_RIGHT_LOWER_LEG_META = 78,
XR_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_TWIST_META = 79,
XR_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_META = 80,
XR_FULL_BODY_JOINT_RIGHT_FOOT_SUBTALAR_META = 81,
XR_FULL_BODY_JOINT_RIGHT_FOOT_TRANSVERSE_META = 82,
XR_FULL_BODY_JOINT_RIGHT_FOOT_BALL_META = 83,
XR_FULL_BODY_JOINT_COUNT_META = 84,
XR_FULL_BODY_JOINT_NONE_META = 85,
XR_FULL_BODY_JOINT_MAX_ENUM_META = 0x7FFFFFFF
} XrFullBodyJointMETA;
Description
These joint enumeration values index into the array returned by body
tracking when the joint set XR_BODY_JOINT_SET_FULL_BODY_META is used.
There are a total of XR_FULL_BODY_JOINT_COUNT_META joints in this set.
The joint indices shared with XrBodyJointFB have the same semantic
meaning.
The meaning of joint index 0 through XR_BODY_JOINT_COUNT_FB - 1 (69)
matches the corresponding index in XrBodyJointFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFutureStateEXT(3)
Name
XrFutureStateEXT - Information on future to cancel
C Specification
The XrFutureStateEXT enumerates the possible future lifecycle states:
// Provided by XR_EXT_future
typedef enum XrFutureStateEXT {
XR_FUTURE_STATE_PENDING_EXT = 1,
XR_FUTURE_STATE_READY_EXT = 2,
XR_FUTURE_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrFutureStateEXT;
Description
XrFutureEXT LifecycleA future that is not invalidated (or completed) may be in one of two
states, Pending and Ready, represented by
XR_FUTURE_STATE_PENDING_EXT and XR_FUTURE_STATE_READY_EXT
respectively.
-
When successfully returned from an async function the future starts out as
Pending. In this state the future may be polled, but must not be passed to a completion function. Applications should wait for the future to become ready and keep polling the state of the future. If a pending future is passed to the associated completion function, it must returnXR_ERROR_FUTURE_PENDING_EXT. -
Once the asynchronous operation succeeds or fails, the state of the future moves to
Ready. In the ready state the future may be "Completed" with theCompletefunction. See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#ext_future-completing. -
After being successfully completed, the future becomes invalidated if the completion function returns a success code, and in the case of two-call idioms, the array was not
NULL. -
After a call to xrCancelFutureEXT, the future becomes invalidated immediately and any resources associated with it may be freed (including handles)
-
When the associated handle is destroyed, the futures become invalidated. See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#ext_future-scope.
A future returned from an async function must be in either the state
XR_FUTURE_STATE_PENDING_EXT or XR_FUTURE_STATE_READY_EXT.
A runtime may skip the Pending state and go directly to Ready if the
result is immediately available.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGlobalDimmerFrameEndInfoFlagBitsML(3)
Name
XrGlobalDimmerFrameEndInfoFlagBitsML - XrGlobalDimmerFrameEndInfoFlagBitsML
C Specification
Valid bits for XrGlobalDimmerFrameEndInfoFlagsML are defined by XrGlobalDimmerFrameEndInfoFlagBitsML, which is specified as:
// Flag bits for XrGlobalDimmerFrameEndInfoFlagsML
static const XrGlobalDimmerFrameEndInfoFlagsML XR_GLOBAL_DIMMER_FRAME_END_INFO_ENABLED_BIT_ML = 0x00000001;
Description
The flag bits have the following meanings:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandEXT(3)
Name
XrHandEXT - Describes which hand the tracker is tracking.
C Specification
The XrHandEXT describes which hand the XrHandTrackerEXT is tracking.
// Provided by XR_EXT_hand_tracking
typedef enum XrHandEXT {
XR_HAND_LEFT_EXT = 1,
XR_HAND_RIGHT_EXT = 2,
XR_HAND_MAX_ENUM_EXT = 0x7FFFFFFF
} XrHandEXT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandForearmJointULTRALEAP(3)
Name
XrHandForearmJointULTRALEAP - The name of hand joints that can be tracked including the elbow
C Specification
// Provided by XR_ULTRALEAP_hand_tracking_forearm
typedef enum XrHandForearmJointULTRALEAP {
XR_HAND_FOREARM_JOINT_PALM_ULTRALEAP = 0,
XR_HAND_FOREARM_JOINT_WRIST_ULTRALEAP = 1,
XR_HAND_FOREARM_JOINT_THUMB_METACARPAL_ULTRALEAP = 2,
XR_HAND_FOREARM_JOINT_THUMB_PROXIMAL_ULTRALEAP = 3,
XR_HAND_FOREARM_JOINT_THUMB_DISTAL_ULTRALEAP = 4,
XR_HAND_FOREARM_JOINT_THUMB_TIP_ULTRALEAP = 5,
XR_HAND_FOREARM_JOINT_INDEX_METACARPAL_ULTRALEAP = 6,
XR_HAND_FOREARM_JOINT_INDEX_PROXIMAL_ULTRALEAP = 7,
XR_HAND_FOREARM_JOINT_INDEX_INTERMEDIATE_ULTRALEAP = 8,
XR_HAND_FOREARM_JOINT_INDEX_DISTAL_ULTRALEAP = 9,
XR_HAND_FOREARM_JOINT_INDEX_TIP_ULTRALEAP = 10,
XR_HAND_FOREARM_JOINT_MIDDLE_METACARPAL_ULTRALEAP = 11,
XR_HAND_FOREARM_JOINT_MIDDLE_PROXIMAL_ULTRALEAP = 12,
XR_HAND_FOREARM_JOINT_MIDDLE_INTERMEDIATE_ULTRALEAP = 13,
XR_HAND_FOREARM_JOINT_MIDDLE_DISTAL_ULTRALEAP = 14,
XR_HAND_FOREARM_JOINT_MIDDLE_TIP_ULTRALEAP = 15,
XR_HAND_FOREARM_JOINT_RING_METACARPAL_ULTRALEAP = 16,
XR_HAND_FOREARM_JOINT_RING_PROXIMAL_ULTRALEAP = 17,
XR_HAND_FOREARM_JOINT_RING_INTERMEDIATE_ULTRALEAP = 18,
XR_HAND_FOREARM_JOINT_RING_DISTAL_ULTRALEAP = 19,
XR_HAND_FOREARM_JOINT_RING_TIP_ULTRALEAP = 20,
XR_HAND_FOREARM_JOINT_LITTLE_METACARPAL_ULTRALEAP = 21,
XR_HAND_FOREARM_JOINT_LITTLE_PROXIMAL_ULTRALEAP = 22,
XR_HAND_FOREARM_JOINT_LITTLE_INTERMEDIATE_ULTRALEAP = 23,
XR_HAND_FOREARM_JOINT_LITTLE_DISTAL_ULTRALEAP = 24,
XR_HAND_FOREARM_JOINT_LITTLE_TIP_ULTRALEAP = 25,
XR_HAND_FOREARM_JOINT_ELBOW_ULTRALEAP = 26,
XR_HAND_FOREARM_JOINT_MAX_ENUM_ULTRALEAP = 0x7FFFFFFF
} XrHandForearmJointULTRALEAP;
Description
|
Note
|
Note
The first XR_HAND_JOINT_COUNT_EXT members of XrHandForearmJointULTRALEAP are identical to the members of XrHandJointEXT and can be used interchangeably. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointEXT(3)
Name
XrHandJointEXT - The name of hand joints that can be tracked
C Specification
// Provided by XR_EXT_hand_tracking
typedef enum XrHandJointEXT {
XR_HAND_JOINT_PALM_EXT = 0,
XR_HAND_JOINT_WRIST_EXT = 1,
XR_HAND_JOINT_THUMB_METACARPAL_EXT = 2,
XR_HAND_JOINT_THUMB_PROXIMAL_EXT = 3,
XR_HAND_JOINT_THUMB_DISTAL_EXT = 4,
XR_HAND_JOINT_THUMB_TIP_EXT = 5,
XR_HAND_JOINT_INDEX_METACARPAL_EXT = 6,
XR_HAND_JOINT_INDEX_PROXIMAL_EXT = 7,
XR_HAND_JOINT_INDEX_INTERMEDIATE_EXT = 8,
XR_HAND_JOINT_INDEX_DISTAL_EXT = 9,
XR_HAND_JOINT_INDEX_TIP_EXT = 10,
XR_HAND_JOINT_MIDDLE_METACARPAL_EXT = 11,
XR_HAND_JOINT_MIDDLE_PROXIMAL_EXT = 12,
XR_HAND_JOINT_MIDDLE_INTERMEDIATE_EXT = 13,
XR_HAND_JOINT_MIDDLE_DISTAL_EXT = 14,
XR_HAND_JOINT_MIDDLE_TIP_EXT = 15,
XR_HAND_JOINT_RING_METACARPAL_EXT = 16,
XR_HAND_JOINT_RING_PROXIMAL_EXT = 17,
XR_HAND_JOINT_RING_INTERMEDIATE_EXT = 18,
XR_HAND_JOINT_RING_DISTAL_EXT = 19,
XR_HAND_JOINT_RING_TIP_EXT = 20,
XR_HAND_JOINT_LITTLE_METACARPAL_EXT = 21,
XR_HAND_JOINT_LITTLE_PROXIMAL_EXT = 22,
XR_HAND_JOINT_LITTLE_INTERMEDIATE_EXT = 23,
XR_HAND_JOINT_LITTLE_DISTAL_EXT = 24,
XR_HAND_JOINT_LITTLE_TIP_EXT = 25,
XR_HAND_JOINT_MAX_ENUM_EXT = 0x7FFFFFFF
} XrHandJointEXT;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointSetEXT(3)
Name
XrHandJointSetEXT - The set of hand joints to track.
C Specification
The XrHandJointSetEXT enum describes the set of hand joints to track when creating an XrHandTrackerEXT.
// Provided by XR_EXT_hand_tracking
typedef enum XrHandJointSetEXT {
XR_HAND_JOINT_SET_DEFAULT_EXT = 0,
// Provided by XR_ULTRALEAP_hand_tracking_forearm
XR_HAND_JOINT_SET_HAND_WITH_FOREARM_ULTRALEAP = 1000149000,
XR_HAND_JOINT_SET_MAX_ENUM_EXT = 0x7FFFFFFF
} XrHandJointSetEXT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandJointsMotionRangeEXT(3)
Name
XrHandJointsMotionRangeEXT - Describes the hand animation range of motion.
C Specification
The XrHandJointsMotionRangeEXT describes the hand joints' range of motion returned by xrLocateHandJointsEXT.
Runtimes must support both
XR_HAND_JOINTS_MOTION_RANGE_CONFORMING_TO_CONTROLLER_EXT and
XR_HAND_JOINTS_MOTION_RANGE_UNOBSTRUCTED_EXT for each controller
interaction profile that supports hand joint data.
// Provided by XR_EXT_hand_joints_motion_range
typedef enum XrHandJointsMotionRangeEXT {
XR_HAND_JOINTS_MOTION_RANGE_UNOBSTRUCTED_EXT = 1,
XR_HAND_JOINTS_MOTION_RANGE_CONFORMING_TO_CONTROLLER_EXT = 2,
XR_HAND_JOINTS_MOTION_RANGE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrHandJointsMotionRangeEXT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandPoseTypeMSFT(3)
Name
XrHandPoseTypeMSFT - Describe type of input hand pose
C Specification
The XrHandPoseTypeMSFT describes the type of input hand pose from XrHandTrackerEXT.
// Provided by XR_MSFT_hand_tracking_mesh
typedef enum XrHandPoseTypeMSFT {
XR_HAND_POSE_TYPE_TRACKED_MSFT = 0,
XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT = 1,
XR_HAND_POSE_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrHandPoseTypeMSFT;
Description
The XR_HAND_POSE_TYPE_TRACKED_MSFT input provides best fidelity to the
user’s actual hand motion.
When the hand tracking input requires the user to be holding a controller in
their hand, the hand tracking input will appear as the user virtually
holding the controller.
This input can be used to render the hand shape together with the controller
in hand.
The XR_HAND_POSE_TYPE_REFERENCE_OPEN_PALM_MSFT input does not move
with the user’s actual hand.
Through this reference hand pose, an application can get a stable hand
joint and mesh that has the same mesh topology as the tracked hand mesh
using the same XrHandTrackerEXT, so that the application can apply the
data computed from a reference hand pose to the corresponding tracked hand.
Although a reference hand pose does not move with user’s hand motion, the
bone length and hand thickness may be updated, for example when tracking
result refines, or a different user’s hand is detected.
The application should update reference hand joints and meshes when the
tracked mesh’s indexBufferKey is changed or when the isActive
value returned from xrUpdateHandMeshMSFT changes from XR_FALSE
to XR_TRUE.
It can use the returned indexBufferKey and vertexUpdateTime from
xrUpdateHandMeshMSFT to avoid unnecessary CPU or GPU work to process
the neutral hand inputs.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingAimFlagBitsFB(3)
Name
XrHandTrackingAimFlagBitsFB - XrHandTrackingAimFlagBitsFB
C Specification
// Flag bits for XrHandTrackingAimFlagsFB
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_COMPUTED_BIT_FB = 0x00000001;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_VALID_BIT_FB = 0x00000002;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_INDEX_PINCHING_BIT_FB = 0x00000004;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_MIDDLE_PINCHING_BIT_FB = 0x00000008;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_RING_PINCHING_BIT_FB = 0x00000010;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_LITTLE_PINCHING_BIT_FB = 0x00000020;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_SYSTEM_GESTURE_BIT_FB = 0x00000040;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_DOMINANT_HAND_BIT_FB = 0x00000080;
static const XrHandTrackingAimFlagsFB XR_HAND_TRACKING_AIM_MENU_PRESSED_BIT_FB = 0x00000100;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingDataSourceEXT(3)
Name
XrHandTrackingDataSourceEXT - Describes the hand tracking data source.
C Specification
The XrHandTrackingDataSourceEXT enum describes a hand tracking data source when creating an XrHandTrackerEXT handle.
// Provided by XR_EXT_hand_tracking_data_source
typedef enum XrHandTrackingDataSourceEXT {
XR_HAND_TRACKING_DATA_SOURCE_UNOBSTRUCTED_EXT = 1,
XR_HAND_TRACKING_DATA_SOURCE_CONTROLLER_EXT = 2,
XR_HAND_TRACKING_DATA_SOURCE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrHandTrackingDataSourceEXT;
Description
The application can use XrHandTrackingDataSourceEXT with XrHandTrackingDataSourceInfoEXT when calling xrCreateHandTrackerEXT to tell the runtime all supported data sources for the application for the hand tracking inputs.
The application can use it with XrHandTrackingDataSourceStateEXT when calling xrLocateHandJointsEXT to inspect what data source the runtime used for the returned hand joint locations.
If the XR_EXT_hand_joints_motion_range extension is supported by the
runtime and the data source is
XR_HAND_TRACKING_DATA_SOURCE_CONTROLLER_EXT, then it is expected that
application will use that extension when retrieving hand joint poses.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHeadsetFitStatusML(3)
Name
XrHeadsetFitStatusML - Headset fit status
C Specification
// Provided by XR_ML_user_calibration
typedef enum XrHeadsetFitStatusML {
XR_HEADSET_FIT_STATUS_UNKNOWN_ML = 0,
XR_HEADSET_FIT_STATUS_NOT_WORN_ML = 1,
XR_HEADSET_FIT_STATUS_GOOD_FIT_ML = 2,
XR_HEADSET_FIT_STATUS_BAD_FIT_ML = 3,
XR_HEADSET_FIT_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
} XrHeadsetFitStatusML;
Description
| Enum | Description |
|---|---|
|
Headset fit status not available for unknown reason. |
|
Headset not worn. |
|
Good fit. |
|
Bad fit. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInputSourceLocalizedNameFlagBits(3)
Name
XrInputSourceLocalizedNameFlagBits - Input source localized name flags
C Specification
// Flag bits for XrInputSourceLocalizedNameFlags
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_USER_PATH_BIT = 0x00000001;
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_INTERACTION_PROFILE_BIT = 0x00000002;
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_COMPONENT_BIT = 0x00000004;
Description
The flag bits have the following meanings:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateFlagBits(3)
Name
XrInstanceCreateFlagBits - Instance Creation Flags
C Specification
Valid bits for XrInstanceCreateFlags are defined by XrInstanceCreateFlagBits.
// Flag bits for XrInstanceCreateFlags
Description
There are currently no instance creation flag bits defined. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingFlagBitsFB(3)
Name
XrKeyboardTrackingFlagBitsFB - XrKeyboardTrackingFlagBitsFB
C Specification
// Flag bits for XrKeyboardTrackingFlagsFB
static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_EXISTS_BIT_FB = 0x00000001;
static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_LOCAL_BIT_FB = 0x00000002;
static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_REMOTE_BIT_FB = 0x00000004;
static const XrKeyboardTrackingFlagsFB XR_KEYBOARD_TRACKING_CONNECTED_BIT_FB = 0x00000008;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingQueryFlagBitsFB(3)
Name
XrKeyboardTrackingQueryFlagBitsFB - XrKeyboardTrackingQueryFlagBitsFB
C Specification
// Flag bits for XrKeyboardTrackingQueryFlagsFB
static const XrKeyboardTrackingQueryFlagsFB XR_KEYBOARD_TRACKING_QUERY_LOCAL_BIT_FB = 0x00000002;
static const XrKeyboardTrackingQueryFlagsFB XR_KEYBOARD_TRACKING_QUERY_REMOTE_BIT_FB = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLipExpressionBD(3)
Name
XrLipExpressionBD - The name of blend shapes of lip that can be tracked
C Specification
// Provided by XR_BD_facial_simulation
typedef enum XrLipExpressionBD {
XR_LIP_EXPRESSION_PP_BD = 0,
XR_LIP_EXPRESSION_CH_BD = 1,
XR_LIP_EXPRESSION_LO_BD = 2,
XR_LIP_EXPRESSION_O_BD = 3,
XR_LIP_EXPRESSION_I_BD = 4,
XR_LIP_EXPRESSION_LU_BD = 5,
XR_LIP_EXPRESSION_RR_BD = 6,
XR_LIP_EXPRESSION_XX_BD = 7,
XR_LIP_EXPRESSION_LAA_BD = 8,
XR_LIP_EXPRESSION_LI_BD = 9,
XR_LIP_EXPRESSION_FF_BD = 10,
XR_LIP_EXPRESSION_U_BD = 11,
XR_LIP_EXPRESSION_TH_BD = 12,
XR_LIP_EXPRESSION_LKK_BD = 13,
XR_LIP_EXPRESSION_SS_BD = 14,
XR_LIP_EXPRESSION_LE_BD = 15,
XR_LIP_EXPRESSION_DD_BD = 16,
XR_LIP_EXPRESSION_E_BD = 17,
XR_LIP_EXPRESSION_LNN_BD = 18,
XR_LIP_EXPRESSION_SIL_BD = 19,
XR_LIP_EXPRESSION_MAX_ENUM_BD = 0x7FFFFFFF
} XrLipExpressionBD;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLipExpressionHTC(3)
Name
XrLipExpressionHTC - The blend shapes of lip expression
C Specification
// Provided by XR_HTC_facial_tracking
typedef enum XrLipExpressionHTC {
XR_LIP_EXPRESSION_JAW_RIGHT_HTC = 0,
XR_LIP_EXPRESSION_JAW_LEFT_HTC = 1,
XR_LIP_EXPRESSION_JAW_FORWARD_HTC = 2,
XR_LIP_EXPRESSION_JAW_OPEN_HTC = 3,
XR_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC = 4,
XR_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC = 5,
XR_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC = 6,
XR_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC = 7,
XR_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC = 8,
XR_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC = 9,
XR_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC = 10,
XR_LIP_EXPRESSION_MOUTH_POUT_HTC = 11,
XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC = 12,
XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC = 13,
XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC = 14,
XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC = 15,
XR_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC = 16,
XR_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC = 17,
XR_LIP_EXPRESSION_CHEEK_SUCK_HTC = 18,
XR_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC = 19,
XR_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC = 20,
XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC = 21,
XR_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC = 22,
XR_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC = 23,
XR_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC = 24,
XR_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC = 25,
XR_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC = 26,
XR_LIP_EXPRESSION_TONGUE_LEFT_HTC = 27,
XR_LIP_EXPRESSION_TONGUE_RIGHT_HTC = 28,
XR_LIP_EXPRESSION_TONGUE_UP_HTC = 29,
XR_LIP_EXPRESSION_TONGUE_DOWN_HTC = 30,
XR_LIP_EXPRESSION_TONGUE_ROLL_HTC = 31,
XR_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC = 32,
XR_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC = 33,
XR_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC = 34,
XR_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC = 35,
XR_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC = 36,
// Provided by XR_HTC_facial_tracking
XR_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC = XR_LIP_EXPRESSION_MOUTH_RAISER_RIGHT_HTC,
// Provided by XR_HTC_facial_tracking
XR_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC = XR_LIP_EXPRESSION_MOUTH_RAISER_LEFT_HTC,
// Provided by XR_HTC_facial_tracking
XR_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC = XR_LIP_EXPRESSION_MOUTH_STRETCHER_RIGHT_HTC,
// Provided by XR_HTC_facial_tracking
XR_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC = XR_LIP_EXPRESSION_MOUTH_STRETCHER_LEFT_HTC,
XR_LIP_EXPRESSION_MAX_ENUM_HTC = 0x7FFFFFFF
} XrLipExpressionHTC;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLoaderInterfaceStructs(3)
Name
XrLoaderInterfaceStructs - Values for the structType of loader structs
C Specification
The XrLoaderInterfaceStructs enumeration is defined as:
typedef enum XrLoaderInterfaceStructs {
XR_LOADER_INTERFACE_STRUCT_UNINTIALIZED = 0,
XR_LOADER_INTERFACE_STRUCT_LOADER_INFO = 1,
XR_LOADER_INTERFACE_STRUCT_API_LAYER_REQUEST = 2,
XR_LOADER_INTERFACE_STRUCT_RUNTIME_REQUEST = 3,
XR_LOADER_INTERFACE_STRUCT_API_LAYER_CREATE_INFO = 4,
XR_LOADER_INTERFACE_STRUCT_API_LAYER_NEXT_INFO = 5,
XR_LOADER_INTERFACE_STRUCTS_MAX_ENUM = 0x7FFFFFFF
} XrLoaderInterfaceStructs;
Description
This enumeration serves a similar purpose in the runtime and API layer interface negotiation (loader) API as XrStructureType serves in the application-facing API.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalDimmingModeMETA(3)
Name
XrLocalDimmingModeMETA - Local dimming modes
C Specification
The local dimming mode is specified by the XrLocalDimmingModeMETA enumeration:
// Provided by XR_META_local_dimming
typedef enum XrLocalDimmingModeMETA {
XR_LOCAL_DIMMING_MODE_OFF_META = 0,
XR_LOCAL_DIMMING_MODE_ON_META = 1,
XR_LOCAL_DIMMING_MODE_MAX_ENUM_META = 0x7FFFFFFF
} XrLocalDimmingModeMETA;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapConfidenceML(3)
Name
XrLocalizationMapConfidenceML - Localization Confidence
C Specification
// Provided by XR_ML_localization_map
typedef enum XrLocalizationMapConfidenceML {
XR_LOCALIZATION_MAP_CONFIDENCE_POOR_ML = 0,
XR_LOCALIZATION_MAP_CONFIDENCE_FAIR_ML = 1,
XR_LOCALIZATION_MAP_CONFIDENCE_GOOD_ML = 2,
XR_LOCALIZATION_MAP_CONFIDENCE_EXCELLENT_ML = 3,
XR_LOCALIZATION_MAP_CONFIDENCE_MAX_ENUM_ML = 0x7FFFFFFF
} XrLocalizationMapConfidenceML;
Description
| Enum | Description |
|---|---|
|
The localization map has poor confidence, systems relying on the localization map are likely to have poor performance. |
|
The confidence is fair, current environmental conditions may adversely affect localization. |
|
The confidence is high, persistent content should be stable. |
|
This is a very high-confidence localization, persistent content will be very stable. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapErrorFlagBitsML(3)
Name
XrLocalizationMapErrorFlagBitsML - The world meshing detector flags.
C Specification
// Provided by XR_ML_localization_map
// Flag bits for XrLocalizationMapErrorFlagsML
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_UNKNOWN_BIT_ML = 0x00000001;
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_OUT_OF_MAPPED_AREA_BIT_ML = 0x00000002;
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_LOW_FEATURE_COUNT_BIT_ML = 0x00000004;
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_EXCESSIVE_MOTION_BIT_ML = 0x00000008;
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_LOW_LIGHT_BIT_ML = 0x00000010;
static const XrLocalizationMapErrorFlagsML XR_LOCALIZATION_MAP_ERROR_HEADPOSE_BIT_ML = 0x00000020;
Description
The flag bits have the following meanings:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapStateML(3)
Name
XrLocalizationMapStateML - Localization Map State
C Specification
// Provided by XR_ML_localization_map
typedef enum XrLocalizationMapStateML {
XR_LOCALIZATION_MAP_STATE_NOT_LOCALIZED_ML = 0,
XR_LOCALIZATION_MAP_STATE_LOCALIZED_ML = 1,
XR_LOCALIZATION_MAP_STATE_LOCALIZATION_PENDING_ML = 2,
XR_LOCALIZATION_MAP_STATE_LOCALIZATION_SLEEPING_BEFORE_RETRY_ML = 3,
XR_LOCALIZATION_MAP_STATE_MAX_ENUM_ML = 0x7FFFFFFF
} XrLocalizationMapStateML;
Description
| Enum | Description |
|---|---|
|
The system is not localized into a map. Features like Spatial Anchors relying on localization will not work. |
|
The system is localized into a map. |
|
The system is localizing into a map. |
|
Initial localization failed, the system will retry localization. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapTypeML(3)
Name
XrLocalizationMapTypeML - Localization Map Type
C Specification
// Provided by XR_ML_localization_map
typedef enum XrLocalizationMapTypeML {
XR_LOCALIZATION_MAP_TYPE_ON_DEVICE_ML = 0,
XR_LOCALIZATION_MAP_TYPE_CLOUD_ML = 1,
XR_LOCALIZATION_MAP_TYPE_MAX_ENUM_ML = 0x7FFFFFFF
} XrLocalizationMapTypeML;
Description
| Enum | Description |
|---|---|
|
The system is localized into an On-Device map, published anchors are not shared between different devices. |
|
The system is localized into a Cloud Map, anchors are shared per cloud account settings. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerAprilTagDictML(3)
Name
XrMarkerAprilTagDictML - AprilTag dictionaries
C Specification
The XrMarkerAprilTagDictML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerAprilTagDictML {
XR_MARKER_APRIL_TAG_DICT_16H5_ML = 0,
XR_MARKER_APRIL_TAG_DICT_25H9_ML = 1,
XR_MARKER_APRIL_TAG_DICT_36H10_ML = 2,
XR_MARKER_APRIL_TAG_DICT_36H11_ML = 3,
XR_MARKER_APRIL_TAG_DICT_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerAprilTagDictML;
Description
Supported predefined AprilTag dictionary:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerArucoDictML(3)
Name
XrMarkerArucoDictML - ArUco dictionaries
C Specification
The XrMarkerArucoDictML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerArucoDictML {
XR_MARKER_ARUCO_DICT_4X4_50_ML = 0,
XR_MARKER_ARUCO_DICT_4X4_100_ML = 1,
XR_MARKER_ARUCO_DICT_4X4_250_ML = 2,
XR_MARKER_ARUCO_DICT_4X4_1000_ML = 3,
XR_MARKER_ARUCO_DICT_5X5_50_ML = 4,
XR_MARKER_ARUCO_DICT_5X5_100_ML = 5,
XR_MARKER_ARUCO_DICT_5X5_250_ML = 6,
XR_MARKER_ARUCO_DICT_5X5_1000_ML = 7,
XR_MARKER_ARUCO_DICT_6X6_50_ML = 8,
XR_MARKER_ARUCO_DICT_6X6_100_ML = 9,
XR_MARKER_ARUCO_DICT_6X6_250_ML = 10,
XR_MARKER_ARUCO_DICT_6X6_1000_ML = 11,
XR_MARKER_ARUCO_DICT_7X7_50_ML = 12,
XR_MARKER_ARUCO_DICT_7X7_100_ML = 13,
XR_MARKER_ARUCO_DICT_7X7_250_ML = 14,
XR_MARKER_ARUCO_DICT_7X7_1000_ML = 15,
XR_MARKER_ARUCO_DICT_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerArucoDictML;
Description
Supported predefined ArUco dictionary:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorCameraML(3)
Name
XrMarkerDetectorCameraML - Camera hint
C Specification
The XrMarkerDetectorCameraML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorCameraML {
XR_MARKER_DETECTOR_CAMERA_RGB_CAMERA_ML = 0,
XR_MARKER_DETECTOR_CAMERA_WORLD_CAMERAS_ML = 1,
XR_MARKER_DETECTOR_CAMERA_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorCameraML;
Description
The XrMarkerDetectorCameraML enum values are used to hint to the camera that should be used. This is set in the XrMarkerDetectorCustomProfileInfoML.
The RGB camera has a higher resolution than world cameras and is better suited for use cases where the target to be tracked is small or needs to be detected from far away.
XR_MARKER_DETECTOR_CAMERA_WORLD_CAMERAS_ML make use of multiple
cameras to improve accuracy and increase the FoV for detection.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorCornerRefineMethodML(3)
Name
XrMarkerDetectorCornerRefineMethodML - Corner Refinement Method.
C Specification
The XrMarkerDetectorCornerRefineMethodML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorCornerRefineMethodML {
XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_NONE_ML = 0,
XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_SUBPIX_ML = 1,
XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_CONTOUR_ML = 2,
XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_APRIL_TAG_ML = 3,
XR_MARKER_DETECTOR_CORNER_REFINE_METHOD_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorCornerRefineMethodML;
Description
The ArUco/AprilTag detector comes with several corner refinement methods. Choosing the right corner refinement method has an impact on the accuracy and speed trade-off that comes with each detection pipeline.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorFpsML(3)
Name
XrMarkerDetectorFpsML - Framerate hint used with a custom profile
C Specification
The XrMarkerDetectorFpsML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorFpsML {
XR_MARKER_DETECTOR_FPS_LOW_ML = 0,
XR_MARKER_DETECTOR_FPS_MEDIUM_ML = 1,
XR_MARKER_DETECTOR_FPS_HIGH_ML = 2,
XR_MARKER_DETECTOR_FPS_MAX_ML = 3,
XR_MARKER_DETECTOR_FPS_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorFpsML;
Description
Used to hint to the back-end the max frames per second that should be analyzed.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorFullAnalysisIntervalML(3)
Name
XrMarkerDetectorFullAnalysisIntervalML - Full Frame Analysis Time Interval.
C Specification
The XrMarkerDetectorFullAnalysisIntervalML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorFullAnalysisIntervalML {
XR_MARKER_DETECTOR_FULL_ANALYSIS_INTERVAL_MAX_ML = 0,
XR_MARKER_DETECTOR_FULL_ANALYSIS_INTERVAL_FAST_ML = 1,
XR_MARKER_DETECTOR_FULL_ANALYSIS_INTERVAL_MEDIUM_ML = 2,
XR_MARKER_DETECTOR_FULL_ANALYSIS_INTERVAL_SLOW_ML = 3,
XR_MARKER_DETECTOR_FULL_ANALYSIS_INTERVAL_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorFullAnalysisIntervalML;
Description
In order to improve performance, the detectors do not always run on the full frame. Full frame analysis is however necessary to detect new markers that were not detected before. Use this option to control how often the detector should detect new markers and its impact on tracking performance.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorProfileML(3)
Name
XrMarkerDetectorProfileML - The possible premade profiles for an XrMarkerDetectorML
C Specification
The possible premade profiles for an XrMarkerDetectorML are specified by the XrMarkerDetectorProfileML enumeration:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorProfileML {
XR_MARKER_DETECTOR_PROFILE_DEFAULT_ML = 0,
XR_MARKER_DETECTOR_PROFILE_SPEED_ML = 1,
XR_MARKER_DETECTOR_PROFILE_ACCURACY_ML = 2,
XR_MARKER_DETECTOR_PROFILE_SMALL_TARGETS_ML = 3,
XR_MARKER_DETECTOR_PROFILE_LARGE_FOV_ML = 4,
XR_MARKER_DETECTOR_PROFILE_CUSTOM_ML = 5,
XR_MARKER_DETECTOR_PROFILE_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorProfileML;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorResolutionML(3)
Name
XrMarkerDetectorResolutionML - Resolution hint used with a custom profile
C Specification
The XrMarkerDetectorResolutionML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorResolutionML {
XR_MARKER_DETECTOR_RESOLUTION_LOW_ML = 0,
XR_MARKER_DETECTOR_RESOLUTION_MEDIUM_ML = 1,
XR_MARKER_DETECTOR_RESOLUTION_HIGH_ML = 2,
XR_MARKER_DETECTOR_RESOLUTION_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorResolutionML;
Description
Used to hint to the back-end the resolution that should be used. CPU load is a combination of chosen XrMarkerTypeML, XrMarkerDetectorFpsML, and XrMarkerDetectorResolutionML.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerDetectorStatusML(3)
Name
XrMarkerDetectorStatusML - Detector states
C Specification
The XrMarkerDetectorStatusML enumeration is defined as:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerDetectorStatusML {
XR_MARKER_DETECTOR_STATUS_PENDING_ML = 0,
XR_MARKER_DETECTOR_STATUS_READY_ML = 1,
XR_MARKER_DETECTOR_STATUS_ERROR_ML = 2,
XR_MARKER_DETECTOR_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerDetectorStatusML;
Description
The XrMarkerDetectorStatusML enumeration describes the current state of the marker detector. It is queried via xrGetMarkerDetectorStateML to determine if the marker tracker is currently available for inspection.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerTypeML(3)
Name
XrMarkerTypeML - The type of marker to be tracked by an XrMarkerDetectorML
C Specification
The type of marker to be tracked is specified via XrMarkerDetectorML:
// Provided by XR_ML_marker_understanding
typedef enum XrMarkerTypeML {
XR_MARKER_TYPE_ARUCO_ML = 0,
XR_MARKER_TYPE_APRIL_TAG_ML = 1,
XR_MARKER_TYPE_QR_ML = 2,
XR_MARKER_TYPE_EAN_13_ML = 3,
XR_MARKER_TYPE_UPC_A_ML = 4,
XR_MARKER_TYPE_CODE_128_ML = 5,
XR_MARKER_TYPE_MAX_ENUM_ML = 0x7FFFFFFF
} XrMarkerTypeML;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMeshComputeLodMSFT(3)
Name
XrMeshComputeLodMSFT - Mesh compute level of detail enumeration
C Specification
The XrMeshComputeLodMSFT enumeration identifies the level of detail of visual mesh compute.
// Provided by XR_MSFT_scene_understanding
typedef enum XrMeshComputeLodMSFT {
XR_MESH_COMPUTE_LOD_COARSE_MSFT = 1,
XR_MESH_COMPUTE_LOD_MEDIUM_MSFT = 2,
XR_MESH_COMPUTE_LOD_FINE_MSFT = 3,
XR_MESH_COMPUTE_LOD_UNLIMITED_MSFT = 4,
XR_MESH_COMPUTE_LOD_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrMeshComputeLodMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrObjectLabelANDROID(3)
Name
XrObjectLabelANDROID - The type of object that the system has identified.
C Specification
The XrObjectLabelANDROID enum describes the type of object that the system has identified.
// Provided by XR_ANDROID_trackables_object
typedef enum XrObjectLabelANDROID {
XR_OBJECT_LABEL_UNKNOWN_ANDROID = 0,
XR_OBJECT_LABEL_KEYBOARD_ANDROID = 1,
XR_OBJECT_LABEL_MOUSE_ANDROID = 2,
XR_OBJECT_LABEL_LAPTOP_ANDROID = 3,
XR_OBJECT_LABEL_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrObjectLabelANDROID;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrObjectType(3)
Name
XrObjectType - Specify an enumeration to track object handle types
C Specification
// Provided by XR_VERSION_1_0
typedef enum XrObjectType {
XR_OBJECT_TYPE_UNKNOWN = 0,
XR_OBJECT_TYPE_INSTANCE = 1,
XR_OBJECT_TYPE_SESSION = 2,
XR_OBJECT_TYPE_SWAPCHAIN = 3,
XR_OBJECT_TYPE_SPACE = 4,
XR_OBJECT_TYPE_ACTION_SET = 5,
XR_OBJECT_TYPE_ACTION = 6,
// Provided by XR_EXT_debug_utils
XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000019000,
// Provided by XR_MSFT_spatial_anchor
XR_OBJECT_TYPE_SPATIAL_ANCHOR_MSFT = 1000039000,
// Provided by XR_MSFT_spatial_graph_bridge
XR_OBJECT_TYPE_SPATIAL_GRAPH_NODE_BINDING_MSFT = 1000049000,
// Provided by XR_EXT_hand_tracking
XR_OBJECT_TYPE_HAND_TRACKER_EXT = 1000051000,
// Provided by XR_FB_body_tracking
XR_OBJECT_TYPE_BODY_TRACKER_FB = 1000076000,
// Provided by XR_MSFT_scene_understanding
XR_OBJECT_TYPE_SCENE_OBSERVER_MSFT = 1000097000,
// Provided by XR_MSFT_scene_understanding
XR_OBJECT_TYPE_SCENE_MSFT = 1000097001,
// Provided by XR_HTC_facial_tracking
XR_OBJECT_TYPE_FACIAL_TRACKER_HTC = 1000104000,
// Provided by XR_FB_foveation
XR_OBJECT_TYPE_FOVEATION_PROFILE_FB = 1000114000,
// Provided by XR_FB_triangle_mesh
XR_OBJECT_TYPE_TRIANGLE_MESH_FB = 1000117000,
// Provided by XR_FB_passthrough
XR_OBJECT_TYPE_PASSTHROUGH_FB = 1000118000,
// Provided by XR_FB_passthrough
XR_OBJECT_TYPE_PASSTHROUGH_LAYER_FB = 1000118002,
// Provided by XR_FB_passthrough
XR_OBJECT_TYPE_GEOMETRY_INSTANCE_FB = 1000118004,
// Provided by XR_ML_marker_understanding
XR_OBJECT_TYPE_MARKER_DETECTOR_ML = 1000138000,
// Provided by XR_ML_localization_map
XR_OBJECT_TYPE_EXPORTED_LOCALIZATION_MAP_ML = 1000139000,
// Provided by XR_ML_spatial_anchors_storage
XR_OBJECT_TYPE_SPATIAL_ANCHORS_STORAGE_ML = 1000141000,
// Provided by XR_MSFT_spatial_anchor_persistence
XR_OBJECT_TYPE_SPATIAL_ANCHOR_STORE_CONNECTION_MSFT = 1000142000,
// Provided by XR_FB_face_tracking
XR_OBJECT_TYPE_FACE_TRACKER_FB = 1000201000,
// Provided by XR_FB_eye_tracking_social
XR_OBJECT_TYPE_EYE_TRACKER_FB = 1000202000,
// Provided by XR_META_virtual_keyboard
XR_OBJECT_TYPE_VIRTUAL_KEYBOARD_META = 1000219000,
// Provided by XR_FB_spatial_entity_user
XR_OBJECT_TYPE_SPACE_USER_FB = 1000241000,
// Provided by XR_META_passthrough_color_lut
XR_OBJECT_TYPE_PASSTHROUGH_COLOR_LUT_META = 1000266000,
// Provided by XR_FB_face_tracking2
XR_OBJECT_TYPE_FACE_TRACKER2_FB = 1000287012,
// Provided by XR_META_environment_depth
XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_PROVIDER_META = 1000291000,
// Provided by XR_META_environment_depth
XR_OBJECT_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_META = 1000291001,
// Provided by XR_EXT_render_model
XR_OBJECT_TYPE_RENDER_MODEL_EXT = 1000300000,
// Provided by XR_EXT_render_model
XR_OBJECT_TYPE_RENDER_MODEL_ASSET_EXT = 1000300001,
// Provided by XR_HTC_passthrough
XR_OBJECT_TYPE_PASSTHROUGH_HTC = 1000317000,
// Provided by XR_HTC_body_tracking
XR_OBJECT_TYPE_BODY_TRACKER_HTC = 1000320000,
// Provided by XR_BD_body_tracking
XR_OBJECT_TYPE_BODY_TRACKER_BD = 1000385000,
// Provided by XR_BD_facial_simulation
XR_OBJECT_TYPE_FACE_TRACKER_BD = 1000386000,
// Provided by XR_BD_spatial_sensing
XR_OBJECT_TYPE_SENSE_DATA_PROVIDER_BD = 1000389000,
// Provided by XR_BD_spatial_sensing
XR_OBJECT_TYPE_SENSE_DATA_SNAPSHOT_BD = 1000389001,
// Provided by XR_BD_spatial_sensing
XR_OBJECT_TYPE_ANCHOR_BD = 1000389002,
// Provided by XR_EXT_plane_detection
XR_OBJECT_TYPE_PLANE_DETECTOR_EXT = 1000429000,
// Provided by XR_ANDROID_trackables
XR_OBJECT_TYPE_TRACKABLE_TRACKER_ANDROID = 1000455001,
// Provided by XR_ANDROID_device_anchor_persistence
XR_OBJECT_TYPE_DEVICE_ANCHOR_PERSISTENCE_ANDROID = 1000457000,
// Provided by XR_ANDROID_face_tracking
XR_OBJECT_TYPE_FACE_TRACKER_ANDROID = 1000458000,
// Provided by XR_ML_world_mesh_detection
XR_OBJECT_TYPE_WORLD_MESH_DETECTOR_ML = 1000474000,
// Provided by XR_ML_facial_expression
XR_OBJECT_TYPE_FACIAL_EXPRESSION_CLIENT_ML = 1000482000,
// Provided by XR_EXT_spatial_entity
XR_OBJECT_TYPE_SPATIAL_ENTITY_EXT = 1000740000,
// Provided by XR_EXT_spatial_entity
XR_OBJECT_TYPE_SPATIAL_CONTEXT_EXT = 1000740001,
// Provided by XR_EXT_spatial_entity
XR_OBJECT_TYPE_SPATIAL_SNAPSHOT_EXT = 1000740002,
// Provided by XR_EXT_spatial_persistence
XR_OBJECT_TYPE_SPATIAL_PERSISTENCE_CONTEXT_EXT = 1000763000,
XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrObjectType;
Description
The XrObjectType enumeration defines values, each of which corresponds to a specific OpenXR handle type. These values can be used to associate debug information with a particular type of object through one or more extensions.
The following table defines XrObjectType and OpenXR Handle relationships in the core specification:
| XrObjectType | OpenXR Handle Type |
|---|---|
|
Unknown/Undefined Handle |
|
|
|
|
|
|
|
|
|
|
|
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOverlayMainSessionFlagBitsEXTX(3)
Name
XrOverlayMainSessionFlagBitsEXTX - XrOverlayMainSessionFlagBitsEXTX
C Specification
// Flag bits for XrOverlayMainSessionFlagsEXTX
static const XrOverlayMainSessionFlagsEXTX XR_OVERLAY_MAIN_SESSION_ENABLED_COMPOSITION_LAYER_INFO_DEPTH_BIT_EXTX = 0x00000001;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOverlaySessionCreateFlagBitsEXTX(3)
Name
XrOverlaySessionCreateFlagBitsEXTX - XrOverlaySessionCreateFlagBitsEXTX
C Specification
// Flag bits for XrOverlaySessionCreateFlagsEXTX
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCameraStateANDROID(3)
Name
XrPassthroughCameraStateANDROID - Current state of the passthrough camera.
C Specification
The XrPassthroughCameraStateANDROID enumeration identifies the different possible states of the passthrough camera.
// Provided by XR_ANDROID_passthrough_camera_state
typedef enum XrPassthroughCameraStateANDROID {
XR_PASSTHROUGH_CAMERA_STATE_DISABLED_ANDROID = 0,
XR_PASSTHROUGH_CAMERA_STATE_INITIALIZING_ANDROID = 1,
XR_PASSTHROUGH_CAMERA_STATE_READY_ANDROID = 2,
XR_PASSTHROUGH_CAMERA_STATE_ERROR_ANDROID = 3,
XR_PASSTHROUGH_CAMERA_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrPassthroughCameraStateANDROID;
Description
| Enum | Description |
|---|---|
|
The camera has been disabled by an app, the system or the user. |
|
The camera is still coming online and not yet ready to use. The runtime may render a black background where the passthrough video is supposed to appear. |
|
The camera is ready to use. |
|
The camera is in an unrecoverable error state. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCapabilityFlagBitsFB(3)
Name
XrPassthroughCapabilityFlagBitsFB - XrPassthroughCapabilityFlagBitsFB
C Specification
Specify passthrough system capabilities.
// Flag bits for XrPassthroughCapabilityFlagsFB
static const XrPassthroughCapabilityFlagsFB XR_PASSTHROUGH_CAPABILITY_BIT_FB = 0x00000001;
static const XrPassthroughCapabilityFlagsFB XR_PASSTHROUGH_CAPABILITY_COLOR_BIT_FB = 0x00000002;
static const XrPassthroughCapabilityFlagsFB XR_PASSTHROUGH_CAPABILITY_LAYER_DEPTH_BIT_FB = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughColorLutChannelsMETA(3)
Name
XrPassthroughColorLutChannelsMETA - Color channels
C Specification
Specify the color channels contained in the color LUT.
typedef enum XrPassthroughColorLutChannelsMETA {
XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGB_META = 1,
XR_PASSTHROUGH_COLOR_LUT_CHANNELS_RGBA_META = 2,
XR_PASSTHROUGH_COLOR_LUT_CHANNELS_MAX_ENUM_META = 0x7FFFFFFF
} XrPassthroughColorLutChannelsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughFlagBitsFB(3)
Name
XrPassthroughFlagBitsFB - XrPassthroughFlagBitsFB
C Specification
Specify additional creation behavior.
// Flag bits for XrPassthroughFlagsFB
static const XrPassthroughFlagsFB XR_PASSTHROUGH_IS_RUNNING_AT_CREATION_BIT_FB = 0x00000001;
static const XrPassthroughFlagsFB XR_PASSTHROUGH_LAYER_DEPTH_BIT_FB = 0x00000002;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughFormHTC(3)
Name
XrPassthroughFormHTC - Describes the form of passthrough.
C Specification
The XrPassthroughFormHTC enumeration identifies the form of the passthrough, presenting the passthrough fill the full screen or project onto a specified mesh.
// Provided by XR_HTC_passthrough
typedef enum XrPassthroughFormHTC {
XR_PASSTHROUGH_FORM_PLANAR_HTC = 0,
XR_PASSTHROUGH_FORM_PROJECTED_HTC = 1,
XR_PASSTHROUGH_FORM_MAX_ENUM_HTC = 0x7FFFFFFF
} XrPassthroughFormHTC;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughLayerPurposeFB(3)
Name
XrPassthroughLayerPurposeFB - Layer purpose
C Specification
Specify the kind of passthrough behavior the layer provides.
typedef enum XrPassthroughLayerPurposeFB {
XR_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION_FB = 0,
XR_PASSTHROUGH_LAYER_PURPOSE_PROJECTED_FB = 1,
// Provided by XR_FB_passthrough_keyboard_hands
XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS_FB = 1000203001,
// Provided by XR_FB_passthrough_keyboard_hands
XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS_FB = 1000203002,
XR_PASSTHROUGH_LAYER_PURPOSE_MAX_ENUM_FB = 0x7FFFFFFF
} XrPassthroughLayerPurposeFB;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughPreferenceFlagBitsMETA(3)
Name
XrPassthroughPreferenceFlagBitsMETA - XrPassthroughPreferenceFlagBitsMETA
C Specification
// Provided by XR_META_passthrough_preferences
// Flag bits for XrPassthroughPreferenceFlagsMETA
static const XrPassthroughPreferenceFlagsMETA XR_PASSTHROUGH_PREFERENCE_DEFAULT_TO_ACTIVE_BIT_META = 0x00000001;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughStateChangedFlagBitsFB(3)
Name
XrPassthroughStateChangedFlagBitsFB - XrPassthroughStateChangedFlagBitsFB
C Specification
Specify additional state change behavior.
// Flag bits for XrPassthroughStateChangedFlagsFB
static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT_FB = 0x00000001;
static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT_FB = 0x00000002;
static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT_FB = 0x00000004;
static const XrPassthroughStateChangedFlagsFB XR_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT_FB = 0x00000008;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerfSettingsDomainEXT(3)
Name
XrPerfSettingsDomainEXT - XrPerfSettingsDomainEXT
C Specification
// Provided by XR_EXT_performance_settings, XR_EXT_thermal_query
typedef enum XrPerfSettingsDomainEXT {
XR_PERF_SETTINGS_DOMAIN_CPU_EXT = 1,
XR_PERF_SETTINGS_DOMAIN_GPU_EXT = 2,
XR_PERF_SETTINGS_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPerfSettingsDomainEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerfSettingsLevelEXT(3)
Name
XrPerfSettingsLevelEXT - XrPerfSettingsLevelEXT
C Specification
// Provided by XR_EXT_performance_settings
typedef enum XrPerfSettingsLevelEXT {
XR_PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT = 0,
XR_PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT = 25,
XR_PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT = 50,
XR_PERF_SETTINGS_LEVEL_BOOST_EXT = 75,
XR_PERF_SETTINGS_LEVEL_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPerfSettingsLevelEXT;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerfSettingsNotificationLevelEXT(3)
Name
XrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXT
C Specification
// Provided by XR_EXT_performance_settings, XR_EXT_thermal_query
typedef enum XrPerfSettingsNotificationLevelEXT {
XR_PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT = 0,
XR_PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT = 25,
XR_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT = 75,
XR_PERF_SETTINGS_NOTIFICATION_LEVEL_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPerfSettingsNotificationLevelEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerfSettingsSubDomainEXT(3)
Name
XrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXT
C Specification
// Provided by XR_EXT_performance_settings
typedef enum XrPerfSettingsSubDomainEXT {
XR_PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT = 1,
XR_PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT = 2,
XR_PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT = 3,
XR_PERF_SETTINGS_SUB_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPerfSettingsSubDomainEXT;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerformanceMetricsCounterFlagBitsMETA(3)
Name
XrPerformanceMetricsCounterFlagBitsMETA - XrPerformanceMetricsCounterFlagBitsMETA
C Specification
// Flag bits for XrPerformanceMetricsCounterFlagsMETA
static const XrPerformanceMetricsCounterFlagsMETA XR_PERFORMANCE_METRICS_COUNTER_ANY_VALUE_VALID_BIT_META = 0x00000001;
static const XrPerformanceMetricsCounterFlagsMETA XR_PERFORMANCE_METRICS_COUNTER_UINT_VALUE_VALID_BIT_META = 0x00000002;
static const XrPerformanceMetricsCounterFlagsMETA XR_PERFORMANCE_METRICS_COUNTER_FLOAT_VALUE_VALID_BIT_META = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerformanceMetricsCounterUnitMETA(3)
Name
XrPerformanceMetricsCounterUnitMETA - XrPerformanceMetricsCounterUnitMETA
C Specification
// Provided by XR_META_performance_metrics
typedef enum XrPerformanceMetricsCounterUnitMETA {
XR_PERFORMANCE_METRICS_COUNTER_UNIT_GENERIC_META = 0,
XR_PERFORMANCE_METRICS_COUNTER_UNIT_PERCENTAGE_META = 1,
XR_PERFORMANCE_METRICS_COUNTER_UNIT_MILLISECONDS_META = 2,
XR_PERFORMANCE_METRICS_COUNTER_UNIT_BYTES_META = 3,
XR_PERFORMANCE_METRICS_COUNTER_UNIT_HERTZ_META = 4,
XR_PERFORMANCE_METRICS_COUNTER_UNIT_MAX_ENUM_META = 0x7FFFFFFF
} XrPerformanceMetricsCounterUnitMETA;
Description
| Enum | Description |
|---|---|
|
the performance counter unit is generic (unspecified). |
|
the performance counter unit is percentage (%). |
|
the performance counter unit is millisecond. |
|
the performance counter unit is byte. |
|
the performance counter unit is hertz (Hz). |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPersistenceLocationBD(3)
Name
XrPersistenceLocationBD - Location of persistence
C Specification
The XrPersistenceLocationBD enumeration identifies the different persistence locations.
// Provided by XR_BD_spatial_anchor
typedef enum XrPersistenceLocationBD {
XR_PERSISTENCE_LOCATION_LOCAL_BD = 0,
XR_PERSISTENCE_LOCATION_MAX_ENUM_BD = 0x7FFFFFFF
} XrPersistenceLocationBD;
Description
| Enum | Description |
|---|---|
|
The persistence storage location is local to the device. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectionCapabilityFlagBitsEXT(3)
Name
XrPlaneDetectionCapabilityFlagBitsEXT - Feature Flag Bits
C Specification
Valid bits for XrPlaneDetectionCapabilityFlagsEXT are defined by XrPlaneDetectionCapabilityFlagBitsEXT, which is specified as:
// Flag bits for XrPlaneDetectionCapabilityFlagsEXT
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_PLANE_DETECTION_BIT_EXT = 0x00000001;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_PLANE_HOLES_BIT_EXT = 0x00000002;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_SEMANTIC_CEILING_BIT_EXT = 0x00000004;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_SEMANTIC_FLOOR_BIT_EXT = 0x00000008;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_SEMANTIC_WALL_BIT_EXT = 0x00000010;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_SEMANTIC_PLATFORM_BIT_EXT = 0x00000020;
static const XrPlaneDetectionCapabilityFlagsEXT XR_PLANE_DETECTION_CAPABILITY_ORIENTATION_BIT_EXT = 0x00000040;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectionStateEXT(3)
Name
XrPlaneDetectionStateEXT - Plane Detection State
C Specification
The XrPlaneDetectionStateEXT enumeration identifies the possible states of the plane detector.
// Provided by XR_EXT_plane_detection
typedef enum XrPlaneDetectionStateEXT {
XR_PLANE_DETECTION_STATE_NONE_EXT = 0,
XR_PLANE_DETECTION_STATE_PENDING_EXT = 1,
XR_PLANE_DETECTION_STATE_DONE_EXT = 2,
XR_PLANE_DETECTION_STATE_ERROR_EXT = 3,
XR_PLANE_DETECTION_STATE_FATAL_EXT = 4,
XR_PLANE_DETECTION_STATE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPlaneDetectionStateEXT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorFlagBitsEXT(3)
Name
XrPlaneDetectorFlagBitsEXT - Plane Detector flags
C Specification
Valid bits for XrPlaneDetectorFlagsEXT are defined by XrPlaneDetectorFlagBitsEXT, which is specified as:
// Flag bits for XrPlaneDetectorFlagsEXT
static const XrPlaneDetectorFlagsEXT XR_PLANE_DETECTOR_ENABLE_CONTOUR_BIT_EXT = 0x00000001;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorOrientationEXT(3)
Name
XrPlaneDetectorOrientationEXT - Orientation of the detected plane (upward, downward…)
C Specification
The XrPlaneDetectorOrientationEXT enumeration identifies the different general categories of orientations of detected planes.
// Provided by XR_EXT_plane_detection
typedef enum XrPlaneDetectorOrientationEXT {
XR_PLANE_DETECTOR_ORIENTATION_HORIZONTAL_UPWARD_EXT = 0,
XR_PLANE_DETECTOR_ORIENTATION_HORIZONTAL_DOWNWARD_EXT = 1,
XR_PLANE_DETECTOR_ORIENTATION_VERTICAL_EXT = 2,
XR_PLANE_DETECTOR_ORIENTATION_ARBITRARY_EXT = 3,
XR_PLANE_DETECTOR_ORIENTATION_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPlaneDetectorOrientationEXT;
Description
The enums have the following meanings:
| Enum | Description |
|---|---|
|
The detected plane is horizontal and faces upward (e.g. floor). |
|
The detected plane is horizontal and faces downward (e.g. ceiling). |
|
The detected plane is vertical (e.g. wall). |
|
The detected plane has an arbitrary, non-vertical and non-horizontal orientation. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorSemanticTypeEXT(3)
Name
XrPlaneDetectorSemanticTypeEXT - Type of the detected plane (upward, downward…)
C Specification
The XrPlaneDetectorSemanticTypeEXT enumeration identifies the different semantic types of detected planes.
// Provided by XR_EXT_plane_detection
typedef enum XrPlaneDetectorSemanticTypeEXT {
XR_PLANE_DETECTOR_SEMANTIC_TYPE_UNDEFINED_EXT = 0,
XR_PLANE_DETECTOR_SEMANTIC_TYPE_CEILING_EXT = 1,
XR_PLANE_DETECTOR_SEMANTIC_TYPE_FLOOR_EXT = 2,
XR_PLANE_DETECTOR_SEMANTIC_TYPE_WALL_EXT = 3,
XR_PLANE_DETECTOR_SEMANTIC_TYPE_PLATFORM_EXT = 4,
XR_PLANE_DETECTOR_SEMANTIC_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrPlaneDetectorSemanticTypeEXT;
Description
The enums have the following meanings:
| Enum | Description |
|---|---|
|
The runtime was unable to classify this plane. |
|
The detected plane is a ceiling. |
|
The detected plane is a floor. |
|
The detected plane is a wall. |
|
The detected plane is a platform, like a table. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneLabelANDROID(3)
Name
XrPlaneLabelANDROID - The plane label of a trackable
C Specification
The XrPlaneLabelANDROID enum is a label for an
XrTrackableANDROID plane.
// Provided by XR_ANDROID_trackables
typedef enum XrPlaneLabelANDROID {
XR_PLANE_LABEL_UNKNOWN_ANDROID = 0,
XR_PLANE_LABEL_WALL_ANDROID = 1,
XR_PLANE_LABEL_FLOOR_ANDROID = 2,
XR_PLANE_LABEL_CEILING_ANDROID = 3,
XR_PLANE_LABEL_TABLE_ANDROID = 4,
XR_PLANE_LABEL_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrPlaneLabelANDROID;
Description
| Enum | Description |
|---|---|
|
It was not possible to label the plane |
|
The plane is a wall. |
|
The plane is a floor. |
|
The plane is a ceiling. |
|
The plane is a table. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneOrientationBD(3)
Name
XrPlaneOrientationBD - orientation of the spatial plane.
C Specification
The XrPlaneOrientationBD enumeration identifies the different orientation of a 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;
Description
| Enum | Description |
|---|---|
|
The detected plane is horizontal and faces upward (e.g. floor). |
|
The detected plane is horizontal and faces downward (e.g. ceiling). |
|
The detected plane is vertical (e.g. wall). |
|
The detected plane has an arbitrary, non-vertical and non-horizontal orientation. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneTypeANDROID(3)
Name
XrPlaneTypeANDROID - The plane type of a trackable
C Specification
The XrPlaneTypeANDROID enum is the type of an
XrTrackableANDROID plane.
// Provided by XR_ANDROID_trackables
typedef enum XrPlaneTypeANDROID {
XR_PLANE_TYPE_HORIZONTAL_DOWNWARD_FACING_ANDROID = 0,
XR_PLANE_TYPE_HORIZONTAL_UPWARD_FACING_ANDROID = 1,
XR_PLANE_TYPE_VERTICAL_ANDROID = 2,
XR_PLANE_TYPE_ARBITRARY_ANDROID = 3,
XR_PLANE_TYPE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrPlaneTypeANDROID;
Description
| Enum | Description |
|---|---|
|
A horizontal plane facing downward (for example a ceiling). |
|
A horizontal plane facing upward (for example a floor or tabletop). |
|
A vertical plane (for example a wall). |
|
A plane with an arbitrary orientation. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrReferenceSpaceType(3)
Name
XrReferenceSpaceType - Reference space types
C Specification
The XrReferenceSpaceType enumeration is defined as:
typedef enum XrReferenceSpaceType {
XR_REFERENCE_SPACE_TYPE_VIEW = 1,
XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
XR_REFERENCE_SPACE_TYPE_STAGE = 3,
// Provided by XR_VERSION_1_1
XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR = 1000426000,
// Provided by XR_MSFT_unbounded_reference_space
XR_REFERENCE_SPACE_TYPE_UNBOUNDED_MSFT = 1000038000,
// Provided by XR_VARJO_foveated_rendering
XR_REFERENCE_SPACE_TYPE_COMBINED_EYE_VARJO = 1000121000,
// Provided by XR_ML_localization_map
XR_REFERENCE_SPACE_TYPE_LOCALIZATION_MAP_ML = 1000139000,
// Provided by XR_EXT_local_floor
XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR_EXT = XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR,
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrReferenceSpaceType;
Description
Brief introductions to core reference space types follow. Each has full requirements in a subsequent section, linked from these descriptions.
An XrSpace handle for a reference space is created using xrCreateReferenceSpace, by specifying the chosen reference space type and a pose within the natural reference frame defined for that reference space type.
Runtimes implement well-known reference spaces from XrReferenceSpaceType if they support tracking of that kind. Available reference space types are indicated by xrEnumerateReferenceSpaces. Note that other spaces can be created as well, such as pose action spaces created by xrCreateActionSpace, which are not enumerated by that API.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelFlagBitsFB(3)
Name
XrRenderModelFlagBitsFB - XrRenderModelFlagBitsFB
C Specification
// Flag bits for XrRenderModelFlagsFB
static const XrRenderModelFlagsFB XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_1_BIT_FB = 0x00000001;
static const XrRenderModelFlagsFB XR_RENDER_MODEL_SUPPORTS_GLTF_2_0_SUBSET_2_BIT_FB = 0x00000002;
Description
Render Model Support Levels: An application should request a model of a certain complexity via the XrRenderModelCapabilitiesRequestFB on the structure chain of XrRenderModelPropertiesFB passed into xrGetRenderModelPropertiesFB. The flags on the XrRenderModelCapabilitiesRequestFB are an acknowledgement of the application’s ability to render such a model. Multiple values of XrRenderModelFlagBitsFB can be set on this variable to indicate acceptance of different support levels. The flags parameter on the XrRenderModelPropertiesFB will indicate what capabilities the model in the runtime actually requires. It will be set to a single value of XrRenderModelFlagBitsFB.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrReprojectionModeMSFT(3)
Name
XrReprojectionModeMSFT - Describes the reprojection mode of a composition layer
C Specification
The XrReprojectionModeMSFT describes the reprojection mode of a projection composition layer.
// Provided by XR_MSFT_composition_layer_reprojection
typedef enum XrReprojectionModeMSFT {
XR_REPROJECTION_MODE_DEPTH_MSFT = 1,
XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT = 2,
XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT = 3,
XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT = 4,
XR_REPROJECTION_MODE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrReprojectionModeMSFT;
Description
When the application passes XR_REPROJECTION_MODE_DEPTH_MSFT or
XR_REPROJECTION_MODE_PLANAR_FROM_DEPTH_MSFT mode, it should also
provide the depth buffer for the corresponding layer using
XrCompositionLayerDepthInfoKHR in
XR_KHR_composition_layer_depth extension.
However, if the application does not submit this depth buffer, the runtime
must apply a runtime defined fallback reprojection mode, and must not fail
the xrEndFrame function because of this missing depth.
When the application passes XR_REPROJECTION_MODE_PLANAR_MANUAL_MSFT or
XR_REPROJECTION_MODE_ORIENTATION_ONLY_MSFT mode, it should avoid
providing a depth buffer for the corresponding layer using
XrCompositionLayerDepthInfoKHR in
XR_KHR_composition_layer_depth extension.
However, if the application does submit this depth buffer, the runtime must
not fail the xrEndFrame function because of this unused depth data.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrResult(3)
Name
XrResult - Result codes
C Specification
typedef enum XrResult {
XR_SUCCESS = 0,
XR_TIMEOUT_EXPIRED = 1,
XR_SESSION_LOSS_PENDING = 3,
XR_EVENT_UNAVAILABLE = 4,
XR_SPACE_BOUNDS_UNAVAILABLE = 7,
XR_SESSION_NOT_FOCUSED = 8,
XR_FRAME_DISCARDED = 9,
XR_ERROR_VALIDATION_FAILURE = -1,
XR_ERROR_RUNTIME_FAILURE = -2,
XR_ERROR_OUT_OF_MEMORY = -3,
XR_ERROR_API_VERSION_UNSUPPORTED = -4,
XR_ERROR_INITIALIZATION_FAILED = -6,
XR_ERROR_FUNCTION_UNSUPPORTED = -7,
XR_ERROR_FEATURE_UNSUPPORTED = -8,
XR_ERROR_EXTENSION_NOT_PRESENT = -9,
XR_ERROR_LIMIT_REACHED = -10,
XR_ERROR_SIZE_INSUFFICIENT = -11,
XR_ERROR_HANDLE_INVALID = -12,
XR_ERROR_INSTANCE_LOST = -13,
XR_ERROR_SESSION_RUNNING = -14,
XR_ERROR_SESSION_NOT_RUNNING = -16,
XR_ERROR_SESSION_LOST = -17,
XR_ERROR_SYSTEM_INVALID = -18,
XR_ERROR_PATH_INVALID = -19,
XR_ERROR_PATH_COUNT_EXCEEDED = -20,
XR_ERROR_PATH_FORMAT_INVALID = -21,
XR_ERROR_PATH_UNSUPPORTED = -22,
XR_ERROR_LAYER_INVALID = -23,
XR_ERROR_LAYER_LIMIT_EXCEEDED = -24,
XR_ERROR_SWAPCHAIN_RECT_INVALID = -25,
XR_ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED = -26,
XR_ERROR_ACTION_TYPE_MISMATCH = -27,
XR_ERROR_SESSION_NOT_READY = -28,
XR_ERROR_SESSION_NOT_STOPPING = -29,
XR_ERROR_TIME_INVALID = -30,
XR_ERROR_REFERENCE_SPACE_UNSUPPORTED = -31,
XR_ERROR_FILE_ACCESS_ERROR = -32,
XR_ERROR_FILE_CONTENTS_INVALID = -33,
XR_ERROR_FORM_FACTOR_UNSUPPORTED = -34,
XR_ERROR_FORM_FACTOR_UNAVAILABLE = -35,
XR_ERROR_API_LAYER_NOT_PRESENT = -36,
XR_ERROR_CALL_ORDER_INVALID = -37,
XR_ERROR_GRAPHICS_DEVICE_INVALID = -38,
XR_ERROR_POSE_INVALID = -39,
XR_ERROR_INDEX_OUT_OF_RANGE = -40,
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED = -41,
XR_ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED = -42,
XR_ERROR_NAME_DUPLICATED = -44,
XR_ERROR_NAME_INVALID = -45,
XR_ERROR_ACTIONSET_NOT_ATTACHED = -46,
XR_ERROR_ACTIONSETS_ALREADY_ATTACHED = -47,
XR_ERROR_LOCALIZED_NAME_DUPLICATED = -48,
XR_ERROR_LOCALIZED_NAME_INVALID = -49,
XR_ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50,
XR_ERROR_RUNTIME_UNAVAILABLE = -51,
// Provided by XR_VERSION_1_1
XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED = -1000710001,
// Provided by XR_VERSION_1_1
XR_ERROR_PERMISSION_INSUFFICIENT = -1000710000,
// Provided by XR_KHR_android_thread_settings
XR_ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR = -1000003000,
// Provided by XR_KHR_android_thread_settings
XR_ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR = -1000003001,
// Provided by XR_MSFT_spatial_anchor
XR_ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT = -1000039001,
// Provided by XR_MSFT_secondary_view_configuration
XR_ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT = -1000053000,
// Provided by XR_MSFT_controller_model
XR_ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055000,
// Provided by XR_MSFT_composition_layer_reprojection
XR_ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT = -1000066000,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT = -1000097000,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_SCENE_COMPONENT_ID_INVALID_MSFT = -1000097001,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT = -1000097002,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT = -1000097003,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT = -1000097004,
// Provided by XR_MSFT_scene_understanding
XR_ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT = -1000097005,
// Provided by XR_FB_display_refresh_rate
XR_ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000,
// Provided by XR_FB_color_space
XR_ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000,
// Provided by XR_FB_spatial_entity
XR_ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB = -1000113000,
// Provided by XR_FB_spatial_entity
XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB = -1000113001,
// Provided by XR_FB_spatial_entity
XR_ERROR_SPACE_COMPONENT_STATUS_PENDING_FB = -1000113002,
// Provided by XR_FB_spatial_entity
XR_ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB = -1000113003,
// Provided by XR_FB_passthrough
XR_ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB = -1000118000,
// Provided by XR_FB_passthrough
XR_ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB = -1000118001,
// Provided by XR_FB_passthrough
XR_ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB = -1000118002,
// Provided by XR_FB_passthrough
XR_ERROR_NOT_PERMITTED_PASSTHROUGH_FB = -1000118003,
// Provided by XR_FB_passthrough
XR_ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB = -1000118004,
// Provided by XR_FB_passthrough
XR_ERROR_UNKNOWN_PASSTHROUGH_FB = -1000118050,
// Provided by XR_FB_render_model
XR_ERROR_RENDER_MODEL_KEY_INVALID_FB = -1000119000,
// Provided by XR_FB_render_model
XR_RENDER_MODEL_UNAVAILABLE_FB = 1000119020,
// Provided by XR_VARJO_marker_tracking
XR_ERROR_MARKER_NOT_TRACKED_VARJO = -1000124000,
// Provided by XR_VARJO_marker_tracking
XR_ERROR_MARKER_ID_INVALID_VARJO = -1000124001,
// Provided by XR_ML_marker_understanding
XR_ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML = -1000138000,
// Provided by XR_ML_marker_understanding
XR_ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML = -1000138001,
// Provided by XR_ML_marker_understanding
XR_ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML = -1000138002,
// Provided by XR_ML_marker_understanding
XR_ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML = -1000138003,
// Provided by XR_ML_marker_understanding
XR_ERROR_MARKER_INVALID_ML = -1000138004,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML = -1000139000,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML = -1000139001,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_FAIL_ML = -1000139002,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML = -1000139003,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML = -1000139004,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML = -1000139005,
// Provided by XR_ML_localization_map
XR_ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML = -1000139006,
// Provided by XR_ML_spatial_anchors
XR_ERROR_SPATIAL_ANCHORS_PERMISSION_DENIED_ML = -1000140000,
// Provided by XR_ML_spatial_anchors
XR_ERROR_SPATIAL_ANCHORS_NOT_LOCALIZED_ML = -1000140001,
// Provided by XR_ML_spatial_anchors
XR_ERROR_SPATIAL_ANCHORS_OUT_OF_MAP_BOUNDS_ML = -1000140002,
// Provided by XR_ML_spatial_anchors
XR_ERROR_SPATIAL_ANCHORS_SPACE_NOT_LOCATABLE_ML = -1000140003,
// Provided by XR_ML_spatial_anchors_storage
XR_ERROR_SPATIAL_ANCHORS_ANCHOR_NOT_FOUND_ML = -1000141000,
// Provided by XR_MSFT_spatial_anchor_persistence
XR_ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT = -1000142001,
// Provided by XR_MSFT_spatial_anchor_persistence
XR_ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT = -1000142002,
// Provided by XR_MSFT_scene_marker
XR_SCENE_MARKER_DATA_NOT_STRING_MSFT = 1000147000,
// Provided by XR_FB_spatial_entity_sharing
XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB = -1000169000,
// Provided by XR_FB_spatial_entity_sharing
XR_ERROR_SPACE_LOCALIZATION_FAILED_FB = -1000169001,
// Provided by XR_FB_spatial_entity_sharing
XR_ERROR_SPACE_NETWORK_TIMEOUT_FB = -1000169002,
// Provided by XR_FB_spatial_entity_sharing
XR_ERROR_SPACE_NETWORK_REQUEST_FAILED_FB = -1000169003,
// Provided by XR_FB_spatial_entity_sharing
XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB = -1000169004,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_INSUFFICIENT_RESOURCES_META = -1000259000,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_STORAGE_AT_CAPACITY_META = -1000259001,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_INSUFFICIENT_VIEW_META = -1000259002,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_PERMISSION_INSUFFICIENT_META = -1000259003,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_RATE_LIMITED_META = -1000259004,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_TOO_DARK_META = -1000259005,
// Provided by XR_META_spatial_entity_persistence
XR_ERROR_SPACE_TOO_BRIGHT_META = -1000259006,
// Provided by XR_META_passthrough_color_lut
XR_ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META = -1000266000,
// Provided by XR_META_environment_depth
XR_ENVIRONMENT_DEPTH_NOT_AVAILABLE_META = 1000291000,
// Provided by XR_EXT_render_model
XR_ERROR_RENDER_MODEL_ID_INVALID_EXT = -1000300000,
// Provided by XR_EXT_render_model
XR_ERROR_RENDER_MODEL_ASSET_UNAVAILABLE_EXT = -1000300001,
// Provided by XR_EXT_render_model
XR_ERROR_RENDER_MODEL_GLTF_EXTENSION_REQUIRED_EXT = -1000300002,
// Provided by XR_EXT_interaction_render_model
XR_ERROR_NOT_INTERACTION_RENDER_MODEL_EXT = -1000301000,
// Provided by XR_QCOM_tracking_optimization_settings
XR_ERROR_HINT_ALREADY_SET_QCOM = -1000306000,
// Provided by XR_HTC_anchor
XR_ERROR_NOT_AN_ANCHOR_HTC = -1000319000,
// Provided by XR_BD_spatial_sensing
XR_ERROR_SPATIAL_ENTITY_ID_INVALID_BD = -1000389000,
// Provided by XR_BD_spatial_sensing
XR_ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_BD = -1000389001,
// Provided by XR_BD_spatial_sensing
XR_ERROR_ANCHOR_NOT_SUPPORTED_FOR_ENTITY_BD = -1000389002,
// Provided by XR_BD_spatial_anchor
XR_ERROR_SPATIAL_ANCHOR_NOT_FOUND_BD = -1000390000,
// Provided by XR_BD_spatial_anchor_sharing
XR_ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_TIMEOUT_BD = -1000391000,
// Provided by XR_BD_spatial_anchor_sharing
XR_ERROR_SPATIAL_ANCHOR_SHARING_AUTHENTICATION_FAILURE_BD = -1000391001,
// Provided by XR_BD_spatial_anchor_sharing
XR_ERROR_SPATIAL_ANCHOR_SHARING_NETWORK_FAILURE_BD = -1000391002,
// Provided by XR_BD_spatial_anchor_sharing
XR_ERROR_SPATIAL_ANCHOR_SHARING_LOCALIZATION_FAIL_BD = -1000391003,
// Provided by XR_BD_spatial_anchor_sharing
XR_ERROR_SPATIAL_ANCHOR_SHARING_MAP_INSUFFICIENT_BD = -1000391004,
// Provided by XR_BD_spatial_scene
XR_ERROR_SCENE_CAPTURE_FAILURE_BD = -1000392000,
// Provided by XR_EXT_plane_detection
XR_ERROR_SPACE_NOT_LOCATABLE_EXT = -1000429000,
// Provided by XR_EXT_plane_detection
XR_ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT = -1000429001,
// Provided by XR_ANDROID_trackables
XR_ERROR_MISMATCHING_TRACKABLE_TYPE_ANDROID = -1000455000,
// Provided by XR_ANDROID_trackables
XR_ERROR_TRACKABLE_TYPE_NOT_SUPPORTED_ANDROID = -1000455001,
// Provided by XR_ANDROID_device_anchor_persistence
XR_ERROR_ANCHOR_ID_NOT_FOUND_ANDROID = -1000457000,
// Provided by XR_ANDROID_device_anchor_persistence
XR_ERROR_ANCHOR_ALREADY_PERSISTED_ANDROID = -1000457001,
// Provided by XR_ANDROID_device_anchor_persistence
XR_ERROR_ANCHOR_NOT_TRACKING_ANDROID = -1000457002,
// Provided by XR_ANDROID_device_anchor_persistence
XR_ERROR_PERSISTED_DATA_NOT_READY_ANDROID = -1000457003,
// Provided by XR_ANDROID_face_tracking
XR_ERROR_SERVICE_NOT_READY_ANDROID = -1000458000,
// Provided by XR_EXT_future
XR_ERROR_FUTURE_PENDING_EXT = -1000469001,
// Provided by XR_EXT_future
XR_ERROR_FUTURE_INVALID_EXT = -1000469002,
// Provided by XR_ML_system_notifications
XR_ERROR_SYSTEM_NOTIFICATION_PERMISSION_DENIED_ML = -1000473000,
// Provided by XR_ML_system_notifications
XR_ERROR_SYSTEM_NOTIFICATION_INCOMPATIBLE_SKU_ML = -1000473001,
// Provided by XR_ML_world_mesh_detection
XR_ERROR_WORLD_MESH_DETECTOR_PERMISSION_DENIED_ML = -1000474000,
// Provided by XR_ML_world_mesh_detection
XR_ERROR_WORLD_MESH_DETECTOR_SPACE_NOT_LOCATABLE_ML = -1000474001,
// Provided by XR_ML_facial_expression
XR_ERROR_FACIAL_EXPRESSION_PERMISSION_DENIED_ML = 1000482000,
// Provided by XR_META_colocation_discovery
XR_ERROR_COLOCATION_DISCOVERY_NETWORK_FAILED_META = -1000571001,
// Provided by XR_META_colocation_discovery
XR_ERROR_COLOCATION_DISCOVERY_NO_DISCOVERY_METHOD_META = -1000571002,
// Provided by XR_META_colocation_discovery
XR_COLOCATION_DISCOVERY_ALREADY_ADVERTISING_META = 1000571003,
// Provided by XR_META_colocation_discovery
XR_COLOCATION_DISCOVERY_ALREADY_DISCOVERING_META = 1000571004,
// Provided by XR_META_spatial_entity_group_sharing
XR_ERROR_SPACE_GROUP_NOT_FOUND_META = -1000572002,
// Provided by XR_ANDROID_anchor_sharing_export
XR_ERROR_ANCHOR_NOT_OWNED_BY_CALLER_ANDROID = -1000701000,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_CAPABILITY_UNSUPPORTED_EXT = -1000740001,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_ENTITY_ID_INVALID_EXT = -1000740002,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_BUFFER_ID_INVALID_EXT = -1000740003,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_COMPONENT_UNSUPPORTED_FOR_CAPABILITY_EXT = -1000740004,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_CAPABILITY_CONFIGURATION_INVALID_EXT = -1000740005,
// Provided by XR_EXT_spatial_entity
XR_ERROR_SPATIAL_COMPONENT_NOT_ENABLED_EXT = -1000740006,
// Provided by XR_EXT_spatial_persistence
XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_UNSUPPORTED_EXT = -1000763001,
// Provided by XR_EXT_spatial_persistence_operations
XR_ERROR_SPATIAL_PERSISTENCE_SCOPE_INCOMPATIBLE_EXT = -1000781001,
// Provided by XR_KHR_maintenance1
XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR = XR_ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED,
// Provided by XR_KHR_maintenance1
XR_ERROR_PERMISSION_INSUFFICIENT_KHR = XR_ERROR_PERMISSION_INSUFFICIENT,
XR_RESULT_MAX_ENUM = 0x7FFFFFFF
} XrResult;
Description
All return codes in the API are reported via XrResult return values.
The following are common suffixes shared across many of the return codes:
-
_INVALID: The specified handle, atom, or value is formatted incorrectly, or the specified handle was never created or has been destroyed. -
_UNSUPPORTED: The specified handle, atom, enumerant, or value is formatted correctly but cannot be used for the lifetime of this function’s parent handle. -
_UNAVAILABLE: The specified handle, atom, enumerant, or value is supported by the handle taken by this function, but is not usable at this moment.
Success Codes
| Enum | Description |
|---|---|
|
Function successfully completed. |
|
The specified timeout time occurred before the operation could complete. |
|
The session will be lost soon. |
|
No event was available. |
|
The space’s bounds are not known at the moment. |
|
The session is not in the focused state. |
|
A frame has been discarded from composition. |
|
The model is unavailable. (Added by the |
|
Marker does not encode a string. (Added by the |
|
Warning: The requested depth image is not yet available. (Added by the |
|
Permission to track facial expressions was not granted (Added by the |
|
Colocation advertisement has already been enabled (Added by the |
|
Colocation discovery has already been enabled (Added by the |
Error Codes
| Enum | Description |
|---|---|
|
The function usage was invalid in some way. |
|
The runtime failed to handle the function in an unexpected way that is not covered by another error result. |
|
A memory allocation has failed. |
|
The runtime does not support the requested API version. |
|
Initialization of object could not be completed. |
|
The requested function was not found or is otherwise unsupported. |
|
The requested feature is not supported. |
|
A requested extension is not supported. |
|
The runtime supports no more of the requested resource. |
|
The supplied size was smaller than required. |
|
A supplied object handle was invalid. |
|
The XrInstance was lost or could not be found. It will need to be destroyed and optionally recreated. |
|
The session is already running. |
|
The session is not yet running. |
|
The XrSession was lost. It will need to be destroyed and optionally recreated. |
|
The provided |
|
The provided |
|
The maximum number of supported semantic paths has been reached. |
|
The semantic path character format is invalid. |
|
The semantic path is unsupported. |
|
The layer was NULL or otherwise invalid. |
|
The number of specified layers is greater than the supported number. |
|
The image rect was negatively sized or otherwise invalid. |
|
The image format is not supported by the runtime or platform. |
|
The API used to retrieve an action’s state does not match the action’s type. |
|
The session is not in the ready state. |
|
The session is not in the stopping state. |
|
The provided |
|
The specified reference space is not supported by the runtime or system. |
|
The file could not be accessed. |
|
The file’s contents were invalid. |
|
The specified form factor is not supported by the current runtime or platform. |
|
The specified form factor is supported, but the device is currently not available, e.g. not plugged in or powered off. |
|
A requested API layer is not present or could not be loaded. |
|
The call was made without having made a previously required call. |
|
The given graphics device is not in a valid state. The graphics device could be lost or initialized without meeting graphics requirements. |
|
The supplied pose was invalid with respect to the requirements. |
|
The supplied index was outside the range of valid indices. |
|
The specified view configuration type is not supported by the runtime or platform. |
|
The specified environment blend mode is not supported by the runtime or platform. |
|
The name provided was a duplicate of an already-existing resource. |
|
The name provided was invalid. |
|
A referenced action set is not attached to the session. |
|
The session already has attached action sets. |
|
The localized name provided was a duplicate of an already-existing resource. |
|
The localized name provided was invalid. |
|
The |
|
The loader was unable to find or load a runtime. |
|
One or more of the extensions being enabled has dependency on extensions that are not enabled. |
|
Insufficient permissions. This error is included for use by vendor extensions. The precise definition of |
|
xrSetAndroidApplicationThreadKHR failed as thread id is invalid. (Added by the |
|
xrSetAndroidApplicationThreadKHR failed setting the thread attributes/priority. (Added by the |
|
Spatial anchor could not be created at that location. (Added by the |
|
The secondary view configuration was not enabled when creating the session. (Added by the |
|
The controller model key is invalid. (Added by the |
|
The reprojection mode is not supported. (Added by the |
|
Compute new scene not completed. (Added by the |
|
Scene component id invalid. (Added by the |
|
Scene component type mismatch. (Added by the |
|
Scene mesh buffer id invalid. (Added by the |
|
Scene compute feature incompatible. (Added by the |
|
Scene compute consistency mismatch. (Added by the |
|
The display refresh rate is not supported by the platform. (Added by the |
|
The color space is not supported by the runtime. (Added by the |
|
The component type is not supported for this space. (Added by the |
|
The required component is not enabled for this space. (Added by the |
|
A request to set the component’s status is currently pending. (Added by the |
|
The component is already set to the requested value. (Added by the |
|
The object state is unexpected for the issued command. (Added by the |
|
Trying to create an MR feature when one was already created and only one instance is allowed. (Added by the |
|
Requested functionality requires a feature to be created first. (Added by the |
|
Requested functionality is not permitted - application is not allowed to perform the requested operation. (Added by the |
|
There were insufficient resources available to perform an operation. (Added by the |
|
Unknown Passthrough error (no further details provided). (Added by the |
|
The model key is invalid. (Added by the |
|
Marker tracking is disabled or the specified marker is not currently tracked. (Added by the |
|
The specified marker ID is not valid. (Added by the |
|
The com.magicleap.permission.MARKER_TRACKING permission was denied. (Added by the |
|
The specified marker could not be located spatially. (Added by the |
|
The marker queried does not contain data of the requested type. (Added by the |
|
|
|
The marker id passed to the function was invalid. (Added by the |
|
The localization map being imported is not compatible with current OS or mode. (Added by the |
|
The localization map requested is not available. (Added by the |
|
The map localization service failed to fulfill the request, retry later. (Added by the |
|
The com.magicleap.permission.SPACE_IMPORT_EXPORT permission was denied. (Added by the |
|
The com.magicleap.permission.SPACE_MANAGER permission was denied. (Added by the |
|
The map being imported already exists in the system. (Added by the |
|
The map localization service cannot export cloud based maps. (Added by the |
|
The com.magicleap.permission.SPATIAL_ANCHOR permission was not granted. (Added by the |
|
Operation failed because the system is not localized into a localization map. (Added by the |
|
Operation failed because it is performed outside of the localization map. (Added by the |
|
Operation failed because the space referenced cannot be located. (Added by the |
|
The anchor references was not found. (Added by the |
|
A spatial anchor was not found associated with the spatial anchor name provided (Added by the |
|
The spatial anchor name provided was not valid (Added by the |
|
Anchor import from cloud or export from device failed. (Added by the |
|
Anchors were downloaded from the cloud but failed to be imported/aligned on the device. (Added by the |
|
Timeout occurred while waiting for network request to complete. (Added by the |
|
The network request failed. (Added by the |
|
Cloud storage is required for this operation but is currently disabled. (Added by the |
|
Resource limitation prevented this operation from executing. Recommend retrying, perhaps after a short delay and/or reducing memory consumption. (Added by the |
|
Operation could not be completed until resources used are reduced or storage expanded. (Added by the |
|
Look around the environment more for space tracking to function. (Added by the |
|
Space operation permission insufficient. Recommend confirming the status of the required permissions needed for using Space APIs. (Added by the |
|
Operation cancelled due to rate limiting. Recommend retrying after a short delay. (Added by the |
|
Environment too dark for tracking to complete operation. (Added by the |
|
Environment too bright for tracking to complete operation. (Added by the |
|
The provided data buffer did not match the required size. (Added by the |
|
The render model ID is invalid. (Added by the |
|
The render model asset is unavailable. (Added by the |
|
A glTF extension is required. (Added by the |
|
The provided XrRenderModelEXT was not created from a |
|
Tracking optimization hint is already set for the domain. (Added by the |
|
The provided space is valid but not an anchor. (Added by the |
|
The spatial entity id is invalid. (Added by the |
|
The spatial sensing service is unavailable. (Added by the |
|
The spatial entity does not support anchor. (Added by the |
|
The spatial anchor is not found. (Added by the |
|
The network transmission timeout. (Added by the |
|
The authentication for the user account failed. (Added by the |
|
The network connection failed, e.g. the connection is unstable or disconnected. (Added by the |
|
The spatial anchor localization failed. (Added by the |
|
The feature points of spatial anchor map are insufficient. (Added by the |
|
The scene capture is failed, for example exiting abnormally. (Added by the |
|
The space passed to the function was not locatable. (Added by the |
|
The permission for this resource was not granted. (Added by the |
|
Indicates that the parameters contains multiple trackable types. (Added by the |
|
Indicates that the function is not supported by the given trackable type. (Added by the |
|
XrUuidExt passed to the function was not found to be a persisted anchor. (Added by the |
|
XrUuidExt passed to the function was already marked to be persisted. (Added by the |
|
ANchor cannot be persisted because it is not tracking. (Added by the |
|
Persisted data stored by this app has not been loaded yet. (Added by the |
|
The underlying tracking service is not yet ready. (Added by the |
|
Returned by completion function to indicate future is not ready. (Added by the |
|
Returned by completion function to indicate future is not valid. (Added by the |
|
The com.magicleap.permission.SYSTEM_NOTIFICATION permission was not granted. (Added by the |
|
Incompatible SKU detected. (Added by the |
|
The world mesh detector permission was not granted. (Added by the |
|
At the time of the call the runtime was unable to locate the space and cannot fulfill your request. (Added by the |
|
The network request failed. (Added by the |
|
The runtime does not have any methods available to perform discovery. (Added by the |
|
The group UUID was not found within the runtime (Added by the |
|
Operation not allowed because anchor is not owned by the XrSession in which the function is being called. (Added by the |
|
Alias for |
|
Alias for |
|
The specified spatial capability is not supported by the runtime or the system. (Added by the |
|
The specified spatial entity id is invalid or an entity with that id does not exist in the environment. (Added by the |
|
The specified spatial buffer id is invalid or does not exist in the spatial snapshot being used to query for the buffer data. (Added by the |
|
The specified spatial component is not supported by the runtime or the system for the given capability. (Added by the |
|
The specified spatial capability configuration is invalid. (Added by the |
|
The specified spatial component is not enabled for the spatial context. (Added by the |
|
The specified spatial persistence scope is not supported by the runtime or the system. (Added by the |
|
The scope configured for the persistence context is incompatible for the current spatial entity. (Added by the |
See Also
XrCreateSpatialAnchorsCompletionML, XrCreateSpatialContextCompletionEXT, XrCreateSpatialDiscoverySnapshotCompletionEXT, XrCreateSpatialPersistenceContextCompletionEXT, XrEventDataColocationAdvertisementCompleteMETA, XrEventDataColocationDiscoveryCompleteMETA, XrEventDataSceneCaptureCompleteFB, XrEventDataShareSpacesCompleteMETA, XrEventDataSpaceDiscoveryCompleteMETA, XrEventDataSpaceEraseCompleteFB, XrEventDataSpaceListSaveCompleteFB, XrEventDataSpaceQueryCompleteFB, XrEventDataSpaceSaveCompleteFB, XrEventDataSpaceSetStatusCompleteFB, XrEventDataSpaceShareCompleteFB, XrEventDataSpacesEraseResultMETA, XrEventDataSpacesSaveResultMETA, XrEventDataSpatialAnchorCreateCompleteFB, XrEventDataStartColocationAdvertisementCompleteMETA, XrEventDataStartColocationDiscoveryCompleteMETA, XrEventDataStopColocationAdvertisementCompleteMETA, XrEventDataStopColocationDiscoveryCompleteMETA, XrFutureCompletionBaseHeaderEXT, XrFutureCompletionEXT, XrPersistSpatialEntityCompletionEXT, XrSenseDataQueryCompletionBD, XrSpatialAnchorCompletionResultML, XrSpatialAnchorCreateCompletionBD, XrSpatialAnchorsDeleteCompletionML, XrSpatialAnchorsPublishCompletionML, XrSpatialAnchorsQueryCompletionML, XrSpatialAnchorsUpdateExpirationCompletionML, XrUnpersistSpatialEntityCompletionEXT, XrWorldMeshRequestCompletionML, XrWorldMeshStateRequestCompletionML, xrResultToString
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComponentTypeMSFT(3)
Name
XrSceneComponentTypeMSFT - Scene component type
C Specification
The XrSceneComponentTypeMSFT enumeration identifies the scene component type.
// Provided by XR_MSFT_scene_understanding
typedef enum XrSceneComponentTypeMSFT {
XR_SCENE_COMPONENT_TYPE_INVALID_MSFT = -1,
XR_SCENE_COMPONENT_TYPE_OBJECT_MSFT = 1,
XR_SCENE_COMPONENT_TYPE_PLANE_MSFT = 2,
XR_SCENE_COMPONENT_TYPE_VISUAL_MESH_MSFT = 3,
XR_SCENE_COMPONENT_TYPE_COLLIDER_MESH_MSFT = 4,
// Provided by XR_MSFT_scene_understanding_serialization
XR_SCENE_COMPONENT_TYPE_SERIALIZED_SCENE_FRAGMENT_MSFT = 1000098000,
// Provided by XR_MSFT_scene_marker
XR_SCENE_COMPONENT_TYPE_MARKER_MSFT = 1000147000,
XR_SCENE_COMPONENT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneComponentTypeMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComputeConsistencyMSFT(3)
Name
XrSceneComputeConsistencyMSFT - Scene compute consistency
C Specification
The XrSceneComputeConsistencyMSFT enumeration identifies the different scene compute consistencies that may be passed to xrComputeNewSceneMSFT.
// Provided by XR_MSFT_scene_understanding
typedef enum XrSceneComputeConsistencyMSFT {
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_COMPLETE_MSFT = 1,
XR_SCENE_COMPUTE_CONSISTENCY_SNAPSHOT_INCOMPLETE_FAST_MSFT = 2,
XR_SCENE_COMPUTE_CONSISTENCY_OCCLUSION_OPTIMIZED_MSFT = 3,
XR_SCENE_COMPUTE_CONSISTENCY_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneComputeConsistencyMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComputeFeatureMSFT(3)
Name
XrSceneComputeFeatureMSFT - Scene compute feature
C Specification
The XrSceneComputeFeatureMSFT enumeration identifies the different scene compute features that may be passed to xrComputeNewSceneMSFT.
// Provided by XR_MSFT_scene_understanding
typedef enum XrSceneComputeFeatureMSFT {
XR_SCENE_COMPUTE_FEATURE_PLANE_MSFT = 1,
XR_SCENE_COMPUTE_FEATURE_PLANE_MESH_MSFT = 2,
XR_SCENE_COMPUTE_FEATURE_VISUAL_MESH_MSFT = 3,
XR_SCENE_COMPUTE_FEATURE_COLLIDER_MESH_MSFT = 4,
// Provided by XR_MSFT_scene_understanding_serialization
XR_SCENE_COMPUTE_FEATURE_SERIALIZE_SCENE_MSFT = 1000098000,
// Provided by XR_MSFT_scene_marker
XR_SCENE_COMPUTE_FEATURE_MARKER_MSFT = 1000147000,
XR_SCENE_COMPUTE_FEATURE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneComputeFeatureMSFT;
Description
|
Note
|
Note
Applications wanting to use the scene for analysis, or in a physics
simulation should set Setting Setting |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneComputeStateMSFT(3)
Name
XrSceneComputeStateMSFT - Scene compute state type
C Specification
XrSceneComputeStateMSFT identifies the different states of computing a new scene.
// Provided by XR_MSFT_scene_understanding
typedef enum XrSceneComputeStateMSFT {
XR_SCENE_COMPUTE_STATE_NONE_MSFT = 0,
XR_SCENE_COMPUTE_STATE_UPDATING_MSFT = 1,
XR_SCENE_COMPUTE_STATE_COMPLETED_MSFT = 2,
XR_SCENE_COMPUTE_STATE_COMPLETED_WITH_ERROR_MSFT = 3,
XR_SCENE_COMPUTE_STATE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneComputeStateMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerQRCodeSymbolTypeMSFT(3)
Name
XrSceneMarkerQRCodeSymbolTypeMSFT - QR Code Symbol type
C Specification
// Provided by XR_MSFT_scene_marker
typedef enum XrSceneMarkerQRCodeSymbolTypeMSFT {
XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_QR_CODE_MSFT = 1,
XR_SCENE_MARKER_QR_CODE_SYMBOL_TYPE_MICRO_QR_CODE_MSFT = 2,
XR_SCENE_MARKER_QRCODE_SYMBOL_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneMarkerQRCodeSymbolTypeMSFT;
Description
The XrSceneMarkerQRCodeSymbolTypeMSFT identifies the symbol type of the QR Code.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneMarkerTypeMSFT(3)
Name
XrSceneMarkerTypeMSFT - Marker type
C Specification
The XrSceneMarkerTypeMSFT identifies the type of a scene marker.
// Provided by XR_MSFT_scene_marker
typedef enum XrSceneMarkerTypeMSFT {
XR_SCENE_MARKER_TYPE_QR_CODE_MSFT = 1,
XR_SCENE_MARKER_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneMarkerTypeMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSceneObjectTypeMSFT(3)
Name
XrSceneObjectTypeMSFT - Scene object type
C Specification
The XrSceneObjectTypeMSFT enumeration identifies the different types of scene objects.
// Provided by XR_MSFT_scene_understanding
typedef enum XrSceneObjectTypeMSFT {
XR_SCENE_OBJECT_TYPE_UNCATEGORIZED_MSFT = -1,
XR_SCENE_OBJECT_TYPE_BACKGROUND_MSFT = 1,
XR_SCENE_OBJECT_TYPE_WALL_MSFT = 2,
XR_SCENE_OBJECT_TYPE_FLOOR_MSFT = 3,
XR_SCENE_OBJECT_TYPE_CEILING_MSFT = 4,
XR_SCENE_OBJECT_TYPE_PLATFORM_MSFT = 5,
XR_SCENE_OBJECT_TYPE_INFERRED_MSFT = 6,
XR_SCENE_OBJECT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSceneObjectTypeMSFT;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrScenePlaneAlignmentTypeMSFT(3)
Name
XrScenePlaneAlignmentTypeMSFT - Scene plane alignment type
C Specification
XrScenePlaneAlignmentTypeMSFT identifies the different plane alignment types.
// Provided by XR_MSFT_scene_understanding
typedef enum XrScenePlaneAlignmentTypeMSFT {
XR_SCENE_PLANE_ALIGNMENT_TYPE_NON_ORTHOGONAL_MSFT = 0,
XR_SCENE_PLANE_ALIGNMENT_TYPE_HORIZONTAL_MSFT = 1,
XR_SCENE_PLANE_ALIGNMENT_TYPE_VERTICAL_MSFT = 2,
XR_SCENE_PLANE_ALIGNMENT_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrScenePlaneAlignmentTypeMSFT;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSemanticLabelBD(3)
Name
XrSemanticLabelBD - Semantic label type
C Specification
Specify the semantic labels of spatial entity.
// Provided by XR_BD_spatial_sensing
typedef enum XrSemanticLabelBD {
XR_SEMANTIC_LABEL_UNKNOWN_BD = 0,
XR_SEMANTIC_LABEL_FLOOR_BD = 1,
XR_SEMANTIC_LABEL_CEILING_BD = 2,
XR_SEMANTIC_LABEL_WALL_BD = 3,
XR_SEMANTIC_LABEL_DOOR_BD = 4,
XR_SEMANTIC_LABEL_WINDOW_BD = 5,
XR_SEMANTIC_LABEL_OPENING_BD = 6,
XR_SEMANTIC_LABEL_TABLE_BD = 7,
XR_SEMANTIC_LABEL_SOFA_BD = 8,
XR_SEMANTIC_LABEL_CHAIR_BD = 9,
XR_SEMANTIC_LABEL_HUMAN_BD = 10,
XR_SEMANTIC_LABEL_BEAM_BD = 11,
XR_SEMANTIC_LABEL_COLUMN_BD = 12,
XR_SEMANTIC_LABEL_CURTAIN_BD = 13,
XR_SEMANTIC_LABEL_CABINET_BD = 14,
XR_SEMANTIC_LABEL_BED_BD = 15,
XR_SEMANTIC_LABEL_PLANT_BD = 16,
XR_SEMANTIC_LABEL_SCREEN_BD = 17,
XR_SEMANTIC_LABEL_VIRTUAL_WALL_BD = 18,
XR_SEMANTIC_LABEL_REFRIGERATOR_BD = 19,
XR_SEMANTIC_LABEL_WASHING_MACHINE_BD = 20,
XR_SEMANTIC_LABEL_AIR_CONDITIONER_BD = 21,
XR_SEMANTIC_LABEL_LAMP_BD = 22,
XR_SEMANTIC_LABEL_WALL_ART_BD = 23,
XR_SEMANTIC_LABEL_STAIRWAY_BD = 24,
XR_SEMANTIC_LABEL_MAX_ENUM_BD = 0x7FFFFFFF
} XrSemanticLabelBD;
Description
| Enum | Description |
|---|---|
|
Semantic label that the runtime does not know. |
|
Semantic label of floor. |
|
Semantic label of ceiling. |
|
Semantic label of wall. |
|
Semantic label of door. |
|
Semantic label of window. |
|
Semantic label of opening, usually refers to a space that something or someone can pass through. |
|
Semantic label of table. |
|
Semantic label of sofa, usually refers to a seat that multiple people can sit on. |
|
Semantic label of chair, usually refers to a seat that for one person. |
|
Semantic label of human. |
|
Semantic label of beam, which usually supports weight in a building or other structure. |
|
Semantic label of column, which is vertical and used as a support for the roof of a building. |
|
Semantic label of curtain. |
|
Semantic label of cabinet. |
|
Semantic label of bed. |
|
Semantic label of plant. |
|
Semantic label of screen. |
|
Semantic label of virtual wall, which is generated by the system scene capture app in order to create a closed space for users. |
|
Semantic label of refrigerator. |
|
Semantic label of washing machine. |
|
Semantic label of air conditioner. |
|
Semantic label of lamp. |
|
Semantic label of wall art, like a painting or a photo frame. |
|
Semantic label of stairway. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSemanticLabelsSupportFlagBitsFB(3)
Name
XrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFB
C Specification
// Provided by XR_FB_scene
// Flag bits for XrSemanticLabelsSupportFlagsFB
static const XrSemanticLabelsSupportFlagsFB XR_SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FB = 0x00000001;
static const XrSemanticLabelsSupportFlagsFB XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FB = 0x00000002;
static const XrSemanticLabelsSupportFlagsFB XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FB = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderStateBD(3)
Name
XrSenseDataProviderStateBD - Type of sense data provider state
C Specification
The XrSenseDataProviderStateBD enumeration identifies the various states of the sense data provider.
// Provided by XR_BD_spatial_sensing
typedef enum XrSenseDataProviderStateBD {
XR_SENSE_DATA_PROVIDER_STATE_INITIALIZED_BD = 0,
XR_SENSE_DATA_PROVIDER_STATE_RUNNING_BD = 1,
XR_SENSE_DATA_PROVIDER_STATE_STOPPED_BD = 2,
XR_SENSE_DATA_PROVIDER_STATE_MAX_ENUM_BD = 0x7FFFFFFF
} XrSenseDataProviderStateBD;
Description
| Enum | Description |
|---|---|
|
The state after the provider is successfully created, which means the provider is ready to start. |
|
The state when the provider is running normally. |
|
The state after the provider is successfully stopped, or when an unexpected error occurs. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSenseDataProviderTypeBD(3)
Name
XrSenseDataProviderTypeBD - Sense data provider types
C Specification
The XrSenseDataProviderTypeBD enumeration is defined as:
// Provided by XR_BD_spatial_sensing
typedef enum XrSenseDataProviderTypeBD {
// Provided by XR_BD_spatial_anchor
XR_SENSE_DATA_PROVIDER_TYPE_ANCHOR_BD = 1000390000,
// Provided by XR_BD_spatial_scene
XR_SENSE_DATA_PROVIDER_TYPE_SCENE_BD = 1000392000,
// Provided by XR_BD_spatial_mesh
XR_SENSE_DATA_PROVIDER_TYPE_MESH_BD = 1000393000,
// Provided by XR_BD_spatial_plane
XR_SENSE_DATA_PROVIDER_TYPE_PLANE_BD = 1000396000,
XR_SENSE_DATA_PROVIDER_TYPE_MAX_ENUM_BD = 0x7FFFFFFF
} XrSenseDataProviderTypeBD;
Description
| Enum | Description |
|---|---|
|
Create arbitrary spatial anchors. (Added by the |
|
Access spatial scene capture data. (Added by the |
|
Capture spatial mesh data. (Added by the |
|
Capture spatial plane data. (Added by the |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateFlagBits(3)
Name
XrSessionCreateFlagBits - Session Creation Flags
C Specification
Valid bits for XrSessionCreateFlags are defined by XrSessionCreateFlagBits.
// Flag bits for XrSessionCreateFlags
Description
There are currently no session creation flags. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionState(3)
Name
XrSessionState - Session lifecycle state
C Specification
The XrSessionState enumerates the possible session lifecycle states:
typedef enum XrSessionState {
XR_SESSION_STATE_UNKNOWN = 0,
XR_SESSION_STATE_IDLE = 1,
XR_SESSION_STATE_READY = 2,
XR_SESSION_STATE_SYNCHRONIZED = 3,
XR_SESSION_STATE_VISIBLE = 4,
XR_SESSION_STATE_FOCUSED = 5,
XR_SESSION_STATE_STOPPING = 6,
XR_SESSION_STATE_LOSS_PENDING = 7,
XR_SESSION_STATE_EXITING = 8,
XR_SESSION_STATE_MAX_ENUM = 0x7FFFFFFF
} XrSessionState;
Description
The XR_SESSION_STATE_UNKNOWN state must not be returned by the
runtime, and is only defined to avoid 0 being a valid state.
Receiving the XR_SESSION_STATE_IDLE state indicates that the runtime
considers the session is idle.
Applications in this state should minimize resource consumption but
continue to call xrPollEvent at some reasonable cadence.
Receiving the XR_SESSION_STATE_READY state indicates that the runtime
desires the application to prepare rendering resources, begin its session
and synchronize its frame loop with the runtime.
The application does this by successfully calling xrBeginSession and
then running its frame loop by calling xrWaitFrame, xrBeginFrame
and xrEndFrame in a loop.
If the runtime wishes to return the session to the
XR_SESSION_STATE_IDLE state, it must wait until the application calls
xrBeginSession.
After returning from the xrBeginSession call, the runtime may then
immediately transition forward through the
XR_SESSION_STATE_SYNCHRONIZED state to the
XR_SESSION_STATE_STOPPING state, to request that the application end
this session.
If the system supports a user engagement sensor and runtime is in
XR_SESSION_STATE_IDLE state, the runtime may wait until the user
starts engaging with the device before transitioning to the
XR_SESSION_STATE_READY state.
Receiving the XR_SESSION_STATE_SYNCHRONIZED state indicates that the
application has synchronized its frame loop with
the runtime, but its frames are not visible to the user.
The application should continue running its frame loop by calling
xrWaitFrame, xrBeginFrame and xrEndFrame, although it
should avoid heavy GPU work so that other visible applications can take CPU
and GPU precedence.
The application can save resources here by skipping rendering and not
submitting any composition layers until xrWaitFrame returns an
XrFrameState with shouldRender set to true.
A runtime may use this frame synchronization to facilitate seamless
switching from a previous XR application to this application on a frame
boundary.
Receiving the XR_SESSION_STATE_VISIBLE state indicates that the
application has synchronized its frame loop with
the runtime, and the session’s frames will be visible to the user, but the
session is not eligible to receive XR input.
An application may be visible but not have focus, for example when the
runtime is composing a modal pop-up on top of the application’s rendered
frames.
The application should continue running its frame loop, rendering and
submitting its composition layers, although it may wish to pause its
experience, as users cannot interact with the application at this time.
It is important for applications to continue rendering when visible, even
when they do not have focus, so the user continues to see something
reasonable underneath modal pop-ups.
Runtimes should make input actions inactive while the application is
unfocused, and applications should react to an inactive input action by
skipping rendering of that action’s input avatar (depictions of hands or
other tracked objects controlled by the user).
Receiving the XR_SESSION_STATE_FOCUSED state indicates that the
application has synchronized its frame loop with
the runtime, the session’s frames will be visible to the user, and the
session is eligible to receive XR input.
The runtime should only give one session XR input focus at any given time.
The application should be running its frame loop, rendering and submitting
composition layers, including input avatars (depictions of hands or other
tracked objects controlled by the user) for any input actions that are
active.
The runtime should avoid rendering its own input avatars when an
application is focused, unless input from a given source is being captured
by the runtime at the moment.
Receiving the XR_SESSION_STATE_STOPPING state indicates that the
runtime has determined that the application should halt its rendering loop.
Applications should exit their rendering loop and call xrEndSession
when in this state.
A possible reason for this would be to minimize contention between multiple
applications.
If the system supports a user engagement sensor and the session is running,
the runtime may transition to the XR_SESSION_STATE_STOPPING state
when the user stops engaging with the device.
Receiving the XR_SESSION_STATE_EXITING state indicates the runtime
wishes the application to terminate its XR experience, typically due to a
user request via a runtime user interface.
Applications should gracefully end their process when in this state if they
do not have a non-XR user experience.
Receiving the XR_SESSION_STATE_LOSS_PENDING state indicates the
runtime is no longer able to operate with the current session, for example
due to the loss of a display hardware connection.
An application should call xrDestroySession and may end its process
or decide to poll xrGetSystem at some reasonable cadence to get a new
XrSystemId, and re-initialize all graphics resources related to the
new system, and then create a new session using xrCreateSession.
After the event is queued, subsequent calls to functions that accept
XrSession parameters must no longer return any success code other
than XR_SESSION_LOSS_PENDING for the given XrSession handle.
The XR_SESSION_LOSS_PENDING success result is returned for an
unspecified grace period of time, and the functions that return it simulate
success in their behavior.
If the runtime has no reasonable way to successfully complete a given
function (e.g. xrCreateSwapchain) when a lost session is pending, or
if the runtime is not able to provide the application a grace period, the
runtime may return XR_ERROR_SESSION_LOST.
Thereafter, functions which accept XrSession parameters for the lost
session may return XR_ERROR_SESSION_LOST to indicate that the
function failed and the given session was lost.
The XrSession handle and child handles are henceforth unusable and
should be destroyed by the application in order to immediately free up
resources associated with those handles.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceComponentTypeFB(3)
Name
XrSpaceComponentTypeFB - Component type
C Specification
// Provided by XR_FB_spatial_entity
typedef enum XrSpaceComponentTypeFB {
XR_SPACE_COMPONENT_TYPE_LOCATABLE_FB = 0,
XR_SPACE_COMPONENT_TYPE_STORABLE_FB = 1,
XR_SPACE_COMPONENT_TYPE_SHARABLE_FB = 2,
XR_SPACE_COMPONENT_TYPE_BOUNDED_2D_FB = 3,
XR_SPACE_COMPONENT_TYPE_BOUNDED_3D_FB = 4,
XR_SPACE_COMPONENT_TYPE_SEMANTIC_LABELS_FB = 5,
XR_SPACE_COMPONENT_TYPE_ROOM_LAYOUT_FB = 6,
XR_SPACE_COMPONENT_TYPE_SPACE_CONTAINER_FB = 7,
// Provided by XR_META_spatial_entity_mesh
XR_SPACE_COMPONENT_TYPE_TRIANGLE_MESH_META = 1000269000,
XR_SPACE_COMPONENT_TYPE_MAX_ENUM_FB = 0x7FFFFFFF
} XrSpaceComponentTypeFB;
Description
Specify the component interfaces attached to the spatial entity.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceLocationFlagBits(3)
Name
XrSpaceLocationFlagBits - Space location flags
C Specification
Valid bits for XrSpaceLocationFlags are defined by XrSpaceLocationFlagBits, which is specified as:
// Flag bits for XrSpaceLocationFlags
static const XrSpaceLocationFlags XR_SPACE_LOCATION_ORIENTATION_VALID_BIT = 0x00000001;
static const XrSpaceLocationFlags XR_SPACE_LOCATION_POSITION_VALID_BIT = 0x00000002;
static const XrSpaceLocationFlags XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT = 0x00000004;
static const XrSpaceLocationFlags XR_SPACE_LOCATION_POSITION_TRACKED_BIT = 0x00000008;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpacePersistenceModeFB(3)
Name
XrSpacePersistenceModeFB - Persistence mode
C Specification
// Provided by XR_FB_spatial_entity_storage
typedef enum XrSpacePersistenceModeFB {
XR_SPACE_PERSISTENCE_MODE_INVALID_FB = 0,
XR_SPACE_PERSISTENCE_MODE_INDEFINITE_FB = 1,
XR_SPACE_PERSISTENCE_MODE_MAX_ENUM_FB = 0x7FFFFFFF
} XrSpacePersistenceModeFB;
Description
The XrSpacePersistenceModeFB enumeration specifies the persistence mode for the save operation.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceQueryActionFB(3)
Name
XrSpaceQueryActionFB - Type of query being performed
C Specification
// Provided by XR_FB_spatial_entity_query
typedef enum XrSpaceQueryActionFB {
XR_SPACE_QUERY_ACTION_LOAD_FB = 0,
XR_SPACE_QUERY_ACTION_MAX_ENUM_FB = 0x7FFFFFFF
} XrSpaceQueryActionFB;
Description
Specify the type of query being performed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceStorageLocationFB(3)
Name
XrSpaceStorageLocationFB - Storage location to persist spatial entities
C Specification
// Provided by XR_FB_spatial_entity_storage
typedef enum XrSpaceStorageLocationFB {
XR_SPACE_STORAGE_LOCATION_INVALID_FB = 0,
XR_SPACE_STORAGE_LOCATION_LOCAL_FB = 1,
XR_SPACE_STORAGE_LOCATION_CLOUD_FB = 2,
XR_SPACE_STORAGE_LOCATION_MAX_ENUM_FB = 0x7FFFFFFF
} XrSpaceStorageLocationFB;
Description
The XrSpaceStorageLocationFB enumeration contains the storage locations used to store, erase, and query spatial entities.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceVelocityFlagBits(3)
Name
XrSpaceVelocityFlagBits - Space velocity flags
C Specification
Valid bits for XrSpaceVelocityFlags are defined by XrSpaceVelocityFlagBits, which is specified as:
// Flag bits for XrSpaceVelocityFlags
static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_LINEAR_VALID_BIT = 0x00000001;
static const XrSpaceVelocityFlags XR_SPACE_VELOCITY_ANGULAR_VALID_BIT = 0x00000002;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialAnchorConfidenceML(3)
Name
XrSpatialAnchorConfidenceML - Spatial anchor confidence
C Specification
// Provided by XR_ML_spatial_anchors
typedef enum XrSpatialAnchorConfidenceML {
XR_SPATIAL_ANCHOR_CONFIDENCE_LOW_ML = 0,
XR_SPATIAL_ANCHOR_CONFIDENCE_MEDIUM_ML = 1,
XR_SPATIAL_ANCHOR_CONFIDENCE_HIGH_ML = 2,
XR_SPATIAL_ANCHOR_CONFIDENCE_MAX_ENUM_ML = 0x7FFFFFFF
} XrSpatialAnchorConfidenceML;
Description
| Enum | Description |
|---|---|
|
Low quality, this anchor can be expected to move significantly. |
|
Medium quality, this anchor may move slightly. |
|
High quality, this anchor is stable and suitable for digital content attachment. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialBufferTypeEXT(3)
Name
XrSpatialBufferTypeEXT - Spatial buffer type
C Specification
// Provided by XR_EXT_spatial_entity
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;
Description
The XrSpatialBufferTypeEXT enumeration identifies the different data
types of the buffer represented XrSpatialBufferIdEXT.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityEXT(3)
Name
XrSpatialCapabilityEXT - Type of spatial capabilities
C Specification
// Provided by XR_EXT_spatial_entity
typedef enum XrSpatialCapabilityEXT {
// Provided by XR_EXT_spatial_plane_tracking
XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT = 1000741000,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_QR_CODE_EXT = 1000743000,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE_EXT = 1000743001,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_ARUCO_MARKER_EXT = 1000743002,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_MARKER_TRACKING_APRIL_TAG_EXT = 1000743003,
// Provided by XR_EXT_spatial_anchor
XR_SPATIAL_CAPABILITY_ANCHOR_EXT = 1000762000,
XR_SPATIAL_CAPABILITY_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialCapabilityEXT;
Description
The XrSpatialCapabilityEXT enumeration identifies the different types of capabilities that the runtime may support.
See Also
XR_EXT_spatial_entity, XrSpatialCapabilityConfigurationAnchorEXT, XrSpatialCapabilityConfigurationAprilTagEXT, XrSpatialCapabilityConfigurationArucoMarkerEXT, XrSpatialCapabilityConfigurationBaseHeaderEXT, XrSpatialCapabilityConfigurationMicroQrCodeEXT, XrSpatialCapabilityConfigurationPlaneTrackingEXT, XrSpatialCapabilityConfigurationQrCodeEXT, XrSpatialMarkerDataEXT, xrEnumerateSpatialCapabilitiesEXT, xrEnumerateSpatialCapabilityComponentTypesEXT, xrEnumerateSpatialCapabilityFeaturesEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialCapabilityFeatureEXT(3)
Name
XrSpatialCapabilityFeatureEXT - Type of spatial capability features
C Specification
// Provided by XR_EXT_spatial_entity
typedef enum XrSpatialCapabilityFeatureEXT {
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_FIXED_SIZE_MARKERS_EXT = 1000743000,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_CAPABILITY_FEATURE_MARKER_TRACKING_STATIC_MARKERS_EXT = 1000743001,
XR_SPATIAL_CAPABILITY_FEATURE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialCapabilityFeatureEXT;
Description
Some capabilities have parameters exposed to the application to configure how the component data is computed by the runtime. These dimensions of parameterization/configurability are known as capability features. E.g. for an image tracking capability, a runtime may support a feature for the application to specify whether the tracked images are stationary or not.
Providing this information to the runtime via a configuration structure must not change the set of component types present on the associated entities, e.g. on the tracked image. However, the runtime may be able to optimize e.g. the tracking abilities of the image tracking capability and provide a better experience to the application.
Such features are represented by XrSpatialCapabilityFeatureEXT and the application enumerates them by using xrEnumerateSpatialCapabilityFeaturesEXT.
Each capability feature has a corresponding configuration structure to
enable it.
Such configuration structures must be chained to
XrSpatialCapabilityConfigurationBaseHeaderEXT::next of the
corresponding capability.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialComponentTypeEXT(3)
Name
XrSpatialComponentTypeEXT - Type of components
C Specification
// Provided by XR_EXT_spatial_entity
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,
// Provided by XR_EXT_spatial_plane_tracking
XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT = 1000741000,
// Provided by XR_EXT_spatial_plane_tracking
XR_SPATIAL_COMPONENT_TYPE_MESH_2D_EXT = 1000741001,
// Provided by XR_EXT_spatial_plane_tracking
XR_SPATIAL_COMPONENT_TYPE_POLYGON_2D_EXT = 1000741002,
// Provided by XR_EXT_spatial_plane_tracking
XR_SPATIAL_COMPONENT_TYPE_PLANE_SEMANTIC_LABEL_EXT = 1000741003,
// Provided by XR_EXT_spatial_marker_tracking
XR_SPATIAL_COMPONENT_TYPE_MARKER_EXT = 1000743000,
// Provided by XR_EXT_spatial_anchor
XR_SPATIAL_COMPONENT_TYPE_ANCHOR_EXT = 1000762000,
// Provided by XR_EXT_spatial_persistence
XR_SPATIAL_COMPONENT_TYPE_PERSISTENCE_EXT = 1000763000,
XR_SPATIAL_COMPONENT_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialComponentTypeEXT;
Description
The XrSpatialComponentTypeEXT enumeration identifies the different types of components that the runtime may support.
Not all component types listed are provided by this extension on its own: some require additional extensions to be enabled at instance creation time, as documented.
The enumerants have the following values:
| Enum | Description |
|---|---|
|
Component that provides the 2D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded2DListEXT; Corresponding data structure is XrSpatialBounded2DDataEXT |
|
Component that provides the 3D bounds for a spatial entity. Corresponding list structure is XrSpatialComponentBounded3DListEXT; Corresponding data structure is XrBoxf |
|
Component that provides the |
|
Component that provides a 3D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh3DListEXT; Corresponding data structure is XrSpatialMeshDataEXT |
|
Component that provides the plane alignment enum for a spatial entity. Corresponding list structure is XrSpatialComponentPlaneAlignmentListEXT; Corresponding data structure is XrSpatialPlaneAlignmentEXT (Added by the |
|
Component that provides a 2D mesh for a spatial entity. Corresponding list structure is XrSpatialComponentMesh2DListEXT; Corresponding data structure is XrSpatialMeshDataEXT (Added by the |
|
Component that provides a 2D boundary polygon for a spatial entity. Corresponding list structure is XrSpatialComponentPolygon2DListEXT; Corresponding data structure is XrSpatialPolygon2DDataEXT (Added by the |
|
Component that provides a semantic label for a plane. Corresponding list structure is XrSpatialComponentPlaneSemanticLabelListEXT; Corresponding data structure is XrSpatialPlaneSemanticLabelEXT (Added by the |
|
A component describing the marker type, id and location. Corresponding list structure is XrSpatialComponentMarkerListEXT; Corresponding data structure is XrSpatialMarkerDataEXT (Added by the |
|
Component that provides the location for an anchor. Corresponding list structure is XrSpatialComponentAnchorListEXT; Corresponding data structure is XrPosef (Added by the |
|
Component that provides the persisted UUID for a spatial entity. Corresponding list structure is XrSpatialComponentPersistenceListEXT; Corresponding data structure is XrSpatialPersistenceDataEXT (Added by the |
See Also
XR_EXT_spatial_entity, XrSpatialCapabilityComponentTypesEXT, XrSpatialCapabilityConfigurationAnchorEXT, XrSpatialCapabilityConfigurationAprilTagEXT, XrSpatialCapabilityConfigurationArucoMarkerEXT, XrSpatialCapabilityConfigurationBaseHeaderEXT, XrSpatialCapabilityConfigurationMicroQrCodeEXT, XrSpatialCapabilityConfigurationPlaneTrackingEXT, XrSpatialCapabilityConfigurationQrCodeEXT, XrSpatialComponentDataQueryConditionEXT, XrSpatialDiscoverySnapshotCreateInfoEXT, XrSpatialUpdateSnapshotCreateInfoEXT, xrEnumerateSpatialCapabilityComponentTypesEXT
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityComponentTypeBD(3)
Name
XrSpatialEntityComponentTypeBD - Type of components
C Specification
The XrSpatialEntityComponentTypeBD enumeration identifies the different types of components that spatial entities may support.
// Provided by XR_BD_spatial_sensing
typedef enum XrSpatialEntityComponentTypeBD {
XR_SPATIAL_ENTITY_COMPONENT_TYPE_LOCATION_BD = 0,
XR_SPATIAL_ENTITY_COMPONENT_TYPE_SEMANTIC_BD = 1,
XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_2D_BD = 2,
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,
// Provided by XR_BD_spatial_plane
XR_SPATIAL_ENTITY_COMPONENT_TYPE_PLANE_ORIENTATION_BD = 1000396000,
XR_SPATIAL_ENTITY_COMPONENT_TYPE_MAX_ENUM_BD = 0x7FFFFFFF
} XrSpatialEntityComponentTypeBD;
Description
| Enum | Description |
|---|---|
|
The location including position and rotation. Corresponds to component data structure XrSpatialEntityComponentDataLocationBD. |
|
The semantic label. Corresponds to component data structure XrSpatialEntityComponentDataSemanticBD. |
|
The two-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox2DBD. |
|
The two-dimensional polygon. Corresponds to component data structure XrSpatialEntityComponentDataPolygonBD. |
|
The three-dimensional bounding box. Corresponds to component data structure XrSpatialEntityComponentDataBoundingBox3DBD. |
|
The triangle mesh. Corresponds to component data structure XrSpatialEntityComponentDataTriangleMeshBD. |
|
The plane orientation. Corresponds to component data structure XrSpatialEntityComponentDataPlaneOrientationBD. (Added by the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityTrackingStateEXT(3)
Name
XrSpatialEntityTrackingStateEXT - Spatial entity tracking states
C Specification
// Provided by XR_EXT_spatial_entity
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;
Description
The XrSpatialEntityTrackingStateEXT enumerates the possible spatial entity tracking states:
The enums have the following meanings:
| Enum | Description |
|---|---|
|
The runtime has stopped tracking this entity and will never resume tracking it. |
|
The runtime has paused tracking this entity but may resume tracking it in the future. |
|
The runtime is currently tracking this entity and its component data is valid. |
-
The runtime may change the state of the spatial entity from
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXTtoXR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXTif it suspends the tracking of that spatial entity but has the possibility of resuming its tracking in the future. Some examples of when the runtime may do this include (but not limited to) if the application loses input focus; or if the given spatial entity is too far from the user to be accurately tracked; or if there are too many entities being tracked and the runtime wants to reduce the cost of tracking. XrSpatialEntityTrackingStateEXT helps the application insulate itself from the different tracking policies of each runtime. -
The runtime may change the state of an entity from
XR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXTtoXR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXTorXR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT. -
The runtime must change the state of the spatial entity from
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXTorXR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXTtoXR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXTif the spatial entity is lost and its tracking will never be recovered or resumed. An example of such a case would be if the device loses tracking, restarts its tracking session but is unable to relocalize in its environment, and therefore treats discovered entities of this tracking session as new entities. -
Once the tracking state of an entity is set to
XR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXT, the runtime must never change it any other state. -
When querying the component data of a spatial entity using xrQuerySpatialComponentDataEXT, the runtime must set valid data in the contents of the buffers provided by the application in the next chain of XrSpatialComponentDataQueryResultEXT if the entity state is
XR_SPATIAL_ENTITY_TRACKING_STATE_TRACKING_EXT. If the entity state isXR_SPATIAL_ENTITY_TRACKING_STATE_STOPPED_EXTorXR_SPATIAL_ENTITY_TRACKING_STATE_PAUSED_EXT, the runtime must not change the content of the buffers.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialGraphNodeTypeMSFT(3)
Name
XrSpatialGraphNodeTypeMSFT - The type of spatial graph node.
C Specification
The enum XrSpatialGraphNodeTypeMSFT describes the types of spatial graph nodes.
// Provided by XR_MSFT_spatial_graph_bridge
typedef enum XrSpatialGraphNodeTypeMSFT {
XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT = 1,
XR_SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT = 2,
XR_SPATIAL_GRAPH_NODE_TYPE_MAX_ENUM_MSFT = 0x7FFFFFFF
} XrSpatialGraphNodeTypeMSFT;
Description
There are two types of spatial graph nodes: static and dynamic.
Static spatial nodes track the pose of a fixed location in the world
relative to reference spaces.
The tracking of static nodes may slowly adjust the pose over time for
better accuracy but the pose is relatively stable in the short term, such as
between rendering frames.
For example, a QR code tracking library can use a static node to represent
the location of the tracked QR code.
Static spatial nodes are represented by
XR_SPATIAL_GRAPH_NODE_TYPE_STATIC_MSFT.
Dynamic spatial nodes track the pose of a physical object that moves
continuously relative to reference spaces.
The pose of dynamic spatial nodes can be very different within the duration
of a rendering frame.
It is important for the application to use the correct timestamp to query
the space location using xrLocateSpace.
For example, a color camera mounted in front of a HMD is also tracked by the
HMD so a web camera library can use a dynamic node to represent the camera
location.
Dynamic spatial nodes are represented by
XR_SPATIAL_GRAPH_NODE_TYPE_DYNAMIC_MSFT.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMarkerAprilTagDictEXT(3)
Name
XrSpatialMarkerAprilTagDictEXT - AprilTag dictionaries
C Specification
The XrSpatialMarkerAprilTagDictEXT enumeration is defined as:
// Provided by XR_EXT_spatial_marker_tracking
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;
Description
Supported predefined AprilTag dictionary:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMarkerArucoDictEXT(3)
Name
XrSpatialMarkerArucoDictEXT - ArUco dictionaries
C Specification
The XrSpatialMarkerArucoDictEXT enumeration is defined as:
// Provided by 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;
Description
Supported predefined ArUco dictionary:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMeshConfigFlagBitsBD(3)
Name
XrSpatialMeshConfigFlagBitsBD - XrSpatialMeshConfigFlagBitsBD
C Specification
Valid bits for XrSpatialMeshConfigFlagsBD are defined by XrSpatialMeshConfigFlagBitsBD, which is specified as:
// Provided by XR_BD_spatial_mesh
// Flag bits for XrSpatialMeshConfigFlagsBD
static const XrSpatialMeshConfigFlagsBD XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD = 0x00000001;
static const XrSpatialMeshConfigFlagsBD XR_SPATIAL_MESH_CONFIG_ALIGN_SEMANTIC_WITH_VERTEX_BIT_BD = 0x00000002;
Description
If XR_SPATIAL_MESH_CONFIG_SEMANTIC_BIT_BD is not set, the
XR_SPATIAL_MESH_CONFIG_ALIGN_SEMANTIC_WITH_VERTEX_BIT_BD takes no
effect.
If XR_SPATIAL_MESH_CONFIG_ALIGN_SEMANTIC_WITH_VERTEX_BIT_BD is not
set, each semantic label corresponds to each vertex.
If XR_SPATIAL_MESH_CONFIG_ALIGN_SEMANTIC_WITH_VERTEX_BIT_BD is set,
each semantic label corresponds to three indices.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMeshLodBD(3)
Name
XrSpatialMeshLodBD - LOD of the spatial mesh
C Specification
The XrSpatialMeshLodBD enumeration identifies the different LOD levels.
// Provided by XR_BD_spatial_mesh
typedef enum XrSpatialMeshLodBD {
XR_SPATIAL_MESH_LOD_COARSE_BD = 0,
XR_SPATIAL_MESH_LOD_MEDIUM_BD = 1,
XR_SPATIAL_MESH_LOD_FINE_BD = 2,
XR_SPATIAL_MESH_LOD_MAX_ENUM_BD = 0x7FFFFFFF
} XrSpatialMeshLodBD;
Description
| Enum | Description |
|---|---|
|
Coarse level for the mesh with less details. |
|
Medium level for the mesh. |
|
Fine level for the mesh with more details. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceContextResultEXT(3)
Name
XrSpatialPersistenceContextResultEXT - Spatial persistence results
C Specification
// Provided by XR_EXT_spatial_persistence
typedef enum XrSpatialPersistenceContextResultEXT {
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_SUCCESS_EXT = 0,
// Provided by XR_EXT_spatial_persistence_operations
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_ENTITY_NOT_TRACKING_EXT = -1000781001,
// Provided by XR_EXT_spatial_persistence_operations
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_PERSIST_UUID_NOT_FOUND_EXT = -1000781002,
XR_SPATIAL_PERSISTENCE_CONTEXT_RESULT_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialPersistenceContextResultEXT;
Description
The XrSpatialPersistenceContextResultEXT enumeration identifies the different types of result codes for a persistence operation. Failures during persistence operations are not always in control of the application and this enumeration is used for conveying such cases. Similar to XrResult, success codes in the XrSpatialPersistenceContextResultEXT enumeration are non-negative values, and failure codes are negative values.
The enums have the following meanings:
| Enum | Description |
|---|---|
|
The persistence context operation was a success. |
|
The persistence operation failed because the entity could not be tracked by the runtime. (Added by the |
|
The provided persist UUID was not found in the storage. (Added by the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceScopeEXT(3)
Name
XrSpatialPersistenceScopeEXT - Spatial persistence scopes
C Specification
// Provided by XR_EXT_spatial_persistence
typedef enum XrSpatialPersistenceScopeEXT {
XR_SPATIAL_PERSISTENCE_SCOPE_SYSTEM_MANAGED_EXT = 1,
// Provided by XR_EXT_spatial_persistence_operations
XR_SPATIAL_PERSISTENCE_SCOPE_LOCAL_ANCHORS_EXT = 1000781000,
XR_SPATIAL_PERSISTENCE_SCOPE_MAX_ENUM_EXT = 0x7FFFFFFF
} XrSpatialPersistenceScopeEXT;
Description
The XrSpatialPersistenceScopeEXT enumeration identifies the different types of persistence context scopes.
The enums have the following meanings:
| Enum | Description |
|---|---|
|
Provides the application with read-only access (i.e. application cannot modify the store associated with this scope) to spatial entities persisted and managed by the system. The application can use the UUID in the persistence component for this scope to correlate entities across spatial contexts and device reboots. |
|
Persistence operations and data access is limited to spatial anchors, on the same device, for the same user and same app (Added by the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPersistenceStateEXT(3)
Name
XrSpatialPersistenceStateEXT - Spatial persistence states
C Specification
// Provided by XR_EXT_spatial_persistence
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;
Description
The XrSpatialPersistenceStateEXT enumeration identifies the different states of the persisted uuid.
The enums have the following meanings:
| Enum | Description |
|---|---|
|
The persisted UUID has been successfully loaded from the storage. |
|
The persisted UUID was not found in the storage and was either removed from it or never was in it. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPlaneAlignmentEXT(3)
Name
XrSpatialPlaneAlignmentEXT - Plane Alignment
C Specification
// Provided by 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;
Description
The XrSpatialPlaneAlignmentEXT enumeration describes the alignment of
the plane associated with the spatial entity with an
XR_SPATIAL_COMPONENT_TYPE_PLANE_ALIGNMENT_EXT component.
The enumeration values have the following meanings:
| Enum | Description |
|---|---|
|
The entity is horizontal and faces upward (e.g. floor). |
|
The entity is horizontal and faces downward (e.g. ceiling). |
|
The entity is vertical (e.g. wall). |
|
The entity has an arbitrary, non-vertical and non-horizontal orientation. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialPlaneSemanticLabelEXT(3)
Name
XrSpatialPlaneSemanticLabelEXT - Plane semantic labels
C Specification
// Provided by XR_EXT_spatial_plane_tracking
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;
Description
The XrSpatialPlaneSemanticLabelEXT enumeration describes a set of semantic labels for planes.
| Enum | Description |
|---|---|
|
The runtime was unable to classify this entity. |
|
The entity is a floor. |
|
The entity is a wall. |
|
The entity is a ceiling. |
|
The entity is a table. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrStructureType(3)
Name
XrStructureType - Values for type members of structs
C Specification
typedef enum XrStructureType {
XR_TYPE_UNKNOWN = 0,
XR_TYPE_API_LAYER_PROPERTIES = 1,
XR_TYPE_EXTENSION_PROPERTIES = 2,
XR_TYPE_INSTANCE_CREATE_INFO = 3,
XR_TYPE_SYSTEM_GET_INFO = 4,
XR_TYPE_SYSTEM_PROPERTIES = 5,
XR_TYPE_VIEW_LOCATE_INFO = 6,
XR_TYPE_VIEW = 7,
XR_TYPE_SESSION_CREATE_INFO = 8,
XR_TYPE_SWAPCHAIN_CREATE_INFO = 9,
XR_TYPE_SESSION_BEGIN_INFO = 10,
XR_TYPE_VIEW_STATE = 11,
XR_TYPE_FRAME_END_INFO = 12,
XR_TYPE_HAPTIC_VIBRATION = 13,
XR_TYPE_EVENT_DATA_BUFFER = 16,
XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING = 17,
XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED = 18,
XR_TYPE_ACTION_STATE_BOOLEAN = 23,
XR_TYPE_ACTION_STATE_FLOAT = 24,
XR_TYPE_ACTION_STATE_VECTOR2F = 25,
XR_TYPE_ACTION_STATE_POSE = 27,
XR_TYPE_ACTION_SET_CREATE_INFO = 28,
XR_TYPE_ACTION_CREATE_INFO = 29,
XR_TYPE_INSTANCE_PROPERTIES = 32,
XR_TYPE_FRAME_WAIT_INFO = 33,
XR_TYPE_COMPOSITION_LAYER_PROJECTION = 35,
XR_TYPE_COMPOSITION_LAYER_QUAD = 36,
XR_TYPE_REFERENCE_SPACE_CREATE_INFO = 37,
XR_TYPE_ACTION_SPACE_CREATE_INFO = 38,
XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING = 40,
XR_TYPE_VIEW_CONFIGURATION_VIEW = 41,
XR_TYPE_SPACE_LOCATION = 42,
XR_TYPE_SPACE_VELOCITY = 43,
XR_TYPE_FRAME_STATE = 44,
XR_TYPE_VIEW_CONFIGURATION_PROPERTIES = 45,
XR_TYPE_FRAME_BEGIN_INFO = 46,
XR_TYPE_COMPOSITION_LAYER_PROJECTION_VIEW = 48,
XR_TYPE_EVENT_DATA_EVENTS_LOST = 49,
XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING = 51,
XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED = 52,
XR_TYPE_INTERACTION_PROFILE_STATE = 53,
XR_TYPE_SWAPCHAIN_IMAGE_ACQUIRE_INFO = 55,
XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO = 56,
XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO = 57,
XR_TYPE_ACTION_STATE_GET_INFO = 58,
XR_TYPE_HAPTIC_ACTION_INFO = 59,
XR_TYPE_SESSION_ACTION_SETS_ATTACH_INFO = 60,
XR_TYPE_ACTIONS_SYNC_INFO = 61,
XR_TYPE_BOUND_SOURCES_FOR_ACTION_ENUMERATE_INFO = 62,
XR_TYPE_INPUT_SOURCE_LOCALIZED_NAME_GET_INFO = 63,
// Provided by XR_VERSION_1_1
XR_TYPE_SPACES_LOCATE_INFO = 1000471000,
// Provided by XR_VERSION_1_1
XR_TYPE_SPACE_LOCATIONS = 1000471001,
// Provided by XR_VERSION_1_1
XR_TYPE_SPACE_VELOCITIES = 1000471002,
// Provided by XR_KHR_composition_layer_cube
XR_TYPE_COMPOSITION_LAYER_CUBE_KHR = 1000006000,
// Provided by XR_KHR_android_create_instance
XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR = 1000008000,
// Provided by XR_KHR_composition_layer_depth
XR_TYPE_COMPOSITION_LAYER_DEPTH_INFO_KHR = 1000010000,
// Provided by XR_KHR_vulkan_swapchain_format_list
XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR = 1000014000,
// Provided by XR_EXT_performance_settings
XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT = 1000015000,
// Provided by XR_KHR_composition_layer_cylinder
XR_TYPE_COMPOSITION_LAYER_CYLINDER_KHR = 1000017000,
// Provided by XR_KHR_composition_layer_equirect
XR_TYPE_COMPOSITION_LAYER_EQUIRECT_KHR = 1000018000,
// Provided by XR_EXT_debug_utils
XR_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000019000,
// Provided by XR_EXT_debug_utils
XR_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000019001,
// Provided by XR_EXT_debug_utils
XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000019002,
// Provided by XR_EXT_debug_utils
XR_TYPE_DEBUG_UTILS_LABEL_EXT = 1000019003,
// Provided by XR_KHR_opengl_enable
XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR = 1000023000,
// Provided by XR_KHR_opengl_enable
XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR = 1000023001,
// Provided by XR_KHR_opengl_enable
XR_TYPE_GRAPHICS_BINDING_OPENGL_XCB_KHR = 1000023002,
// Provided by XR_KHR_opengl_enable
XR_TYPE_GRAPHICS_BINDING_OPENGL_WAYLAND_KHR = 1000023003,
// Provided by XR_KHR_opengl_enable
XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR = 1000023004,
// Provided by XR_KHR_opengl_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_KHR = 1000023005,
// Provided by XR_KHR_opengl_es_enable
XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR = 1000024001,
// Provided by XR_KHR_opengl_es_enable
XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR = 1000024002,
// Provided by XR_KHR_opengl_es_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR = 1000024003,
// Provided by XR_KHR_vulkan_enable
XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR = 1000025000,
// Provided by XR_KHR_vulkan_enable
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR = 1000025001,
// Provided by XR_KHR_vulkan_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR = 1000025002,
// Provided by XR_KHR_D3D11_enable
XR_TYPE_GRAPHICS_BINDING_D3D11_KHR = 1000027000,
// Provided by XR_KHR_D3D11_enable
XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR = 1000027001,
// Provided by XR_KHR_D3D11_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_D3D11_KHR = 1000027002,
// Provided by XR_KHR_D3D12_enable
XR_TYPE_GRAPHICS_BINDING_D3D12_KHR = 1000028000,
// Provided by XR_KHR_D3D12_enable
XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR = 1000028001,
// Provided by XR_KHR_D3D12_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_D3D12_KHR = 1000028002,
// Provided by XR_KHR_metal_enable
XR_TYPE_GRAPHICS_BINDING_METAL_KHR = 1000029000,
// Provided by XR_KHR_metal_enable
XR_TYPE_SWAPCHAIN_IMAGE_METAL_KHR = 1000029001,
// Provided by XR_KHR_metal_enable
XR_TYPE_GRAPHICS_REQUIREMENTS_METAL_KHR = 1000029002,
// Provided by XR_EXT_eye_gaze_interaction
XR_TYPE_SYSTEM_EYE_GAZE_INTERACTION_PROPERTIES_EXT = 1000030000,
// Provided by XR_EXT_eye_gaze_interaction
XR_TYPE_EYE_GAZE_SAMPLE_TIME_EXT = 1000030001,
// Provided by XR_KHR_visibility_mask
XR_TYPE_VISIBILITY_MASK_KHR = 1000031000,
// Provided by XR_KHR_visibility_mask
XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR = 1000031001,
// Provided by XR_EXTX_overlay
XR_TYPE_SESSION_CREATE_INFO_OVERLAY_EXTX = 1000033000,
// Provided by XR_EXTX_overlay
XR_TYPE_EVENT_DATA_MAIN_SESSION_VISIBILITY_CHANGED_EXTX = 1000033003,
// Provided by XR_KHR_composition_layer_color_scale_bias
XR_TYPE_COMPOSITION_LAYER_COLOR_SCALE_BIAS_KHR = 1000034000,
// Provided by XR_MSFT_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_MSFT = 1000039000,
// Provided by XR_MSFT_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_SPACE_CREATE_INFO_MSFT = 1000039001,
// Provided by XR_FB_composition_layer_image_layout
XR_TYPE_COMPOSITION_LAYER_IMAGE_LAYOUT_FB = 1000040000,
// Provided by XR_FB_composition_layer_alpha_blend
XR_TYPE_COMPOSITION_LAYER_ALPHA_BLEND_FB = 1000041001,
// Provided by XR_EXT_view_configuration_depth_range
XR_TYPE_VIEW_CONFIGURATION_DEPTH_RANGE_EXT = 1000046000,
// Provided by XR_MNDX_egl_enable
XR_TYPE_GRAPHICS_BINDING_EGL_MNDX = 1000048004,
// Provided by XR_MSFT_spatial_graph_bridge
XR_TYPE_SPATIAL_GRAPH_NODE_SPACE_CREATE_INFO_MSFT = 1000049000,
// Provided by XR_MSFT_spatial_graph_bridge
XR_TYPE_SPATIAL_GRAPH_STATIC_NODE_BINDING_CREATE_INFO_MSFT = 1000049001,
// Provided by XR_MSFT_spatial_graph_bridge
XR_TYPE_SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_GET_INFO_MSFT = 1000049002,
// Provided by XR_MSFT_spatial_graph_bridge
XR_TYPE_SPATIAL_GRAPH_NODE_BINDING_PROPERTIES_MSFT = 1000049003,
// Provided by XR_EXT_hand_tracking
XR_TYPE_SYSTEM_HAND_TRACKING_PROPERTIES_EXT = 1000051000,
// Provided by XR_EXT_hand_tracking
XR_TYPE_HAND_TRACKER_CREATE_INFO_EXT = 1000051001,
// Provided by XR_EXT_hand_tracking
XR_TYPE_HAND_JOINTS_LOCATE_INFO_EXT = 1000051002,
// Provided by XR_EXT_hand_tracking
XR_TYPE_HAND_JOINT_LOCATIONS_EXT = 1000051003,
// Provided by XR_EXT_hand_tracking
XR_TYPE_HAND_JOINT_VELOCITIES_EXT = 1000051004,
// Provided by XR_MSFT_hand_tracking_mesh
XR_TYPE_SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFT = 1000052000,
// Provided by XR_MSFT_hand_tracking_mesh
XR_TYPE_HAND_MESH_SPACE_CREATE_INFO_MSFT = 1000052001,
// Provided by XR_MSFT_hand_tracking_mesh
XR_TYPE_HAND_MESH_UPDATE_INFO_MSFT = 1000052002,
// Provided by XR_MSFT_hand_tracking_mesh
XR_TYPE_HAND_MESH_MSFT = 1000052003,
// Provided by XR_MSFT_hand_tracking_mesh
XR_TYPE_HAND_POSE_TYPE_INFO_MSFT = 1000052004,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SESSION_BEGIN_INFO_MSFT = 1000053000,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_STATE_MSFT = 1000053001,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_STATE_MSFT = 1000053002,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_FRAME_END_INFO_MSFT = 1000053003,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_LAYER_INFO_MSFT = 1000053004,
// Provided by XR_MSFT_secondary_view_configuration
XR_TYPE_SECONDARY_VIEW_CONFIGURATION_SWAPCHAIN_CREATE_INFO_MSFT = 1000053005,
// Provided by XR_MSFT_controller_model
XR_TYPE_CONTROLLER_MODEL_KEY_STATE_MSFT = 1000055000,
// Provided by XR_MSFT_controller_model
XR_TYPE_CONTROLLER_MODEL_NODE_PROPERTIES_MSFT = 1000055001,
// Provided by XR_MSFT_controller_model
XR_TYPE_CONTROLLER_MODEL_PROPERTIES_MSFT = 1000055002,
// Provided by XR_MSFT_controller_model
XR_TYPE_CONTROLLER_MODEL_NODE_STATE_MSFT = 1000055003,
// Provided by XR_MSFT_controller_model
XR_TYPE_CONTROLLER_MODEL_STATE_MSFT = 1000055004,
// Provided by XR_EPIC_view_configuration_fov
XR_TYPE_VIEW_CONFIGURATION_VIEW_FOV_EPIC = 1000059000,
// Provided by XR_MSFT_holographic_window_attachment
XR_TYPE_HOLOGRAPHIC_WINDOW_ATTACHMENT_MSFT = 1000063000,
// Provided by XR_MSFT_composition_layer_reprojection
XR_TYPE_COMPOSITION_LAYER_REPROJECTION_INFO_MSFT = 1000066000,
// Provided by XR_MSFT_composition_layer_reprojection
XR_TYPE_COMPOSITION_LAYER_REPROJECTION_PLANE_OVERRIDE_MSFT = 1000066001,
// Provided by XR_FB_android_surface_swapchain_create
XR_TYPE_ANDROID_SURFACE_SWAPCHAIN_CREATE_INFO_FB = 1000070000,
// Provided by XR_FB_composition_layer_secure_content
XR_TYPE_COMPOSITION_LAYER_SECURE_CONTENT_FB = 1000072000,
// Provided by XR_FB_body_tracking
XR_TYPE_BODY_TRACKER_CREATE_INFO_FB = 1000076001,
// Provided by XR_FB_body_tracking
XR_TYPE_BODY_JOINTS_LOCATE_INFO_FB = 1000076002,
// Provided by XR_FB_body_tracking
XR_TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_FB = 1000076004,
// Provided by XR_FB_body_tracking
XR_TYPE_BODY_JOINT_LOCATIONS_FB = 1000076005,
// Provided by XR_FB_body_tracking
XR_TYPE_BODY_SKELETON_FB = 1000076006,
// Provided by XR_EXT_dpad_binding
XR_TYPE_INTERACTION_PROFILE_DPAD_BINDING_EXT = 1000078000,
// Provided by XR_VALVE_analog_threshold
XR_TYPE_INTERACTION_PROFILE_ANALOG_THRESHOLD_VALVE = 1000079000,
// Provided by XR_EXT_hand_joints_motion_range
XR_TYPE_HAND_JOINTS_MOTION_RANGE_INFO_EXT = 1000080000,
// Provided by XR_KHR_loader_init_android
XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR = 1000089000,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_VULKAN_INSTANCE_CREATE_INFO_KHR = 1000090000,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR = 1000090001,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_VULKAN_GRAPHICS_DEVICE_GET_INFO_KHR = 1000090003,
// Provided by XR_KHR_composition_layer_equirect2
XR_TYPE_COMPOSITION_LAYER_EQUIRECT2_KHR = 1000091000,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_OBSERVER_CREATE_INFO_MSFT = 1000097000,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_CREATE_INFO_MSFT = 1000097001,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_NEW_SCENE_COMPUTE_INFO_MSFT = 1000097002,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_VISUAL_MESH_COMPUTE_LOD_INFO_MSFT = 1000097003,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_COMPONENTS_MSFT = 1000097004,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_COMPONENTS_GET_INFO_MSFT = 1000097005,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_COMPONENT_LOCATIONS_MSFT = 1000097006,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_COMPONENTS_LOCATE_INFO_MSFT = 1000097007,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_OBJECTS_MSFT = 1000097008,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_COMPONENT_PARENT_FILTER_INFO_MSFT = 1000097009,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_OBJECT_TYPES_FILTER_INFO_MSFT = 1000097010,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_PLANES_MSFT = 1000097011,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_PLANE_ALIGNMENT_FILTER_INFO_MSFT = 1000097012,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESHES_MSFT = 1000097013,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESH_BUFFERS_GET_INFO_MSFT = 1000097014,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESH_BUFFERS_MSFT = 1000097015,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESH_VERTEX_BUFFER_MSFT = 1000097016,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESH_INDICES_UINT32_MSFT = 1000097017,
// Provided by XR_MSFT_scene_understanding
XR_TYPE_SCENE_MESH_INDICES_UINT16_MSFT = 1000097018,
// Provided by XR_MSFT_scene_understanding_serialization
XR_TYPE_SERIALIZED_SCENE_FRAGMENT_DATA_GET_INFO_MSFT = 1000098000,
// Provided by XR_MSFT_scene_understanding_serialization
XR_TYPE_SCENE_DESERIALIZE_INFO_MSFT = 1000098001,
// Provided by XR_FB_display_refresh_rate
XR_TYPE_EVENT_DATA_DISPLAY_REFRESH_RATE_CHANGED_FB = 1000101000,
// Provided by XR_HTCX_vive_tracker_interaction
XR_TYPE_VIVE_TRACKER_PATHS_HTCX = 1000103000,
// Provided by XR_HTCX_vive_tracker_interaction
XR_TYPE_EVENT_DATA_VIVE_TRACKER_CONNECTED_HTCX = 1000103001,
// Provided by XR_HTC_facial_tracking
XR_TYPE_SYSTEM_FACIAL_TRACKING_PROPERTIES_HTC = 1000104000,
// Provided by XR_HTC_facial_tracking
XR_TYPE_FACIAL_TRACKER_CREATE_INFO_HTC = 1000104001,
// Provided by XR_HTC_facial_tracking
XR_TYPE_FACIAL_EXPRESSIONS_HTC = 1000104002,
// Provided by XR_FB_color_space
XR_TYPE_SYSTEM_COLOR_SPACE_PROPERTIES_FB = 1000108000,
// Provided by XR_FB_hand_tracking_mesh
XR_TYPE_HAND_TRACKING_MESH_FB = 1000110001,
// Provided by XR_FB_hand_tracking_mesh
XR_TYPE_HAND_TRACKING_SCALE_FB = 1000110003,
// Provided by XR_FB_hand_tracking_aim
XR_TYPE_HAND_TRACKING_AIM_STATE_FB = 1000111001,
// Provided by XR_FB_hand_tracking_capsules
XR_TYPE_HAND_TRACKING_CAPSULES_STATE_FB = 1000112000,
// Provided by XR_FB_spatial_entity
XR_TYPE_SYSTEM_SPATIAL_ENTITY_PROPERTIES_FB = 1000113004,
// Provided by XR_FB_spatial_entity
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_FB = 1000113003,
// Provided by XR_FB_spatial_entity
XR_TYPE_SPACE_COMPONENT_STATUS_SET_INFO_FB = 1000113007,
// Provided by XR_FB_spatial_entity
XR_TYPE_SPACE_COMPONENT_STATUS_FB = 1000113001,
// Provided by XR_FB_spatial_entity
XR_TYPE_EVENT_DATA_SPATIAL_ANCHOR_CREATE_COMPLETE_FB = 1000113005,
// Provided by XR_FB_spatial_entity
XR_TYPE_EVENT_DATA_SPACE_SET_STATUS_COMPLETE_FB = 1000113006,
// Provided by XR_FB_foveation
XR_TYPE_FOVEATION_PROFILE_CREATE_INFO_FB = 1000114000,
// Provided by XR_FB_foveation
XR_TYPE_SWAPCHAIN_CREATE_INFO_FOVEATION_FB = 1000114001,
// Provided by XR_FB_foveation
XR_TYPE_SWAPCHAIN_STATE_FOVEATION_FB = 1000114002,
// Provided by XR_FB_foveation_configuration
XR_TYPE_FOVEATION_LEVEL_PROFILE_CREATE_INFO_FB = 1000115000,
// Provided by XR_FB_keyboard_tracking
XR_TYPE_KEYBOARD_SPACE_CREATE_INFO_FB = 1000116009,
// Provided by XR_FB_keyboard_tracking
XR_TYPE_KEYBOARD_TRACKING_QUERY_FB = 1000116004,
// Provided by XR_FB_keyboard_tracking
XR_TYPE_SYSTEM_KEYBOARD_TRACKING_PROPERTIES_FB = 1000116002,
// Provided by XR_FB_triangle_mesh
XR_TYPE_TRIANGLE_MESH_CREATE_INFO_FB = 1000117001,
// Provided by XR_FB_passthrough
XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES_FB = 1000118000,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_CREATE_INFO_FB = 1000118001,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_LAYER_CREATE_INFO_FB = 1000118002,
// Provided by XR_FB_passthrough
XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_FB = 1000118003,
// Provided by XR_FB_passthrough
XR_TYPE_GEOMETRY_INSTANCE_CREATE_INFO_FB = 1000118004,
// Provided by XR_FB_passthrough
XR_TYPE_GEOMETRY_INSTANCE_TRANSFORM_FB = 1000118005,
// Provided by XR_FB_passthrough
XR_TYPE_SYSTEM_PASSTHROUGH_PROPERTIES2_FB = 1000118006,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_STYLE_FB = 1000118020,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB = 1000118021,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB = 1000118022,
// Provided by XR_FB_passthrough
XR_TYPE_PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB = 1000118023,
// Provided by XR_FB_passthrough
XR_TYPE_EVENT_DATA_PASSTHROUGH_STATE_CHANGED_FB = 1000118030,
// Provided by XR_FB_render_model
XR_TYPE_RENDER_MODEL_PATH_INFO_FB = 1000119000,
// Provided by XR_FB_render_model
XR_TYPE_RENDER_MODEL_PROPERTIES_FB = 1000119001,
// Provided by XR_FB_render_model
XR_TYPE_RENDER_MODEL_BUFFER_FB = 1000119002,
// Provided by XR_FB_render_model
XR_TYPE_RENDER_MODEL_LOAD_INFO_FB = 1000119003,
// Provided by XR_FB_render_model
XR_TYPE_SYSTEM_RENDER_MODEL_PROPERTIES_FB = 1000119004,
// Provided by XR_FB_render_model
XR_TYPE_RENDER_MODEL_CAPABILITIES_REQUEST_FB = 1000119005,
// Provided by XR_KHR_binding_modification
XR_TYPE_BINDING_MODIFICATIONS_KHR = 1000120000,
// Provided by XR_VARJO_foveated_rendering
XR_TYPE_VIEW_LOCATE_FOVEATED_RENDERING_VARJO = 1000121000,
// Provided by XR_VARJO_foveated_rendering
XR_TYPE_FOVEATED_VIEW_CONFIGURATION_VIEW_VARJO = 1000121001,
// Provided by XR_VARJO_foveated_rendering
XR_TYPE_SYSTEM_FOVEATED_RENDERING_PROPERTIES_VARJO = 1000121002,
// Provided by XR_VARJO_composition_layer_depth_test
XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_VARJO = 1000122000,
// Provided by XR_VARJO_marker_tracking
XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_VARJO = 1000124000,
// Provided by XR_VARJO_marker_tracking
XR_TYPE_EVENT_DATA_MARKER_TRACKING_UPDATE_VARJO = 1000124001,
// Provided by XR_VARJO_marker_tracking
XR_TYPE_MARKER_SPACE_CREATE_INFO_VARJO = 1000124002,
// Provided by XR_ML_frame_end_info
XR_TYPE_FRAME_END_INFO_ML = 1000135000,
// Provided by XR_ML_global_dimmer
XR_TYPE_GLOBAL_DIMMER_FRAME_END_INFO_ML = 1000136000,
// Provided by XR_ML_compat
XR_TYPE_COORDINATE_SPACE_CREATE_INFO_ML = 1000137000,
// Provided by XR_ML_marker_understanding
XR_TYPE_SYSTEM_MARKER_UNDERSTANDING_PROPERTIES_ML = 1000138000,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_CREATE_INFO_ML = 1000138001,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_ARUCO_INFO_ML = 1000138002,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_SIZE_INFO_ML = 1000138003,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_APRIL_TAG_INFO_ML = 1000138004,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_CUSTOM_PROFILE_INFO_ML = 1000138005,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_SNAPSHOT_INFO_ML = 1000138006,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_DETECTOR_STATE_ML = 1000138007,
// Provided by XR_ML_marker_understanding
XR_TYPE_MARKER_SPACE_CREATE_INFO_ML = 1000138008,
// Provided by XR_ML_localization_map
XR_TYPE_LOCALIZATION_MAP_ML = 1000139000,
// Provided by XR_ML_localization_map
XR_TYPE_EVENT_DATA_LOCALIZATION_CHANGED_ML = 1000139001,
// Provided by XR_ML_localization_map
XR_TYPE_MAP_LOCALIZATION_REQUEST_INFO_ML = 1000139002,
// Provided by XR_ML_localization_map
XR_TYPE_LOCALIZATION_MAP_IMPORT_INFO_ML = 1000139003,
// Provided by XR_ML_localization_map
XR_TYPE_LOCALIZATION_ENABLE_EVENTS_INFO_ML = 1000139004,
// Provided by XR_ML_spatial_anchors
XR_TYPE_SPATIAL_ANCHORS_CREATE_INFO_FROM_POSE_ML = 1000140000,
// Provided by XR_ML_spatial_anchors
XR_TYPE_CREATE_SPATIAL_ANCHORS_COMPLETION_ML = 1000140001,
// Provided by XR_ML_spatial_anchors
XR_TYPE_SPATIAL_ANCHOR_STATE_ML = 1000140002,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_CREATE_STORAGE_INFO_ML = 1000141000,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_QUERY_INFO_RADIUS_ML = 1000141001,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_QUERY_COMPLETION_ML = 1000141002,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_CREATE_INFO_FROM_UUIDS_ML = 1000141003,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_PUBLISH_INFO_ML = 1000141004,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_PUBLISH_COMPLETION_ML = 1000141005,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_DELETE_INFO_ML = 1000141006,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_DELETE_COMPLETION_ML = 1000141007,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_UPDATE_EXPIRATION_INFO_ML = 1000141008,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_ML = 1000141009,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_PUBLISH_COMPLETION_DETAILS_ML = 1000141010,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_DELETE_COMPLETION_DETAILS_ML = 1000141011,
// Provided by XR_ML_spatial_anchors_storage
XR_TYPE_SPATIAL_ANCHORS_UPDATE_EXPIRATION_COMPLETION_DETAILS_ML = 1000141012,
// Provided by XR_ML_user_calibration
XR_TYPE_EVENT_DATA_HEADSET_FIT_CHANGED_ML = 1000472000,
// Provided by XR_ML_user_calibration
XR_TYPE_EVENT_DATA_EYE_CALIBRATION_CHANGED_ML = 1000472001,
// Provided by XR_ML_user_calibration
XR_TYPE_USER_CALIBRATION_ENABLE_EVENTS_INFO_ML = 1000472002,
// Provided by XR_MSFT_spatial_anchor_persistence
XR_TYPE_SPATIAL_ANCHOR_PERSISTENCE_INFO_MSFT = 1000142000,
// Provided by XR_MSFT_spatial_anchor_persistence
XR_TYPE_SPATIAL_ANCHOR_FROM_PERSISTED_ANCHOR_CREATE_INFO_MSFT = 1000142001,
// Provided by XR_MSFT_scene_marker
XR_TYPE_SCENE_MARKERS_MSFT = 1000147000,
// Provided by XR_MSFT_scene_marker
XR_TYPE_SCENE_MARKER_TYPE_FILTER_MSFT = 1000147001,
// Provided by XR_MSFT_scene_marker
XR_TYPE_SCENE_MARKER_QR_CODES_MSFT = 1000147002,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_SPACE_QUERY_INFO_FB = 1000156001,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_SPACE_QUERY_RESULTS_FB = 1000156002,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_SPACE_STORAGE_LOCATION_FILTER_INFO_FB = 1000156003,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_SPACE_UUID_FILTER_INFO_FB = 1000156054,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_SPACE_COMPONENT_FILTER_INFO_FB = 1000156052,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_EVENT_DATA_SPACE_QUERY_RESULTS_AVAILABLE_FB = 1000156103,
// Provided by XR_FB_spatial_entity_query
XR_TYPE_EVENT_DATA_SPACE_QUERY_COMPLETE_FB = 1000156104,
// Provided by XR_FB_spatial_entity_storage
XR_TYPE_SPACE_SAVE_INFO_FB = 1000158000,
// Provided by XR_FB_spatial_entity_storage
XR_TYPE_SPACE_ERASE_INFO_FB = 1000158001,
// Provided by XR_FB_spatial_entity_storage
XR_TYPE_EVENT_DATA_SPACE_SAVE_COMPLETE_FB = 1000158106,
// Provided by XR_FB_spatial_entity_storage
XR_TYPE_EVENT_DATA_SPACE_ERASE_COMPLETE_FB = 1000158107,
// Provided by XR_FB_foveation_vulkan
XR_TYPE_SWAPCHAIN_IMAGE_FOVEATION_VULKAN_FB = 1000160000,
// Provided by XR_FB_swapchain_update_state_android_surface
XR_TYPE_SWAPCHAIN_STATE_ANDROID_SURFACE_DIMENSIONS_FB = 1000161000,
// Provided by XR_FB_swapchain_update_state_opengl_es
XR_TYPE_SWAPCHAIN_STATE_SAMPLER_OPENGL_ES_FB = 1000162000,
// Provided by XR_FB_swapchain_update_state_vulkan
XR_TYPE_SWAPCHAIN_STATE_SAMPLER_VULKAN_FB = 1000163000,
// Provided by XR_FB_spatial_entity_sharing
XR_TYPE_SPACE_SHARE_INFO_FB = 1000169001,
// Provided by XR_FB_spatial_entity_sharing
XR_TYPE_EVENT_DATA_SPACE_SHARE_COMPLETE_FB = 1000169002,
// Provided by XR_FB_space_warp
XR_TYPE_COMPOSITION_LAYER_SPACE_WARP_INFO_FB = 1000171000,
// Provided by XR_FB_space_warp
XR_TYPE_SYSTEM_SPACE_WARP_PROPERTIES_FB = 1000171001,
// Provided by XR_FB_haptic_amplitude_envelope
XR_TYPE_HAPTIC_AMPLITUDE_ENVELOPE_VIBRATION_FB = 1000173001,
// Provided by XR_FB_scene
XR_TYPE_SEMANTIC_LABELS_FB = 1000175000,
// Provided by XR_FB_scene
XR_TYPE_ROOM_LAYOUT_FB = 1000175001,
// Provided by XR_FB_scene
XR_TYPE_BOUNDARY_2D_FB = 1000175002,
// Provided by XR_FB_scene
XR_TYPE_SEMANTIC_LABELS_SUPPORT_INFO_FB = 1000175010,
// Provided by XR_ALMALENCE_digital_lens_control
XR_TYPE_DIGITAL_LENS_CONTROL_ALMALENCE = 1000196000,
// Provided by XR_FB_scene_capture
XR_TYPE_EVENT_DATA_SCENE_CAPTURE_COMPLETE_FB = 1000198001,
// Provided by XR_FB_scene_capture
XR_TYPE_SCENE_CAPTURE_REQUEST_INFO_FB = 1000198050,
// Provided by XR_FB_spatial_entity_container
XR_TYPE_SPACE_CONTAINER_FB = 1000199000,
// Provided by XR_META_foveation_eye_tracked
XR_TYPE_FOVEATION_EYE_TRACKED_PROFILE_CREATE_INFO_META = 1000200000,
// Provided by XR_META_foveation_eye_tracked
XR_TYPE_FOVEATION_EYE_TRACKED_STATE_META = 1000200001,
// Provided by XR_META_foveation_eye_tracked
XR_TYPE_SYSTEM_FOVEATION_EYE_TRACKED_PROPERTIES_META = 1000200002,
// Provided by XR_FB_face_tracking
XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES_FB = 1000201004,
// Provided by XR_FB_face_tracking
XR_TYPE_FACE_TRACKER_CREATE_INFO_FB = 1000201005,
// Provided by XR_FB_face_tracking
XR_TYPE_FACE_EXPRESSION_INFO_FB = 1000201002,
// Provided by XR_FB_face_tracking
XR_TYPE_FACE_EXPRESSION_WEIGHTS_FB = 1000201006,
// Provided by XR_FB_eye_tracking_social
XR_TYPE_EYE_TRACKER_CREATE_INFO_FB = 1000202001,
// Provided by XR_FB_eye_tracking_social
XR_TYPE_EYE_GAZES_INFO_FB = 1000202002,
// Provided by XR_FB_eye_tracking_social
XR_TYPE_EYE_GAZES_FB = 1000202003,
// Provided by XR_FB_eye_tracking_social
XR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_FB = 1000202004,
// Provided by XR_FB_passthrough_keyboard_hands
XR_TYPE_PASSTHROUGH_KEYBOARD_HANDS_INTENSITY_FB = 1000203002,
// Provided by XR_FB_composition_layer_settings
XR_TYPE_COMPOSITION_LAYER_SETTINGS_FB = 1000204000,
// Provided by XR_FB_haptic_pcm
XR_TYPE_HAPTIC_PCM_VIBRATION_FB = 1000209001,
// Provided by XR_FB_haptic_pcm
XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB = 1000209002,
// Provided by XR_EXT_frame_synthesis
XR_TYPE_FRAME_SYNTHESIS_INFO_EXT = 1000211000,
// Provided by XR_EXT_frame_synthesis
XR_TYPE_FRAME_SYNTHESIS_CONFIG_VIEW_EXT = 1000211001,
// Provided by XR_FB_composition_layer_depth_test
XR_TYPE_COMPOSITION_LAYER_DEPTH_TEST_FB = 1000212000,
// Provided by XR_META_local_dimming
XR_TYPE_LOCAL_DIMMING_FRAME_END_INFO_META = 1000216000,
// Provided by XR_META_passthrough_preferences
XR_TYPE_PASSTHROUGH_PREFERENCES_META = 1000217000,
// Provided by XR_META_virtual_keyboard
XR_TYPE_SYSTEM_VIRTUAL_KEYBOARD_PROPERTIES_META = 1000219001,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_CREATE_INFO_META = 1000219002,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_SPACE_CREATE_INFO_META = 1000219003,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_LOCATION_INFO_META = 1000219004,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_MODEL_VISIBILITY_SET_INFO_META = 1000219005,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_ANIMATION_STATE_META = 1000219006,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_MODEL_ANIMATION_STATES_META = 1000219007,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_TEXTURE_DATA_META = 1000219009,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_INPUT_INFO_META = 1000219010,
// Provided by XR_META_virtual_keyboard
XR_TYPE_VIRTUAL_KEYBOARD_TEXT_CONTEXT_CHANGE_INFO_META = 1000219011,
// Provided by XR_META_virtual_keyboard
XR_TYPE_EVENT_DATA_VIRTUAL_KEYBOARD_COMMIT_TEXT_META = 1000219014,
// Provided by XR_META_virtual_keyboard
XR_TYPE_EVENT_DATA_VIRTUAL_KEYBOARD_BACKSPACE_META = 1000219015,
// Provided by XR_META_virtual_keyboard
XR_TYPE_EVENT_DATA_VIRTUAL_KEYBOARD_ENTER_META = 1000219016,
// Provided by XR_META_virtual_keyboard
XR_TYPE_EVENT_DATA_VIRTUAL_KEYBOARD_SHOWN_META = 1000219017,
// Provided by XR_META_virtual_keyboard
XR_TYPE_EVENT_DATA_VIRTUAL_KEYBOARD_HIDDEN_META = 1000219018,
// Provided by XR_OCULUS_external_camera
XR_TYPE_EXTERNAL_CAMERA_OCULUS = 1000226000,
// Provided by XR_META_vulkan_swapchain_create_info
XR_TYPE_VULKAN_SWAPCHAIN_CREATE_INFO_META = 1000227000,
// Provided by XR_META_performance_metrics
XR_TYPE_PERFORMANCE_METRICS_STATE_META = 1000232001,
// Provided by XR_META_performance_metrics
XR_TYPE_PERFORMANCE_METRICS_COUNTER_META = 1000232002,
// Provided by XR_FB_spatial_entity_storage_batch
XR_TYPE_SPACE_LIST_SAVE_INFO_FB = 1000238000,
// Provided by XR_FB_spatial_entity_storage_batch
XR_TYPE_EVENT_DATA_SPACE_LIST_SAVE_COMPLETE_FB = 1000238001,
// Provided by XR_FB_spatial_entity_user
XR_TYPE_SPACE_USER_CREATE_INFO_FB = 1000241001,
// Provided by XR_META_headset_id
XR_TYPE_SYSTEM_HEADSET_ID_PROPERTIES_META = 1000245000,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SYSTEM_SPACE_DISCOVERY_PROPERTIES_META = 1000247000,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SPACE_DISCOVERY_INFO_META = 1000247001,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SPACE_FILTER_UUID_META = 1000247003,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SPACE_FILTER_COMPONENT_META = 1000247004,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SPACE_DISCOVERY_RESULT_META = 1000247005,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_SPACE_DISCOVERY_RESULTS_META = 1000247006,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_EVENT_DATA_SPACE_DISCOVERY_RESULTS_AVAILABLE_META = 1000247007,
// Provided by XR_META_spatial_entity_discovery
XR_TYPE_EVENT_DATA_SPACE_DISCOVERY_COMPLETE_META = 1000247008,
// Provided by XR_META_recommended_layer_resolution
XR_TYPE_RECOMMENDED_LAYER_RESOLUTION_META = 1000254000,
// Provided by XR_META_recommended_layer_resolution
XR_TYPE_RECOMMENDED_LAYER_RESOLUTION_GET_INFO_META = 1000254001,
// Provided by XR_META_spatial_entity_persistence
XR_TYPE_SYSTEM_SPACE_PERSISTENCE_PROPERTIES_META = 1000259000,
// Provided by XR_META_spatial_entity_persistence
XR_TYPE_SPACES_SAVE_INFO_META = 1000259001,
// Provided by XR_META_spatial_entity_persistence
XR_TYPE_EVENT_DATA_SPACES_SAVE_RESULT_META = 1000259002,
// Provided by XR_META_spatial_entity_persistence
XR_TYPE_SPACES_ERASE_INFO_META = 1000259003,
// Provided by XR_META_spatial_entity_persistence
XR_TYPE_EVENT_DATA_SPACES_ERASE_RESULT_META = 1000259004,
// Provided by XR_META_passthrough_color_lut
XR_TYPE_SYSTEM_PASSTHROUGH_COLOR_LUT_PROPERTIES_META = 1000266000,
// Provided by XR_META_passthrough_color_lut
XR_TYPE_PASSTHROUGH_COLOR_LUT_CREATE_INFO_META = 1000266001,
// Provided by XR_META_passthrough_color_lut
XR_TYPE_PASSTHROUGH_COLOR_LUT_UPDATE_INFO_META = 1000266002,
// Provided by XR_META_passthrough_color_lut
XR_TYPE_PASSTHROUGH_COLOR_MAP_LUT_META = 1000266100,
// Provided by XR_META_passthrough_color_lut
XR_TYPE_PASSTHROUGH_COLOR_MAP_INTERPOLATED_LUT_META = 1000266101,
// Provided by XR_META_spatial_entity_mesh
XR_TYPE_SPACE_TRIANGLE_MESH_GET_INFO_META = 1000269001,
// Provided by XR_META_spatial_entity_mesh
XR_TYPE_SPACE_TRIANGLE_MESH_META = 1000269002,
// Provided by XR_META_body_tracking_full_body
XR_TYPE_SYSTEM_PROPERTIES_BODY_TRACKING_FULL_BODY_META = 1000274000,
// Provided by XR_META_passthrough_layer_resumed_event
XR_TYPE_EVENT_DATA_PASSTHROUGH_LAYER_RESUMED_META = 1000282000,
// Provided by XR_META_body_tracking_calibration
XR_TYPE_BODY_TRACKING_CALIBRATION_INFO_META = 1000283002,
// Provided by XR_META_body_tracking_calibration
XR_TYPE_BODY_TRACKING_CALIBRATION_STATUS_META = 1000283003,
// Provided by XR_META_body_tracking_calibration
XR_TYPE_SYSTEM_PROPERTIES_BODY_TRACKING_CALIBRATION_META = 1000283004,
// Provided by XR_FB_face_tracking2
XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES2_FB = 1000287013,
// Provided by XR_FB_face_tracking2
XR_TYPE_FACE_TRACKER_CREATE_INFO2_FB = 1000287014,
// Provided by XR_FB_face_tracking2
XR_TYPE_FACE_EXPRESSION_INFO2_FB = 1000287015,
// Provided by XR_FB_face_tracking2
XR_TYPE_FACE_EXPRESSION_WEIGHTS2_FB = 1000287016,
// Provided by XR_META_spatial_entity_sharing
XR_TYPE_SYSTEM_SPATIAL_ENTITY_SHARING_PROPERTIES_META = 1000290000,
// Provided by XR_META_spatial_entity_sharing
XR_TYPE_SHARE_SPACES_INFO_META = 1000290001,
// Provided by XR_META_spatial_entity_sharing
XR_TYPE_EVENT_DATA_SHARE_SPACES_COMPLETE_META = 1000290002,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_PROVIDER_CREATE_INFO_META = 1000291000,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_CREATE_INFO_META = 1000291001,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_SWAPCHAIN_STATE_META = 1000291002,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_ACQUIRE_INFO_META = 1000291003,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_VIEW_META = 1000291004,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_IMAGE_META = 1000291005,
// Provided by XR_META_environment_depth
XR_TYPE_ENVIRONMENT_DEPTH_HAND_REMOVAL_SET_INFO_META = 1000291006,
// Provided by XR_META_environment_depth
XR_TYPE_SYSTEM_ENVIRONMENT_DEPTH_PROPERTIES_META = 1000291007,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_CREATE_INFO_EXT = 1000300000,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_PROPERTIES_GET_INFO_EXT = 1000300001,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_PROPERTIES_EXT = 1000300002,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_SPACE_CREATE_INFO_EXT = 1000300003,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_STATE_GET_INFO_EXT = 1000300004,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_STATE_EXT = 1000300005,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_ASSET_CREATE_INFO_EXT = 1000300006,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_ASSET_DATA_GET_INFO_EXT = 1000300007,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_ASSET_DATA_EXT = 1000300008,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_GET_INFO_EXT = 1000300009,
// Provided by XR_EXT_render_model
XR_TYPE_RENDER_MODEL_ASSET_PROPERTIES_EXT = 1000300010,
// Provided by XR_EXT_interaction_render_model
XR_TYPE_INTERACTION_RENDER_MODEL_IDS_ENUMERATE_INFO_EXT = 1000301000,
// Provided by XR_EXT_interaction_render_model
XR_TYPE_INTERACTION_RENDER_MODEL_SUBACTION_PATH_INFO_EXT = 1000301001,
// Provided by XR_EXT_interaction_render_model
XR_TYPE_EVENT_DATA_INTERACTION_RENDER_MODELS_CHANGED_EXT = 1000301002,
// Provided by XR_EXT_interaction_render_model
XR_TYPE_INTERACTION_RENDER_MODEL_TOP_LEVEL_USER_PATH_GET_INFO_EXT = 1000301003,
// Provided by XR_HTC_passthrough
XR_TYPE_PASSTHROUGH_CREATE_INFO_HTC = 1000317001,
// Provided by XR_HTC_passthrough
XR_TYPE_PASSTHROUGH_COLOR_HTC = 1000317002,
// Provided by XR_HTC_passthrough
XR_TYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTC = 1000317003,
// Provided by XR_HTC_passthrough
XR_TYPE_COMPOSITION_LAYER_PASSTHROUGH_HTC = 1000317004,
// Provided by XR_HTC_foveation
XR_TYPE_FOVEATION_APPLY_INFO_HTC = 1000318000,
// Provided by XR_HTC_foveation
XR_TYPE_FOVEATION_DYNAMIC_MODE_INFO_HTC = 1000318001,
// Provided by XR_HTC_foveation
XR_TYPE_FOVEATION_CUSTOM_MODE_INFO_HTC = 1000318002,
// Provided by XR_HTC_anchor
XR_TYPE_SYSTEM_ANCHOR_PROPERTIES_HTC = 1000319000,
// Provided by XR_HTC_anchor
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_HTC = 1000319001,
// Provided by XR_HTC_body_tracking
XR_TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_HTC = 1000320000,
// Provided by XR_HTC_body_tracking
XR_TYPE_BODY_TRACKER_CREATE_INFO_HTC = 1000320001,
// Provided by XR_HTC_body_tracking
XR_TYPE_BODY_JOINTS_LOCATE_INFO_HTC = 1000320002,
// Provided by XR_HTC_body_tracking
XR_TYPE_BODY_JOINT_LOCATIONS_HTC = 1000320003,
// Provided by XR_HTC_body_tracking
XR_TYPE_BODY_SKELETON_HTC = 1000320004,
// Provided by XR_EXT_active_action_set_priority
XR_TYPE_ACTIVE_ACTION_SET_PRIORITIES_EXT = 1000373000,
// Provided by XR_MNDX_force_feedback_curl
XR_TYPE_SYSTEM_FORCE_FEEDBACK_CURL_PROPERTIES_MNDX = 1000375000,
// Provided by XR_MNDX_force_feedback_curl
XR_TYPE_FORCE_FEEDBACK_CURL_APPLY_LOCATIONS_MNDX = 1000375001,
// Provided by XR_BD_body_tracking
XR_TYPE_BODY_TRACKER_CREATE_INFO_BD = 1000385001,
// Provided by XR_BD_body_tracking
XR_TYPE_BODY_JOINTS_LOCATE_INFO_BD = 1000385002,
// Provided by XR_BD_body_tracking
XR_TYPE_BODY_JOINT_LOCATIONS_BD = 1000385003,
// Provided by XR_BD_body_tracking
XR_TYPE_SYSTEM_BODY_TRACKING_PROPERTIES_BD = 1000385004,
// Provided by XR_BD_facial_simulation
XR_TYPE_SYSTEM_FACIAL_SIMULATION_PROPERTIES_BD = 1000386001,
// Provided by XR_BD_facial_simulation
XR_TYPE_FACE_TRACKER_CREATE_INFO_BD = 1000386002,
// Provided by XR_BD_facial_simulation
XR_TYPE_FACIAL_SIMULATION_DATA_GET_INFO_BD = 1000386003,
// Provided by XR_BD_facial_simulation
XR_TYPE_FACIAL_SIMULATION_DATA_BD = 1000386004,
// Provided by XR_BD_facial_simulation
XR_TYPE_LIP_EXPRESSION_DATA_BD = 1000386005,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SYSTEM_SPATIAL_SENSING_PROPERTIES_BD = 1000389000,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_GET_INFO_BD = 1000389001,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_LOCATION_GET_INFO_BD = 1000389002,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_LOCATION_BD = 1000389003,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_SEMANTIC_BD = 1000389004,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_2D_BD = 1000389005,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_POLYGON_BD = 1000389006,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_BOUNDING_BOX_3D_BD = 1000389007,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_TRIANGLE_MESH_BD = 1000389008,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_BD = 1000389009,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_PROVIDER_START_INFO_BD = 1000389010,
// Provided by XR_BD_spatial_sensing
XR_TYPE_EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_BD = 1000389011,
// Provided by XR_BD_spatial_sensing
XR_TYPE_EVENT_DATA_SENSE_DATA_UPDATED_BD = 1000389012,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_QUERY_INFO_BD = 1000389013,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_QUERY_COMPLETION_BD = 1000389014,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_FILTER_UUID_BD = 1000389015,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SENSE_DATA_FILTER_SEMANTIC_BD = 1000389016,
// Provided by XR_BD_spatial_sensing
XR_TYPE_QUERIED_SENSE_DATA_GET_INFO_BD = 1000389017,
// Provided by XR_BD_spatial_sensing
XR_TYPE_QUERIED_SENSE_DATA_BD = 1000389018,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_STATE_BD = 1000389019,
// Provided by XR_BD_spatial_sensing
XR_TYPE_SPATIAL_ENTITY_ANCHOR_CREATE_INFO_BD = 1000389020,
// Provided by XR_BD_spatial_sensing
XR_TYPE_ANCHOR_SPACE_CREATE_INFO_BD = 1000389021,
// Provided by XR_BD_spatial_anchor
XR_TYPE_SYSTEM_SPATIAL_ANCHOR_PROPERTIES_BD = 1000390000,
// Provided by XR_BD_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_BD = 1000390001,
// Provided by XR_BD_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_CREATE_COMPLETION_BD = 1000390002,
// Provided by XR_BD_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_PERSIST_INFO_BD = 1000390003,
// Provided by XR_BD_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_UNPERSIST_INFO_BD = 1000390004,
// Provided by XR_BD_spatial_anchor_sharing
XR_TYPE_SYSTEM_SPATIAL_ANCHOR_SHARING_PROPERTIES_BD = 1000391000,
// Provided by XR_BD_spatial_anchor_sharing
XR_TYPE_SPATIAL_ANCHOR_SHARE_INFO_BD = 1000391001,
// Provided by XR_BD_spatial_anchor_sharing
XR_TYPE_SHARED_SPATIAL_ANCHOR_DOWNLOAD_INFO_BD = 1000391002,
// Provided by XR_BD_spatial_scene
XR_TYPE_SYSTEM_SPATIAL_SCENE_PROPERTIES_BD = 1000392000,
// Provided by XR_BD_spatial_scene
XR_TYPE_SCENE_CAPTURE_INFO_BD = 1000392001,
// Provided by XR_BD_spatial_mesh
XR_TYPE_SYSTEM_SPATIAL_MESH_PROPERTIES_BD = 1000393000,
// Provided by XR_BD_spatial_mesh
XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_SPATIAL_MESH_BD = 1000393001,
// Provided by XR_BD_future_progress
XR_TYPE_FUTURE_POLL_RESULT_PROGRESS_BD = 1000394001,
// Provided by XR_BD_spatial_plane
XR_TYPE_SYSTEM_SPATIAL_PLANE_PROPERTIES_BD = 1000396000,
// Provided by XR_BD_spatial_plane
XR_TYPE_SPATIAL_ENTITY_COMPONENT_DATA_PLANE_ORIENTATION_BD = 1000396001,
// Provided by XR_BD_spatial_plane
XR_TYPE_SENSE_DATA_FILTER_PLANE_ORIENTATION_BD = 1000396002,
// Provided by XR_EXT_hand_tracking_data_source
XR_TYPE_HAND_TRACKING_DATA_SOURCE_INFO_EXT = 1000428000,
// Provided by XR_EXT_hand_tracking_data_source
XR_TYPE_HAND_TRACKING_DATA_SOURCE_STATE_EXT = 1000428001,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_CREATE_INFO_EXT = 1000429001,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_BEGIN_INFO_EXT = 1000429002,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_GET_INFO_EXT = 1000429003,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_LOCATIONS_EXT = 1000429004,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_LOCATION_EXT = 1000429005,
// Provided by XR_EXT_plane_detection
XR_TYPE_PLANE_DETECTOR_POLYGON_BUFFER_EXT = 1000429006,
// Provided by XR_EXT_plane_detection
XR_TYPE_SYSTEM_PLANE_DETECTION_PROPERTIES_EXT = 1000429007,
// Provided by XR_ANDROID_trackables
XR_TYPE_TRACKABLE_GET_INFO_ANDROID = 1000455000,
// Provided by XR_ANDROID_trackables
XR_TYPE_ANCHOR_SPACE_CREATE_INFO_ANDROID = 1000455001,
// Provided by XR_ANDROID_trackables
XR_TYPE_TRACKABLE_PLANE_ANDROID = 1000455003,
// Provided by XR_ANDROID_trackables
XR_TYPE_TRACKABLE_TRACKER_CREATE_INFO_ANDROID = 1000455004,
// Provided by XR_ANDROID_trackables
XR_TYPE_SYSTEM_TRACKABLES_PROPERTIES_ANDROID = 1000455005,
// Provided by XR_ANDROID_device_anchor_persistence
XR_TYPE_PERSISTED_ANCHOR_SPACE_CREATE_INFO_ANDROID = 1000457001,
// Provided by XR_ANDROID_device_anchor_persistence
XR_TYPE_PERSISTED_ANCHOR_SPACE_INFO_ANDROID = 1000457002,
// Provided by XR_ANDROID_device_anchor_persistence
XR_TYPE_DEVICE_ANCHOR_PERSISTENCE_CREATE_INFO_ANDROID = 1000457003,
// Provided by XR_ANDROID_device_anchor_persistence
XR_TYPE_SYSTEM_DEVICE_ANCHOR_PERSISTENCE_PROPERTIES_ANDROID = 1000457004,
// Provided by XR_ANDROID_face_tracking
XR_TYPE_FACE_TRACKER_CREATE_INFO_ANDROID = 1000458000,
// Provided by XR_ANDROID_face_tracking
XR_TYPE_FACE_STATE_GET_INFO_ANDROID = 1000458001,
// Provided by XR_ANDROID_face_tracking
XR_TYPE_FACE_STATE_ANDROID = 1000458002,
// Provided by XR_ANDROID_face_tracking
XR_TYPE_SYSTEM_FACE_TRACKING_PROPERTIES_ANDROID = 1000458003,
// Provided by XR_ANDROID_passthrough_camera_state
XR_TYPE_PASSTHROUGH_CAMERA_STATE_GET_INFO_ANDROID = 1000460000,
// Provided by XR_ANDROID_passthrough_camera_state
XR_TYPE_SYSTEM_PASSTHROUGH_CAMERA_STATE_PROPERTIES_ANDROID = 1000460001,
// Provided by XR_ANDROID_raycast
XR_TYPE_RAYCAST_INFO_ANDROID = 1000463000,
// Provided by XR_ANDROID_raycast
XR_TYPE_RAYCAST_HIT_RESULTS_ANDROID = 1000463001,
// Provided by XR_ANDROID_trackables_object
XR_TYPE_TRACKABLE_OBJECT_ANDROID = 1000466000,
// Provided by XR_ANDROID_trackables_object
XR_TYPE_TRACKABLE_OBJECT_CONFIGURATION_ANDROID = 1000466001,
// Provided by XR_EXT_future
XR_TYPE_FUTURE_CANCEL_INFO_EXT = 1000469000,
// Provided by XR_EXT_future
XR_TYPE_FUTURE_POLL_INFO_EXT = 1000469001,
// Provided by XR_EXT_future
XR_TYPE_FUTURE_COMPLETION_EXT = 1000469002,
// Provided by XR_EXT_future
XR_TYPE_FUTURE_POLL_RESULT_EXT = 1000469003,
// Provided by XR_EXT_user_presence
XR_TYPE_EVENT_DATA_USER_PRESENCE_CHANGED_EXT = 1000470000,
// Provided by XR_EXT_user_presence
XR_TYPE_SYSTEM_USER_PRESENCE_PROPERTIES_EXT = 1000470001,
// Provided by XR_ML_system_notifications
XR_TYPE_SYSTEM_NOTIFICATIONS_SET_INFO_ML = 1000473000,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_DETECTOR_CREATE_INFO_ML = 1000474001,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_STATE_REQUEST_INFO_ML = 1000474002,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BLOCK_STATE_ML = 1000474003,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_STATE_REQUEST_COMPLETION_ML = 1000474004,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BUFFER_RECOMMENDED_SIZE_INFO_ML = 1000474005,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BUFFER_SIZE_ML = 1000474006,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BUFFER_ML = 1000474007,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BLOCK_REQUEST_ML = 1000474008,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_GET_INFO_ML = 1000474009,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_BLOCK_ML = 1000474010,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_REQUEST_COMPLETION_ML = 1000474011,
// Provided by XR_ML_world_mesh_detection
XR_TYPE_WORLD_MESH_REQUEST_COMPLETION_INFO_ML = 1000474012,
// Provided by XR_ML_facial_expression
XR_TYPE_SYSTEM_FACIAL_EXPRESSION_PROPERTIES_ML = 1000482004,
// Provided by XR_ML_facial_expression
XR_TYPE_FACIAL_EXPRESSION_CLIENT_CREATE_INFO_ML = 1000482005,
// Provided by XR_ML_facial_expression
XR_TYPE_FACIAL_EXPRESSION_BLEND_SHAPE_GET_INFO_ML = 1000482006,
// Provided by XR_ML_facial_expression
XR_TYPE_FACIAL_EXPRESSION_BLEND_SHAPE_PROPERTIES_ML = 1000482007,
// Provided by XR_META_simultaneous_hands_and_controllers
XR_TYPE_SYSTEM_SIMULTANEOUS_HANDS_AND_CONTROLLERS_PROPERTIES_META = 1000532001,
// Provided by XR_META_simultaneous_hands_and_controllers
XR_TYPE_SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_RESUME_INFO_META = 1000532002,
// Provided by XR_META_simultaneous_hands_and_controllers
XR_TYPE_SIMULTANEOUS_HANDS_AND_CONTROLLERS_TRACKING_PAUSE_INFO_META = 1000532003,
// Provided by XR_META_colocation_discovery
XR_TYPE_COLOCATION_DISCOVERY_START_INFO_META = 1000571010,
// Provided by XR_META_colocation_discovery
XR_TYPE_COLOCATION_DISCOVERY_STOP_INFO_META = 1000571011,
// Provided by XR_META_colocation_discovery
XR_TYPE_COLOCATION_ADVERTISEMENT_START_INFO_META = 1000571012,
// Provided by XR_META_colocation_discovery
XR_TYPE_COLOCATION_ADVERTISEMENT_STOP_INFO_META = 1000571013,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_START_COLOCATION_ADVERTISEMENT_COMPLETE_META = 1000571020,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_STOP_COLOCATION_ADVERTISEMENT_COMPLETE_META = 1000571021,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_COLOCATION_ADVERTISEMENT_COMPLETE_META = 1000571022,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_START_COLOCATION_DISCOVERY_COMPLETE_META = 1000571023,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_COLOCATION_DISCOVERY_RESULT_META = 1000571024,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_COLOCATION_DISCOVERY_COMPLETE_META = 1000571025,
// Provided by XR_META_colocation_discovery
XR_TYPE_EVENT_DATA_STOP_COLOCATION_DISCOVERY_COMPLETE_META = 1000571026,
// Provided by XR_META_colocation_discovery
XR_TYPE_SYSTEM_COLOCATION_DISCOVERY_PROPERTIES_META = 1000571030,
// Provided by XR_META_spatial_entity_group_sharing
XR_TYPE_SHARE_SPACES_RECIPIENT_GROUPS_META = 1000572000,
// Provided by XR_META_spatial_entity_group_sharing
XR_TYPE_SPACE_GROUP_UUID_FILTER_INFO_META = 1000572001,
// Provided by XR_META_spatial_entity_group_sharing
XR_TYPE_SYSTEM_SPATIAL_ENTITY_GROUP_SHARING_PROPERTIES_META = 1000572100,
// Provided by XR_ANDROID_anchor_sharing_export
XR_TYPE_ANCHOR_SHARING_INFO_ANDROID = 1000701000,
// Provided by XR_ANDROID_anchor_sharing_export
XR_TYPE_ANCHOR_SHARING_TOKEN_ANDROID = 1000701001,
// Provided by XR_ANDROID_anchor_sharing_export
XR_TYPE_SYSTEM_ANCHOR_SHARING_EXPORT_PROPERTIES_ANDROID = 1000701002,
// Provided by XR_ANDROID_trackables_marker
XR_TYPE_SYSTEM_MARKER_TRACKING_PROPERTIES_ANDROID = 1000707000,
// Provided by XR_ANDROID_trackables_marker
XR_TYPE_TRACKABLE_MARKER_CONFIGURATION_ANDROID = 1000707001,
// Provided by XR_ANDROID_trackables_marker
XR_TYPE_TRACKABLE_MARKER_ANDROID = 1000707002,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_CAPABILITY_COMPONENT_TYPES_EXT = 1000740000,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_CONTEXT_CREATE_INFO_EXT = 1000740001,
// Provided by XR_EXT_spatial_entity
XR_TYPE_CREATE_SPATIAL_CONTEXT_COMPLETION_EXT = 1000740002,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_DISCOVERY_SNAPSHOT_CREATE_INFO_EXT = 1000740003,
// Provided by XR_EXT_spatial_entity
XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_INFO_EXT = 1000740004,
// Provided by XR_EXT_spatial_entity
XR_TYPE_CREATE_SPATIAL_DISCOVERY_SNAPSHOT_COMPLETION_EXT = 1000740005,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_CONDITION_EXT = 1000740006,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_DATA_QUERY_RESULT_EXT = 1000740007,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_BUFFER_GET_INFO_EXT = 1000740008,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_BOUNDED_2D_LIST_EXT = 1000740009,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_BOUNDED_3D_LIST_EXT = 1000740010,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_PARENT_LIST_EXT = 1000740011,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_COMPONENT_MESH_3D_LIST_EXT = 1000740012,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_ENTITY_FROM_ID_CREATE_INFO_EXT = 1000740013,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_UPDATE_SNAPSHOT_CREATE_INFO_EXT = 1000740014,
// Provided by XR_EXT_spatial_entity
XR_TYPE_EVENT_DATA_SPATIAL_DISCOVERY_RECOMMENDED_EXT = 1000740015,
// Provided by XR_EXT_spatial_entity
XR_TYPE_SPATIAL_FILTER_TRACKING_STATE_EXT = 1000740016,
// Provided by XR_EXT_spatial_plane_tracking
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_PLANE_TRACKING_EXT = 1000741000,
// Provided by XR_EXT_spatial_plane_tracking
XR_TYPE_SPATIAL_COMPONENT_PLANE_ALIGNMENT_LIST_EXT = 1000741001,
// Provided by XR_EXT_spatial_plane_tracking
XR_TYPE_SPATIAL_COMPONENT_MESH_2D_LIST_EXT = 1000741002,
// Provided by XR_EXT_spatial_plane_tracking
XR_TYPE_SPATIAL_COMPONENT_POLYGON_2D_LIST_EXT = 1000741003,
// Provided by XR_EXT_spatial_plane_tracking
XR_TYPE_SPATIAL_COMPONENT_PLANE_SEMANTIC_LABEL_LIST_EXT = 1000741004,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_QR_CODE_EXT = 1000743000,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_MICRO_QR_CODE_EXT = 1000743001,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ARUCO_MARKER_EXT = 1000743002,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_APRIL_TAG_EXT = 1000743003,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_MARKER_SIZE_EXT = 1000743004,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_MARKER_STATIC_OPTIMIZATION_EXT = 1000743005,
// Provided by XR_EXT_spatial_marker_tracking
XR_TYPE_SPATIAL_COMPONENT_MARKER_LIST_EXT = 1000743006,
// Provided by XR_EXT_spatial_anchor
XR_TYPE_SPATIAL_CAPABILITY_CONFIGURATION_ANCHOR_EXT = 1000762000,
// Provided by XR_EXT_spatial_anchor
XR_TYPE_SPATIAL_COMPONENT_ANCHOR_LIST_EXT = 1000762001,
// Provided by XR_EXT_spatial_anchor
XR_TYPE_SPATIAL_ANCHOR_CREATE_INFO_EXT = 1000762002,
// Provided by XR_EXT_spatial_persistence
XR_TYPE_SPATIAL_PERSISTENCE_CONTEXT_CREATE_INFO_EXT = 1000763000,
// Provided by XR_EXT_spatial_persistence
XR_TYPE_CREATE_SPATIAL_PERSISTENCE_CONTEXT_COMPLETION_EXT = 1000763001,
// Provided by XR_EXT_spatial_persistence
XR_TYPE_SPATIAL_CONTEXT_PERSISTENCE_CONFIG_EXT = 1000763002,
// Provided by XR_EXT_spatial_persistence
XR_TYPE_SPATIAL_DISCOVERY_PERSISTENCE_UUID_FILTER_EXT = 1000763003,
// Provided by XR_EXT_spatial_persistence
XR_TYPE_SPATIAL_COMPONENT_PERSISTENCE_LIST_EXT = 1000763004,
// Provided by XR_EXT_spatial_persistence_operations
XR_TYPE_SPATIAL_ENTITY_PERSIST_INFO_EXT = 1000781000,
// Provided by XR_EXT_spatial_persistence_operations
XR_TYPE_PERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781001,
// Provided by XR_EXT_spatial_persistence_operations
XR_TYPE_SPATIAL_ENTITY_UNPERSIST_INFO_EXT = 1000781002,
// Provided by XR_EXT_spatial_persistence_operations
XR_TYPE_UNPERSIST_SPATIAL_ENTITY_COMPLETION_EXT = 1000781003,
// Provided by XR_EXT_loader_init_properties
XR_TYPE_LOADER_INIT_INFO_PROPERTIES_EXT = 1000838000,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_GRAPHICS_BINDING_VULKAN2_KHR = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN2_KHR = XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR,
// Provided by XR_KHR_vulkan_enable2
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN2_KHR = XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR,
// Provided by XR_FB_haptic_pcm
XR_TYPE_DEVICE_PCM_SAMPLE_RATE_GET_INFO_FB = XR_TYPE_DEVICE_PCM_SAMPLE_RATE_STATE_FB,
// Provided by XR_KHR_locate_spaces
XR_TYPE_SPACES_LOCATE_INFO_KHR = XR_TYPE_SPACES_LOCATE_INFO,
// Provided by XR_KHR_locate_spaces
XR_TYPE_SPACE_LOCATIONS_KHR = XR_TYPE_SPACE_LOCATIONS,
// Provided by XR_KHR_locate_spaces
XR_TYPE_SPACE_VELOCITIES_KHR = XR_TYPE_SPACE_VELOCITIES,
XR_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrStructureType;
Description
Most structures containing type members have a value of type
matching the type of the structure, as described more fully in
https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-valid-usage-for-structure-types.
Note that all extension enums begin at the extension enum base of 10^9 (base 10). Each extension is assigned a block of 1000 enums, starting at the enum base and arranged by the extension’s number.
See Also
XrActionCreateInfo, XrActionSetCreateInfo, XrActionSpaceCreateInfo, XrActionStateBoolean, XrActionStateFloat, XrActionStateGetInfo, XrActionStatePose, XrActionStateVector2f, XrActionsSyncInfo, XrActiveActionSetPrioritiesEXT, XrAnchorSharingInfoANDROID, XrAnchorSharingTokenANDROID, XrAnchorSpaceCreateInfoANDROID, XrAnchorSpaceCreateInfoBD, XrAndroidSurfaceSwapchainCreateInfoFB, XrApiLayerProperties, XrBaseInStructure, XrBaseOutStructure, XrBindingModificationBaseHeaderKHR, XrBindingModificationsKHR, XrBodyJointLocationsBD, XrBodyJointLocationsFB, XrBodyJointLocationsHTC, XrBodyJointsLocateInfoBD, XrBodyJointsLocateInfoFB, XrBodyJointsLocateInfoHTC, XrBodySkeletonFB, XrBodySkeletonHTC, XrBodyTrackerCreateInfoBD, XrBodyTrackerCreateInfoFB, XrBodyTrackerCreateInfoHTC, XrBodyTrackingCalibrationInfoMETA, XrBodyTrackingCalibrationStatusMETA, XrBoundSourcesForActionEnumerateInfo, XrBoundary2DFB, XrColocationAdvertisementStartInfoMETA, XrColocationAdvertisementStopInfoMETA, XrColocationDiscoveryStartInfoMETA, XrColocationDiscoveryStopInfoMETA, XrCompositionLayerAlphaBlendFB, XrCompositionLayerBaseHeader, XrCompositionLayerColorScaleBiasKHR, XrCompositionLayerCubeKHR, XrCompositionLayerCylinderKHR, XrCompositionLayerDepthInfoKHR, XrCompositionLayerDepthTestFB, XrCompositionLayerDepthTestVARJO, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerImageLayoutFB, XrCompositionLayerPassthroughFB, XrCompositionLayerPassthroughHTC, XrCompositionLayerProjection, XrCompositionLayerProjectionView, XrCompositionLayerQuad, XrCompositionLayerReprojectionInfoMSFT, XrCompositionLayerReprojectionPlaneOverrideMSFT, XrCompositionLayerSecureContentFB, XrCompositionLayerSettingsFB, XrCompositionLayerSpaceWarpInfoFB, XrControllerModelKeyStateMSFT, XrControllerModelNodePropertiesMSFT, XrControllerModelNodeStateMSFT, XrControllerModelPropertiesMSFT, XrControllerModelStateMSFT, XrCoordinateSpaceCreateInfoML, XrCreateSpatialAnchorsCompletionML, XrCreateSpatialContextCompletionEXT, XrCreateSpatialDiscoverySnapshotCompletionEXT, XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XrCreateSpatialPersistenceContextCompletionEXT, XrDebugUtilsLabelEXT, XrDebugUtilsMessengerCallbackDataEXT, XrDebugUtilsMessengerCreateInfoEXT, XrDebugUtilsObjectNameInfoEXT, XrDeviceAnchorPersistenceCreateInfoANDROID, XrDevicePcmSampleRateStateFB, XrDigitalLensControlALMALENCE, XrEnvironmentDepthHandRemovalSetInfoMETA, XrEnvironmentDepthImageAcquireInfoMETA, XrEnvironmentDepthImageMETA, XrEnvironmentDepthImageViewMETA, XrEnvironmentDepthProviderCreateInfoMETA, XrEnvironmentDepthSwapchainCreateInfoMETA, XrEnvironmentDepthSwapchainStateMETA, XrEventDataBaseHeader, XrEventDataBuffer, XrEventDataColocationAdvertisementCompleteMETA, XrEventDataColocationDiscoveryCompleteMETA, XrEventDataColocationDiscoveryResultMETA, XrEventDataDisplayRefreshRateChangedFB, XrEventDataEventsLost, XrEventDataEyeCalibrationChangedML, XrEventDataHeadsetFitChangedML, XrEventDataInstanceLossPending, XrEventDataInteractionProfileChanged, XrEventDataInteractionRenderModelsChangedEXT, XrEventDataLocalizationChangedML, XrEventDataMainSessionVisibilityChangedEXTX, XrEventDataMarkerTrackingUpdateVARJO, XrEventDataPassthroughLayerResumedMETA, XrEventDataPassthroughStateChangedFB, XrEventDataPerfSettingsEXT, XrEventDataReferenceSpaceChangePending, XrEventDataSceneCaptureCompleteFB, XrEventDataSenseDataProviderStateChangedBD, XrEventDataSenseDataUpdatedBD, XrEventDataSessionStateChanged, XrEventDataShareSpacesCompleteMETA, XrEventDataSpaceDiscoveryCompleteMETA, XrEventDataSpaceDiscoveryResultsAvailableMETA, XrEventDataSpaceEraseCompleteFB, XrEventDataSpaceListSaveCompleteFB, XrEventDataSpaceQueryCompleteFB, XrEventDataSpaceQueryResultsAvailableFB, XrEventDataSpaceSaveCompleteFB, XrEventDataSpaceSetStatusCompleteFB, XrEventDataSpaceShareCompleteFB, XrEventDataSpacesEraseResultMETA, XrEventDataSpacesSaveResultMETA, XrEventDataSpatialAnchorCreateCompleteFB, XrEventDataSpatialDiscoveryRecommendedEXT, XrEventDataStartColocationAdvertisementCompleteMETA, XrEventDataStartColocationDiscoveryCompleteMETA, XrEventDataStopColocationAdvertisementCompleteMETA, XrEventDataStopColocationDiscoveryCompleteMETA, XrEventDataUserPresenceChangedEXT, XrEventDataVirtualKeyboardBackspaceMETA, XrEventDataVirtualKeyboardCommitTextMETA, XrEventDataVirtualKeyboardEnterMETA, XrEventDataVirtualKeyboardHiddenMETA, XrEventDataVirtualKeyboardShownMETA, XrEventDataVisibilityMaskChangedKHR, XrEventDataViveTrackerConnectedHTCX, XrExtensionProperties, XrExternalCameraOCULUS, XrEyeGazeSampleTimeEXT, XrEyeGazesFB, XrEyeGazesInfoFB, XrEyeTrackerCreateInfoFB, XrFaceExpressionInfo2FB, XrFaceExpressionInfoFB, XrFaceExpressionWeights2FB, XrFaceExpressionWeightsFB, XrFaceStateANDROID, XrFaceStateGetInfoANDROID, XrFaceTrackerCreateInfo2FB, XrFaceTrackerCreateInfoANDROID, XrFaceTrackerCreateInfoBD, XrFaceTrackerCreateInfoFB, XrFacialExpressionBlendShapeGetInfoML, XrFacialExpressionBlendShapePropertiesML, XrFacialExpressionClientCreateInfoML, XrFacialExpressionsHTC, XrFacialSimulationDataBD, XrFacialSimulationDataGetInfoBD, XrFacialTrackerCreateInfoHTC, XrForceFeedbackCurlApplyLocationsMNDX, XrFoveatedViewConfigurationViewVARJO, XrFoveationApplyInfoHTC, XrFoveationCustomModeInfoHTC, XrFoveationDynamicModeInfoHTC, XrFoveationEyeTrackedProfileCreateInfoMETA, XrFoveationEyeTrackedStateMETA, XrFoveationLevelProfileCreateInfoFB, XrFoveationProfileCreateInfoFB, XrFrameBeginInfo, XrFrameEndInfo, XrFrameEndInfoML, XrFrameState, XrFrameSynthesisConfigViewEXT, XrFrameSynthesisInfoEXT, XrFrameWaitInfo, XrFutureCancelInfoEXT, XrFutureCompletionBaseHeaderEXT, XrFutureCompletionEXT, XrFuturePollInfoEXT, XrFuturePollResultEXT, XrFuturePollResultProgressBD, XrGeometryInstanceCreateInfoFB, XrGeometryInstanceTransformFB, XrGlobalDimmerFrameEndInfoML, XrGraphicsBindingD3D11KHR, XrGraphicsBindingD3D12KHR, XrGraphicsBindingEGLMNDX, XrGraphicsBindingMetalKHR, XrGraphicsBindingOpenGLESAndroidKHR, XrGraphicsBindingOpenGLWaylandKHR, XrGraphicsBindingOpenGLWin32KHR, XrGraphicsBindingOpenGLXcbKHR, XrGraphicsBindingOpenGLXlibKHR, XrGraphicsBindingVulkanKHR, XrGraphicsRequirementsD3D11KHR, XrGraphicsRequirementsD3D12KHR, XrGraphicsRequirementsMetalKHR, XrGraphicsRequirementsOpenGLESKHR, XrGraphicsRequirementsOpenGLKHR, XrGraphicsRequirementsVulkanKHR, XrHandJointLocationsEXT, XrHandJointVelocitiesEXT, XrHandJointsLocateInfoEXT, XrHandJointsMotionRangeInfoEXT, XrHandMeshMSFT, XrHandMeshSpaceCreateInfoMSFT, XrHandMeshUpdateInfoMSFT, XrHandPoseTypeInfoMSFT, XrHandTrackerCreateInfoEXT, XrHandTrackingAimStateFB, XrHandTrackingCapsulesStateFB, XrHandTrackingDataSourceInfoEXT, XrHandTrackingDataSourceStateEXT, XrHandTrackingMeshFB, XrHandTrackingScaleFB, XrHapticActionInfo, XrHapticAmplitudeEnvelopeVibrationFB, XrHapticBaseHeader, XrHapticPcmVibrationFB, XrHapticVibration, XrHolographicWindowAttachmentMSFT, XrInputSourceLocalizedNameGetInfo, XrInstanceCreateInfo, XrInstanceCreateInfoAndroidKHR, XrInstanceProperties, XrInteractionProfileAnalogThresholdVALVE, XrInteractionProfileDpadBindingEXT, XrInteractionProfileState, XrInteractionProfileSuggestedBinding, XrInteractionRenderModelIdsEnumerateInfoEXT, XrInteractionRenderModelSubactionPathInfoEXT, XrInteractionRenderModelTopLevelUserPathGetInfoEXT, XrKeyboardSpaceCreateInfoFB, XrKeyboardTrackingQueryFB, XrLipExpressionDataBD, XrLoaderInitInfoAndroidKHR, XrLoaderInitInfoBaseHeaderKHR, XrLoaderInitInfoPropertiesEXT, XrLocalDimmingFrameEndInfoMETA, XrLocalizationEnableEventsInfoML, XrLocalizationMapImportInfoML, XrLocalizationMapML, XrLocalizationMapQueryInfoBaseHeaderML, XrMapLocalizationRequestInfoML, XrMarkerDetectorAprilTagInfoML, XrMarkerDetectorArucoInfoML, XrMarkerDetectorCreateInfoML, XrMarkerDetectorCustomProfileInfoML, XrMarkerDetectorSizeInfoML, XrMarkerDetectorSnapshotInfoML, XrMarkerDetectorStateML, XrMarkerSpaceCreateInfoML, XrMarkerSpaceCreateInfoVARJO, XrNewSceneComputeInfoMSFT, XrPassthroughBrightnessContrastSaturationFB, XrPassthroughCameraStateGetInfoANDROID, XrPassthroughColorHTC, XrPassthroughColorLutCreateInfoMETA, XrPassthroughColorLutUpdateInfoMETA, XrPassthroughColorMapInterpolatedLutMETA, XrPassthroughColorMapLutMETA, XrPassthroughColorMapMonoToMonoFB, XrPassthroughColorMapMonoToRgbaFB, XrPassthroughCreateInfoFB, XrPassthroughCreateInfoHTC, XrPassthroughKeyboardHandsIntensityFB, XrPassthroughLayerCreateInfoFB, XrPassthroughMeshTransformInfoHTC, XrPassthroughPreferencesMETA, XrPassthroughStyleFB, XrPerformanceMetricsCounterMETA, XrPerformanceMetricsStateMETA, XrPersistSpatialEntityCompletionEXT, XrPersistedAnchorSpaceCreateInfoANDROID, XrPersistedAnchorSpaceInfoANDROID, XrPlaneDetectorBeginInfoEXT, XrPlaneDetectorCreateInfoEXT, XrPlaneDetectorGetInfoEXT, XrPlaneDetectorLocationEXT, XrPlaneDetectorLocationsEXT, XrPlaneDetectorPolygonBufferEXT, XrQueriedSenseDataBD, XrQueriedSenseDataGetInfoBD, XrRaycastHitResultsANDROID, XrRaycastInfoANDROID, XrRecommendedLayerResolutionGetInfoMETA, XrRecommendedLayerResolutionMETA, XrReferenceSpaceCreateInfo, XrRenderModelAssetCreateInfoEXT, XrRenderModelAssetDataEXT, XrRenderModelAssetDataGetInfoEXT, XrRenderModelAssetPropertiesEXT, XrRenderModelAssetPropertiesGetInfoEXT, XrRenderModelBufferFB, XrRenderModelCapabilitiesRequestFB, XrRenderModelCreateInfoEXT, XrRenderModelLoadInfoFB, XrRenderModelPathInfoFB, XrRenderModelPropertiesEXT, XrRenderModelPropertiesFB, XrRenderModelPropertiesGetInfoEXT, XrRenderModelSpaceCreateInfoEXT, XrRenderModelStateEXT, XrRenderModelStateGetInfoEXT, XrRoomLayoutFB, XrSceneCaptureInfoBD, XrSceneCaptureRequestInfoFB, XrSceneComponentLocationsMSFT, XrSceneComponentParentFilterInfoMSFT, XrSceneComponentsGetInfoMSFT, XrSceneComponentsLocateInfoMSFT, XrSceneComponentsMSFT, XrSceneCreateInfoMSFT, XrSceneDeserializeInfoMSFT, XrSceneMarkerQRCodesMSFT, XrSceneMarkerTypeFilterMSFT, XrSceneMarkersMSFT, XrSceneMeshBuffersGetInfoMSFT, XrSceneMeshBuffersMSFT, XrSceneMeshIndicesUint16MSFT, XrSceneMeshIndicesUint32MSFT, XrSceneMeshVertexBufferMSFT, XrSceneMeshesMSFT, XrSceneObjectTypesFilterInfoMSFT, XrSceneObjectsMSFT, XrSceneObserverCreateInfoMSFT, XrScenePlaneAlignmentFilterInfoMSFT, XrScenePlanesMSFT, XrSecondaryViewConfigurationFrameEndInfoMSFT, XrSecondaryViewConfigurationFrameStateMSFT, XrSecondaryViewConfigurationLayerInfoMSFT, XrSecondaryViewConfigurationSessionBeginInfoMSFT, XrSecondaryViewConfigurationStateMSFT, XrSecondaryViewConfigurationSwapchainCreateInfoMSFT, XrSemanticLabelsFB, XrSemanticLabelsSupportInfoFB, XrSenseDataFilterPlaneOrientationBD, XrSenseDataFilterSemanticBD, XrSenseDataFilterUuidBD, XrSenseDataProviderCreateInfoBD, XrSenseDataProviderCreateInfoSpatialMeshBD, XrSenseDataProviderStartInfoBD, XrSenseDataQueryCompletionBD, XrSenseDataQueryInfoBD, XrSerializedSceneFragmentDataGetInfoMSFT, XrSessionActionSetsAttachInfo, XrSessionBeginInfo, XrSessionCreateInfo, XrSessionCreateInfoOverlayEXTX, XrShareSpacesInfoMETA, XrShareSpacesRecipientBaseHeaderMETA, XrShareSpacesRecipientGroupsMETA, XrSharedSpatialAnchorDownloadInfoBD, XrSimultaneousHandsAndControllersTrackingPauseInfoMETA, XrSimultaneousHandsAndControllersTrackingResumeInfoMETA, XrSpaceComponentFilterInfoFB, XrSpaceComponentStatusFB, XrSpaceComponentStatusSetInfoFB, XrSpaceContainerFB, XrSpaceDiscoveryInfoMETA, XrSpaceDiscoveryResultsMETA, XrSpaceEraseInfoFB, XrSpaceFilterBaseHeaderMETA, XrSpaceFilterComponentMETA, XrSpaceFilterInfoBaseHeaderFB, XrSpaceFilterUuidMETA, XrSpaceGroupUuidFilterInfoMETA, XrSpaceListSaveInfoFB, XrSpaceLocation, XrSpaceLocations, XrSpaceQueryInfoBaseHeaderFB, XrSpaceQueryInfoFB, XrSpaceQueryResultsFB, XrSpaceSaveInfoFB, XrSpaceShareInfoFB, XrSpaceStorageLocationFilterInfoFB, XrSpaceTriangleMeshGetInfoMETA, XrSpaceTriangleMeshMETA, XrSpaceUserCreateInfoFB, XrSpaceUuidFilterInfoFB, XrSpaceVelocities, XrSpaceVelocity, XrSpacesEraseInfoMETA, XrSpacesLocateInfo, XrSpacesSaveInfoMETA, XrSpatialAnchorCreateCompletionBD, XrSpatialAnchorCreateInfoBD, XrSpatialAnchorCreateInfoEXT, XrSpatialAnchorCreateInfoFB, XrSpatialAnchorCreateInfoHTC, XrSpatialAnchorCreateInfoMSFT, XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XrSpatialAnchorPersistInfoBD, XrSpatialAnchorPersistenceInfoMSFT, XrSpatialAnchorShareInfoBD, XrSpatialAnchorSpaceCreateInfoMSFT, XrSpatialAnchorStateML, XrSpatialAnchorUnpersistInfoBD, XrSpatialAnchorsCreateInfoBaseHeaderML, XrSpatialAnchorsCreateInfoFromPoseML, XrSpatialAnchorsCreateInfoFromUuidsML, XrSpatialAnchorsCreateStorageInfoML, XrSpatialAnchorsDeleteCompletionDetailsML, XrSpatialAnchorsDeleteCompletionML, XrSpatialAnchorsDeleteInfoML, XrSpatialAnchorsPublishCompletionDetailsML, XrSpatialAnchorsPublishCompletionML, XrSpatialAnchorsPublishInfoML, XrSpatialAnchorsQueryCompletionML, XrSpatialAnchorsQueryInfoBaseHeaderML, XrSpatialAnchorsQueryInfoRadiusML, XrSpatialAnchorsUpdateExpirationCompletionDetailsML, XrSpatialAnchorsUpdateExpirationCompletionML, XrSpatialAnchorsUpdateExpirationInfoML, XrSpatialBufferGetInfoEXT, XrSpatialCapabilityComponentTypesEXT, XrSpatialCapabilityConfigurationAnchorEXT, XrSpatialCapabilityConfigurationAprilTagEXT, XrSpatialCapabilityConfigurationArucoMarkerEXT, XrSpatialCapabilityConfigurationBaseHeaderEXT, XrSpatialCapabilityConfigurationMicroQrCodeEXT, XrSpatialCapabilityConfigurationPlaneTrackingEXT, XrSpatialCapabilityConfigurationQrCodeEXT, XrSpatialComponentAnchorListEXT, XrSpatialComponentBounded2DListEXT, XrSpatialComponentBounded3DListEXT, XrSpatialComponentDataQueryConditionEXT, XrSpatialComponentDataQueryResultEXT, XrSpatialComponentMarkerListEXT, XrSpatialComponentMesh2DListEXT, XrSpatialComponentMesh3DListEXT, XrSpatialComponentParentListEXT, XrSpatialComponentPersistenceListEXT, XrSpatialComponentPlaneAlignmentListEXT, XrSpatialComponentPlaneSemanticLabelListEXT, XrSpatialComponentPolygon2DListEXT, XrSpatialContextCreateInfoEXT, XrSpatialContextPersistenceConfigEXT, XrSpatialDiscoveryPersistenceUuidFilterEXT, XrSpatialDiscoverySnapshotCreateInfoEXT, XrSpatialEntityAnchorCreateInfoBD, XrSpatialEntityComponentDataBaseHeaderBD, XrSpatialEntityComponentDataBoundingBox2DBD, XrSpatialEntityComponentDataBoundingBox3DBD, XrSpatialEntityComponentDataLocationBD, XrSpatialEntityComponentDataPlaneOrientationBD, XrSpatialEntityComponentDataPolygonBD, XrSpatialEntityComponentDataSemanticBD, XrSpatialEntityComponentDataTriangleMeshBD, XrSpatialEntityComponentGetInfoBD, XrSpatialEntityFromIdCreateInfoEXT, XrSpatialEntityLocationGetInfoBD, XrSpatialEntityPersistInfoEXT, XrSpatialEntityStateBD, XrSpatialEntityUnpersistInfoEXT, XrSpatialFilterTrackingStateEXT, XrSpatialGraphNodeBindingPropertiesGetInfoMSFT, XrSpatialGraphNodeBindingPropertiesMSFT, XrSpatialGraphNodeSpaceCreateInfoMSFT, XrSpatialGraphStaticNodeBindingCreateInfoMSFT, XrSpatialMarkerSizeEXT, XrSpatialMarkerStaticOptimizationEXT, XrSpatialPersistenceContextCreateInfoEXT, XrSpatialUpdateSnapshotCreateInfoEXT, XrSwapchainCreateInfo, XrSwapchainCreateInfoFoveationFB, XrSwapchainImageAcquireInfo, XrSwapchainImageBaseHeader, XrSwapchainImageD3D11KHR, XrSwapchainImageD3D12KHR, XrSwapchainImageFoveationVulkanFB, XrSwapchainImageMetalKHR, XrSwapchainImageOpenGLESKHR, XrSwapchainImageOpenGLKHR, XrSwapchainImageReleaseInfo, XrSwapchainImageVulkanKHR, XrSwapchainImageWaitInfo, XrSwapchainStateAndroidSurfaceDimensionsFB, XrSwapchainStateBaseHeaderFB, XrSwapchainStateFoveationFB, XrSwapchainStateSamplerOpenGLESFB, XrSwapchainStateSamplerVulkanFB, XrSystemAnchorPropertiesHTC, XrSystemAnchorSharingExportPropertiesANDROID, XrSystemBodyTrackingPropertiesBD, XrSystemBodyTrackingPropertiesFB, XrSystemBodyTrackingPropertiesHTC, XrSystemColocationDiscoveryPropertiesMETA, XrSystemColorSpacePropertiesFB, XrSystemDeviceAnchorPersistencePropertiesANDROID, XrSystemEnvironmentDepthPropertiesMETA, XrSystemEyeGazeInteractionPropertiesEXT, XrSystemEyeTrackingPropertiesFB, XrSystemFaceTrackingProperties2FB, XrSystemFaceTrackingPropertiesANDROID, XrSystemFaceTrackingPropertiesFB, XrSystemFacialExpressionPropertiesML, XrSystemFacialSimulationPropertiesBD, XrSystemFacialTrackingPropertiesHTC, XrSystemForceFeedbackCurlPropertiesMNDX, XrSystemFoveatedRenderingPropertiesVARJO, XrSystemFoveationEyeTrackedPropertiesMETA, XrSystemGetInfo, XrSystemHandTrackingMeshPropertiesMSFT, XrSystemHandTrackingPropertiesEXT, XrSystemHeadsetIdPropertiesMETA, XrSystemKeyboardTrackingPropertiesFB, XrSystemMarkerTrackingPropertiesANDROID, XrSystemMarkerTrackingPropertiesVARJO, XrSystemMarkerUnderstandingPropertiesML, XrSystemNotificationsSetInfoML, XrSystemPassthroughCameraStatePropertiesANDROID, XrSystemPassthroughColorLutPropertiesMETA, XrSystemPassthroughProperties2FB, XrSystemPassthroughPropertiesFB, XrSystemPlaneDetectionPropertiesEXT, XrSystemProperties, XrSystemPropertiesBodyTrackingCalibrationMETA, XrSystemPropertiesBodyTrackingFullBodyMETA, XrSystemRenderModelPropertiesFB, XrSystemSimultaneousHandsAndControllersPropertiesMETA, XrSystemSpaceDiscoveryPropertiesMETA, XrSystemSpacePersistencePropertiesMETA, XrSystemSpaceWarpPropertiesFB, XrSystemSpatialAnchorPropertiesBD, XrSystemSpatialAnchorSharingPropertiesBD, XrSystemSpatialEntityGroupSharingPropertiesMETA, XrSystemSpatialEntityPropertiesFB, XrSystemSpatialEntitySharingPropertiesMETA, XrSystemSpatialMeshPropertiesBD, XrSystemSpatialPlanePropertiesBD, XrSystemSpatialScenePropertiesBD, XrSystemSpatialSensingPropertiesBD, XrSystemTrackablesPropertiesANDROID, XrSystemUserPresencePropertiesEXT, XrSystemVirtualKeyboardPropertiesMETA, XrTrackableGetInfoANDROID, XrTrackableMarkerANDROID, XrTrackableMarkerConfigurationANDROID, XrTrackableObjectANDROID, XrTrackableObjectConfigurationANDROID, XrTrackablePlaneANDROID, XrTrackableTrackerCreateInfoANDROID, XrTriangleMeshCreateInfoFB, XrUnpersistSpatialEntityCompletionEXT, XrUserCalibrationEnableEventsInfoML, XrView, XrViewConfigurationDepthRangeEXT, XrViewConfigurationProperties, XrViewConfigurationView, XrViewConfigurationViewFovEPIC, XrViewLocateFoveatedRenderingVARJO, XrViewLocateInfo, XrViewState, XrVirtualKeyboardAnimationStateMETA, XrVirtualKeyboardCreateInfoMETA, XrVirtualKeyboardInputInfoMETA, XrVirtualKeyboardLocationInfoMETA, XrVirtualKeyboardModelAnimationStatesMETA, XrVirtualKeyboardModelVisibilitySetInfoMETA, XrVirtualKeyboardSpaceCreateInfoMETA, XrVirtualKeyboardTextContextChangeInfoMETA, XrVirtualKeyboardTextureDataMETA, XrVisibilityMaskKHR, XrVisualMeshComputeLodInfoMSFT, XrViveTrackerPathsHTCX, XrVulkanDeviceCreateInfoKHR, XrVulkanGraphicsDeviceGetInfoKHR, XrVulkanInstanceCreateInfoKHR, XrVulkanSwapchainCreateInfoMETA, XrVulkanSwapchainFormatListCreateInfoKHR, XrWorldMeshBlockML, XrWorldMeshBlockRequestML, XrWorldMeshBlockStateML, XrWorldMeshBufferML, XrWorldMeshBufferRecommendedSizeInfoML, XrWorldMeshBufferSizeML, XrWorldMeshDetectorCreateInfoML, XrWorldMeshGetInfoML, XrWorldMeshRequestCompletionInfoML, XrWorldMeshRequestCompletionML, XrWorldMeshStateRequestCompletionML, XrWorldMeshStateRequestInfoML, xrStructureTypeToString, xrStructureTypeToString2KHR
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateFlagBits(3)
Name
XrSwapchainCreateFlagBits - Swapchain creation flags
C Specification
Valid bits for XrSwapchainCreateFlags are defined by XrSwapchainCreateFlagBits, which is specified as:
// Flag bits for XrSwapchainCreateFlags
static const XrSwapchainCreateFlags XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT = 0x00000001;
static const XrSwapchainCreateFlags XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT = 0x00000002;
Description
The flag bits have the following meanings:
A runtime may implement any of these, but is not required to.
A runtime must return XR_ERROR_FEATURE_UNSUPPORTED from
xrCreateSwapchain if an XrSwapchainCreateFlags bit is requested
but not implemented.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateFoveationFlagBitsFB(3)
Name
XrSwapchainCreateFoveationFlagBitsFB - XrSwapchainCreateFoveationFlagBitsFB
C Specification
// Flag bits for XrSwapchainCreateFoveationFlagsFB
static const XrSwapchainCreateFoveationFlagsFB XR_SWAPCHAIN_CREATE_FOVEATION_SCALED_BIN_BIT_FB = 0x00000001;
static const XrSwapchainCreateFoveationFlagsFB XR_SWAPCHAIN_CREATE_FOVEATION_FRAGMENT_DENSITY_MAP_BIT_FB = 0x00000002;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateFoveationFlagBitsFB(3)
Name
XrSwapchainStateFoveationFlagBitsFB - XrSwapchainStateFoveationFlagBitsFB
C Specification
// Flag bits for XrSwapchainStateFoveationFlagsFB
Description
There are currently no foveation swapchain state flags. This is reserved for future use.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainUsageFlagBits(3)
Name
XrSwapchainUsageFlagBits - Swapchain usage flags
C Specification
When images are created, the runtime needs to know how the images are used in a way that requires more information than simply the image format. The XrSwapchainCreateInfo passed to xrCreateSwapchain must match the intended usage.
Flags include:
// Flag bits for XrSwapchainUsageFlags
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_COLOR_ATTACHMENT_BIT = 0x00000001;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000002;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT = 0x00000004;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_TRANSFER_SRC_BIT = 0x00000008;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_TRANSFER_DST_BIT = 0x00000010;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_SAMPLED_BIT = 0x00000020;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_MUTABLE_FORMAT_BIT = 0x00000040;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND = 0x00000080;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_KHR = 0x00000080; // alias of XR_SWAPCHAIN_USAGE_INPUT_ATTACHMENT_BIT_MND
Description
The flag bits have the following meanings:
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerDictionaryANDROID(3)
Name
XrTrackableMarkerDictionaryANDROID - The supported marker dictionaries.
C Specification
The XrTrackableMarkerDictionaryANDROID enum describes the supported marker dictionaries.
// Provided by XR_ANDROID_trackables_marker
typedef enum XrTrackableMarkerDictionaryANDROID {
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_50_ANDROID = 0,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_100_ANDROID = 1,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_250_ANDROID = 2,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_4X4_1000_ANDROID = 3,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_50_ANDROID = 4,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_100_ANDROID = 5,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_250_ANDROID = 6,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_5X5_1000_ANDROID = 7,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_50_ANDROID = 8,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_100_ANDROID = 9,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_250_ANDROID = 10,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_6X6_1000_ANDROID = 11,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_50_ANDROID = 12,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_100_ANDROID = 13,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_250_ANDROID = 14,
XR_TRACKABLE_MARKER_DICTIONARY_ARUCO_7X7_1000_ANDROID = 15,
XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_16H5_ANDROID = 16,
XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_25H9_ANDROID = 17,
XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H10_ANDROID = 18,
XR_TRACKABLE_MARKER_DICTIONARY_APRILTAG_36H11_ANDROID = 19,
XR_TRACKABLE_MARKER_DICTIONARY_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackableMarkerDictionaryANDROID;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableMarkerTrackingModeANDROID(3)
Name
XrTrackableMarkerTrackingModeANDROID - The supported tracking modes of markers.
C Specification
The XrTrackableMarkerTrackingModeANDROID enum describes the supported tracking modes of markers.
// Provided by XR_ANDROID_trackables_marker
typedef enum XrTrackableMarkerTrackingModeANDROID {
XR_TRACKABLE_MARKER_TRACKING_MODE_DYNAMIC_ANDROID = 0,
XR_TRACKABLE_MARKER_TRACKING_MODE_STATIC_ANDROID = 1,
XR_TRACKABLE_MARKER_TRACKING_MODE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackableMarkerTrackingModeANDROID;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableTypeANDROID(3)
Name
XrTrackableTypeANDROID - Type of trackable
C Specification
The XrTrackableTypeANDROID enum is defined as:
// Provided by XR_ANDROID_trackables
typedef enum XrTrackableTypeANDROID {
XR_TRACKABLE_TYPE_NOT_VALID_ANDROID = 0,
XR_TRACKABLE_TYPE_PLANE_ANDROID = 1,
// Provided by XR_ANDROID_raycast
XR_TRACKABLE_TYPE_DEPTH_ANDROID = 1000463000,
// Provided by XR_ANDROID_trackables_object
XR_TRACKABLE_TYPE_OBJECT_ANDROID = 1000466000,
// Provided by XR_ANDROID_trackables_marker
XR_TRACKABLE_TYPE_MARKER_ANDROID = 1000707000,
XR_TRACKABLE_TYPE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackableTypeANDROID;
Description
| Enum | Description |
|---|---|
|
Indicates that the trackable is not valid. |
|
Indicates that the trackable is a plane. |
|
Indicates that the trackable is the perception depth buffer. (Added by the |
|
Indicates that the trackable is the object. (Added by the |
|
Indicates that the trackable is a marker. (Added by the |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackingOptimizationSettingsDomainQCOM(3)
Name
XrTrackingOptimizationSettingsDomainQCOM - Domains to apply tracking optimization hints
C Specification
// Provided by XR_QCOM_tracking_optimization_settings
typedef enum XrTrackingOptimizationSettingsDomainQCOM {
XR_TRACKING_OPTIMIZATION_SETTINGS_DOMAIN_ALL_QCOM = 1,
XR_TRACKING_OPTIMIZATION_SETTINGS_DOMAIN_MAX_ENUM_QCOM = 0x7FFFFFFF
} XrTrackingOptimizationSettingsDomainQCOM;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackingOptimizationSettingsHintQCOM(3)
Name
XrTrackingOptimizationSettingsHintQCOM - Hints for prioritizing different tracking goals
C Specification
// Provided by XR_QCOM_tracking_optimization_settings
typedef enum XrTrackingOptimizationSettingsHintQCOM {
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_NONE_QCOM = 0,
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_LONG_RANGE_PRIORIZATION_QCOM = 1,
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_CLOSE_RANGE_PRIORIZATION_QCOM = 2,
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_LOW_POWER_PRIORIZATION_QCOM = 3,
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_HIGH_POWER_PRIORIZATION_QCOM = 4,
XR_TRACKING_OPTIMIZATION_SETTINGS_HINT_MAX_ENUM_QCOM = 0x7FFFFFFF
} XrTrackingOptimizationSettingsHintQCOM;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackingStateANDROID(3)
Name
XrTrackingStateANDROID - The tracking state of a trackable
C Specification
The XrTrackingStateANDROID enum describes the tracking state of an
XrTrackableANDROID.
// Provided by XR_ANDROID_trackables
typedef enum XrTrackingStateANDROID {
XR_TRACKING_STATE_PAUSED_ANDROID = 0,
XR_TRACKING_STATE_STOPPED_ANDROID = 1,
XR_TRACKING_STATE_TRACKING_ANDROID = 2,
XR_TRACKING_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrTrackingStateANDROID;
Description
| Enum | Description |
|---|---|
|
Indicates that the trackable or anchor tracking is paused but may be resumed in the future. |
|
Tracking has stopped on this Trackable and will never be resumed. |
|
The object is currently tracked and its pose is current. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTriangleMeshFlagBitsFB(3)
Name
XrTriangleMeshFlagBitsFB - XrTriangleMeshFlagBitsFB
C Specification
// Flag bits for XrTriangleMeshFlagsFB
static const XrTriangleMeshFlagsFB XR_TRIANGLE_MESH_MUTABLE_BIT_FB = 0x00000001;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationType(3)
Name
XrViewConfigurationType - Supported view configuration type
C Specification
typedef enum XrViewConfigurationType {
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO = 1,
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO = 2,
// Provided by XR_VERSION_1_1
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET = 1000037000,
// Provided by XR_MSFT_first_person_observer
XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT = 1000054000,
// Provided by XR_VARJO_quad_views
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO = XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET,
XR_VIEW_CONFIGURATION_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrViewConfigurationType;
Description
The application selects its primary view configuration type when calling xrBeginSession, and that configuration remains constant for the lifetime of the session, until xrEndSession is called.
The number of views and the semantic meaning of each view index within a given view configuration is well-defined, specified below for all core view configurations. The predefined primary view configuration types are:
See Also
XrEventDataVisibilityMaskChangedKHR, XrSecondaryViewConfigurationLayerInfoMSFT, XrSecondaryViewConfigurationSessionBeginInfoMSFT, XrSecondaryViewConfigurationStateMSFT, XrSecondaryViewConfigurationSwapchainCreateInfoMSFT, XrSessionBeginInfo, XrViewConfigurationProperties, XrViewLocateInfo, xrEnumerateEnvironmentBlendModes, xrEnumerateReprojectionModesMSFT, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrGetViewConfigurationProperties, xrGetVisibilityMaskKHR
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewStateFlagBits(3)
Name
XrViewStateFlagBits - View state flags
C Specification
Valid bits for XrViewStateFlags are defined by XrViewStateFlagBits, which is specified as:
// Flag bits for XrViewStateFlags
static const XrViewStateFlags XR_VIEW_STATE_ORIENTATION_VALID_BIT = 0x00000001;
static const XrViewStateFlags XR_VIEW_STATE_POSITION_VALID_BIT = 0x00000002;
static const XrViewStateFlags XR_VIEW_STATE_ORIENTATION_TRACKED_BIT = 0x00000004;
static const XrViewStateFlags XR_VIEW_STATE_POSITION_TRACKED_BIT = 0x00000008;
Description
The flag bits have the following meanings:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardInputSourceMETA(3)
Name
XrVirtualKeyboardInputSourceMETA - Enum describing keyboard input source types
C Specification
The possible input sources are specified by the XrVirtualKeyboardInputSourceMETA enumeration:
// Provided by XR_META_virtual_keyboard
typedef enum XrVirtualKeyboardInputSourceMETA {
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_RAY_LEFT_META = 1,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_RAY_RIGHT_META = 2,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_RAY_LEFT_META = 3,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_RAY_RIGHT_META = 4,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_DIRECT_LEFT_META = 5,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_CONTROLLER_DIRECT_RIGHT_META = 6,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_DIRECT_INDEX_TIP_LEFT_META = 7,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_HAND_DIRECT_INDEX_TIP_RIGHT_META = 8,
XR_VIRTUAL_KEYBOARD_INPUT_SOURCE_MAX_ENUM_META = 0x7FFFFFFF
} XrVirtualKeyboardInputSourceMETA;
Description
| Enum | Description |
|---|---|
|
Left controller ray. |
|
Right controller ray. |
|
Left hand ray. |
|
Right hand ray. |
|
Left controller direct touch. |
|
Right controller direct touch. |
|
Left hand direct touch. |
|
Right hand direct touch. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardInputStateFlagBitsMETA(3)
Name
XrVirtualKeyboardInputStateFlagBitsMETA - XrVirtualKeyboardInputStateFlagBitsMETA
C Specification
// Flag bits for XrVirtualKeyboardInputStateFlagsMETA
static const XrVirtualKeyboardInputStateFlagsMETA XR_VIRTUAL_KEYBOARD_INPUT_STATE_PRESSED_BIT_META = 0x00000001;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardLocationTypeMETA(3)
Name
XrVirtualKeyboardLocationTypeMETA - Enum describing keyboard placement types
C Specification
The possible location types are specified by the XrVirtualKeyboardLocationTypeMETA enumeration:
// Provided by XR_META_virtual_keyboard
typedef enum XrVirtualKeyboardLocationTypeMETA {
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_CUSTOM_META = 0,
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_FAR_META = 1,
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_DIRECT_META = 2,
XR_VIRTUAL_KEYBOARD_LOCATION_TYPE_MAX_ENUM_META = 0x7FFFFFFF
} XrVirtualKeyboardLocationTypeMETA;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVisibilityMaskTypeKHR(3)
Name
XrVisibilityMaskTypeKHR - Visibility Mask Type
C Specification
XrVisibilityMaskTypeKHR identifies the different types of mask specification that is supported. The application can request a view mask in any of the formats identified by these types.
// Provided by XR_KHR_visibility_mask
typedef enum XrVisibilityMaskTypeKHR {
XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR = 1,
XR_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR = 2,
XR_VISIBILITY_MASK_TYPE_LINE_LOOP_KHR = 3,
XR_VISIBILITY_MASK_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
} XrVisibilityMaskTypeKHR;
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanDeviceCreateFlagBitsKHR(3)
Name
XrVulkanDeviceCreateFlagBitsKHR - Vulkan Device Create Info Flag bits
C Specification
Valid bits for XrVulkanDeviceCreateFlagsKHR are defined by XrVulkanDeviceCreateFlagBitsKHR.
// Flag bits for XrVulkanDeviceCreateFlagsKHR
Description
There are currently no Vulkan device creation flag bits defined. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanInstanceCreateFlagBitsKHR(3)
Name
XrVulkanInstanceCreateFlagBitsKHR - Vulkan Instance Create Info Flags
C Specification
Valid bits for XrVulkanInstanceCreateFlagsKHR are defined by XrVulkanInstanceCreateFlagBitsKHR.
// Flag bits for XrVulkanInstanceCreateFlagsKHR
Description
There are currently no Vulkan instance creation flag bits defined. This is reserved for future use.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWindingOrderFB(3)
Name
XrWindingOrderFB - Triangle winding order
C Specification
Applications may specify the triangle winding order of a mesh - whether the vertices of an outward-facing side of a triangle appear in clockwise or counter-clockwise order - using XrWindingOrderFB enumeration.
// Provided by XR_FB_triangle_mesh
typedef enum XrWindingOrderFB {
XR_WINDING_ORDER_UNKNOWN_FB = 0,
XR_WINDING_ORDER_CW_FB = 1,
XR_WINDING_ORDER_CCW_FB = 2,
XR_WINDING_ORDER_MAX_ENUM_FB = 0x7FFFFFFF
} XrWindingOrderFB;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBlockResultML(3)
Name
XrWorldMeshBlockResultML - The mesh block result values.
C Specification
// Provided by XR_ML_world_mesh_detection
typedef enum XrWorldMeshBlockResultML {
XR_WORLD_MESH_BLOCK_RESULT_SUCCESS_ML = 0,
XR_WORLD_MESH_BLOCK_RESULT_FAILED_ML = 1,
XR_WORLD_MESH_BLOCK_RESULT_PENDING_ML = 2,
XR_WORLD_MESH_BLOCK_RESULT_PARTIAL_UPDATE_ML = 3,
XR_WORLD_MESH_BLOCK_RESULT_MAX_ENUM_ML = 0x7FFFFFFF
} XrWorldMeshBlockResultML;
Description
| Enum | Description |
|---|---|
|
Mesh request has succeeded. |
|
Mesh request has failed. |
|
Mesh request is pending. |
|
There are partial updates on the mesh request. |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshBlockStatusML(3)
Name
XrWorldMeshBlockStatusML - The mesh block status.
C Specification
// Provided by XR_ML_world_mesh_detection
typedef enum XrWorldMeshBlockStatusML {
XR_WORLD_MESH_BLOCK_STATUS_NEW_ML = 0,
XR_WORLD_MESH_BLOCK_STATUS_UPDATED_ML = 1,
XR_WORLD_MESH_BLOCK_STATUS_DELETED_ML = 2,
XR_WORLD_MESH_BLOCK_STATUS_UNCHANGED_ML = 3,
XR_WORLD_MESH_BLOCK_STATUS_MAX_ENUM_ML = 0x7FFFFFFF
} XrWorldMeshBlockStatusML;
Description
| Enum | Description |
|---|---|
|
The mesh block has been created. |
|
The mesh block has been updated. |
|
The mesh block has been deleted. |
|
The mesh block is unchanged. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshDetectorFlagBitsML(3)
Name
XrWorldMeshDetectorFlagBitsML - The world meshing detector flags.
C Specification
// Provided by XR_ML_world_mesh_detection
// Flag bits for XrWorldMeshDetectorFlagsML
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_POINT_CLOUD_BIT_ML = 0x00000001;
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_COMPUTE_NORMALS_BIT_ML = 0x00000002;
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_COMPUTE_CONFIDENCE_BIT_ML = 0x00000004;
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_PLANARIZE_BIT_ML = 0x00000008;
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_REMOVE_MESH_SKIRT_BIT_ML = 0x00000010;
static const XrWorldMeshDetectorFlagsML XR_WORLD_MESH_DETECTOR_INDEX_ORDER_CW_BIT_ML = 0x00000020;
Description
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshDetectorLodML(3)
Name
XrWorldMeshDetectorLodML - Mesh Levels Of Detail.
C Specification
// Provided by XR_ML_world_mesh_detection
typedef enum XrWorldMeshDetectorLodML {
XR_WORLD_MESH_DETECTOR_LOD_MINIMUM_ML = 0,
XR_WORLD_MESH_DETECTOR_LOD_MEDIUM_ML = 1,
XR_WORLD_MESH_DETECTOR_LOD_MAXIMUM_ML = 2,
XR_WORLD_MESH_DETECTOR_LOD_MAX_ENUM_ML = 0x7FFFFFFF
} XrWorldMeshDetectorLodML;
Description
| Enum | Description |
|---|---|
|
Minimum Level of Detail (LOD) for the mesh. |
|
Medium Level of Detail (LOD) for the mesh. |
|
Maximum Level of Detail (LOD) for the mesh. |
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Flags
XrAndroidSurfaceSwapchainFlagsFB(3)
Name
XrAndroidSurfaceSwapchainFlagsFB - XrAndroidSurfaceSwapchainFlagsFB
C Specification
typedef XrFlags64 XrAndroidSurfaceSwapchainFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerFlags(3)
Name
XrCompositionLayerFlags - Composition layer flags
C Specification
XrCompositionLayerFlags specifies options for individual composition layers, and contains a bitwise-OR of zero or more of the bits defined in XrCompositionLayerFlagBits.
typedef XrFlags64 XrCompositionLayerFlags;
See Also
XrCompositionLayerBaseHeader, XrCompositionLayerCubeKHR, XrCompositionLayerCylinderKHR, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerFlagBits, XrCompositionLayerPassthroughFB, XrCompositionLayerPassthroughHTC, XrCompositionLayerProjection, XrCompositionLayerQuad, XrFlags64
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerImageLayoutFlagsFB(3)
Name
XrCompositionLayerImageLayoutFlagsFB - XrCompositionLayerImageLayoutFlagsFB
C Specification
typedef XrFlags64 XrCompositionLayerImageLayoutFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSecureContentFlagsFB(3)
Name
XrCompositionLayerSecureContentFlagsFB - XrCompositionLayerSecureContentFlagsFB
C Specification
typedef XrFlags64 XrCompositionLayerSecureContentFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSettingsFlagsFB(3)
Name
XrCompositionLayerSettingsFlagsFB - XrCompositionLayerSettingsFlagsFB
C Specification
typedef XrFlags64 XrCompositionLayerSettingsFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrCompositionLayerSpaceWarpInfoFlagsFB(3)
Name
XrCompositionLayerSpaceWarpInfoFlagsFB - XrCompositionLayerSpaceWarpInfoFlagsFB
C Specification
typedef XrFlags64 XrCompositionLayerSpaceWarpInfoFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessageSeverityFlagsEXT(3)
Name
XrDebugUtilsMessageSeverityFlagsEXT - XrDebugUtilsMessageSeverityFlagsEXT
C Specification
typedef XrFlags64 XrDebugUtilsMessageSeverityFlagsEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDebugUtilsMessageTypeFlagsEXT(3)
Name
XrDebugUtilsMessageTypeFlagsEXT - XrDebugUtilsMessageTypeFlagsEXT
C Specification
typedef XrFlags64 XrDebugUtilsMessageTypeFlagsEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDigitalLensControlFlagsALMALENCE(3)
Name
XrDigitalLensControlFlagsALMALENCE - XrDigitalLensControlFlagsALMALENCE
C Specification
typedef XrFlags64 XrDigitalLensControlFlagsALMALENCE;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthProviderCreateFlagsMETA(3)
Name
XrEnvironmentDepthProviderCreateFlagsMETA - Environment depth provider create flags
C Specification
The XrEnvironmentDepthProviderCreateFlagsMETA specifies creation options for XrEnvironmentDepthProviderMETA.
// Provided by XR_META_environment_depth
typedef XrFlags64 XrEnvironmentDepthProviderCreateFlagsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentDepthSwapchainCreateFlagsMETA(3)
Name
XrEnvironmentDepthSwapchainCreateFlagsMETA - Environment depth swapchain create flags
C Specification
The XrEnvironmentDepthSwapchainCreateFlagsMETA specifies creation options for XrEnvironmentDepthSwapchainCreateInfoMETA.
// Provided by XR_META_environment_depth
typedef XrFlags64 XrEnvironmentDepthSwapchainCreateFlagsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrExternalCameraStatusFlagsOCULUS(3)
Name
XrExternalCameraStatusFlagsOCULUS - XrExternalCameraStatusFlagsOCULUS
C Specification
typedef XrFlags64 XrExternalCameraStatusFlagsOCULUS;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFacialExpressionBlendShapePropertiesFlagsML(3)
Name
XrFacialExpressionBlendShapePropertiesFlagsML - Properties for facial blend shape
C Specification
The XrFacialExpressionBlendShapePropertiesML::flags member is of
the following type, and contains a bitwise-OR of zero or more bits defined
in XrFacialExpressionBlendShapePropertiesFlagBitsML.
typedef XrFlags64 XrFacialExpressionBlendShapePropertiesFlagsML;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationDynamicFlagsHTC(3)
Name
XrFoveationDynamicFlagsHTC - XrFoveationDynamicFlagsHTC
C Specification
typedef XrFlags64 XrFoveationDynamicFlagsHTC;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedProfileCreateFlagsMETA(3)
Name
XrFoveationEyeTrackedProfileCreateFlagsMETA - XrFoveationEyeTrackedProfileCreateFlagsMETA
C Specification
// Provided by XR_META_foveation_eye_tracked
typedef XrFlags64 XrFoveationEyeTrackedProfileCreateFlagsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFoveationEyeTrackedStateFlagsMETA(3)
Name
XrFoveationEyeTrackedStateFlagsMETA - XrFoveationEyeTrackedStateFlagsMETA
C Specification
// Provided by XR_META_foveation_eye_tracked
typedef XrFlags64 XrFoveationEyeTrackedStateFlagsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameEndInfoFlagsML(3)
Name
XrFrameEndInfoFlagsML - XrFrameEndInfoFlagsML
C Specification
The XrFrameEndInfoML::flags member is of the following type, and
contains a bitwise-OR of zero or more of the bits defined in
XrFrameEndInfoFlagBitsML.
typedef XrFlags64 XrFrameEndInfoFlagsML;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFrameSynthesisInfoFlagsEXT(3)
Name
XrFrameSynthesisInfoFlagsEXT - XrFrameSynthesisInfoFlagsEXT
C Specification
typedef XrFlags64 XrFrameSynthesisInfoFlagsEXT;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGlobalDimmerFrameEndInfoFlagsML(3)
Name
XrGlobalDimmerFrameEndInfoFlagsML - XrGlobalDimmerFrameEndInfoFlagsML
C Specification
The XrGlobalDimmerFrameEndInfoML::flags member is of the
following type, and contains a bitwise-OR of zero or more of the bits
defined in XrFrameEndInfoFlagBitsML.
typedef XrFlags64 XrGlobalDimmerFrameEndInfoFlagsML;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHandTrackingAimFlagsFB(3)
Name
XrHandTrackingAimFlagsFB - XrHandTrackingAimFlagsFB
C Specification
typedef XrFlags64 XrHandTrackingAimFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInputSourceLocalizedNameFlags(3)
Name
XrInputSourceLocalizedNameFlags - Input source localized name flags
C Specification
The XrInputSourceLocalizedNameGetInfo::whichComponents parameter
is of the following type, and contains a bitwise-OR of one or more of the
bits defined in XrInputSourceLocalizedNameFlagBits.
typedef XrFlags64 XrInputSourceLocalizedNameFlags;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateFlags(3)
Name
XrInstanceCreateFlags - Instance Creation Flags
C Specification
The XrInstanceCreateInfo::createFlags member is of the following
type, and contains a bitwise-OR of zero or more of the bits defined in
XrInstanceCreateFlagBits.
typedef XrFlags64 XrInstanceCreateFlags;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingFlagsFB(3)
Name
XrKeyboardTrackingFlagsFB - XrKeyboardTrackingFlagsFB
C Specification
typedef XrFlags64 XrKeyboardTrackingFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrKeyboardTrackingQueryFlagsFB(3)
Name
XrKeyboardTrackingQueryFlagsFB - XrKeyboardTrackingQueryFlagsFB
C Specification
typedef XrFlags64 XrKeyboardTrackingQueryFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrLocalizationMapErrorFlagsML(3)
Name
XrLocalizationMapErrorFlagsML - XrLocalizationMapErrorFlagsML
C Specification
The bitmask type XrLocalizationMapErrorFlagsML is defined as:
// Provided by XR_ML_localization_map
typedef XrFlags64 XrLocalizationMapErrorFlagsML;
Description
As used in XrEventDataLocalizationChangedML::errorFlags field,
XrLocalizationMapErrorFlagsML contains a bitwise-OR of zero or more of
the bits defined in XrLocalizationMapErrorFlagBitsML.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOverlayMainSessionFlagsEXTX(3)
Name
XrOverlayMainSessionFlagsEXTX - XrOverlayMainSessionFlagsEXTX
C Specification
typedef XrFlags64 XrOverlayMainSessionFlagsEXTX;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOverlaySessionCreateFlagsEXTX(3)
Name
XrOverlaySessionCreateFlagsEXTX - XrOverlaySessionCreateFlagsEXTX
C Specification
typedef XrFlags64 XrOverlaySessionCreateFlagsEXTX;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughCapabilityFlagsFB(3)
Name
XrPassthroughCapabilityFlagsFB - XrPassthroughCapabilityFlagsFB
C Specification
typedef XrFlags64 XrPassthroughCapabilityFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughFlagsFB(3)
Name
XrPassthroughFlagsFB - XrPassthroughFlagsFB
C Specification
typedef XrFlags64 XrPassthroughFlagsFB;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughPreferenceFlagsMETA(3)
Name
XrPassthroughPreferenceFlagsMETA - XrPassthroughPreferenceFlagsMETA
C Specification
// Provided by XR_META_passthrough_preferences
typedef XrFlags64 XrPassthroughPreferenceFlagsMETA;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPassthroughStateChangedFlagsFB(3)
Name
XrPassthroughStateChangedFlagsFB - XrPassthroughStateChangedFlagsFB
C Specification
typedef XrFlags64 XrPassthroughStateChangedFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPerformanceMetricsCounterFlagsMETA(3)
Name
XrPerformanceMetricsCounterFlagsMETA - XrPerformanceMetricsCounterFlagsMETA
C Specification
typedef XrFlags64 XrPerformanceMetricsCounterFlagsMETA;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectionCapabilityFlagsEXT(3)
Name
XrPlaneDetectionCapabilityFlagsEXT - Supported Features
C Specification
The XrSystemPlaneDetectionPropertiesEXT::supportedFeatures
member is of the following type, and contains a bitwise-OR of zero or more
of the bits defined in XrPlaneDetectionCapabilityFlagBitsEXT.
// Provided by XR_EXT_plane_detection
typedef XrFlags64 XrPlaneDetectionCapabilityFlagsEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPlaneDetectorFlagsEXT(3)
Name
XrPlaneDetectorFlagsEXT - Plane Detector flags
C Specification
The XrPlaneDetectorCreateInfoEXT::flags member is of the
following type, and contains a bitwise-OR of zero or more of the bits
defined in XrPlaneDetectorFlagBitsEXT.
// Provided by XR_EXT_plane_detection
typedef XrFlags64 XrPlaneDetectorFlagsEXT;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelFlagsFB(3)
Name
XrRenderModelFlagsFB - XrRenderModelFlagsFB
C Specification
typedef XrFlags64 XrRenderModelFlagsFB;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSemanticLabelsSupportFlagsFB(3)
Name
XrSemanticLabelsSupportFlagsFB - XrSemanticLabelsSupportFlagsFB
C Specification
// Provided by XR_FB_scene
typedef XrFlags64 XrSemanticLabelsSupportFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateFlags(3)
Name
XrSessionCreateFlags - Session Creation Flags
C Specification
The XrSessionCreateInfo::createFlags member is of the following
type, and contains a bitwise-OR of zero or more of the bits defined in
XrSessionCreateFlagBits.
typedef XrFlags64 XrSessionCreateFlags;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceLocationFlags(3)
Name
XrSpaceLocationFlags - Space location flags
C Specification
The XrSpaceLocation::locationFlags member is of the following
type, and contains a bitwise-OR of zero or more of the bits defined in
XrSpaceLocationFlagBits.
typedef XrFlags64 XrSpaceLocationFlags;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceVelocityFlags(3)
Name
XrSpaceVelocityFlags - Space velocity flags
C Specification
The XrSpaceVelocity::velocityFlags member is of the following
type, and contains a bitwise-OR of zero or more of the bits defined in
XrSpaceVelocityFlagBits.
typedef XrFlags64 XrSpaceVelocityFlags;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialMeshConfigFlagsBD(3)
Name
XrSpatialMeshConfigFlagsBD - XrSpatialMeshConfigFlagsBD
C Specification
The enumeration XrSpatialMeshConfigFlagsBD is defined as:
// Provided by XR_BD_spatial_mesh
typedef XrFlags64 XrSpatialMeshConfigFlagsBD;
Description
The XrSenseDataProviderCreateInfoSpatialMeshBD::configFlags
member is of the type XrSpatialMeshConfigFlagsBD, and contains a
bitwise-OR of zero or more of the bits defined in
XrSpatialMeshConfigFlagBitsBD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateFlags(3)
Name
XrSwapchainCreateFlags - Swapchain creation flags
C Specification
The XrSwapchainCreateInfo::createFlags member is of the
following type, and contains a bitwise-OR of zero or more of the bits
defined in XrSwapchainCreateFlagBits.
typedef XrFlags64 XrSwapchainCreateFlags;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateFoveationFlagsFB(3)
Name
XrSwapchainCreateFoveationFlagsFB - XrSwapchainCreateFoveationFlagsFB
C Specification
typedef XrFlags64 XrSwapchainCreateFoveationFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainStateFoveationFlagsFB(3)
Name
XrSwapchainStateFoveationFlagsFB - XrSwapchainStateFoveationFlagsFB
C Specification
typedef XrFlags64 XrSwapchainStateFoveationFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainUsageFlags(3)
Name
XrSwapchainUsageFlags - Swapchain usage flags
C Specification
XrSwapchainUsageFlags specify the intended usage of the swapchain
images.
The XrSwapchainCreateInfo::usageFlags member is of this type,
and contains a bitwise-OR of one or more of the bits defined in
XrSwapchainUsageFlagBits.
typedef XrFlags64 XrSwapchainUsageFlags;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTriangleMeshFlagsFB(3)
Name
XrTriangleMeshFlagsFB - XrTriangleMeshFlagsFB
C Specification
// Provided by XR_FB_triangle_mesh
typedef XrFlags64 XrTriangleMeshFlagsFB;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewStateFlags(3)
Name
XrViewStateFlags - View state flags
C Specification
The XrViewStateFlags specifies the validity and quality of the
corresponding XrView array returned by xrLocateViews.
The XrViewState::viewStateFlags member is of this type, and
contains a bitwise-OR of zero or more of the bits defined in
XrViewStateFlagBits.
typedef XrFlags64 XrViewStateFlags;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVirtualKeyboardInputStateFlagsMETA(3)
Name
XrVirtualKeyboardInputStateFlagsMETA - XrVirtualKeyboardInputStateFlagsMETA
C Specification
typedef XrFlags64 XrVirtualKeyboardInputStateFlagsMETA;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanDeviceCreateFlagsKHR(3)
Name
XrVulkanDeviceCreateFlagsKHR - Vulkan Device Create Info Flags
C Specification
XrVulkanDeviceCreateFlagsKHR specify details of device creation.
The XrVulkanDeviceCreateInfoKHR::createFlags member is of the
following type, and contains a bitwise-OR of zero or more of the bits
defined in XrVulkanDeviceCreateFlagBitsKHR.
typedef XrFlags64 XrVulkanDeviceCreateFlagsKHR;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanInstanceCreateFlagsKHR(3)
Name
XrVulkanInstanceCreateFlagsKHR - Vulkan Instance Create Info Flags
C Specification
The XrVulkanInstanceCreateInfoKHR::createFlags member is of the
following type, and contains a bitwise-OR of zero or more of the bits
defined in XrVulkanInstanceCreateFlagBitsKHR.
typedef XrFlags64 XrVulkanInstanceCreateFlagsKHR;
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrWorldMeshDetectorFlagsML(3)
Name
XrWorldMeshDetectorFlagsML - XrWorldMeshDetectorFlagsML
C Specification
// Provided by XR_ML_world_mesh_detection
typedef XrFlags64 XrWorldMeshDetectorFlagsML;
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Function Pointer Types
PFN_xrCreateApiLayerInstance(3)
Name
PFN_xrCreateApiLayerInstance - Function pointer type for xrCreateApiLayerInstance
C Specification
typedef struct XrApiLayerCreateInfo XrApiLayerCreateInfo;
typedef XrResult (XRAPI_PTR *PFN_xrCreateApiLayerInstance)(
const XrInstanceCreateInfo* info,
const XrApiLayerCreateInfo* apiLayerInfo,
XrInstance* instance);
Description
PFN_xrCreateApiLayerInstance is a function pointer type for xrCreateApiLayerInstance.
Note: This function pointer type is only used by an OpenXR loader library, and never by an application.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
PFN_xrDebugUtilsMessengerCallbackEXT(3)
Name
PFN_xrDebugUtilsMessengerCallbackEXT - Type of callback function invoked by the debug utils
C Specification
// Provided by XR_EXT_debug_utils
typedef XrBool32 (XRAPI_PTR *PFN_xrDebugUtilsMessengerCallbackEXT)(
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT* callbackData,
void* userData);
Parameters
Description
The callback must not call xrDestroyDebugUtilsMessengerEXT.
The callback returns an XrBool32 that indicates to the calling
layer the application’s desire to abort the call.
A value of XR_TRUE indicates that the application wants to abort this
call.
If the application returns XR_FALSE, the function must not be
aborted.
Applications should always return XR_FALSE so that they see the same
behavior with and without validation layers enabled.
If the application returns XR_TRUE from its callback and the OpenXR
call being aborted returns an XrResult, the layer will return
XR_ERROR_VALIDATION_FAILURE.
The object pointed to by callbackData (and any pointers in it
recursively) must be valid during the lifetime of the triggered callback.
It may become invalid afterwards.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
PFN_xrEglGetProcAddressMNDX(3)
Name
PFN_xrEglGetProcAddressMNDX - typedef of eglGetProcAddress
C Specification
typedef PFN_xrVoidFunction (*PFN_xrEglGetProcAddressMNDX)(const char *name);
Parameters
Description
eglGetProcAddress returns the address of the client API or EGL function named by procname. For details please see https://registry.khronos.org/EGL/sdk/docs/man/html/eglGetProcAddress.xhtml
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
PFN_xrGetInstanceProcAddr(3)
Name
PFN_xrGetInstanceProcAddr - Function pointer type for xrGetInstanceProcAddr
C Specification
typedef XrResult (XRAPI_PTR *PFN_xrGetInstanceProcAddr)(XrInstance instance, const char* name, PFN_xrVoidFunction* function);
Description
PFN_xrGetInstanceProcAddr is a function pointer type for xrGetInstanceProcAddr.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
PFN_xrVoidFunction(3)
Name
PFN_xrVoidFunction - Generic function pointer type returned by queries
C Specification
typedef void (XRAPI_PTR *PFN_xrVoidFunction)(void);
Parameters
Description
PFN_xrVoidFunction is a generic function pointer type returned by queries, specifically those to xrGetInstanceProcAddr.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Scalar types
XrAsyncRequestIdFB(3)
Name
XrAsyncRequestIdFB - Asynchronous request ID
C Specification
The XrAsyncRequestIdFB base type is defined as:
// Provided by XR_FB_spatial_entity
XR_DEFINE_ATOM(XrAsyncRequestIdFB)
Description
Represents a request to the spatial entity system. Several functions in this and other extensions will populate an output variable of this type so that an application can use it when referring to a specific request.
See Also
XR_DEFINE_ATOM, XR_FB_spatial_entity, XrEventDataColocationAdvertisementCompleteMETA, XrEventDataColocationDiscoveryCompleteMETA, XrEventDataColocationDiscoveryResultMETA, XrEventDataSceneCaptureCompleteFB, XrEventDataShareSpacesCompleteMETA, XrEventDataSpaceDiscoveryCompleteMETA, XrEventDataSpaceDiscoveryResultsAvailableMETA, XrEventDataSpaceEraseCompleteFB, XrEventDataSpaceListSaveCompleteFB, XrEventDataSpaceQueryCompleteFB, XrEventDataSpaceQueryResultsAvailableFB, XrEventDataSpaceSaveCompleteFB, XrEventDataSpaceSetStatusCompleteFB, XrEventDataSpaceShareCompleteFB, XrEventDataSpacesEraseResultMETA, XrEventDataSpacesSaveResultMETA, XrEventDataSpatialAnchorCreateCompleteFB, XrEventDataStartColocationAdvertisementCompleteMETA, XrEventDataStartColocationDiscoveryCompleteMETA, XrEventDataStopColocationAdvertisementCompleteMETA, XrEventDataStopColocationDiscoveryCompleteMETA, xrCreateSpatialAnchorFB, xrDiscoverSpacesMETA, xrEraseSpaceFB, xrEraseSpacesMETA, xrQuerySpacesFB, xrRequestSceneCaptureFB, xrRetrieveSpaceDiscoveryResultsMETA, xrRetrieveSpaceQueryResultsFB, xrSaveSpaceFB, xrSaveSpaceListFB, xrSaveSpacesMETA, xrSetSpaceComponentStatusFB, xrShareSpacesFB, xrShareSpacesMETA, xrStartColocationAdvertisementMETA, xrStartColocationDiscoveryMETA, xrStopColocationAdvertisementMETA, xrStopColocationDiscoveryMETA
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrBool32(3)
Name
XrBool32 - Boolean value
C Specification
typedef uint32_t XrBool32;
Description
Boolean values used by OpenXR are of type XrBool32 and are 32-bits
wide as suggested by the name.
The only valid values are the following:
See Also
XR_FALSE, XR_TRUE, XrActionStateBoolean, XrActionStateFloat, XrActionStatePose, XrActionStateVector2f, XrBodyJointLocationsBD, XrBodyJointLocationsFB, XrCompositionLayerDepthTestFB, XrEnvironmentDepthHandRemovalSetInfoMETA, XrEventDataMainSessionVisibilityChangedEXTX, XrEventDataMarkerTrackingUpdateVARJO, XrEventDataReferenceSpaceChangePending, XrEventDataSpaceSetStatusCompleteFB, XrEventDataUserPresenceChangedEXT, XrEyeGazeFB, XrFaceExpressionStatusFB, XrFaceExpressionWeights2FB, XrFaceStateANDROID, XrFacialExpressionsHTC, XrFacialSimulationDataBD, XrFoveatedViewConfigurationViewVARJO, XrFrameState, XrFuturePollResultProgressBD, XrHandJointLocationsEXT, XrHandMeshMSFT, XrHandTrackingDataSourceStateEXT, XrHandTrackingScaleFB, XrHapticPcmVibrationFB, XrInteractionProfileDpadBindingEXT, XrLocalizationEnableEventsInfoML, XrMarkerDetectorCustomProfileInfoML, XrPerformanceMetricsStateMETA, XrRecommendedLayerResolutionMETA, XrRenderModelNodeStateEXT, XrSceneMeshMSFT, XrScenePlaneMSFT, XrSecondaryViewConfigurationStateMSFT, XrSpaceComponentStatusFB, XrSpaceComponentStatusSetInfoFB, XrSpatialMarkerStaticOptimizationEXT, XrSystemAnchorPropertiesHTC, XrSystemAnchorSharingExportPropertiesANDROID, XrSystemBodyTrackingPropertiesBD, XrSystemBodyTrackingPropertiesFB, XrSystemBodyTrackingPropertiesHTC, XrSystemColocationDiscoveryPropertiesMETA, XrSystemDeviceAnchorPersistencePropertiesANDROID, XrSystemEnvironmentDepthPropertiesMETA, XrSystemEyeGazeInteractionPropertiesEXT, XrSystemEyeTrackingPropertiesFB, XrSystemFaceTrackingProperties2FB, XrSystemFaceTrackingPropertiesANDROID, XrSystemFaceTrackingPropertiesFB, XrSystemFacialExpressionPropertiesML, XrSystemFacialSimulationPropertiesBD, XrSystemFacialTrackingPropertiesHTC, XrSystemForceFeedbackCurlPropertiesMNDX, XrSystemFoveatedRenderingPropertiesVARJO, XrSystemFoveationEyeTrackedPropertiesMETA, XrSystemHandTrackingMeshPropertiesMSFT, XrSystemHandTrackingPropertiesEXT, XrSystemKeyboardTrackingPropertiesFB, XrSystemMarkerTrackingPropertiesANDROID, XrSystemMarkerTrackingPropertiesVARJO, XrSystemMarkerUnderstandingPropertiesML, XrSystemNotificationsSetInfoML, XrSystemPassthroughCameraStatePropertiesANDROID, XrSystemPassthroughPropertiesFB, XrSystemPropertiesBodyTrackingCalibrationMETA, XrSystemPropertiesBodyTrackingFullBodyMETA, XrSystemRenderModelPropertiesFB, XrSystemSimultaneousHandsAndControllersPropertiesMETA, XrSystemSpaceDiscoveryPropertiesMETA, XrSystemSpacePersistencePropertiesMETA, XrSystemSpatialAnchorPropertiesBD, XrSystemSpatialAnchorSharingPropertiesBD, XrSystemSpatialEntityGroupSharingPropertiesMETA, XrSystemSpatialEntityPropertiesFB, XrSystemSpatialEntitySharingPropertiesMETA, XrSystemSpatialMeshPropertiesBD, XrSystemSpatialPlanePropertiesBD, XrSystemSpatialScenePropertiesBD, XrSystemSpatialSensingPropertiesBD, XrSystemTrackablesPropertiesANDROID, XrSystemTrackingProperties, XrSystemUserPresencePropertiesEXT, XrSystemVirtualKeyboardPropertiesMETA, XrUserCalibrationEnableEventsInfoML, XrViewConfigurationProperties, XrViewLocateFoveatedRenderingVARJO, XrVirtualKeyboardModelVisibilitySetInfoMETA, xrGetFaceCalibrationStateANDROID, xrSetEnvironmentDepthEstimationVARJO, xrSetInputDeviceActiveEXT, xrSetInputDeviceStateBoolEXT, xrSetMarkerTrackingPredictionVARJO, xrSetMarkerTrackingVARJO
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrControllerModelKeyMSFT(3)
Name
XrControllerModelKeyMSFT - Controller renderable model key
C Specification
// Provided by XR_MSFT_controller_model
XR_DEFINE_ATOM(XrControllerModelKeyMSFT)
Description
The controller model key used to retrieve the data for the renderable controller model and associated properties and state.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDuration(3)
Name
XrDuration - Bounded range of time
C Specification
typedef int64_t XrDuration;
Description
The difference between two timepoints is a duration, and thus the difference
between two XrTime values is an XrDuration value.
XrDuration is a base value type that represents duration as a
signed 64-bit integer, representing the signed number of nanoseconds between
two timepoints.
Functions that refer to durations use XrDuration as opposed to
XrTime.
When an XrDuration is used as a timeout parameter, the constants
XR_NO_DURATION and XR_INFINITE_DURATION have special meaning.
A timeout with a duration that refers to the past (that is, a negative
duration) must be interpreted as a timeout of XR_NO_DURATION.
The interpretation of zero and negative durations in non-timeout uses is specified along with each such use.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFlags64(3)
Name
XrFlags64 - OpenXR bitmasks
C Specification
A collection of flags is represented by a bitmask using the type
XrFlags64:
typedef uint64_t XrFlags64;
Description
Bitmasks are passed to many functions and structures to compactly represent
options and are stored in memory defined by the XrFlags64 type.
But the API does not use the XrFlags64 type directly.
Instead, a Xr*Flags type is used which is an alias of the
XrFlags64 type.
The API also defines a set of constant bit definitions used to set the
bitmasks.
See Also
XrAndroidSurfaceSwapchainFlagsFB, XrCompositionLayerFlags, XrCompositionLayerImageLayoutFlagsFB, XrCompositionLayerSecureContentFlagsFB, XrCompositionLayerSettingsFlagsFB, XrCompositionLayerSpaceWarpInfoFlagsFB, XrDebugUtilsMessageSeverityFlagsEXT, XrDebugUtilsMessageTypeFlagsEXT, XrDigitalLensControlFlagsALMALENCE, XrEnvironmentDepthProviderCreateFlagsMETA, XrEnvironmentDepthSwapchainCreateFlagsMETA, XrExternalCameraStatusFlagsOCULUS, XrFacialExpressionBlendShapePropertiesFlagsML, XrFoveationDynamicFlagsHTC, XrFoveationEyeTrackedProfileCreateFlagsMETA, XrFoveationEyeTrackedStateFlagsMETA, XrFrameEndInfoFlagsML, XrFrameSynthesisInfoFlagsEXT, XrGlobalDimmerFrameEndInfoFlagsML, XrHandTrackingAimFlagsFB, XrInputSourceLocalizedNameFlags, XrInstanceCreateFlags, XrKeyboardTrackingFlagsFB, XrKeyboardTrackingQueryFlagsFB, XrLocalizationMapErrorFlagsML, XrOverlayMainSessionFlagsEXTX, XrOverlaySessionCreateFlagsEXTX, XrPassthroughCapabilityFlagsFB, XrPassthroughFlagsFB, XrPassthroughPreferenceFlagsMETA, XrPassthroughStateChangedFlagsFB, XrPerformanceMetricsCounterFlagsMETA, XrPlaneDetectionCapabilityFlagsEXT, XrPlaneDetectorFlagsEXT, XrRenderModelFlagsFB, XrSemanticLabelsSupportFlagsFB, XrSessionCreateFlags, XrSpaceLocationFlags, XrSpaceVelocityFlags, XrSpatialMeshConfigFlagsBD, XrSwapchainCreateFlags, XrSwapchainCreateFoveationFlagsFB, XrSwapchainStateFoveationFlagsFB, XrSwapchainUsageFlags, XrTriangleMeshFlagsFB, XrViewStateFlags, XrVirtualKeyboardInputStateFlagsMETA, XrVulkanDeviceCreateFlagsKHR, XrVulkanInstanceCreateFlagsKHR, XrWorldMeshDetectorFlagsML
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFutureEXT(3)
Name
XrFutureEXT - Type identifying an asynchronous operation
C Specification
The XrFutureEXT basetype is defined as:
// Provided by XR_EXT_future
XR_DEFINE_OPAQUE_64(XrFutureEXT)
Description
Asynchronous functions return an XrFutureEXT token as a placeholder
for a value that will be returned later.
An XrFutureEXT returned by a successful call to a function starting
an asynchronous operation should normally start in the
XR_FUTURE_STATE_PENDING_EXT state, but may skip directly to
XR_FUTURE_STATE_READY_EXT if the result is immediately available.
The value XR_NULL_FUTURE_EXT, numerically equal to 0, is never a
valid XrFutureEXT value.
Note that an XrFutureEXT token is neither a
handle nor an atom type (such as
XrPath).
It belongs to a new category and is defined as an opaque 64-bit value.
See https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#ext_future-scope for details on the scope and lifecycle of a future.
Style note: Functions that return an XrFutureEXT should be
named with the suffix "Async", e.g. xrPerformLongTaskAsync.
This function must not set the XrFutureEXT to
XR_NULL_FUTURE_EXT when the function returns XR_SUCCESS.
See Also
XR_DEFINE_OPAQUE_64, XR_EXT_future, XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XrFutureCancelInfoEXT, XrFuturePollInfoEXT, xrCaptureSceneAsyncBD, xrCaptureSceneCompleteBD, xrCreateSpatialAnchorAsyncBD, xrCreateSpatialAnchorCompleteBD, xrCreateSpatialAnchorsAsyncML, xrCreateSpatialAnchorsCompleteML, xrCreateSpatialContextAsyncEXT, xrCreateSpatialContextCompleteEXT, xrCreateSpatialDiscoverySnapshotAsyncEXT, xrCreateSpatialPersistenceContextAsyncEXT, xrCreateSpatialPersistenceContextCompleteEXT, xrDeleteSpatialAnchorsAsyncML, xrDeleteSpatialAnchorsCompleteML, xrDownloadSharedSpatialAnchorAsyncBD, xrDownloadSharedSpatialAnchorCompleteBD, xrPersistSpatialAnchorAsyncBD, xrPersistSpatialAnchorCompleteBD, xrPersistSpatialEntityAsyncEXT, xrPersistSpatialEntityCompleteEXT, xrPublishSpatialAnchorsAsyncML, xrPublishSpatialAnchorsCompleteML, xrQuerySenseDataAsyncBD, xrQuerySenseDataCompleteBD, xrQuerySpatialAnchorsAsyncML, xrQuerySpatialAnchorsCompleteML, xrRequestWorldMeshAsyncML, xrRequestWorldMeshCompleteML, xrRequestWorldMeshStateAsyncML, xrRequestWorldMeshStateCompleteML, xrShareSpatialAnchorAsyncBD, xrShareSpatialAnchorCompleteBD, xrStartSenseDataProviderAsyncBD, xrStartSenseDataProviderCompleteBD, xrUnpersistSpatialAnchorAsyncBD, xrUnpersistSpatialAnchorCompleteBD, xrUnpersistSpatialEntityAsyncEXT, xrUnpersistSpatialEntityCompleteEXT, xrUpdateSpatialAnchorsExpirationAsyncML, xrUpdateSpatialAnchorsExpirationCompleteML
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrMarkerML(3)
Name
XrMarkerML - Marker atom
C Specification
// Provided by XR_ML_marker_understanding
XR_DEFINE_ATOM(XrMarkerML)
Description
The unique marker key used to retrieve the data about detected markers.
For an XrMarkerDetectorML a runtime must use the same value of
XrMarkerML each time a marker is detected in a snapshot, but an
application cannot use a cached atom if it was not present in the most
recent snapshot.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPath(3)
Name
XrPath - A semantic path
C Specification
XR_DEFINE_ATOM(XrPath)
Description
The XrPath is an atom that connects an application with a single
path, within the context of a single instance.
There is a bijective mapping between well-formed path strings and atoms in
use.
This atom is used — in place of the path name string it corresponds to — to retrieve state and perform other operations.
As an XrPath is only shorthand for a well-formed path string, they
have no explicit life cycle.
Lifetime is implicitly managed by the XrInstance.
An XrPath must not be used unless it is received at execution time
from the runtime in the context of a particular XrInstance.
Therefore, with the exception of XR_NULL_PATH, XrPath values
must not be specified as constant values in applications: the corresponding
path string should be used instead.
During the lifetime of a given XrInstance, the XrPath
associated with that instance with any given well-formed path must not
vary, and similarly the well-formed path string that corresponds to a given
XrPath in that instance must not vary.
An XrPath that is received from one XrInstance may not be
used with another.
Such an invalid use may be detected and result in an error being returned,
or it may result in undefined behavior.
See Also
XR_DEFINE_ATOM, XR_NULL_PATH, XrActionCreateInfo, XrActionSpaceCreateInfo, XrActionStateGetInfo, XrActionSuggestedBinding, XrActiveActionSet, XrHapticActionInfo, XrInputSourceLocalizedNameGetInfo, XrInteractionProfileAnalogThresholdVALVE, XrInteractionProfileDpadBindingEXT, XrInteractionProfileState, XrInteractionProfileSuggestedBinding, XrInteractionRenderModelTopLevelUserPathGetInfoEXT, XrRenderModelPathInfoFB, XrViveTrackerPathsHTCX, xrEnumerateBoundSourcesForAction, xrEnumeratePerformanceMetricsCounterPathsMETA, xrEnumerateRenderModelSubactionPathsEXT, xrGetControllerModelKeyMSFT, xrGetCurrentInteractionProfile, xrGetRenderModelPoseTopLevelUserPathEXT, xrGetRenderModelPropertiesFB, xrPathToString, xrQueryPerformanceMetricsCounterMETA, xrSetInputDeviceActiveEXT, xrSetInputDeviceLocationEXT, xrSetInputDeviceStateBoolEXT, xrSetInputDeviceStateFloatEXT, xrSetInputDeviceStateVector2fEXT, xrStringToPath
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelIdEXT(3)
Name
XrRenderModelIdEXT - An atom representing a logical render model
C Specification
// Provided by XR_EXT_render_model
XR_DEFINE_ATOM(XrRenderModelIdEXT)
Description
The render model ID is used to create an XrRenderModelEXT handle. Like other atom types in OpenXR, the ID should not correspond to consuming noticeable resources in the runtime, it has no explicit lifetime of its own, and it has no persistence nor identity beyond the lifetime of the XrSession handle it is retrieved from. Once the XrRenderModelEXT handle is created from the ID, the runtime may start to consume resources to load and track the state of the render model.
The application can use a valid XrRenderModelIdEXT to create an
XrRenderModelEXT handle.
The value XR_NULL_RENDER_MODEL_ID_EXT, equal to 0, is defined to be
an invalid XrRenderModelIdEXT value.
The application can use a valid XrRenderModelIdEXT to create an
XrRenderModelEXT handle.
This XR_EXT_render_model extension does not specify how to obtain a
valid XrRenderModelIdEXT.
The application can obtain a valid ID through other extensions that depend
on this one.
Be aware that there is a potential pitfall when creating a dependent
extension, if the set of render models it enumerates has any in common with
the set of render models enumerated by another (existing) dependent
extension.
To avoid unexpected application behavior when the same
XrRenderModelIdEXT is enumerated from two separate functions, it is
recommended to do one of the following:
-
Extend the existing enumeration function through extending an input structure chain, rather than creating a new enumeration function.
-
Forbid simultaneous use of those two extensions in your new extension.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRenderModelKeyFB(3)
Name
XrRenderModelKeyFB - Model key
C Specification
// Provided by XR_FB_render_model
XR_DEFINE_ATOM(XrRenderModelKeyFB)
Description
The unique model key used to retrieve the data for the render model that is valid across multiple instances and installs. The application can use this key along with the model version to update its cached or saved version of the model.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceUserIdFB(3)
Name
XrSpaceUserIdFB - User ID with which spaces can be shared
Description
An implementation-defined ID of the underlying user.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialBufferIdEXT(3)
Name
XrSpatialBufferIdEXT - ID referring to a spatial buffer
C Specification
// Provided by XR_EXT_spatial_entity
XR_DEFINE_ATOM(XrSpatialBufferIdEXT)
Description
XrSpatialBufferIdEXT is used to represent any kind of variable
sized data for a spatial component.
The runtime must keep the XrSpatialBufferIdEXT and its data in
memory for at least the lifecycle of the XrSpatialSnapshotEXT that
contains it.
The runtime may keep the XrSpatialBufferIdEXT and its data in
memory for longer than the lifecycle of the XrSpatialSnapshotEXT in
order to return the same ID as part of snapshots created later on by the
application.
For the same XrSpatialBufferIdEXT, the runtime must always return
the same data via the appropriate xrGetSpatialBuffer* function.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityIdBD(3)
Name
XrSpatialEntityIdBD - Type referring to a spatial entity
C Specification
The XrSpatialEntityIdBD atom is defined as:
// Provided by XR_BD_spatial_sensing
XR_DEFINE_ATOM(XrSpatialEntityIdBD)
Description
The XrSpatialEntityIdBD is used to represent the spatial entities
that are sensed by the runtime in the user’s physical environment.
The application can obtain spatial entity information from the
XrSenseDataSnapshotBD.
This atom is retrieved from XrSenseDataSnapshotBD and shares its
lifetime.
The application must not use an XrSpatialEntityIdBD with a
snapshot it was not retrieved from.
The same numerical value of ID may be reused between different snapshots
for different entities.
See xrGetSpatialEntityUuidBD for a more stable ID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpatialEntityIdEXT(3)
Name
XrSpatialEntityIdEXT - ID referring to a spatial entity
C Specification
// Provided by XR_EXT_spatial_entity
XR_DEFINE_ATOM(XrSpatialEntityIdEXT)
Description
XrSpatialEntityIdEXT is used to represent any kind of entity
discovered by the runtime in the spatial environment of the user.
An XrSpatialEntityIdEXT is valid for the XrSpatialContextEXT
in which it is discovered, and the runtime must not reuse the same
XrSpatialEntityIdEXT for different entities within the same
XrSpatialContextEXT.
Also, the runtime must not reuse the same XrSpatialEntityIdEXT
across multiple XrSpatialContextEXT within the same XrSession
regardless of whether it represents the same entity or different ones.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemId(3)
Name
XrSystemId - Identifier for a system
C Specification
XR_DEFINE_ATOM(XrSystemId)
Description
An XrSystemId is an opaque atom used by the runtime to identify a
system.
The value XR_NULL_SYSTEM_ID is considered an invalid system.
See Also
XR_DEFINE_ATOM, XR_NULL_SYSTEM_ID, XrSessionCreateInfo, XrSystemProperties, XrVulkanDeviceCreateInfoKHR, XrVulkanGraphicsDeviceGetInfoKHR, XrVulkanInstanceCreateInfoKHR, xrEnumerateEnvironmentBlendModes, xrEnumerateRaycastSupportedTrackableTypesANDROID, xrEnumerateReprojectionModesMSFT, xrEnumerateSceneComputeFeaturesMSFT, xrEnumerateSpatialCapabilitiesEXT, xrEnumerateSpatialCapabilityComponentTypesEXT, xrEnumerateSpatialCapabilityFeaturesEXT, xrEnumerateSpatialPersistenceScopesEXT, xrEnumerateSupportedAnchorTrackableTypesANDROID, xrEnumerateSupportedPersistenceAnchorTypesANDROID, xrEnumerateSupportedTrackableTypesANDROID, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrGetD3D11GraphicsRequirementsKHR, xrGetD3D12GraphicsRequirementsKHR, xrGetMetalGraphicsRequirementsKHR, xrGetOpenGLESGraphicsRequirementsKHR, xrGetOpenGLGraphicsRequirementsKHR, xrGetSystem, xrGetSystemProperties, xrGetViewConfigurationProperties, xrGetVulkanDeviceExtensionsKHR, xrGetVulkanGraphicsDeviceKHR, xrGetVulkanGraphicsRequirements2KHR, xrGetVulkanGraphicsRequirementsKHR, xrGetVulkanInstanceExtensionsKHR
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTime(3)
Name
XrTime - Basic type for time
C Specification
typedef int64_t XrTime;
Description
XrTime is a base value type that represents time as a signed 64-bit
integer, representing the monotonically-increasing count of nanoseconds that
have elapsed since a runtime-chosen epoch.
XrTime always represents the time elapsed since that constant
epoch, rather than a duration or a time point relative to some moving epoch
such as vsync time, etc.
Durations are instead represented by XrDuration.
A single runtime must use the same epoch for all simultaneous applications. Time must be represented the same regardless of multiple processors or threads present in the system.
The period precision of time reported by the runtime is runtime-dependent, and may change. One nanosecond is the finest possible period precision. A runtime may, for example, report time progression with only microsecond-level granularity.
Time must not be assumed to correspond to a system clock time.
Unless specified otherwise, zero or a negative value is not a valid
XrTime, and related functions must return error
XR_ERROR_TIME_INVALID.
Applications must not initialize such XrTime fields to a zero
value.
Instead, applications should always assign XrTime fields to the
meaningful point in time they are choosing to reason about, such as a
frame’s predicted display time, or an action’s last change time.
The behavior of a runtime is undefined when time overflows beyond the
maximum positive value that can be represented by an XrTime.
Runtimes should choose an epoch that minimizes the chance of overflow.
Runtimes should also choose an epoch that minimizes the chance of underflow
below 0 for applications performing a reasonable amount of historical pose
lookback.
For example, if the runtime chooses an epoch relative to its startup time,
it should push the epoch into the past by enough time to avoid applications
performing reasonable pose lookback from reaching a negative XrTime
value.
An application cannot assume that the system’s clock and the runtime’s clock
will maintain a constant relationship across frames and should avoid
storing such an offset, as this may cause time drift.
Applications should instead always use time interop functions to convert a
relevant time point across the system’s clock and the runtime’s clock using
extensions, for example,
XR_KHR_win32_convert_performance_counter_time or
XR_KHR_convert_timespec_time.
See Also
XrActionStateBoolean, XrActionStateFloat, XrActionStateVector2f, XrAnchorSpaceCreateInfoANDROID, XrBodyJointLocationsFB, XrBodyJointsLocateInfoBD, XrBodyJointsLocateInfoFB, XrBodyJointsLocateInfoHTC, XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XrDuration, XrEnvironmentDepthImageAcquireInfoMETA, XrEventDataHeadsetFitChangedML, XrEventDataInstanceLossPending, XrEventDataMarkerTrackingUpdateVARJO, XrEventDataReferenceSpaceChangePending, XrEventDataSessionStateChanged, XrExternalCameraExtrinsicsOCULUS, XrExternalCameraIntrinsicsOCULUS, XrEyeGazeSampleTimeEXT, XrEyeGazesFB, XrEyeGazesInfoFB, XrFaceExpressionInfo2FB, XrFaceExpressionInfoFB, XrFaceExpressionWeights2FB, XrFaceExpressionWeightsFB, XrFaceStateANDROID, XrFaceStateGetInfoANDROID, XrFacialExpressionBlendShapePropertiesML, XrFacialExpressionsHTC, XrFacialSimulationDataBD, XrFacialSimulationDataGetInfoBD, XrFrameEndInfo, XrFrameState, XrGeometryInstanceTransformFB, XrHandJointsLocateInfoEXT, XrHandMeshUpdateInfoMSFT, XrHandMeshVertexBufferMSFT, XrPassthroughMeshTransformInfoHTC, XrPlaneDetectorBeginInfoEXT, XrPlaneDetectorGetInfoEXT, XrRaycastInfoANDROID, XrRecommendedLayerResolutionGetInfoMETA, XrRenderModelStateGetInfoEXT, XrSceneBoundsMSFT, XrSceneComponentMSFT, XrSceneComponentsLocateInfoMSFT, XrSceneMarkerMSFT, XrSpacesLocateInfo, XrSpatialAnchorCreateInfoBD, XrSpatialAnchorCreateInfoEXT, XrSpatialAnchorCreateInfoFB, XrSpatialAnchorCreateInfoMSFT, XrSpatialAnchorsCreateInfoFromPoseML, XrSpatialAnchorsQueryInfoRadiusML, XrSpatialEntityStateBD, XrSpatialGraphStaticNodeBindingCreateInfoMSFT, XrSpatialUpdateSnapshotCreateInfoEXT, XrTrackableGetInfoANDROID, XrTrackableMarkerANDROID, XrTrackableObjectANDROID, XrTrackablePlaneANDROID, XrViewLocateInfo, XrWorldMeshBlockStateML, XrWorldMeshRequestCompletionInfoML, XrWorldMeshStateRequestCompletionML, XrWorldMeshStateRequestInfoML, xrConvertTimeToTimespecTimeKHR, xrConvertTimeToWin32PerformanceCounterKHR, xrConvertTimespecTimeToTimeKHR, xrConvertWin32PerformanceCounterToTimeKHR, xrLocateSpace
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTrackableANDROID(3)
Name
XrTrackableANDROID - A trackable
C Specification
The XrTrackableANDROID atom is defined as:
// Provided by XR_ANDROID_trackables
XR_DEFINE_ATOM(XrTrackableANDROID)
Description
XrTrackableANDROID is used to represent a single trackable and is
valid only within the lifecycle of its associated
XrTrackableTrackerANDROID.
The runtime must not reuse the same XrTrackableANDROID for
different trackables within the same XrTrackableTrackerANDROID.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVersion(3)
Name
XrVersion - Type indicating multi-part version packed into 64-bit integer
C Specification
Multi-part version numbers are used in several places in the OpenXR API.
// Provided by XR_VERSION_1_0
typedef uint64_t XrVersion;
Description
In each such use, the API major version number, minor version number, and
patch version number are packed into a 64-bit integer, referred to as
XrVersion, as follows:
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
C Macro Definitions
XR_API_LAYER_CREATE_INFO_STRUCT_VERSION(3)
Name
XR_API_LAYER_CREATE_INFO_STRUCT_VERSION - Version of the OpenXR Loader API Layer Create Info Struct
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_API_LAYER_CREATE_INFO_STRUCT_VERSION 1
Description
XR_API_LAYER_CREATE_INFO_STRUCT_VERSION is the current version of the
XrApiLayerCreateInfo structure.
It is used to populate the XrApiLayerCreateInfo::structVersion
field.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_API_LAYER_INFO_STRUCT_VERSION(3)
Name
XR_API_LAYER_INFO_STRUCT_VERSION - Version of the OpenXR Loader API Layer structure
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_API_LAYER_INFO_STRUCT_VERSION 1
Description
XR_API_LAYER_INFO_STRUCT_VERSION is the current version of the
XrNegotiateApiLayerRequest structure.
It is used to populate the
XrNegotiateApiLayerRequest::structVersion field.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_API_LAYER_MAX_SETTINGS_PATH_SIZE(3)
Name
XR_API_LAYER_MAX_SETTINGS_PATH_SIZE - Size of settings_file_location
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_API_LAYER_MAX_SETTINGS_PATH_SIZE 512
Description
XR_API_LAYER_MAX_SETTINGS_PATH_SIZE is the size of the
XrApiLayerCreateInfo::settings_file_location field.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_API_LAYER_NEXT_INFO_STRUCT_VERSION(3)
Name
XR_API_LAYER_NEXT_INFO_STRUCT_VERSION - Version of the OpenXR Loader API Layer Next Info structure
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_API_LAYER_NEXT_INFO_STRUCT_VERSION 1
Description
XR_API_LAYER_NEXT_INFO_STRUCT_VERSION is the current version of the
XrApiLayerNextInfo structure.
It is used to populate the XrApiLayerNextInfo::structVersion
field.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_API_VERSION_1_0(3)
Name
XR_API_VERSION_1_0 - Version of the OpenXR 1.0 API
C Specification
// Provided by XR_VERSION_1_0
// OpenXR 1.0 version number
#define XR_API_VERSION_1_0 XR_MAKE_VERSION(1, 0, XR_VERSION_PATCH(XR_CURRENT_API_VERSION))
Description
XR_API_VERSION_1_0 is the version of the OpenXR 1.0 API. The "major" and "minor" components are always 1.0, while the "patch" component matches XR_CURRENT_API_VERSION.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_API_VERSION_1_1(3)
Name
XR_API_VERSION_1_1 - Version of the OpenXR 1.1 API
C Specification
// Provided by XR_VERSION_1_1
// OpenXR 1.1 version number
#define XR_API_VERSION_1_1 XR_MAKE_VERSION(1, 1, XR_VERSION_PATCH(XR_CURRENT_API_VERSION))
Description
XR_API_VERSION_1_1 is the version of the OpenXR 1.1 API. The "major" and "minor" components are always 1.1, while the "patch" component matches XR_CURRENT_API_VERSION.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BODY_JOINT_COUNT_BD(3)
Name
XR_BODY_JOINT_COUNT_BD - The number of body joints defined in XrBodyJointBD for XR_BODY_JOINT_SET_FULL_BODY_JOINTS_BD
C Specification
// Provided by XR_BD_body_tracking
#define XR_BODY_JOINT_COUNT_BD 24
Description
XR_BODY_JOINT_COUNT_BD defines the number of body joint enumerants
defined in the full enumeration XrBodyJointBD.
This corresponds to the joint set
XR_BODY_JOINT_SET_FULL_BODY_JOINTS_BD (in XrBodyJointSetBD).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BODY_JOINT_COUNT_HTC(3)
Name
XR_BODY_JOINT_COUNT_HTC - The number of body joint enums defined in XrBodyJointHTC
C Specification
// Provided by XR_HTC_body_tracking
#define XR_BODY_JOINT_COUNT_HTC 26
Description
XR_BODY_JOINT_COUNT_HTC defines the number of body joint enumerants defined in XrBodyJointHTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD(3)
Name
XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD - The number of body joint in XrBodyJointBD used for XR_BODY_JOINT_SET_BODY_WITHOUT_ARM_BD
C Specification
// Provided by XR_BD_body_tracking
#define XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD 16
Description
XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD defines the number of body joints
in the joint set XR_BODY_JOINT_SET_BODY_WITHOUT_ARM_BD (in
XrBodyJointSetBD), which excludes the arms.
This count includes joints indexed by XrBodyJointBD in the range
XR_BODY_JOINT_PELVIS_BD through XR_BODY_JOINT_HEAD_BD inclusive.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_CURRENT_API_VERSION(3)
Name
XR_CURRENT_API_VERSION - Version of the OpenXR API
C Specification
// Provided by XR_VERSION_1_0
// OpenXR current version number.
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(1, 1, 53)
Description
XR_CURRENT_API_VERSION is the current version of the OpenXR API.
In many cases, XR_API_VERSION_1_0 or XR_API_VERSION_1_1 are preferred for source forward-compatibility.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_CURRENT_LOADER_API_LAYER_VERSION(3)
Name
XR_CURRENT_LOADER_API_LAYER_VERSION - Version of the OpenXR Loader API Layer Interface
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_CURRENT_LOADER_API_LAYER_VERSION 1
Description
XR_CURRENT_LOADER_API_LAYER_VERSION is the current version of the overall OpenXR Loader API Layer interface. It is used to populate maximum and minimum interface version fields in XrNegotiateLoaderInfo when loading an API layer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_CURRENT_LOADER_RUNTIME_VERSION(3)
Name
XR_CURRENT_LOADER_RUNTIME_VERSION - Version of the OpenXR Loader Runtime Interface
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_CURRENT_LOADER_RUNTIME_VERSION 1
Description
XR_CURRENT_LOADER_RUNTIME_VERSION is the current version of the overall OpenXR Loader Runtime interface. It is used to populate maximum and minimum interface version fields in XrNegotiateLoaderInfo when loading a runtime.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_DEFINE_ATOM(3)
Name
XR_DEFINE_ATOM - Macro to define a atom type
C Specification
#if !defined(XR_DEFINE_ATOM)
#define XR_DEFINE_ATOM(object) typedef uint64_t object;
#endif
Description
XR_DEFINE_ATOM defines an atom type, which is an opaque 64 bit integer.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_DEFINE_HANDLE(3)
Name
XR_DEFINE_HANDLE - Macro to define a handle type
C Specification
// Provided by XR_VERSION_1_0
#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
Description
XR_DEFINE_HANDLE defines a handle type, which is an opaque 64 bit value, which may be implemented as an opaque, distinct pointer type on platforms with 64 bit pointers.
For further details, see https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-handles.
See Also
XR_NULL_HANDLE, XR_VERSION_1_0, XrAction, XrActionSet, XrAnchorBD, XrBodyTrackerBD, XrBodyTrackerFB, XrBodyTrackerHTC, XrDebugUtilsMessengerEXT, XrDeviceAnchorPersistenceANDROID, XrEnvironmentDepthProviderMETA, XrEnvironmentDepthSwapchainMETA, XrExportedLocalizationMapML, XrEyeTrackerFB, XrFaceTracker2FB, XrFaceTrackerANDROID, XrFaceTrackerBD, XrFaceTrackerFB, XrFacialExpressionClientML, XrFacialTrackerHTC, XrFoveationProfileFB, XrGeometryInstanceFB, XrHandTrackerEXT, XrInstance, XrMarkerDetectorML, XrPassthroughColorLutMETA, XrPassthroughFB, XrPassthroughHTC, XrPassthroughLayerFB, XrPlaneDetectorEXT, XrRenderModelAssetEXT, XrRenderModelEXT, XrSceneMSFT, XrSceneObserverMSFT, XrSenseDataProviderBD, XrSenseDataSnapshotBD, XrSession, XrSpace, XrSpaceUserFB, XrSpatialAnchorMSFT, XrSpatialAnchorStoreConnectionMSFT, XrSpatialAnchorsStorageML, XrSpatialContextEXT, XrSpatialEntityEXT, XrSpatialGraphNodeBindingMSFT, XrSpatialPersistenceContextEXT, XrSpatialSnapshotEXT, XrSwapchain, XrTrackableTrackerANDROID, XrTriangleMeshFB, XrVirtualKeyboardMETA, XrWorldMeshDetectorML
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_DEFINE_OPAQUE_64(3)
Name
XR_DEFINE_OPAQUE_64 - Macro to define a type
C Specification
// Provided by XR_VERSION_1_0
#if !defined(XR_DEFINE_OPAQUE_64)
#if (XR_PTR_SIZE == 8)
#define XR_DEFINE_OPAQUE_64(object) typedef struct object##_T* object;
#else
#define XR_DEFINE_OPAQUE_64(object) typedef uint64_t object;
#endif
#endif
Description
XR_DEFINE_OPAQUE_64 defines an opaque 64 bit value, which may be implemented as an opaque, distinct pointer type on platforms with 64 bit pointers.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXTENSION_ENUM_BASE(3)
Name
XR_EXTENSION_ENUM_BASE - Macro to define the enum base for extensions
C Specification
// Provided by XR_VERSION_1_0
#define XR_EXTENSION_ENUM_BASE 1000000000
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXTENSION_ENUM_STRIDE(3)
Name
XR_EXTENSION_ENUM_STRIDE - Macro to define the maximum allowed count of enums for an extension
C Specification
// Provided by XR_VERSION_1_0
#define XR_EXTENSION_ENUM_STRIDE 1000
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FACE_EXPRESSION_COUNT_BD(3)
Name
XR_FACE_EXPRESSION_COUNT_BD - The number of blend shapes of facial expression
C Specification
// Provided by XR_BD_facial_simulation
#define XR_FACE_EXPRESSION_COUNT_BD 52
Description
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FACE_EXPRESSSION_SET_DEFAULT_FB(3)
Name
XR_FACE_EXPRESSSION_SET_DEFAULT_FB - Alias for XR_FACE_EXPRESSSION_SET_DEFAULT_FB
C Specification
// Provided by XR_FB_face_tracking
#define XR_FACE_EXPRESSSION_SET_DEFAULT_FB XR_FACE_EXPRESSION_SET_DEFAULT_FB
Description
The XR_FACE_EXPRESSSION_SET_DEFAULT_FB is an alias for
XR_FACE_EXPRESSION_SET_DEFAULT_FB for backward compatibility,
deprecated and should not be used.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FACIAL_EXPRESSION_EYE_COUNT_HTC(3)
Name
XR_FACIAL_EXPRESSION_EYE_COUNT_HTC - The number of blend shapes in an expression of type XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC
C Specification
// Provided by XR_HTC_facial_tracking
#define XR_FACIAL_EXPRESSION_EYE_COUNT_HTC 14
Description
The number of blend shapes in an expression of type
XR_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FACIAL_EXPRESSION_LIP_COUNT_HTC(3)
Name
XR_FACIAL_EXPRESSION_LIP_COUNT_HTC - The number of blend shapes in an expression of type XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC
C Specification
// Provided by XR_HTC_facial_tracking
#define XR_FACIAL_EXPRESSION_LIP_COUNT_HTC 37
Description
The number of blend shapes in an expression of type
XR_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FAILED(3)
Name
XR_FAILED - Failure convenience macro
C Specification
// Provided by XR_VERSION_1_0
#define XR_FAILED(result) ((result) < 0)
Description
A convenience macro that can be used to test if a function has failed in some way. It evaluates to true for all failure codes.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FREQUENCY_UNSPECIFIED(3)
Name
XR_FREQUENCY_UNSPECIFIED - Runtime should determine optimal frequency for haptic pulse
C Specification
XR_FREQUENCY_UNSPECIFIED is used to indicate that the application wants the runtime to decide what the optimal frequency is for the haptic pulse.
// Provided by XR_VERSION_1_0
#define XR_FREQUENCY_UNSPECIFIED 0
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP(3)
Name
XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP - The number of hand joint enums defined in XrHandForearmJointULTRALEAP
C Specification
// Provided by XR_ULTRALEAP_hand_tracking_forearm
#define XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP 27
Description
XR_HAND_FOREARM_JOINT_COUNT_ULTRALEAP defines the number of hand joint enumerants defined in XrHandForearmJointULTRALEAP.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HAND_JOINT_COUNT_EXT(3)
Name
XR_HAND_JOINT_COUNT_EXT - The number of hand joint enums defined in XrHandJointEXT
C Specification
// Provided by XR_EXT_hand_tracking
#define XR_HAND_JOINT_COUNT_EXT 26
Description
XR_HAND_JOINT_COUNT_EXT defines the number of hand joint enumerants defined in XrHandJointEXT
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_INFINITE_DURATION(3)
Name
XR_INFINITE_DURATION - Constant for infinite duration/never times out
C Specification
// Provided by XR_VERSION_1_0
#define XR_INFINITE_DURATION 0x7fffffffffffffffLL
Description
XR_INFINITE_DURATION is a special value that can be used to indicate that the timeout never occurs.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_LIP_EXPRESSION_COUNT_BD(3)
Name
XR_LIP_EXPRESSION_COUNT_BD - The number of blend shapes of lip expresssion
C Specification
// Provided by XR_BD_facial_simulation
#define XR_LIP_EXPRESSION_COUNT_BD 20
Description
XR_LIP_EXPRESSION_COUNT_BD is the number of blend shapes of XrLipExpressionBD.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_LOADER_INFO_STRUCT_VERSION(3)
Name
XR_LOADER_INFO_STRUCT_VERSION - Version of the OpenXR Loader Info
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_LOADER_INFO_STRUCT_VERSION 1
Description
XR_LOADER_INFO_STRUCT_VERSION is the current version of the
XrNegotiateLoaderInfo structure.
It is used to populate the XrNegotiateLoaderInfo::structVersion
field.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAKE_VERSION(3)
Name
XR_MAKE_VERSION - Packs a three-component version number into a packed version number integer
C Specification
#define XR_MAKE_VERSION(major, minor, patch) \
((((major) & 0xffffULL) << 48) | (((minor) & 0xffffULL) << 32) | ((patch) & 0xffffffffULL))
Description
XR_MAKE_VERSION constructs a packed 64-bit integer API version number from three components. The format used is described in https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#fundamentals-api-version-numbers-and-semantics.
This macro can be used when constructing the
XrApplicationInfo::apiVersion parameter passed to
xrCreateInstance.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAX_EVENT_DATA_SIZE(3)
Name
XR_MAX_EVENT_DATA_SIZE - Maximum event data buffer size
C Specification
// Provided by XR_VERSION_1_0
#define XR_MAX_EVENT_DATA_SIZE sizeof(XrEventDataBuffer)
Description
XR_MAX_EVENT_DATA_SIZE is the size of XrEventDataBuffer,
including the size of the XrEventDataBuffer::type and
XrEventDataBuffer::next members.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAX_HAPTIC_AMPLITUDE_ENVELOPE_SAMPLES_FB(3)
Name
XR_MAX_HAPTIC_AMPLITUDE_ENVELOPE_SAMPLES_FB - Maximum number of samples for Amplitude Envelope haptics
C Specification
// Provided by XR_FB_haptic_amplitude_envelope
#define XR_MAX_HAPTIC_AMPLITUDE_ENVELOPE_SAMPLES_FB 4000u
Description
XR_MAX_HAPTIC_AMPLITUDE_ENVELOPE_SAMPLES_FB defines the maximum number of sample the runtime should store in memory.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB(3)
Name
XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB - Maximum number of samples for PCM haptics
C Specification
// Provided by XR_FB_haptic_pcm
#define XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB 4000
Description
XR_MAX_HAPTIC_PCM_BUFFER_SIZE_FB defines the maximum number of samples the runtime can store.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAY_ALIAS(3)
Name
XR_MAY_ALIAS - Convenience macro to annotate types and pointers affirmatively known to alias
C Specification
// Provided by XR_VERSION_1_0
#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
Description
As a convenience, some types and pointers that are known at specification time to alias values of different types have been annotated with the XR_MAY_ALIAS definition. If this macro is not defined before including OpenXR headers, and a new enough Clang or GCC compiler is used, it is defined to a compiler-specific attribute annotation to inform these compilers that those pointers may alias. However, there is no guarantee that all aliasing types or pointers have been correctly marked with this macro, so thorough testing is still recommended if you choose (at your own risk) to permit your compiler to perform type-based aliasing analysis.
See Type Aliasing for full discussion of pointer aliasing in OpenXR.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MIN_COMPOSITION_LAYERS_SUPPORTED(3)
Name
XR_MIN_COMPOSITION_LAYERS_SUPPORTED - Defines the minimum composition layers that a conformant runtime must support
C Specification
// Provided by XR_VERSION_1_0
#define XR_MIN_COMPOSITION_LAYERS_SUPPORTED 16
Description
XR_MIN_COMPOSITION_LAYERS_SUPPORTED defines the minimum number of
composition layers that a conformant runtime must support.
A runtime must return the
XrSystemGraphicsProperties::maxLayerCount at least the value of
XR_MIN_COMPOSITION_LAYERS_SUPPORTED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MIN_HAPTIC_DURATION(3)
Name
XR_MIN_HAPTIC_DURATION - Indicates the shortest valid duration for the device
C Specification
XR_MIN_HAPTIC_DURATION is used to indicate to the runtime that a short haptic pulse of the minimal supported duration for the haptic device.
// Provided by XR_VERSION_1_0
#define XR_MIN_HAPTIC_DURATION -1
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NO_DURATION(3)
Name
XR_NO_DURATION - Constant for no duration/immediate timeout
C Specification
// Provided by XR_VERSION_1_0
#define XR_NO_DURATION 0
Description
For the case of timeout durations, XR_NO_DURATION can be used to indicate that the timeout is immediate.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_CONTROLLER_MODEL_KEY_MSFT(3)
Name
XR_NULL_CONTROLLER_MODEL_KEY_MSFT - The value representing an invalid model key
C Specification
// Provided by XR_MSFT_controller_model
#define XR_NULL_CONTROLLER_MODEL_KEY_MSFT 0
Description
XR_NULL_CONTROLLER_MODEL_KEY_MSFT defines an invalid model key value.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_HANDLE(3)
Name
XR_NULL_HANDLE - Invalid handle value
C Specification
// Provided by XR_VERSION_1_0
#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
Description
XR_NULL_HANDLE is a reserved value representing a non-valid object handle. It may be passed to and returned from API functions only when specifically allowed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_PATH(3)
Name
XR_NULL_PATH - A NULL semantic path
C Specification
// Provided by XR_VERSION_1_0
#define XR_NULL_PATH 0
Description
The only XrPath value defined to be constant across all instances
is the invalid path XR_NULL_PATH.
No well-formed path string is associated with XR_NULL_PATH.
Unless explicitly permitted, it should not be passed to API calls or used
as a structure attribute when a valid XrPath is required.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_RENDER_MODEL_KEY_FB(3)
Name
XR_NULL_RENDER_MODEL_KEY_FB - The value representing an invalid model key
C Specification
// Provided by XR_FB_render_model
#define XR_NULL_RENDER_MODEL_KEY_FB 0
Description
XR_NULL_RENDER_MODEL_KEY_FB defines an invalid model key atom.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_SPATIAL_BUFFER_ID_EXT(3)
Name
XR_NULL_SPATIAL_BUFFER_ID_EXT - Invalid spatial buffer ID
C Specification
// Provided by XR_EXT_spatial_entity
#define XR_NULL_SPATIAL_BUFFER_ID_EXT 0
Description
XR_NULL_SPATIAL_BUFFER_ID_EXT is a reserved value representing an
invalid XrSpatialBufferIdEXT.
It may be passed to and returned from API functions only when specifically
allowed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_SPATIAL_ENTITY_ID_EXT(3)
Name
XR_NULL_SPATIAL_ENTITY_ID_EXT - Invalid spatial entity ID
C Specification
// Provided by XR_EXT_spatial_entity
#define XR_NULL_SPATIAL_ENTITY_ID_EXT 0
Description
XR_NULL_SPATIAL_ENTITY_ID_EXT is a reserved value representing an
invalid XrSpatialEntityIdEXT.
It may be passed to and returned from API functions only when specifically
allowed.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_SYSTEM_ID(3)
Name
XR_NULL_SYSTEM_ID - NULL system identifier
C Specification
// Provided by XR_VERSION_1_0
#define XR_NULL_SYSTEM_ID 0
Description
The only XrSystemId value defined to be constant across all
instances is the invalid system XR_NULL_SYSTEM_ID.
No supported system is associated with XR_NULL_SYSTEM_ID.
Unless explicitly permitted, it should not be passed to API calls or used
as a structure attribute when a valid XrSystemId is required.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_TRACKABLE_ANDROID(3)
Name
XR_NULL_TRACKABLE_ANDROID - The value representing an invalid trackable tracker
C Specification
// Provided by XR_ANDROID_trackables
#define XR_NULL_TRACKABLE_ANDROID 0
Description
XR_NULL_TRACKABLE_ANDROID defines an invalid trackable atom.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_RUNTIME_INFO_STRUCT_VERSION(3)
Name
XR_RUNTIME_INFO_STRUCT_VERSION - Version of the OpenXR Loader Runtime structure
C Specification
// Provided by XR_LOADER_VERSION_1_0
#define XR_RUNTIME_INFO_STRUCT_VERSION 1
Description
XR_RUNTIME_INFO_STRUCT_VERSION is the current version of the
XrNegotiateRuntimeRequest structure.
It is used to populate the
XrNegotiateRuntimeRequest::structVersion field.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_SUCCEEDED(3)
Name
XR_SUCCEEDED - Success convenience macro
C Specification
// Provided by XR_VERSION_1_0
#define XR_SUCCEEDED(result) ((result) >= 0)
Description
A convenience macro that can be used to test if a function succeeded.
Note that this evaluates to true for all success codes, including a
qualified success such as XR_FRAME_DISCARDED.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_UNQUALIFIED_SUCCESS(3)
Name
XR_UNQUALIFIED_SUCCESS - Unqualified success convenience macro
C Specification
// Provided by XR_VERSION_1_0
#define XR_UNQUALIFIED_SUCCESS(result) ((result) == 0)
Description
A convenience macro that can be used to test a function’s failure.
The XR_UNQUALIFIED_SUCCESS macro evaluates to true exclusively when
the provided XrResult is equal to XR_SUCCESS (0).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_MAJOR(3)
Name
XR_VERSION_MAJOR - Extracts the major version number from a packed version number
C Specification
// Provided by XR_VERSION_1_0
#define XR_VERSION_MAJOR(version) (uint16_t)(((uint64_t)(version) >> 48)& 0xffffULL)
Description
XR_VERSION_MAJOR extracts the API major version number from a packed version number.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_MINOR(3)
Name
XR_VERSION_MINOR - Extracts the minor version number from a packed version number
C Specification
// Provided by XR_VERSION_1_0
#define XR_VERSION_MINOR(version) (uint16_t)(((uint64_t)(version) >> 32) & 0xffffULL)
Description
XR_VERSION_MINOR extracts the API minor version number from a packed version number.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_PATCH(3)
Name
XR_VERSION_PATCH - Extracts the patch version number from a packed version number
C Specification
// Provided by XR_VERSION_1_0
#define XR_VERSION_PATCH(version) (uint32_t)((uint64_t)(version) & 0xffffffffULL)
Description
XR_VERSION_PATCH extracts the API patch version number from a packed version number.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Extensions
XR_KHR_D3D11_enable(3)
Name
XR_KHR_D3D11_enable - instance extension
Specification
See XR_KHR_D3D11_enable in the main specification for complete information.
Registered Extension Number
28
Revision
10
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_D3D12_enable(3)
Name
XR_KHR_D3D12_enable - instance extension
Specification
See XR_KHR_D3D12_enable in the main specification for complete information.
Registered Extension Number
29
Revision
10
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_create_instance(3)
Name
XR_KHR_android_create_instance - instance extension
Specification
See XR_KHR_android_create_instance in the main specification for complete information.
Registered Extension Number
9
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_surface_swapchain(3)
Name
XR_KHR_android_surface_swapchain - instance extension
Specification
See XR_KHR_android_surface_swapchain in the main specification for complete information.
Registered Extension Number
5
Revision
4
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_thread_settings(3)
Name
XR_KHR_android_thread_settings - instance extension
Specification
See XR_KHR_android_thread_settings in the main specification for complete information.
Registered Extension Number
4
Revision
6
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_binding_modification(3)
Name
XR_KHR_binding_modification - instance extension
Specification
See XR_KHR_binding_modification in the main specification for complete information.
Registered Extension Number
121
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_color_scale_bias(3)
Name
XR_KHR_composition_layer_color_scale_bias - instance extension
Specification
See XR_KHR_composition_layer_color_scale_bias in the main specification for complete information.
Registered Extension Number
35
Revision
5
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_cube(3)
Name
XR_KHR_composition_layer_cube - instance extension
Specification
See XR_KHR_composition_layer_cube in the main specification for complete information.
Registered Extension Number
7
Revision
8
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_cylinder(3)
Name
XR_KHR_composition_layer_cylinder - instance extension
Specification
See XR_KHR_composition_layer_cylinder in the main specification for complete information.
Registered Extension Number
18
Revision
4
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_depth(3)
Name
XR_KHR_composition_layer_depth - instance extension
Specification
See XR_KHR_composition_layer_depth in the main specification for complete information.
Registered Extension Number
11
Revision
6
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_equirect(3)
Name
XR_KHR_composition_layer_equirect - instance extension
Specification
See XR_KHR_composition_layer_equirect in the main specification for complete information.
Registered Extension Number
19
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_equirect2(3)
Name
XR_KHR_composition_layer_equirect2 - instance extension
Specification
See XR_KHR_composition_layer_equirect2 in the main specification for complete information.
Registered Extension Number
92
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_convert_timespec_time(3)
Name
XR_KHR_convert_timespec_time - instance extension
Specification
See XR_KHR_convert_timespec_time in the main specification for complete information.
Registered Extension Number
37
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_extended_struct_name_lengths(3)
Name
XR_KHR_extended_struct_name_lengths - instance extension
Specification
See XR_KHR_extended_struct_name_lengths in the main specification for complete information.
Registered Extension Number
149
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_generic_controller(3)
Name
XR_KHR_generic_controller - instance extension
Specification
See XR_KHR_generic_controller in the main specification for complete information.
Registered Extension Number
712
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_loader_init(3)
Name
XR_KHR_loader_init - instance extension
Specification
See XR_KHR_loader_init in the main specification for complete information.
Registered Extension Number
89
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_loader_init_android(3)
Name
XR_KHR_loader_init_android - instance extension
Specification
See XR_KHR_loader_init_android in the main specification for complete information.
Registered Extension Number
90
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_locate_spaces(3)
Name
XR_KHR_locate_spaces - instance extension
Specification
See XR_KHR_locate_spaces in the main specification for complete information.
Registered Extension Number
472
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Deprecation State
-
Promoted to OpenXR 1.1
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_maintenance1(3)
Name
XR_KHR_maintenance1 - instance extension
Specification
See XR_KHR_maintenance1 in the main specification for complete information.
Registered Extension Number
711
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_BD_controller_interaction -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_hp_mixed_reality_controller -
Interacts with
XR_EXT_samsung_odyssey_controller -
Interacts with
XR_FB_touch_controller_pro -
Interacts with
XR_HTCX_vive_tracker_interaction -
Interacts with
XR_HTC_hand_interaction -
Interacts with
XR_HTC_vive_cosmos_controller_interaction -
Interacts with
XR_HTC_vive_focus3_controller_interaction -
Interacts with
XR_HUAWEI_controller_interaction -
Interacts with
XR_LOGITECH_mx_ink_stylus_interaction -
Interacts with
XR_META_touch_controller_plus -
Interacts with
XR_ML_ml2_controller_interaction -
Interacts with
XR_MSFT_hand_interaction -
Interacts with
XR_OPPO_controller_interaction -
Interacts with
XR_VARJO_xr4_controller_interaction -
Interacts with
XR_YVR_controller_interaction
Deprecation State
-
Promoted to OpenXR 1.1
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_metal_enable(3)
Name
XR_KHR_metal_enable - instance extension
Specification
See XR_KHR_metal_enable in the main specification for complete information.
Registered Extension Number
30
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_opengl_enable(3)
Name
XR_KHR_opengl_enable - instance extension
Specification
See XR_KHR_opengl_enable in the main specification for complete information.
Registered Extension Number
24
Revision
11
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_opengl_es_enable(3)
Name
XR_KHR_opengl_es_enable - instance extension
Specification
See XR_KHR_opengl_es_enable in the main specification for complete information.
Registered Extension Number
25
Revision
9
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_swapchain_usage_input_attachment_bit(3)
Name
XR_KHR_swapchain_usage_input_attachment_bit - instance extension
Specification
See XR_KHR_swapchain_usage_input_attachment_bit in the main specification for complete information.
Registered Extension Number
166
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_visibility_mask(3)
Name
XR_KHR_visibility_mask - instance extension
Specification
See XR_KHR_visibility_mask in the main specification for complete information.
Registered Extension Number
32
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_vulkan_enable(3)
Name
XR_KHR_vulkan_enable - instance extension
Specification
See XR_KHR_vulkan_enable in the main specification for complete information.
Registered Extension Number
26
Revision
9
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_vulkan_enable2(3)
Name
XR_KHR_vulkan_enable2 - instance extension
Specification
See XR_KHR_vulkan_enable2 in the main specification for complete information.
Registered Extension Number
91
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XrGraphicsBindingVulkan2KHR, XrGraphicsRequirementsVulkan2KHR, XrSwapchainImageVulkan2KHR, XrVulkanDeviceCreateInfoKHR, XrVulkanGraphicsDeviceGetInfoKHR, XrVulkanInstanceCreateInfoKHR, xrCreateVulkanDeviceKHR, xrCreateVulkanInstanceKHR, xrGetVulkanGraphicsDevice2KHR, xrGetVulkanGraphicsRequirements2KHR
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_vulkan_swapchain_format_list(3)
Name
XR_KHR_vulkan_swapchain_format_list - instance extension
Specification
See XR_KHR_vulkan_swapchain_format_list in the main specification for complete information.
Registered Extension Number
15
Revision
5
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_win32_convert_performance_counter_time(3)
Name
XR_KHR_win32_convert_performance_counter_time - instance extension
Specification
See XR_KHR_win32_convert_performance_counter_time in the main specification for complete information.
Registered Extension Number
36
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXTX_overlay(3)
Name
XR_EXTX_overlay - instance extension
Specification
See XR_EXTX_overlay in the main specification for complete information.
Registered Extension Number
34
Revision
5
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_active_action_set_priority(3)
Name
XR_EXT_active_action_set_priority - instance extension
Specification
See XR_EXT_active_action_set_priority in the main specification for complete information.
Registered Extension Number
374
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_composition_layer_inverted_alpha(3)
Name
XR_EXT_composition_layer_inverted_alpha - instance extension
Specification
See XR_EXT_composition_layer_inverted_alpha in the main specification for complete information.
Registered Extension Number
555
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_conformance_automation(3)
Name
XR_EXT_conformance_automation - instance extension
Specification
See XR_EXT_conformance_automation in the main specification for complete information.
Registered Extension Number
48
Revision
3
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_debug_utils(3)
Name
XR_EXT_debug_utils - instance extension
Specification
See XR_EXT_debug_utils in the main specification for complete information.
Registered Extension Number
20
Revision
5
Ratification Status
Ratified
Extension and Version Dependencies
See Also
PFN_xrDebugUtilsMessengerCallbackEXT, XrDebugUtilsLabelEXT, XrDebugUtilsMessengerCallbackDataEXT, XrDebugUtilsMessengerCreateInfoEXT, XrDebugUtilsObjectNameInfoEXT, xrCreateDebugUtilsMessengerEXT, xrDestroyDebugUtilsMessengerEXT, xrSessionBeginDebugUtilsLabelRegionEXT, xrSessionEndDebugUtilsLabelRegionEXT, xrSessionInsertDebugUtilsLabelEXT, xrSetDebugUtilsObjectNameEXT, xrSubmitDebugUtilsMessageEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_dpad_binding(3)
Name
XR_EXT_dpad_binding - instance extension
Specification
See XR_EXT_dpad_binding in the main specification for complete information.
Registered Extension Number
79
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_eye_gaze_interaction(3)
Name
XR_EXT_eye_gaze_interaction - instance extension
Specification
See XR_EXT_eye_gaze_interaction in the main specification for complete information.
Registered Extension Number
31
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_frame_synthesis(3)
Name
XR_EXT_frame_synthesis - instance extension
Specification
See XR_EXT_frame_synthesis in the main specification for complete information.
Registered Extension Number
212
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_future(3)
Name
XR_EXT_future - instance extension
Specification
See XR_EXT_future in the main specification for complete information.
Registered Extension Number
470
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_hand_interaction(3)
Name
XR_EXT_hand_interaction - instance extension
Specification
See XR_EXT_hand_interaction in the main specification for complete information.
Registered Extension Number
303
Revision
2
Ratification Status
Ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_hand_joints_motion_range(3)
Name
XR_EXT_hand_joints_motion_range - instance extension
Specification
See XR_EXT_hand_joints_motion_range in the main specification for complete information.
Registered Extension Number
81
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_hand_tracking(3)
Name
XR_EXT_hand_tracking - instance extension
Specification
See XR_EXT_hand_tracking in the main specification for complete information.
Registered Extension Number
52
Revision
4
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XR_HAND_JOINT_COUNT_EXT, XrHandEXT, XrHandJointEXT, XrHandJointLocationEXT, XrHandJointLocationsEXT, XrHandJointSetEXT, XrHandJointVelocitiesEXT, XrHandJointVelocityEXT, XrHandJointsLocateInfoEXT, XrHandTrackerCreateInfoEXT, XrSystemHandTrackingPropertiesEXT, xrCreateHandTrackerEXT, xrDestroyHandTrackerEXT, xrLocateHandJointsEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_hand_tracking_data_source(3)
Name
XR_EXT_hand_tracking_data_source - instance extension
Specification
See XR_EXT_hand_tracking_data_source in the main specification for complete information.
Registered Extension Number
429
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_hp_mixed_reality_controller(3)
Name
XR_EXT_hp_mixed_reality_controller - instance extension
Specification
See XR_EXT_hp_mixed_reality_controller in the main specification for complete information.
Registered Extension Number
96
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_interaction_render_model(3)
Name
XR_EXT_interaction_render_model - instance extension
Specification
See XR_EXT_interaction_render_model in the main specification for complete information.
Registered Extension Number
302
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XrEventDataInteractionRenderModelsChangedEXT, XrInteractionRenderModelIdsEnumerateInfoEXT, XrInteractionRenderModelSubactionPathInfoEXT, XrInteractionRenderModelTopLevelUserPathGetInfoEXT, xrEnumerateInteractionRenderModelIdsEXT, xrEnumerateRenderModelSubactionPathsEXT, xrGetRenderModelPoseTopLevelUserPathEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_loader_init_properties(3)
Name
XR_EXT_loader_init_properties - instance extension
Specification
See XR_EXT_loader_init_properties in the main specification for complete information.
Registered Extension Number
839
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_local_floor(3)
Name
XR_EXT_local_floor - instance extension
Specification
See XR_EXT_local_floor in the main specification for complete information.
Registered Extension Number
427
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_palm_pose(3)
Name
XR_EXT_palm_pose - instance extension
Specification
See XR_EXT_palm_pose in the main specification for complete information.
Registered Extension Number
177
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_performance_settings(3)
Name
XR_EXT_performance_settings - instance extension
Specification
See XR_EXT_performance_settings in the main specification for complete information.
Registered Extension Number
16
Revision
4
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_plane_detection(3)
Name
XR_EXT_plane_detection - instance extension
Specification
See XR_EXT_plane_detection in the main specification for complete information.
Registered Extension Number
430
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrExtent3DfEXT, XrPlaneDetectionCapabilityFlagsEXT, XrPlaneDetectionStateEXT, XrPlaneDetectorBeginInfoEXT, XrPlaneDetectorCreateInfoEXT, XrPlaneDetectorEXT, XrPlaneDetectorFlagsEXT, XrPlaneDetectorGetInfoEXT, XrPlaneDetectorLocationEXT, XrPlaneDetectorLocationsEXT, XrPlaneDetectorOrientationEXT, XrPlaneDetectorPolygonBufferEXT, XrPlaneDetectorSemanticTypeEXT, XrSystemPlaneDetectionPropertiesEXT, xrBeginPlaneDetectionEXT, xrCreatePlaneDetectorEXT, xrDestroyPlaneDetectorEXT, xrGetPlaneDetectionStateEXT, xrGetPlaneDetectionsEXT, xrGetPlanePolygonBufferEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_render_model(3)
Name
XR_EXT_render_model - instance extension
Specification
See XR_EXT_render_model in the main specification for complete information.
Registered Extension Number
301
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XR_MAX_RENDER_MODEL_ASSET_NODE_NAME_SIZE_EXT, XR_NULL_RENDER_MODEL_ID_EXT, XrRenderModelAssetCreateInfoEXT, XrRenderModelAssetDataEXT, XrRenderModelAssetDataGetInfoEXT, XrRenderModelAssetEXT, XrRenderModelAssetNodePropertiesEXT, XrRenderModelAssetPropertiesEXT, XrRenderModelAssetPropertiesGetInfoEXT, XrRenderModelCreateInfoEXT, XrRenderModelEXT, XrRenderModelIdEXT, XrRenderModelNodeStateEXT, XrRenderModelPropertiesEXT, XrRenderModelPropertiesGetInfoEXT, XrRenderModelSpaceCreateInfoEXT, XrRenderModelStateEXT, XrRenderModelStateGetInfoEXT, xrCreateRenderModelAssetEXT, xrCreateRenderModelEXT, xrCreateRenderModelSpaceEXT, xrDestroyRenderModelAssetEXT, xrDestroyRenderModelEXT, xrGetRenderModelAssetDataEXT, xrGetRenderModelAssetPropertiesEXT, xrGetRenderModelPropertiesEXT, xrGetRenderModelStateEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_samsung_odyssey_controller(3)
Name
XR_EXT_samsung_odyssey_controller - instance extension
Specification
See XR_EXT_samsung_odyssey_controller in the main specification for complete information.
Registered Extension Number
95
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_anchor(3)
Name
XR_EXT_spatial_anchor - instance extension
Specification
See XR_EXT_spatial_anchor in the main specification for complete information.
Registered Extension Number
763
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_entity(3)
Name
XR_EXT_spatial_entity - instance extension
Specification
See XR_EXT_spatial_entity in the main specification for complete information.
Registered Extension Number
741
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XR_NULL_SPATIAL_BUFFER_ID_EXT, XR_NULL_SPATIAL_ENTITY_ID_EXT, XrCreateSpatialContextCompletionEXT, XrCreateSpatialDiscoverySnapshotCompletionEXT, XrCreateSpatialDiscoverySnapshotCompletionInfoEXT, XrEventDataSpatialDiscoveryRecommendedEXT, XrSpatialBounded2DDataEXT, XrSpatialBufferEXT, XrSpatialBufferGetInfoEXT, XrSpatialBufferIdEXT, XrSpatialBufferTypeEXT, XrSpatialCapabilityComponentTypesEXT, XrSpatialCapabilityConfigurationBaseHeaderEXT, XrSpatialCapabilityEXT, XrSpatialCapabilityFeatureEXT, XrSpatialComponentBounded2DListEXT, XrSpatialComponentBounded3DListEXT, XrSpatialComponentDataQueryConditionEXT, XrSpatialComponentDataQueryResultEXT, XrSpatialComponentMesh3DListEXT, XrSpatialComponentParentListEXT, XrSpatialComponentTypeEXT, XrSpatialContextCreateInfoEXT, XrSpatialContextEXT, XrSpatialDiscoverySnapshotCreateInfoEXT, XrSpatialEntityEXT, XrSpatialEntityFromIdCreateInfoEXT, XrSpatialEntityIdEXT, XrSpatialEntityTrackingStateEXT, XrSpatialFilterTrackingStateEXT, XrSpatialMeshDataEXT, XrSpatialSnapshotEXT, XrSpatialUpdateSnapshotCreateInfoEXT, xrCreateSpatialContextAsyncEXT, xrCreateSpatialContextCompleteEXT, xrCreateSpatialDiscoverySnapshotAsyncEXT, xrCreateSpatialDiscoverySnapshotCompleteEXT, xrCreateSpatialEntityFromIdEXT, xrCreateSpatialUpdateSnapshotEXT, xrDestroySpatialContextEXT, xrDestroySpatialEntityEXT, xrDestroySpatialSnapshotEXT, xrEnumerateSpatialCapabilitiesEXT, xrEnumerateSpatialCapabilityComponentTypesEXT, xrEnumerateSpatialCapabilityFeaturesEXT, xrGetSpatialBufferFloatEXT, xrGetSpatialBufferStringEXT, xrGetSpatialBufferUint16EXT, xrGetSpatialBufferUint32EXT, xrGetSpatialBufferUint8EXT, xrGetSpatialBufferVector2fEXT, xrGetSpatialBufferVector3fEXT, xrQuerySpatialComponentDataEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_marker_tracking(3)
Name
XR_EXT_spatial_marker_tracking - instance extension
Specification
See XR_EXT_spatial_marker_tracking in the main specification for complete information.
Registered Extension Number
744
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XrSpatialCapabilityConfigurationAprilTagEXT, XrSpatialCapabilityConfigurationArucoMarkerEXT, XrSpatialCapabilityConfigurationMicroQrCodeEXT, XrSpatialCapabilityConfigurationQrCodeEXT, XrSpatialComponentMarkerListEXT, XrSpatialMarkerAprilTagDictEXT, XrSpatialMarkerArucoDictEXT, XrSpatialMarkerDataEXT, XrSpatialMarkerSizeEXT, XrSpatialMarkerStaticOptimizationEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_persistence(3)
Name
XR_EXT_spatial_persistence - instance extension
Specification
See XR_EXT_spatial_persistence in the main specification for complete information.
Registered Extension Number
764
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
XrCreateSpatialPersistenceContextCompletionEXT, XrSpatialComponentPersistenceListEXT, XrSpatialContextPersistenceConfigEXT, XrSpatialDiscoveryPersistenceUuidFilterEXT, XrSpatialPersistenceContextCreateInfoEXT, XrSpatialPersistenceContextEXT, XrSpatialPersistenceContextResultEXT, XrSpatialPersistenceDataEXT, XrSpatialPersistenceScopeEXT, XrSpatialPersistenceStateEXT, xrCreateSpatialPersistenceContextAsyncEXT, xrCreateSpatialPersistenceContextCompleteEXT, xrDestroySpatialPersistenceContextEXT, xrEnumerateSpatialPersistenceScopesEXT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_persistence_operations(3)
Name
XR_EXT_spatial_persistence_operations - instance extension
Specification
See XR_EXT_spatial_persistence_operations in the main specification for complete information.
Registered Extension Number
782
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_spatial_plane_tracking(3)
Name
XR_EXT_spatial_plane_tracking - instance extension
Specification
See XR_EXT_spatial_plane_tracking in the main specification for complete information.
Registered Extension Number
742
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_thermal_query(3)
Name
XR_EXT_thermal_query - instance extension
Specification
See XR_EXT_thermal_query in the main specification for complete information.
Registered Extension Number
17
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_user_presence(3)
Name
XR_EXT_user_presence - instance extension
Specification
See XR_EXT_user_presence in the main specification for complete information.
Registered Extension Number
471
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_uuid(3)
Name
XR_EXT_uuid - instance extension
Specification
See XR_EXT_uuid in the main specification for complete information.
Registered Extension Number
300
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Promoted to OpenXR 1.1
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_view_configuration_depth_range(3)
Name
XR_EXT_view_configuration_depth_range - instance extension
Specification
See XR_EXT_view_configuration_depth_range in the main specification for complete information.
Registered Extension Number
47
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_win32_appcontainer_compatible(3)
Name
XR_EXT_win32_appcontainer_compatible - instance extension
Specification
See XR_EXT_win32_appcontainer_compatible in the main specification for complete information.
Registered Extension Number
58
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ALMALENCE_digital_lens_control(3)
Name
XR_ALMALENCE_digital_lens_control - instance extension
Specification
See XR_ALMALENCE_digital_lens_control in the main specification for complete information.
Registered Extension Number
197
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_anchor_sharing_export(3)
Name
XR_ANDROID_anchor_sharing_export - instance extension
Specification
See XR_ANDROID_anchor_sharing_export in the main specification for complete information.
Registered Extension Number
702
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_device_anchor_persistence(3)
Name
XR_ANDROID_device_anchor_persistence - instance extension
Specification
See XR_ANDROID_device_anchor_persistence in the main specification for complete information.
Registered Extension Number
458
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrAnchorPersistStateANDROID, XrDeviceAnchorPersistenceANDROID, XrDeviceAnchorPersistenceCreateInfoANDROID, XrPersistedAnchorSpaceCreateInfoANDROID, XrPersistedAnchorSpaceInfoANDROID, XrSystemDeviceAnchorPersistencePropertiesANDROID, xrCreateDeviceAnchorPersistenceANDROID, xrCreatePersistedAnchorSpaceANDROID, xrDestroyDeviceAnchorPersistenceANDROID, xrEnumeratePersistedAnchorsANDROID, xrEnumerateSupportedPersistenceAnchorTypesANDROID, xrGetAnchorPersistStateANDROID, xrPersistAnchorANDROID, xrUnpersistAnchorANDROID
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_face_tracking(3)
Name
XR_ANDROID_face_tracking - instance extension
Specification
See XR_ANDROID_face_tracking in the main specification for complete information.
Registered Extension Number
459
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_FACE_PARAMETER_COUNT_ANDROID, XR_FACE_REGION_CONFIDENCE_COUNT_ANDROID, XrFaceConfidenceRegionsANDROID, XrFaceParameterIndicesANDROID, XrFaceStateANDROID, XrFaceStateGetInfoANDROID, XrFaceTrackerANDROID, XrFaceTrackerCreateInfoANDROID, XrFaceTrackingStateANDROID, XrSystemFaceTrackingPropertiesANDROID, xrCreateFaceTrackerANDROID, xrDestroyFaceTrackerANDROID, xrGetFaceCalibrationStateANDROID, xrGetFaceStateANDROID
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_passthrough_camera_state(3)
Name
XR_ANDROID_passthrough_camera_state - instance extension
Specification
See XR_ANDROID_passthrough_camera_state in the main specification for complete information.
Registered Extension Number
461
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_raycast(3)
Name
XR_ANDROID_raycast - instance extension
Specification
See XR_ANDROID_raycast in the main specification for complete information.
Registered Extension Number
464
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_trackables(3)
Name
XR_ANDROID_trackables - instance extension
Specification
See XR_ANDROID_trackables in the main specification for complete information.
Registered Extension Number
456
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_NULL_TRACKABLE_ANDROID, XrAnchorSpaceCreateInfoANDROID, XrPlaneLabelANDROID, XrPlaneTypeANDROID, XrSystemTrackablesPropertiesANDROID, XrTrackableANDROID, XrTrackableGetInfoANDROID, XrTrackablePlaneANDROID, XrTrackableTrackerANDROID, XrTrackableTrackerCreateInfoANDROID, XrTrackableTypeANDROID, XrTrackingStateANDROID, xrCreateAnchorSpaceANDROID, xrCreateTrackableTrackerANDROID, xrDestroyTrackableTrackerANDROID, xrEnumerateSupportedAnchorTrackableTypesANDROID, xrEnumerateSupportedTrackableTypesANDROID, xrGetAllTrackablesANDROID, xrGetTrackablePlaneANDROID
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_trackables_marker(3)
Name
XR_ANDROID_trackables_marker - instance extension
Specification
See XR_ANDROID_trackables_marker in the main specification for complete information.
Registered Extension Number
708
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ANDROID_trackables_object(3)
Name
XR_ANDROID_trackables_object - instance extension
Specification
See XR_ANDROID_trackables_object in the main specification for complete information.
Registered Extension Number
467
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_body_tracking(3)
Name
XR_BD_body_tracking - instance extension
Specification
See XR_BD_body_tracking in the main specification for complete information.
Registered Extension Number
386
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_BODY_JOINT_COUNT_BD, XR_BODY_JOINT_WITHOUT_ARM_COUNT_BD, XrBodyJointBD, XrBodyJointLocationBD, XrBodyJointLocationsBD, XrBodyJointSetBD, XrBodyJointsLocateInfoBD, XrBodyTrackerBD, XrBodyTrackerCreateInfoBD, XrSystemBodyTrackingPropertiesBD, xrCreateBodyTrackerBD, xrDestroyBodyTrackerBD, xrLocateBodyJointsBD
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_controller_interaction(3)
Name
XR_BD_controller_interaction - instance extension
Specification
See XR_BD_controller_interaction in the main specification for complete information.
Registered Extension Number
385
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_facial_simulation(3)
Name
XR_BD_facial_simulation - instance extension
Specification
See XR_BD_facial_simulation in the main specification for complete information.
Registered Extension Number
387
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_FACE_EXPRESSION_COUNT_BD, XR_LIP_EXPRESSION_COUNT_BD, XrFaceExpressionBD, XrFaceTrackerBD, XrFaceTrackerCreateInfoBD, XrFacialSimulationDataBD, XrFacialSimulationDataGetInfoBD, XrFacialSimulationModeBD, XrLipExpressionBD, XrLipExpressionDataBD, XrSystemFacialSimulationPropertiesBD, xrCreateFaceTrackerBD, xrDestroyFaceTrackerBD, xrEnumerateFacialSimulationModesBD, xrGetFacialSimulationDataBD, xrGetFacialSimulationModeBD, xrSetFacialSimulationModeBD
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_future_progress(3)
Name
XR_BD_future_progress - instance extension
Specification
See XR_BD_future_progress in the main specification for complete information.
Registered Extension Number
395
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_anchor(3)
Name
XR_BD_spatial_anchor - instance extension
Specification
See XR_BD_spatial_anchor in the main specification for complete information.
Registered Extension Number
391
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrPersistenceLocationBD, XrSpatialAnchorCreateCompletionBD, XrSpatialAnchorCreateInfoBD, XrSpatialAnchorPersistInfoBD, XrSpatialAnchorUnpersistInfoBD, XrSystemSpatialAnchorPropertiesBD, xrCreateSpatialAnchorAsyncBD, xrCreateSpatialAnchorCompleteBD, xrPersistSpatialAnchorAsyncBD, xrPersistSpatialAnchorCompleteBD, xrUnpersistSpatialAnchorAsyncBD, xrUnpersistSpatialAnchorCompleteBD
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_anchor_sharing(3)
Name
XR_BD_spatial_anchor_sharing - instance extension
Specification
See XR_BD_spatial_anchor_sharing in the main specification for complete information.
Registered Extension Number
392
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_mesh(3)
Name
XR_BD_spatial_mesh - instance extension
Specification
See XR_BD_spatial_mesh in the main specification for complete information.
Registered Extension Number
394
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_plane(3)
Name
XR_BD_spatial_plane - instance extension
Specification
See XR_BD_spatial_plane in the main specification for complete information.
Registered Extension Number
397
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_scene(3)
Name
XR_BD_spatial_scene - instance extension
Specification
See XR_BD_spatial_scene in the main specification for complete information.
Registered Extension Number
393
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_spatial_sensing(3)
Name
XR_BD_spatial_sensing - instance extension
Specification
See XR_BD_spatial_sensing in the main specification for complete information.
Registered Extension Number
390
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrAnchorBD, XrAnchorSpaceCreateInfoBD, XrEventDataSenseDataProviderStateChangedBD, XrEventDataSenseDataUpdatedBD, XrQueriedSenseDataBD, XrQueriedSenseDataGetInfoBD, XrSemanticLabelBD, XrSenseDataFilterSemanticBD, XrSenseDataFilterUuidBD, XrSenseDataProviderBD, XrSenseDataProviderCreateInfoBD, XrSenseDataProviderStartInfoBD, XrSenseDataProviderStateBD, XrSenseDataProviderTypeBD, XrSenseDataQueryCompletionBD, XrSenseDataQueryInfoBD, XrSenseDataSnapshotBD, XrSpatialEntityAnchorCreateInfoBD, XrSpatialEntityComponentDataBaseHeaderBD, XrSpatialEntityComponentDataBoundingBox2DBD, XrSpatialEntityComponentDataBoundingBox3DBD, XrSpatialEntityComponentDataLocationBD, XrSpatialEntityComponentDataPolygonBD, XrSpatialEntityComponentDataSemanticBD, XrSpatialEntityComponentDataTriangleMeshBD, XrSpatialEntityComponentGetInfoBD, XrSpatialEntityComponentTypeBD, XrSpatialEntityIdBD, XrSpatialEntityLocationGetInfoBD, XrSpatialEntityStateBD, XrSystemSpatialSensingPropertiesBD, xrCreateAnchorSpaceBD, xrCreateSenseDataProviderBD, xrCreateSpatialEntityAnchorBD, xrDestroyAnchorBD, xrDestroySenseDataProviderBD, xrDestroySenseDataSnapshotBD, xrEnumerateSpatialEntityComponentTypesBD, xrGetAnchorUuidBD, xrGetQueriedSenseDataBD, xrGetSenseDataProviderStateBD, xrGetSpatialEntityComponentDataBD, xrGetSpatialEntityUuidBD, xrQuerySenseDataAsyncBD, xrQuerySenseDataCompleteBD, xrStartSenseDataProviderAsyncBD, xrStartSenseDataProviderCompleteBD, xrStopSenseDataProviderBD
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_BD_ultra_controller_interaction(3)
Name
XR_BD_ultra_controller_interaction - instance extension
Specification
See XR_BD_ultra_controller_interaction in the main specification for complete information.
Registered Extension Number
404
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EPIC_view_configuration_fov(3)
Name
XR_EPIC_view_configuration_fov - instance extension
Specification
See XR_EPIC_view_configuration_fov in the main specification for complete information.
Registered Extension Number
60
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_android_surface_swapchain_create(3)
Name
XR_FB_android_surface_swapchain_create - instance extension
Specification
See XR_FB_android_surface_swapchain_create in the main specification for complete information.
Registered Extension Number
71
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_body_tracking(3)
Name
XR_FB_body_tracking - instance extension
Specification
See XR_FB_body_tracking in the main specification for complete information.
Registered Extension Number
77
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrBodyJointFB, XrBodyJointLocationFB, XrBodyJointLocationsFB, XrBodyJointSetFB, XrBodyJointsLocateInfoFB, XrBodySkeletonFB, XrBodySkeletonJointFB, XrBodyTrackerCreateInfoFB, XrBodyTrackerFB, XrSystemBodyTrackingPropertiesFB, xrCreateBodyTrackerFB, xrDestroyBodyTrackerFB, xrGetBodySkeletonFB, xrLocateBodyJointsFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_color_space(3)
Name
XR_FB_color_space - instance extension
Specification
See XR_FB_color_space in the main specification for complete information.
Registered Extension Number
109
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_composition_layer_alpha_blend(3)
Name
XR_FB_composition_layer_alpha_blend - instance extension
Specification
See XR_FB_composition_layer_alpha_blend in the main specification for complete information.
Registered Extension Number
42
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_composition_layer_depth_test(3)
Name
XR_FB_composition_layer_depth_test - instance extension
Specification
See XR_FB_composition_layer_depth_test in the main specification for complete information.
Registered Extension Number
213
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_composition_layer_image_layout(3)
Name
XR_FB_composition_layer_image_layout - instance extension
Specification
See XR_FB_composition_layer_image_layout in the main specification for complete information.
Registered Extension Number
41
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_composition_layer_secure_content(3)
Name
XR_FB_composition_layer_secure_content - instance extension
Specification
See XR_FB_composition_layer_secure_content in the main specification for complete information.
Registered Extension Number
73
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_composition_layer_settings(3)
Name
XR_FB_composition_layer_settings - instance extension
Specification
See XR_FB_composition_layer_settings in the main specification for complete information.
Registered Extension Number
205
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_display_refresh_rate(3)
Name
XR_FB_display_refresh_rate - instance extension
Specification
See XR_FB_display_refresh_rate in the main specification for complete information.
Registered Extension Number
102
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_eye_tracking_social(3)
Name
XR_FB_eye_tracking_social - instance extension
Specification
See XR_FB_eye_tracking_social in the main specification for complete information.
Registered Extension Number
203
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_face_tracking(3)
Name
XR_FB_face_tracking - instance extension
Specification
See XR_FB_face_tracking in the main specification for complete information.
Registered Extension Number
202
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_FACE_EXPRESSSION_SET_DEFAULT_FB, XrFaceConfidenceFB, XrFaceExpressionFB, XrFaceExpressionInfoFB, XrFaceExpressionSetFB, XrFaceExpressionStatusFB, XrFaceExpressionWeightsFB, XrFaceTrackerCreateInfoFB, XrFaceTrackerFB, XrSystemFaceTrackingPropertiesFB, xrCreateFaceTrackerFB, xrDestroyFaceTrackerFB, xrGetFaceExpressionWeightsFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_face_tracking2(3)
Name
XR_FB_face_tracking2 - instance extension
Specification
See XR_FB_face_tracking2 in the main specification for complete information.
Registered Extension Number
288
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrFaceConfidence2FB, XrFaceExpression2FB, XrFaceExpressionInfo2FB, XrFaceExpressionSet2FB, XrFaceExpressionWeights2FB, XrFaceTracker2FB, XrFaceTrackerCreateInfo2FB, XrFaceTrackingDataSource2FB, XrSystemFaceTrackingProperties2FB, xrCreateFaceTracker2FB, xrDestroyFaceTracker2FB, xrGetFaceExpressionWeights2FB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_foveation(3)
Name
XR_FB_foveation - instance extension
Specification
See XR_FB_foveation in the main specification for complete information.
Registered Extension Number
115
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_foveation_configuration(3)
Name
XR_FB_foveation_configuration - instance extension
Specification
See XR_FB_foveation_configuration in the main specification for complete information.
Registered Extension Number
116
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_foveation_vulkan(3)
Name
XR_FB_foveation_vulkan - instance extension
Specification
See XR_FB_foveation_vulkan in the main specification for complete information.
Registered Extension Number
161
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_hand_tracking_aim(3)
Name
XR_FB_hand_tracking_aim - instance extension
Specification
See XR_FB_hand_tracking_aim in the main specification for complete information.
Registered Extension Number
112
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_hand_tracking_capsules(3)
Name
XR_FB_hand_tracking_capsules - instance extension
Specification
See XR_FB_hand_tracking_capsules in the main specification for complete information.
Registered Extension Number
113
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_hand_tracking_mesh(3)
Name
XR_FB_hand_tracking_mesh - instance extension
Specification
See XR_FB_hand_tracking_mesh in the main specification for complete information.
Registered Extension Number
111
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_haptic_amplitude_envelope(3)
Name
XR_FB_haptic_amplitude_envelope - instance extension
Specification
See XR_FB_haptic_amplitude_envelope in the main specification for complete information.
Registered Extension Number
174
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_haptic_pcm(3)
Name
XR_FB_haptic_pcm - instance extension
Specification
See XR_FB_haptic_pcm in the main specification for complete information.
Registered Extension Number
210
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_keyboard_tracking(3)
Name
XR_FB_keyboard_tracking - instance extension
Specification
See XR_FB_keyboard_tracking in the main specification for complete information.
Registered Extension Number
117
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_passthrough(3)
Name
XR_FB_passthrough - instance extension
Specification
See XR_FB_passthrough in the main specification for complete information.
Registered Extension Number
119
Revision
4
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_PASSTHROUGH_COLOR_MAP_MONO_SIZE_FB, XrCompositionLayerPassthroughFB, XrEventDataPassthroughStateChangedFB, XrGeometryInstanceCreateInfoFB, XrGeometryInstanceTransformFB, XrPassthroughBrightnessContrastSaturationFB, XrPassthroughColorMapMonoToMonoFB, XrPassthroughColorMapMonoToRgbaFB, XrPassthroughCreateInfoFB, XrPassthroughLayerCreateInfoFB, XrPassthroughStyleFB, XrSystemPassthroughProperties2FB, XrSystemPassthroughPropertiesFB, xrCreateGeometryInstanceFB, xrCreatePassthroughFB, xrCreatePassthroughLayerFB, xrDestroyGeometryInstanceFB, xrDestroyPassthroughFB, xrDestroyPassthroughLayerFB, xrGeometryInstanceSetTransformFB, xrPassthroughLayerPauseFB, xrPassthroughLayerResumeFB, xrPassthroughLayerSetStyleFB, xrPassthroughPauseFB, xrPassthroughStartFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_passthrough_keyboard_hands(3)
Name
XR_FB_passthrough_keyboard_hands - instance extension
Specification
See XR_FB_passthrough_keyboard_hands in the main specification for complete information.
Registered Extension Number
204
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_render_model(3)
Name
XR_FB_render_model - instance extension
Specification
See XR_FB_render_model in the main specification for complete information.
Registered Extension Number
120
Revision
4
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_RENDER_MODEL_NAME_SIZE_FB, XR_NULL_RENDER_MODEL_KEY_FB, XrRenderModelBufferFB, XrRenderModelCapabilitiesRequestFB, XrRenderModelKeyFB, XrRenderModelLoadInfoFB, XrRenderModelPathInfoFB, XrRenderModelPropertiesFB, XrSystemRenderModelPropertiesFB, xrEnumerateRenderModelPathsFB, xrGetRenderModelPropertiesFB, xrLoadRenderModelFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_scene(3)
Name
XR_FB_scene - instance extension
Specification
See XR_FB_scene in the main specification for complete information.
Registered Extension Number
176
Revision
4
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrBoundary2DFB, XrExtent3DfFB, XrOffset3DfFB, XrRect3DfFB, XrRoomLayoutFB, XrSemanticLabelsFB, XrSemanticLabelsSupportFlagBitsFB, XrSemanticLabelsSupportFlagsFB, XrSemanticLabelsSupportInfoFB, xrGetSpaceBoundary2DFB, xrGetSpaceBoundingBox2DFB, xrGetSpaceBoundingBox3DFB, xrGetSpaceRoomLayoutFB, xrGetSpaceSemanticLabelsFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_scene_capture(3)
Name
XR_FB_scene_capture - instance extension
Specification
See XR_FB_scene_capture in the main specification for complete information.
Registered Extension Number
199
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_space_warp(3)
Name
XR_FB_space_warp - instance extension
Specification
See XR_FB_space_warp in the main specification for complete information.
Registered Extension Number
172
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity(3)
Name
XR_FB_spatial_entity - instance extension
Specification
See XR_FB_spatial_entity in the main specification for complete information.
Registered Extension Number
114
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrAsyncRequestIdFB, XrEventDataSpaceSetStatusCompleteFB, XrEventDataSpatialAnchorCreateCompleteFB, XrSpaceComponentStatusFB, XrSpaceComponentStatusSetInfoFB, XrSpaceComponentTypeFB, XrSpatialAnchorCreateInfoFB, XrSystemSpatialEntityPropertiesFB, xrCreateSpatialAnchorFB, xrEnumerateSpaceSupportedComponentsFB, xrGetSpaceComponentStatusFB, xrGetSpaceUuidFB, xrSetSpaceComponentStatusFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_container(3)
Name
XR_FB_spatial_entity_container - instance extension
Specification
See XR_FB_spatial_entity_container in the main specification for complete information.
Registered Extension Number
200
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_query(3)
Name
XR_FB_spatial_entity_query - instance extension
Specification
See XR_FB_spatial_entity_query in the main specification for complete information.
Registered Extension Number
157
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrEventDataSpaceQueryCompleteFB, XrEventDataSpaceQueryResultsAvailableFB, XrSpaceComponentFilterInfoFB, XrSpaceFilterInfoBaseHeaderFB, XrSpaceQueryActionFB, XrSpaceQueryInfoBaseHeaderFB, XrSpaceQueryInfoFB, XrSpaceQueryResultFB, XrSpaceQueryResultsFB, XrSpaceStorageLocationFilterInfoFB, XrSpaceUuidFilterInfoFB, xrQuerySpacesFB, xrRetrieveSpaceQueryResultsFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_sharing(3)
Name
XR_FB_spatial_entity_sharing - instance extension
Specification
See XR_FB_spatial_entity_sharing in the main specification for complete information.
Registered Extension Number
170
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_storage(3)
Name
XR_FB_spatial_entity_storage - instance extension
Specification
See XR_FB_spatial_entity_storage in the main specification for complete information.
Registered Extension Number
159
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_storage_batch(3)
Name
XR_FB_spatial_entity_storage_batch - instance extension
Specification
See XR_FB_spatial_entity_storage_batch in the main specification for complete information.
Registered Extension Number
239
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_spatial_entity_user(3)
Name
XR_FB_spatial_entity_user - instance extension
Specification
See XR_FB_spatial_entity_user in the main specification for complete information.
Registered Extension Number
242
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_swapchain_update_state(3)
Name
XR_FB_swapchain_update_state - instance extension
Specification
See XR_FB_swapchain_update_state in the main specification for complete information.
Registered Extension Number
72
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_swapchain_update_state_android_surface(3)
Name
XR_FB_swapchain_update_state_android_surface - instance extension
Specification
See XR_FB_swapchain_update_state_android_surface in the main specification for complete information.
Registered Extension Number
162
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_swapchain_update_state_opengl_es(3)
Name
XR_FB_swapchain_update_state_opengl_es - instance extension
Specification
See XR_FB_swapchain_update_state_opengl_es in the main specification for complete information.
Registered Extension Number
163
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_swapchain_update_state_vulkan(3)
Name
XR_FB_swapchain_update_state_vulkan - instance extension
Specification
See XR_FB_swapchain_update_state_vulkan in the main specification for complete information.
Registered Extension Number
164
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_touch_controller_pro(3)
Name
XR_FB_touch_controller_pro - instance extension
Specification
See XR_FB_touch_controller_pro in the main specification for complete information.
Registered Extension Number
168
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_touch_controller_proximity(3)
Name
XR_FB_touch_controller_proximity - instance extension
Specification
See XR_FB_touch_controller_proximity in the main specification for complete information.
Registered Extension Number
207
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FB_triangle_mesh(3)
Name
XR_FB_triangle_mesh - instance extension
Specification
See XR_FB_triangle_mesh in the main specification for complete information.
Registered Extension Number
118
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrTriangleMeshCreateInfoFB, XrTriangleMeshFlagsFB, XrWindingOrderFB, xrCreateTriangleMeshFB, xrDestroyTriangleMeshFB, xrTriangleMeshBeginUpdateFB, xrTriangleMeshBeginVertexBufferUpdateFB, xrTriangleMeshEndUpdateFB, xrTriangleMeshEndVertexBufferUpdateFB, xrTriangleMeshGetIndexBufferFB, xrTriangleMeshGetVertexBufferFB
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTCX_vive_tracker_interaction(3)
Name
XR_HTCX_vive_tracker_interaction - instance extension
Specification
See XR_HTCX_vive_tracker_interaction in the main specification for complete information.
Registered Extension Number
104
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_anchor(3)
Name
XR_HTC_anchor - instance extension
Specification
See XR_HTC_anchor in the main specification for complete information.
Registered Extension Number
320
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_body_tracking(3)
Name
XR_HTC_body_tracking - instance extension
Specification
See XR_HTC_body_tracking in the main specification for complete information.
Registered Extension Number
321
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_BODY_JOINT_COUNT_HTC, XrBodyJointConfidenceHTC, XrBodyJointHTC, XrBodyJointLocationHTC, XrBodyJointLocationsHTC, XrBodyJointSetHTC, XrBodyJointsLocateInfoHTC, XrBodySkeletonHTC, XrBodyTrackerCreateInfoHTC, XrSystemBodyTrackingPropertiesHTC, xrCreateBodyTrackerHTC, xrDestroyBodyTrackerHTC, xrGetBodySkeletonHTC, xrLocateBodyJointsHTC
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_facial_tracking(3)
Name
XR_HTC_facial_tracking - instance extension
Specification
See XR_HTC_facial_tracking in the main specification for complete information.
Registered Extension Number
105
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_FACIAL_EXPRESSION_EYE_COUNT_HTC, XR_FACIAL_EXPRESSION_LIP_COUNT_HTC, XrEyeExpressionHTC, XrFacialExpressionsHTC, XrFacialTrackerCreateInfoHTC, XrFacialTrackingTypeHTC, XrLipExpressionHTC, XrSystemFacialTrackingPropertiesHTC, xrCreateFacialTrackerHTC, xrDestroyFacialTrackerHTC, xrGetFacialExpressionsHTC
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_foveation(3)
Name
XR_HTC_foveation - instance extension
Specification
See XR_HTC_foveation in the main specification for complete information.
Registered Extension Number
319
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_hand_interaction(3)
Name
XR_HTC_hand_interaction - instance extension
Specification
See XR_HTC_hand_interaction in the main specification for complete information.
Registered Extension Number
107
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_passthrough(3)
Name
XR_HTC_passthrough - instance extension
Specification
See XR_HTC_passthrough in the main specification for complete information.
Registered Extension Number
318
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_vive_cosmos_controller_interaction(3)
Name
XR_HTC_vive_cosmos_controller_interaction - instance extension
Specification
See XR_HTC_vive_cosmos_controller_interaction in the main specification for complete information.
Registered Extension Number
103
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_vive_focus3_controller_interaction(3)
Name
XR_HTC_vive_focus3_controller_interaction - instance extension
Specification
See XR_HTC_vive_focus3_controller_interaction in the main specification for complete information.
Registered Extension Number
106
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HTC_vive_wrist_tracker_interaction(3)
Name
XR_HTC_vive_wrist_tracker_interaction - instance extension
Specification
See XR_HTC_vive_wrist_tracker_interaction in the main specification for complete information.
Registered Extension Number
108
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HUAWEI_controller_interaction(3)
Name
XR_HUAWEI_controller_interaction - instance extension
Specification
See XR_HUAWEI_controller_interaction in the main specification for complete information.
Registered Extension Number
70
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_LOGITECH_mx_ink_stylus_interaction(3)
Name
XR_LOGITECH_mx_ink_stylus_interaction - instance extension
Specification
See XR_LOGITECH_mx_ink_stylus_interaction in the main specification for complete information.
Registered Extension Number
746
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_automatic_layer_filter(3)
Name
XR_META_automatic_layer_filter - instance extension
Specification
See XR_META_automatic_layer_filter in the main specification for complete information.
Registered Extension Number
272
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_body_tracking_calibration(3)
Name
XR_META_body_tracking_calibration - instance extension
Specification
See XR_META_body_tracking_calibration in the main specification for complete information.
Registered Extension Number
284
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_body_tracking_full_body(3)
Name
XR_META_body_tracking_full_body - instance extension
Specification
See XR_META_body_tracking_full_body in the main specification for complete information.
Registered Extension Number
275
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_colocation_discovery(3)
Name
XR_META_colocation_discovery - instance extension
Specification
See XR_META_colocation_discovery in the main specification for complete information.
Registered Extension Number
572
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_COLOCATION_DISCOVERY_BUFFER_SIZE_META, XrColocationAdvertisementStartInfoMETA, XrColocationAdvertisementStopInfoMETA, XrColocationDiscoveryStartInfoMETA, XrColocationDiscoveryStopInfoMETA, XrEventDataColocationAdvertisementCompleteMETA, XrEventDataColocationDiscoveryCompleteMETA, XrEventDataColocationDiscoveryResultMETA, XrEventDataStartColocationAdvertisementCompleteMETA, XrEventDataStartColocationDiscoveryCompleteMETA, XrEventDataStopColocationAdvertisementCompleteMETA, XrEventDataStopColocationDiscoveryCompleteMETA, XrSystemColocationDiscoveryPropertiesMETA, xrStartColocationAdvertisementMETA, xrStartColocationDiscoveryMETA, xrStopColocationAdvertisementMETA, xrStopColocationDiscoveryMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_detached_controllers(3)
Name
XR_META_detached_controllers - instance extension
Specification
See XR_META_detached_controllers in the main specification for complete information.
Registered Extension Number
241
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_environment_depth(3)
Name
XR_META_environment_depth - instance extension
Specification
See XR_META_environment_depth in the main specification for complete information.
Registered Extension Number
292
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrEnvironmentDepthHandRemovalSetInfoMETA, XrEnvironmentDepthImageAcquireInfoMETA, XrEnvironmentDepthImageMETA, XrEnvironmentDepthImageViewMETA, XrEnvironmentDepthProviderCreateFlagBitsMETA, XrEnvironmentDepthProviderCreateFlagsMETA, XrEnvironmentDepthProviderCreateInfoMETA, XrEnvironmentDepthProviderMETA, XrEnvironmentDepthSwapchainCreateFlagBitsMETA, XrEnvironmentDepthSwapchainCreateFlagsMETA, XrEnvironmentDepthSwapchainCreateInfoMETA, XrEnvironmentDepthSwapchainMETA, XrEnvironmentDepthSwapchainStateMETA, XrSystemEnvironmentDepthPropertiesMETA, xrAcquireEnvironmentDepthImageMETA, xrCreateEnvironmentDepthProviderMETA, xrCreateEnvironmentDepthSwapchainMETA, xrDestroyEnvironmentDepthProviderMETA, xrDestroyEnvironmentDepthSwapchainMETA, xrEnumerateEnvironmentDepthSwapchainImagesMETA, xrGetEnvironmentDepthSwapchainStateMETA, xrSetEnvironmentDepthHandRemovalMETA, xrStartEnvironmentDepthProviderMETA, xrStopEnvironmentDepthProviderMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_foveation_eye_tracked(3)
Name
XR_META_foveation_eye_tracked - instance extension
Specification
See XR_META_foveation_eye_tracked in the main specification for complete information.
Registered Extension Number
201
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_FOVEATION_CENTER_SIZE_META, XrFoveationEyeTrackedProfileCreateFlagBitsMETA, XrFoveationEyeTrackedProfileCreateFlagsMETA, XrFoveationEyeTrackedProfileCreateInfoMETA, XrFoveationEyeTrackedStateFlagBitsMETA, XrFoveationEyeTrackedStateFlagsMETA, XrFoveationEyeTrackedStateMETA, XrSystemFoveationEyeTrackedPropertiesMETA, xrGetFoveationEyeTrackedStateMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_hand_tracking_microgestures(3)
Name
XR_META_hand_tracking_microgestures - instance extension
Specification
See XR_META_hand_tracking_microgestures in the main specification for complete information.
Registered Extension Number
253
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_headset_id(3)
Name
XR_META_headset_id - instance extension
Specification
See XR_META_headset_id in the main specification for complete information.
Registered Extension Number
246
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_local_dimming(3)
Name
XR_META_local_dimming - instance extension
Specification
See XR_META_local_dimming in the main specification for complete information.
Registered Extension Number
217
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_passthrough_color_lut(3)
Name
XR_META_passthrough_color_lut - instance extension
Specification
See XR_META_passthrough_color_lut in the main specification for complete information.
Registered Extension Number
267
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrPassthroughColorLutCreateInfoMETA, XrPassthroughColorLutDataMETA, XrPassthroughColorLutUpdateInfoMETA, XrPassthroughColorMapInterpolatedLutMETA, XrPassthroughColorMapLutMETA, XrSystemPassthroughColorLutPropertiesMETA, xrCreatePassthroughColorLutMETA, xrDestroyPassthroughColorLutMETA, xrUpdatePassthroughColorLutMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_passthrough_layer_resumed_event(3)
Name
XR_META_passthrough_layer_resumed_event - instance extension
Specification
See XR_META_passthrough_layer_resumed_event in the main specification for complete information.
Registered Extension Number
283
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_passthrough_preferences(3)
Name
XR_META_passthrough_preferences - instance extension
Specification
See XR_META_passthrough_preferences in the main specification for complete information.
Registered Extension Number
218
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_performance_metrics(3)
Name
XR_META_performance_metrics - instance extension
Specification
See XR_META_performance_metrics in the main specification for complete information.
Registered Extension Number
233
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_recommended_layer_resolution(3)
Name
XR_META_recommended_layer_resolution - instance extension
Specification
See XR_META_recommended_layer_resolution in the main specification for complete information.
Registered Extension Number
255
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_simultaneous_hands_and_controllers(3)
Name
XR_META_simultaneous_hands_and_controllers - instance extension
Specification
See XR_META_simultaneous_hands_and_controllers in the main specification for complete information.
Registered Extension Number
533
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_spatial_entity_discovery(3)
Name
XR_META_spatial_entity_discovery - instance extension
Specification
See XR_META_spatial_entity_discovery in the main specification for complete information.
Registered Extension Number
248
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrEventDataSpaceDiscoveryCompleteMETA, XrEventDataSpaceDiscoveryResultsAvailableMETA, XrSpaceDiscoveryInfoMETA, XrSpaceDiscoveryResultMETA, XrSpaceDiscoveryResultsMETA, XrSpaceFilterBaseHeaderMETA, XrSpaceFilterComponentMETA, XrSpaceFilterUuidMETA, XrSystemSpaceDiscoveryPropertiesMETA, xrDiscoverSpacesMETA, xrRetrieveSpaceDiscoveryResultsMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_spatial_entity_group_sharing(3)
Name
XR_META_spatial_entity_group_sharing - instance extension
Specification
See XR_META_spatial_entity_group_sharing in the main specification for complete information.
Registered Extension Number
573
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_FB_spatial_entity_query -
Interacts with
XR_META_spatial_entity_sharing
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_spatial_entity_mesh(3)
Name
XR_META_spatial_entity_mesh - instance extension
Specification
See XR_META_spatial_entity_mesh in the main specification for complete information.
Registered Extension Number
270
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_spatial_entity_persistence(3)
Name
XR_META_spatial_entity_persistence - instance extension
Specification
See XR_META_spatial_entity_persistence in the main specification for complete information.
Registered Extension Number
260
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_spatial_entity_sharing(3)
Name
XR_META_spatial_entity_sharing - instance extension
Specification
See XR_META_spatial_entity_sharing in the main specification for complete information.
Registered Extension Number
291
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_touch_controller_plus(3)
Name
XR_META_touch_controller_plus - instance extension
Specification
See XR_META_touch_controller_plus in the main specification for complete information.
Registered Extension Number
280
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_virtual_keyboard(3)
Name
XR_META_virtual_keyboard - instance extension
Specification
See XR_META_virtual_keyboard in the main specification for complete information.
Registered Extension Number
220
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_VIRTUAL_KEYBOARD_COMMIT_TEXT_SIZE_META, XrEventDataVirtualKeyboardBackspaceMETA, XrEventDataVirtualKeyboardCommitTextMETA, XrEventDataVirtualKeyboardEnterMETA, XrEventDataVirtualKeyboardHiddenMETA, XrEventDataVirtualKeyboardShownMETA, XrSystemVirtualKeyboardPropertiesMETA, XrVirtualKeyboardAnimationStateMETA, XrVirtualKeyboardCreateInfoMETA, XrVirtualKeyboardInputInfoMETA, XrVirtualKeyboardInputSourceMETA, XrVirtualKeyboardLocationInfoMETA, XrVirtualKeyboardLocationTypeMETA, XrVirtualKeyboardModelAnimationStatesMETA, XrVirtualKeyboardModelVisibilitySetInfoMETA, XrVirtualKeyboardSpaceCreateInfoMETA, XrVirtualKeyboardTextContextChangeInfoMETA, XrVirtualKeyboardTextureDataMETA, xrChangeVirtualKeyboardTextContextMETA, xrCreateVirtualKeyboardMETA, xrCreateVirtualKeyboardSpaceMETA, xrDestroyVirtualKeyboardMETA, xrGetVirtualKeyboardDirtyTexturesMETA, xrGetVirtualKeyboardModelAnimationStatesMETA, xrGetVirtualKeyboardScaleMETA, xrGetVirtualKeyboardTextureDataMETA, xrSendVirtualKeyboardInputMETA, xrSetVirtualKeyboardModelVisibilityMETA, xrSuggestVirtualKeyboardLocationMETA
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_META_vulkan_swapchain_create_info(3)
Name
XR_META_vulkan_swapchain_create_info - instance extension
Specification
See XR_META_vulkan_swapchain_create_info in the main specification for complete information.
Registered Extension Number
228
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_compat(3)
Name
XR_ML_compat - instance extension
Specification
See XR_ML_compat in the main specification for complete information.
Registered Extension Number
138
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_facial_expression(3)
Name
XR_ML_facial_expression - instance extension
Specification
See XR_ML_facial_expression in the main specification for complete information.
Registered Extension Number
483
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrFacialBlendShapeML, XrFacialExpressionBlendShapeGetInfoML, XrFacialExpressionBlendShapePropertiesML, XrFacialExpressionClientCreateInfoML, XrFacialExpressionClientML, XrSystemFacialExpressionPropertiesML, xrCreateFacialExpressionClientML, xrDestroyFacialExpressionClientML, xrGetFacialExpressionBlendShapePropertiesML
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_frame_end_info(3)
Name
XR_ML_frame_end_info - instance extension
Specification
See XR_ML_frame_end_info in the main specification for complete information.
Registered Extension Number
136
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_global_dimmer(3)
Name
XR_ML_global_dimmer - instance extension
Specification
See XR_ML_global_dimmer in the main specification for complete information.
Registered Extension Number
137
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_localization_map(3)
Name
XR_ML_localization_map - instance extension
Specification
See XR_ML_localization_map in the main specification for complete information.
Registered Extension Number
140
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_LOCALIZATION_MAP_NAME_LENGTH_ML, XrEventDataLocalizationChangedML, XrLocalizationEnableEventsInfoML, XrLocalizationMapConfidenceML, XrLocalizationMapErrorFlagBitsML, XrLocalizationMapErrorFlagsML, XrLocalizationMapImportInfoML, XrLocalizationMapML, XrLocalizationMapQueryInfoBaseHeaderML, XrLocalizationMapStateML, XrLocalizationMapTypeML, XrMapLocalizationRequestInfoML, xrCreateExportedLocalizationMapML, xrDestroyExportedLocalizationMapML, xrEnableLocalizationEventsML, xrGetExportedLocalizationMapDataML, xrImportLocalizationMapML, xrQueryLocalizationMapsML, xrRequestMapLocalizationML
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_marker_understanding(3)
Name
XR_ML_marker_understanding - instance extension
Specification
See XR_ML_marker_understanding in the main specification for complete information.
Registered Extension Number
139
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrMarkerAprilTagDictML, XrMarkerArucoDictML, XrMarkerDetectorAprilTagInfoML, XrMarkerDetectorArucoInfoML, XrMarkerDetectorCameraML, XrMarkerDetectorCornerRefineMethodML, XrMarkerDetectorCreateInfoML, XrMarkerDetectorCustomProfileInfoML, XrMarkerDetectorFpsML, XrMarkerDetectorFullAnalysisIntervalML, XrMarkerDetectorML, XrMarkerDetectorProfileML, XrMarkerDetectorResolutionML, XrMarkerDetectorSizeInfoML, XrMarkerDetectorSnapshotInfoML, XrMarkerDetectorStateML, XrMarkerDetectorStatusML, XrMarkerML, XrMarkerSpaceCreateInfoML, XrMarkerTypeML, XrSystemMarkerUnderstandingPropertiesML, xrCreateMarkerDetectorML, xrCreateMarkerSpaceML, xrDestroyMarkerDetectorML, xrGetMarkerDetectorStateML, xrGetMarkerLengthML, xrGetMarkerNumberML, xrGetMarkerReprojectionErrorML, xrGetMarkerStringML, xrGetMarkersML, xrSnapshotMarkerDetectorML
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_ml2_controller_interaction(3)
Name
XR_ML_ml2_controller_interaction - instance extension
Specification
See XR_ML_ml2_controller_interaction in the main specification for complete information.
Registered Extension Number
135
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_spatial_anchors(3)
Name
XR_ML_spatial_anchors - instance extension
Specification
See XR_ML_spatial_anchors in the main specification for complete information.
Registered Extension Number
141
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_spatial_anchors_storage(3)
Name
XR_ML_spatial_anchors_storage - instance extension
Specification
See XR_ML_spatial_anchors_storage in the main specification for complete information.
Registered Extension Number
142
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrSpatialAnchorCompletionResultML, XrSpatialAnchorsCreateInfoFromUuidsML, XrSpatialAnchorsCreateStorageInfoML, XrSpatialAnchorsDeleteCompletionDetailsML, XrSpatialAnchorsDeleteCompletionML, XrSpatialAnchorsDeleteInfoML, XrSpatialAnchorsPublishCompletionDetailsML, XrSpatialAnchorsPublishCompletionML, XrSpatialAnchorsPublishInfoML, XrSpatialAnchorsQueryCompletionML, XrSpatialAnchorsQueryInfoBaseHeaderML, XrSpatialAnchorsQueryInfoRadiusML, XrSpatialAnchorsStorageML, XrSpatialAnchorsUpdateExpirationCompletionDetailsML, XrSpatialAnchorsUpdateExpirationCompletionML, XrSpatialAnchorsUpdateExpirationInfoML, xrCreateSpatialAnchorsStorageML, xrDeleteSpatialAnchorsAsyncML, xrDeleteSpatialAnchorsCompleteML, xrDestroySpatialAnchorsStorageML, xrPublishSpatialAnchorsAsyncML, xrPublishSpatialAnchorsCompleteML, xrQuerySpatialAnchorsAsyncML, xrQuerySpatialAnchorsCompleteML, xrUpdateSpatialAnchorsExpirationAsyncML, xrUpdateSpatialAnchorsExpirationCompleteML
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_system_notifications(3)
Name
XR_ML_system_notifications - instance extension
Specification
See XR_ML_system_notifications in the main specification for complete information.
Registered Extension Number
474
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_user_calibration(3)
Name
XR_ML_user_calibration - instance extension
Specification
See XR_ML_user_calibration in the main specification for complete information.
Registered Extension Number
473
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_view_configuration_depth_range_change(3)
Name
XR_ML_view_configuration_depth_range_change - instance extension
Specification
See XR_ML_view_configuration_depth_range_change in the main specification for complete information.
Registered Extension Number
484
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ML_world_mesh_detection(3)
Name
XR_ML_world_mesh_detection - instance extension
Specification
See XR_ML_world_mesh_detection in the main specification for complete information.
Registered Extension Number
475
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrWorldMeshBlockML, XrWorldMeshBlockRequestML, XrWorldMeshBlockResultML, XrWorldMeshBlockStateML, XrWorldMeshBlockStatusML, XrWorldMeshBufferML, XrWorldMeshBufferRecommendedSizeInfoML, XrWorldMeshBufferSizeML, XrWorldMeshDetectorCreateInfoML, XrWorldMeshDetectorFlagBitsML, XrWorldMeshDetectorFlagsML, XrWorldMeshDetectorLodML, XrWorldMeshDetectorML, XrWorldMeshGetInfoML, XrWorldMeshRequestCompletionInfoML, XrWorldMeshRequestCompletionML, XrWorldMeshStateRequestCompletionML, XrWorldMeshStateRequestInfoML, xrAllocateWorldMeshBufferML, xrCreateWorldMeshDetectorML, xrDestroyWorldMeshDetectorML, xrFreeWorldMeshBufferML, xrGetWorldMeshBufferRecommendSizeML, xrRequestWorldMeshAsyncML, xrRequestWorldMeshCompleteML, xrRequestWorldMeshStateAsyncML, xrRequestWorldMeshStateCompleteML
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MNDX_egl_enable(3)
Name
XR_MNDX_egl_enable - instance extension
Specification
See XR_MNDX_egl_enable in the main specification for complete information.
Registered Extension Number
49
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MNDX_force_feedback_curl(3)
Name
XR_MNDX_force_feedback_curl - instance extension
Specification
See XR_MNDX_force_feedback_curl in the main specification for complete information.
Registered Extension Number
376
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MND_headless(3)
Name
XR_MND_headless - instance extension
Specification
See XR_MND_headless in the main specification for complete information.
Registered Extension Number
43
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MND_swapchain_usage_input_attachment_bit(3)
Name
XR_MND_swapchain_usage_input_attachment_bit - instance extension
Specification
See XR_MND_swapchain_usage_input_attachment_bit in the main specification for complete information.
Registered Extension Number
97
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Deprecated by
XR_KHR_swapchain_usage_input_attachment_bitextension
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_composition_layer_reprojection(3)
Name
XR_MSFT_composition_layer_reprojection - instance extension
Specification
See XR_MSFT_composition_layer_reprojection in the main specification for complete information.
Registered Extension Number
67
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_controller_model(3)
Name
XR_MSFT_controller_model - instance extension
Specification
See XR_MSFT_controller_model in the main specification for complete information.
Registered Extension Number
56
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_CONTROLLER_MODEL_NODE_NAME_SIZE_MSFT, XR_NULL_CONTROLLER_MODEL_KEY_MSFT, XrControllerModelKeyMSFT, XrControllerModelKeyStateMSFT, XrControllerModelNodePropertiesMSFT, XrControllerModelNodeStateMSFT, XrControllerModelPropertiesMSFT, XrControllerModelStateMSFT, xrGetControllerModelKeyMSFT, xrGetControllerModelPropertiesMSFT, xrGetControllerModelStateMSFT, xrLoadControllerModelMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_first_person_observer(3)
Name
XR_MSFT_first_person_observer - instance extension
Specification
See XR_MSFT_first_person_observer in the main specification for complete information.
Registered Extension Number
55
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_hand_interaction(3)
Name
XR_MSFT_hand_interaction - instance extension
Specification
See XR_MSFT_hand_interaction in the main specification for complete information.
Registered Extension Number
51
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
Deprecation State
-
Promoted to
XR_EXT_hand_interactionextension
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_hand_tracking_mesh(3)
Name
XR_MSFT_hand_tracking_mesh - instance extension
Specification
See XR_MSFT_hand_tracking_mesh in the main specification for complete information.
Registered Extension Number
53
Revision
4
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_holographic_window_attachment(3)
Name
XR_MSFT_holographic_window_attachment - instance extension
Specification
See XR_MSFT_holographic_window_attachment in the main specification for complete information.
Registered Extension Number
64
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_perception_anchor_interop(3)
Name
XR_MSFT_perception_anchor_interop - instance extension
Specification
See XR_MSFT_perception_anchor_interop in the main specification for complete information.
Registered Extension Number
57
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_scene_marker(3)
Name
XR_MSFT_scene_marker - instance extension
Specification
See XR_MSFT_scene_marker in the main specification for complete information.
Registered Extension Number
148
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_scene_understanding(3)
Name
XR_MSFT_scene_understanding - instance extension
Specification
See XR_MSFT_scene_understanding in the main specification for complete information.
Registered Extension Number
98
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XrMeshComputeLodMSFT, XrNewSceneComputeInfoMSFT, XrSceneBoundsMSFT, XrSceneComponentLocationMSFT, XrSceneComponentLocationsMSFT, XrSceneComponentMSFT, XrSceneComponentParentFilterInfoMSFT, XrSceneComponentTypeMSFT, XrSceneComponentsGetInfoMSFT, XrSceneComponentsLocateInfoMSFT, XrSceneComponentsMSFT, XrSceneComputeConsistencyMSFT, XrSceneComputeFeatureMSFT, XrSceneComputeStateMSFT, XrSceneCreateInfoMSFT, XrSceneFrustumBoundMSFT, XrSceneMeshBuffersGetInfoMSFT, XrSceneMeshBuffersMSFT, XrSceneMeshIndicesUint16MSFT, XrSceneMeshIndicesUint32MSFT, XrSceneMeshMSFT, XrSceneMeshVertexBufferMSFT, XrSceneMeshesMSFT, XrSceneObjectMSFT, XrSceneObjectTypeMSFT, XrSceneObjectTypesFilterInfoMSFT, XrSceneObjectsMSFT, XrSceneObserverCreateInfoMSFT, XrSceneOrientedBoxBoundMSFT, XrScenePlaneAlignmentFilterInfoMSFT, XrScenePlaneAlignmentTypeMSFT, XrScenePlaneMSFT, XrScenePlanesMSFT, XrSceneSphereBoundMSFT, XrUuidMSFT, XrVisualMeshComputeLodInfoMSFT, xrComputeNewSceneMSFT, xrCreateSceneMSFT, xrCreateSceneObserverMSFT, xrDestroySceneMSFT, xrDestroySceneObserverMSFT, xrEnumerateSceneComputeFeaturesMSFT, xrGetSceneComponentsMSFT, xrGetSceneComputeStateMSFT, xrGetSceneMeshBuffersMSFT, xrLocateSceneComponentsMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_scene_understanding_serialization(3)
Name
XR_MSFT_scene_understanding_serialization - instance extension
Specification
See XR_MSFT_scene_understanding_serialization in the main specification for complete information.
Registered Extension Number
99
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_secondary_view_configuration(3)
Name
XR_MSFT_secondary_view_configuration - instance extension
Specification
See XR_MSFT_secondary_view_configuration in the main specification for complete information.
Registered Extension Number
54
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_spatial_anchor(3)
Name
XR_MSFT_spatial_anchor - instance extension
Specification
See XR_MSFT_spatial_anchor in the main specification for complete information.
Registered Extension Number
40
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_spatial_anchor_persistence(3)
Name
XR_MSFT_spatial_anchor_persistence - instance extension
Specification
See XR_MSFT_spatial_anchor_persistence in the main specification for complete information.
Registered Extension Number
143
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_MAX_SPATIAL_ANCHOR_NAME_SIZE_MSFT, XrSpatialAnchorFromPersistedAnchorCreateInfoMSFT, XrSpatialAnchorPersistenceInfoMSFT, XrSpatialAnchorPersistenceNameMSFT, XrSpatialAnchorStoreConnectionMSFT, xrClearSpatialAnchorStoreMSFT, xrCreateSpatialAnchorFromPersistedNameMSFT, xrCreateSpatialAnchorStoreConnectionMSFT, xrDestroySpatialAnchorStoreConnectionMSFT, xrEnumeratePersistedSpatialAnchorNamesMSFT, xrPersistSpatialAnchorMSFT, xrUnpersistSpatialAnchorMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_spatial_graph_bridge(3)
Name
XR_MSFT_spatial_graph_bridge - instance extension
Specification
See XR_MSFT_spatial_graph_bridge in the main specification for complete information.
Registered Extension Number
50
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
XR_GUID_SIZE_MSFT, XrSpatialGraphNodeBindingPropertiesGetInfoMSFT, XrSpatialGraphNodeBindingPropertiesMSFT, XrSpatialGraphNodeSpaceCreateInfoMSFT, XrSpatialGraphNodeTypeMSFT, XrSpatialGraphStaticNodeBindingCreateInfoMSFT, xrCreateSpatialGraphNodeSpaceMSFT, xrDestroySpatialGraphNodeBindingMSFT, xrGetSpatialGraphNodeBindingPropertiesMSFT, xrTryCreateSpatialGraphStaticNodeBindingMSFT
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MSFT_unbounded_reference_space(3)
Name
XR_MSFT_unbounded_reference_space - instance extension
Specification
See XR_MSFT_unbounded_reference_space in the main specification for complete information.
Registered Extension Number
39
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_OCULUS_android_session_state_enable(3)
Name
XR_OCULUS_android_session_state_enable - instance extension
Specification
See XR_OCULUS_android_session_state_enable in the main specification for complete information.
Registered Extension Number
45
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Deprecated without replacement
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_OCULUS_audio_device_guid(3)
Name
XR_OCULUS_audio_device_guid - instance extension
Specification
See XR_OCULUS_audio_device_guid in the main specification for complete information.
Registered Extension Number
160
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_OCULUS_external_camera(3)
Name
XR_OCULUS_external_camera - instance extension
Specification
See XR_OCULUS_external_camera in the main specification for complete information.
Registered Extension Number
227
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_OPPO_controller_interaction(3)
Name
XR_OPPO_controller_interaction - instance extension
Specification
See XR_OPPO_controller_interaction in the main specification for complete information.
Registered Extension Number
454
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_QCOM_tracking_optimization_settings(3)
Name
XR_QCOM_tracking_optimization_settings - instance extension
Specification
See XR_QCOM_tracking_optimization_settings in the main specification for complete information.
Registered Extension Number
307
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_ULTRALEAP_hand_tracking_forearm(3)
Name
XR_ULTRALEAP_hand_tracking_forearm - instance extension
Specification
See XR_ULTRALEAP_hand_tracking_forearm in the main specification for complete information.
Registered Extension Number
150
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VALVE_analog_threshold(3)
Name
XR_VALVE_analog_threshold - instance extension
Specification
See XR_VALVE_analog_threshold in the main specification for complete information.
Registered Extension Number
80
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_composition_layer_depth_test(3)
Name
XR_VARJO_composition_layer_depth_test - instance extension
Specification
See XR_VARJO_composition_layer_depth_test in the main specification for complete information.
Registered Extension Number
123
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_environment_depth_estimation(3)
Name
XR_VARJO_environment_depth_estimation - instance extension
Specification
See XR_VARJO_environment_depth_estimation in the main specification for complete information.
Registered Extension Number
124
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_foveated_rendering(3)
Name
XR_VARJO_foveated_rendering - instance extension
Specification
See XR_VARJO_foveated_rendering in the main specification for complete information.
Registered Extension Number
122
Revision
3
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_marker_tracking(3)
Name
XR_VARJO_marker_tracking - instance extension
Specification
See XR_VARJO_marker_tracking in the main specification for complete information.
Registered Extension Number
125
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_quad_views(3)
Name
XR_VARJO_quad_views - instance extension
Specification
See XR_VARJO_quad_views in the main specification for complete information.
Registered Extension Number
38
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
Deprecation State
-
Promoted to OpenXR 1.1
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_view_offset(3)
Name
XR_VARJO_view_offset - instance extension
Specification
See XR_VARJO_view_offset in the main specification for complete information.
Registered Extension Number
126
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
See Also
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VARJO_xr4_controller_interaction(3)
Name
XR_VARJO_xr4_controller_interaction - instance extension
Specification
See XR_VARJO_xr4_controller_interaction in the main specification for complete information.
Registered Extension Number
130
Revision
2
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_YVR_controller_interaction(3)
Name
XR_YVR_controller_interaction - instance extension
Specification
See XR_YVR_controller_interaction in the main specification for complete information.
Registered Extension Number
498
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
API Interactions
-
Interacts with
XR_EXT_dpad_binding -
Interacts with
XR_EXT_hand_interaction -
Interacts with
XR_EXT_palm_pose
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright 2014-2025 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.