Copyright
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Commands
xrAcquireSwapchainImage(3)
Name
xrAcquireSwapchainImage - Acquire a swapchain image
C Specification
The xrAcquireSwapchainImage function is defined as:
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 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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
XrResult xrApplyHapticFeedback(
XrSession session,
const XrHapticActionInfo* hapticActionInfo,
const XrHapticBaseHeader* hapticFeedback);
Parameters
Description
Triggers a haptic event through the specified action of type
XR_TYPE_HAPTIC_VIBRATION
.
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 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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
XrResult xrAttachSessionActionSets(
XrSession session,
const XrSessionActionSetsAttachInfo* attachInfo);
Parameters
Description
xrAttachSessionActionSets attaches the XrActionSet handles in
attachInfo.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.
The runtime must return XR_ERROR_ACTIONSETS_ALREADY_ATTACHED
if
xrAttachSessionActionSets is called more than once for a given
session
.
The runtime must return XR_ERROR_ACTIONSET_NOT_ATTACHED
for any
action created after xrAttachSessionActionSets is called for a given
session
if that handle is used with any call for 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
Copyright (c) 2014-2020 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:
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
.
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.
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
Copyright (c) 2014-2020 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:
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 an
XrFrameState with 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.
If primaryViewConfigurationType
in beginInfo
is not supported by
the XrSystemId
used to create the session
, the runtime must
return XR_ERROR_VIEW_CONFIGURATION_TYPE_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
Copyright (c) 2014-2020 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:
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 unixTime
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
Copyright (c) 2014-2020 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:
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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 unixTime
, 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
Copyright (c) 2014-2020 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:
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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 XrAction handle.
The runtime must return XR_ERROR_ACTION_TYPE_MISMATCH
if the action
provided in 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
Copyright (c) 2014-2020 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
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
createInfo
->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
Copyright (c) 2014-2020 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.
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
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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
supportsHandTracking
in XrSystemHandTrackingPropertiesEXT when
the function xrGetSystemProperties is called, so that the application
can avoid creating a 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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrCreateSpatialAnchorFromPerceptionAnchorMSFT(3)
Name
xrCreateSpatialAnchorFromPerceptionAnchorMSFT - Create a XrSpatialAnchorMSFT from a Windows SpatialAnchor pointer
C Specification
The xrCreateSpatialAnchorFromPerceptionAnchorMSFT function creates a
XrSpatialAnchorMSFT handle from an IUnknown
pointer to
Windows.Perception.Spatial.SpatialAnchor.
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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 pose
within space
at time
.
If 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 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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
XrResult xrCreateSpatialGraphNodeSpaceMSFT(
XrSession session,
const XrSpatialGraphNodeSpaceCreateInfoMSFT* createInfo,
XrSpace* space);
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
Copyright (c) 2014-2020 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:
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 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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 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:
XrResult xrDestroyInstance(
XrInstance instance);
Parameters
The xrDestroyInstance function is used to destroy an XrInstance.
Description
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
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrDestroySpace(3)
Name
xrDestroySpace - Creates a space based on a pose action
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).
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
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.
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
XrFrameEndInfo::environmentBlendMode is not supported.
XR_ERROR_SESSION_NOT_RUNNING
must be returned if the session
is not running.
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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEndSession(3)
Name
xrEndSession - Ends an XrSession
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
XrResult xrEnumerateInstanceExtensionProperties(
const char* layerName,
uint32_t propertyCapacityInput,
uint32_t* propertyCountOutput,
XrExtensionProperties* properties);
Parameters
Description
If properties
is NULL
, then the number of extensions properties
available is returned in propertyCountOutput
.
Otherwise, propertyCountInput
must point to a variable set by the user
to the number of elements in the properties
array.
If propertyCountInput
is less than the number of extension properties
available, the contents of properties
will be undefined.
If propertyCountInput
is smaller than the number of extensions
available, the runtime must return the failure code
XR_ERROR_SIZE_INSUFFICIENT
and the contents of properties
are
undefined.
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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 in
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.
With an OpenGL-based graphics API, the texture formats correspond to OpenGL internal formats.
With a Direct3D-based graphics API, xrEnumerateSwapchainFormats never
returns typeless formats (e.g. DXGI_FORMAT_R8G8B8A8_TYPELESS
).
Only concrete formats are returned, and only concrete formats may be
specified by applications for swapchain creation.
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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
XrResult xrGetControllerModelKeyMSFT(
XrSession session,
XrPath topLevelUserPath,
XrControllerModelKeyStateMSFT* controllerModelKeyState);
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
Copyright (c) 2014-2020 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
.
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
.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 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:
XrResult xrGetCurrentInteractionProfile(
XrSession session,
XrPath topLevelUserPath,
XrInteractionProfileState* interactionProfile);
Parameters
Description
xrGetCurrentInteractionProfile asks the runtime for the active interaction profiles for a top level user path.
The runtime must return only interaction profiles for which the application has provided bindings with xrSuggestInteractionProfileBindings. 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 the last-known interaction profile in the event that no controllers are active.
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 device input subpaths described
in section /user paths, 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
Copyright (c) 2014-2020 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
To retrieve the D3D11 feature level and graphics device for an instance and system, call:
XrResult xrGetD3D11GraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsD3D11KHR* graphicsRequirements);
Parameters
Description
The xrGetD3D11GraphicsRequirementsKHR function identifies to the
application what graphics device (Windows LUID) needs 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 should be used to create the ID3D11Device
that the application
passes to xrCreateSession in the XrGraphicsBindingD3D11KHR.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
To retrieve the D3D12 feature level and graphics device for an instance and system, call:
XrResult xrGetD3D12GraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsD3D12KHR* graphicsRequirements);
Parameters
Description
The xrGetD3D12GraphicsRequirementsKHR function identifies to the
application what graphics device (Windows LUID) needs 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 should be used to create the ID3D12Device
that the application
passes to xrCreateSession in the XrGraphicsBindingD3D12KHR.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
XrResult xrGetDisplayRefreshRateFB(
XrSession session,
float* displayRefreshRate);
Parameters
Description
xrGetDisplayRefreshRateFB retrieves the current display refresh 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
Copyright (c) 2014-2020 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:
XrResult xrGetInputSourceLocalizedName(
XrSession session,
const XrInputSourceLocalizedNameGetInfo* getInfo,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
xrGetInputSourceLocalizedName returns a string for the input 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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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 returns 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 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
instance
or 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
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 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
To query OpenGL ES API version requirements for an instance and system, call:
XrResult xrGetOpenGLESGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsOpenGLESKHR* graphicsRequirements);
Parameters
Description
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
Copyright (c) 2014-2020 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
To query OpenGL API version requirements for an instance and system, call:
XrResult xrGetOpenGLGraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsOpenGLKHR* graphicsRequirements);
Parameters
Description
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
XR systems may have limited real world spatial ranges in which users can freely move around while remaining tracked. Applications may 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 may support boundaries.
If a runtime is unable to provide bounds for a given space,
XR_SPACE_BOUNDS_UNAVAILABLE
will be returned and all fields of
bounds
will 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 createInfo
is not supported by
this session
.
When a runtime will begin operating with updated space bounds, the runtime must queue a corresponding XrEventDataReferenceSpaceChangePending event.
XrResult xrGetReferenceSpaceBoundsRect(
XrSession session,
XrReferenceSpaceType referenceSpaceType,
XrExtent2Df* bounds);
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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 vertexCapacityInput
or
indexCapacityInput
is 0
, the runtime must respond as if both fields
were set to 0
, returning the vertex count and index count through
vertexCountOutput
or indexCountOutput
respectively.
If a view mask for the specified view isn’t available, the returned vertex
and index counts must be 0
.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
XrResult xrGetVulkanDeviceExtensionsKHR(
XrInstance instance,
XrSystemId systemId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* 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
Copyright (c) 2014-2020 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
XrResult xrGetVulkanGraphicsDevice2KHR(
XrInstance instance,
const XrVulkanGraphicsDeviceGetInfoKHR* getInfo,
VkPhysicalDevice* vulkanPhysicalDevice);
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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
To query Vulkan API version requirements, call:
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
XrResult xrGetVulkanInstanceExtensionsKHR(
XrInstance instance,
XrSystemId systemId,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* 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
Copyright (c) 2014-2020 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:
XrResult xrInitializeLoaderKHR(
const XrLoaderInitInfoBaseHeaderKHR* loaderInitInfo);
Parameters
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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://github.com/KhronosGroup/glTF/tree/master/specification/2.0.
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 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.
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://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#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 position
and
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.
The runtime should return a location with
XR_SPACE_LOCATION_POSITION_VALID_BIT
set and
XR_SPACE_LOCATION_POSITION_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 make use of the runtime’s latest knowledge of
the world, even during tracking loss.
If an XrSpaceVelocity structure is chained to the next
pointer
of XrSpaceLocation 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
next
pointer of XrSpaceLocation 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
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrPerfSettingsSetPerformanceLevelEXT(3)
Name
xrPerfSettingsSetPerformanceLevelEXT - xrPerfSettingsSetPerformanceLevelEXT
C Specification
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
Copyright (c) 2014-2020 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
XrResult xrPollEvent(
XrInstance instance,
XrEventDataBuffer* eventData);
Parameters
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
.
Description
The runtime must discard queued events which contain destroyed or otherwise invalid handles.
Event | Description |
---|---|
event queue has overflowed and some events were lost |
|
application is about to lose the instance |
|
active input form factor for one or more top level user paths has changed |
|
runtime will begin operating with updated space bounds |
|
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
The xrRequestExitSession function is defined as:
XrResult xrRequestExitSession(
XrSession session);
Parameters
Description
An application can only call xrEndSession when the session is in the
XR_SESSION_STATE_STOPPING
state, which allows runtimes to seamlessly
transition from one application’s session to another.
When an application wishes to exit a running session,
the application can call xrRequestExitSession, requesting that the
runtime transition through the various intermediate session states including
XR_SESSION_STATE_STOPPING
to XR_SESSION_STATE_EXITING
.
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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:
XrResult xrSetAndroidApplicationThreadKHR(
XrSession session,
XrAndroidThreadTypeKHR threadType,
uint32_t threadId);
Parameters
Description
xrSetAndroidApplicationThreadKHR allows to declare an XR-critical thread and to classify 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
Copyright (c) 2014-2020 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:
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.
Facebook 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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
XrResult xrSetInputDeviceActiveEXT(
XrSession session,
XrPath interactionProfile,
XrPath topLevelPath,
XrBool32 isActive);
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
Copyright (c) 2014-2020 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
XrResult xrSetInputDeviceLocationEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
XrSpace space,
XrPosef pose);
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
Copyright (c) 2014-2020 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
XrResult xrSetInputDeviceStateBoolEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
XrBool32 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
Copyright (c) 2014-2020 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
XrResult xrSetInputDeviceStateFloatEXT(
XrSession session,
XrPath topLevelPath,
XrPath inputSourcePath,
float 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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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 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.
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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:
XrResult xrSuggestInteractionProfileBindings(
XrInstance instance,
const XrInteractionProfileSuggestedBinding* suggestedBindings);
Parameters
Description
xrSuggestInteractionProfileBindings sets an interaction profile for which the application can provide default bindings. 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
Device input subpaths, the runtime must return
XR_ERROR_PATH_UNSUPPORTED
.
If the interaction profile or input source 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
Copyright (c) 2014-2020 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:
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
syncInfo.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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrThermalGetTemperatureTrendEXT(3)
Name
xrThermalGetTemperatureTrendEXT - xrThermalGetTemperatureTrendEXT
C Specification
XrResult xrThermalGetTemperatureTrendEXT(
XrSession session,
XrPerfSettingsDomainEXT domain,
XrPerfSettingsNotificationLevelEXT* notificationLevel,
float* tempHeadroom,
float* tempSlope);
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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT(3)
Name
xrTryGetPerceptionAnchorFromSpatialAnchorMSFT - Convert a XrSpatialAnchorMSFT to a Windows SpatialAnchor
C Specification
The xrTryGetPerceptionAnchorFromSpatialAnchorMSFT function converts a
XrSpatialAnchorMSFT handle into an IUnknown
pointer to
Windows.Perception.Spatial.SpatialAnchor.
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
.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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 maxHandMeshIndexCount
and
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 indexBufferChanged
and
vertexBufferChanged
in XrHandMeshMSFT to detect changes and
avoid unnecessary data processing when there is no changes.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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. An application must eventually match each xrWaitFrame call with one call to xrBeginFrame. 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. 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
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
Copyright (c) 2014-2020 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:
XrResult xrWaitSwapchainImage(
XrSwapchain swapchain,
const XrSwapchainImageWaitInfo* waitInfo);
Parameters
Description
Before an application can begin 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, it must be released 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 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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. They are enabled or disabled by the application via xrSyncActions depending on the current application context. For example, a game may have one set of actions that apply to controlling a character and another set for navigating a menu system. When these actions are grouped into two XrActionSet handles they can be selectively enabled and disabled using a single function 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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 accurate fidelity to the user’s actual hand shape. 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 holding the controller. This input can be used to render the hand shape together with rendering the controller in the hand.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
XrInstanceCreateInfo, XrInstanceProperties, xrConvertTimeToTimespecTimeKHR, xrConvertTimeToWin32PerformanceCounterKHR, xrConvertTimespecTimeToTimeKHR, xrConvertWin32PerformanceCounterToTimeKHR, xrCreateActionSet, xrCreateDebugUtilsMessengerEXT, xrCreateInstance, xrCreateSession, xrCreateVulkanDeviceKHR, xrCreateVulkanInstanceKHR, xrDestroyInstance, xrEnumerateEnvironmentBlendModes, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrGetD3D11GraphicsRequirementsKHR, xrGetD3D12GraphicsRequirementsKHR, xrGetInstanceProcAddr, xrGetInstanceProperties, xrGetOpenGLESGraphicsRequirementsKHR, xrGetOpenGLGraphicsRequirementsKHR, xrGetSystem, xrGetSystemProperties, xrGetViewConfigurationProperties, xrGetVulkanDeviceExtensionsKHR, xrGetVulkanGraphicsDevice2KHR, xrGetVulkanGraphicsDeviceKHR, xrGetVulkanGraphicsRequirements2KHR, xrGetVulkanGraphicsRequirementsKHR, xrGetVulkanInstanceExtensionsKHR, xrPathToString, xrPollEvent, xrResultToString, xrSetDebugUtilsObjectNameEXT, xrStringToPath, xrStructureTypeToString, 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
Copyright (c) 2014-2020 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.
First, the application creates a session by choosing a system
and a graphics API and calling xrCreateSession, which creates a
session in the XR_SESSION_STATE_IDLE
state.
The application then sets up an xrPollEvent loop to monitor for
session state changes delivered through the
XrEventDataSessionStateChanged event.
When the runtime determines that the system is ready to start transitioning
to this session’s XR content, it notifies the application that its session
has moved into the XR_SESSION_STATE_READY
state.
When the application is ready to proceed and display its XR content, it
calls xrBeginSession and starts its frame loop,
which starts its session running.
While the session is running, the application is expected to continuously
run its frame loop by calling xrWaitFrame, xrBeginFrame and
xrEndFrame each frame, to establish synchronization with the runtime.
Once the runtime is synchronized with the application’s frame loop and ready
to display its frames, the session will move into the
XR_SESSION_STATE_SYNCHRONIZED
state.
For frames where xrWaitFrame returns an XrFrameState with
shouldRender
set to true, the application should render its
composition layers and submit them to xrEndFrame.
If the application desires to leave a running session, it should call the
xrRequestExitSession function to request that the runtime transition
its session to the XR_SESSION_STATE_STOPPING
state as soon as
possible.
Once the application reaches the XR_SESSION_STATE_STOPPING
state, it
can call xrEndSession to stop the XR session, after which the session
will transition through XR_SESSION_STATE_IDLE
to the
XR_SESSION_STATE_EXITING
state.
A session is considered running after a successful
call to xrBeginSession and remains running until any call is made to
xrEndSession.
Certain functions are only valid to call when a session is running, such as
xrWaitFrame, or else the XR_ERROR_SESSION_NOT_RUNNING
error
must be returned by the runtime.
A session is considered not running before a
successful call to xrBeginSession and becomes not running again after
any call is made to xrEndSession.
Certain functions are only valid to call when a session is not running, such
as xrBeginSession, or else the XR_ERROR_SESSION_RUNNING
error
must be returned by the runtime.
If an error is returned from xrBeginSession, the session remains in its current running or not running state. Calling xrEndSession always transitions a session to the not running state, regardless of any errors returned.
Only running sessions may become focused sessions that receive XR input. When a session is not running, the application must not submit frames. This is important because without a running session, the runtime no longer has to spend resources on sub-systems (tracking etc.) that are no longer needed by the application.
See Also
XrEventDataInteractionProfileChanged, XrEventDataReferenceSpaceChangePending, XrEventDataSessionStateChanged, XrEventDataVisibilityMaskChangedKHR, xrApplyHapticFeedback, xrAttachSessionActionSets, xrBeginFrame, xrBeginSession, xrCreateActionSpace, xrCreateHandTrackerEXT, xrCreateReferenceSpace, xrCreateSession, xrCreateSpatialAnchorFromPerceptionAnchorMSFT, xrCreateSpatialAnchorMSFT, xrCreateSpatialAnchorSpaceMSFT, xrCreateSpatialGraphNodeSpaceMSFT, xrCreateSwapchain, xrCreateSwapchainAndroidSurfaceKHR, xrDestroySession, xrEndFrame, xrEndSession, xrEnumerateBoundSourcesForAction, xrEnumerateColorSpacesFB, xrEnumerateDisplayRefreshRatesFB, xrEnumerateReferenceSpaces, xrEnumerateSwapchainFormats, xrGetActionStateBoolean, xrGetActionStateFloat, xrGetActionStatePose, xrGetActionStateVector2f, xrGetControllerModelKeyMSFT, xrGetControllerModelPropertiesMSFT, xrGetControllerModelStateMSFT, xrGetCurrentInteractionProfile, xrGetDisplayRefreshRateFB, xrGetInputSourceLocalizedName, xrGetReferenceSpaceBoundsRect, xrGetVisibilityMaskKHR, xrLoadControllerModelMSFT, xrLocateViews, xrPerfSettingsSetPerformanceLevelEXT, xrRequestDisplayRefreshRateFB, xrRequestExitSession, xrSessionBeginDebugUtilsLabelRegionEXT, xrSessionEndDebugUtilsLabelRegionEXT, xrSessionInsertDebugUtilsLabelEXT, xrSetAndroidApplicationThreadKHR, xrSetColorSpaceFB, xrSetInputDeviceActiveEXT, xrSetInputDeviceLocationEXT, xrSetInputDeviceStateBoolEXT, xrSetInputDeviceStateFloatEXT, xrSetInputDeviceStateVector2fEXT, xrStopHapticFeedback, xrSyncActions, xrThermalGetTemperatureTrendEXT, xrTryGetPerceptionAnchorFromSpatialAnchorMSFT, 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
Copyright (c) 2014-2020 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
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
XrActionSpaceCreateInfo, XrCompositionLayerBaseHeader, XrCompositionLayerCubeKHR, XrCompositionLayerCylinderKHR, XrCompositionLayerEquirect2KHR, XrCompositionLayerEquirectKHR, XrCompositionLayerProjection, XrCompositionLayerQuad, XrHandJointsLocateInfoEXT, XrReferenceSpaceCreateInfo, XrSpatialAnchorCreateInfoMSFT, XrViewLocateInfo, xrCreateActionSpace, xrCreateHandMeshSpaceMSFT, xrCreateReferenceSpace, xrCreateSpatialAnchorSpaceMSFT, xrCreateSpatialGraphNodeSpaceMSFT, xrDestroySpace, xrLocateSpace, 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Normal XR applications will want to present rendered images to the user. To allow this, the runtime provides images organized in swapchains for the application to render into. The runtime must allow applications to create multiple swapchains.
Swapchain image format support by the runtime is specified by the
xrEnumerateSwapchainFormats function.
Runtimes should support R8G8B8A8
and R8G8B8A8
sRGB
formats
if possible.
Swapchain images can be 2D or 2D Array.
Rendering operations involving composition of submitted layers should be
assumed to be internally performed by the runtime in linear color space.
Images submitted in sRGB color space must be created using an API-specific
sRGB format (e.g. DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
,
GL_SRGB8_ALPHA8
, VK_FORMAT_R8G8B8A8_SRGB
) to apply automatic
sRGB-to-linear conversion when read by the runtime.
All other formats will be treated as linear values.
Note
OpenXR applications should avoid submitting linear encoded 8 bit color data
(e.g. 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
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
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
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 |
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrBindingModificationBaseHeaderKHR {
XrStructureType type;
const void* next;
} XrBindingModificationBaseHeaderKHR;
Members
Description
The XrBindingModificationBaseHeaderKHR is a base structure is
overridden by XrBindingModification*
child structures.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrBindingModificationsKHR {
XrStructureType type;
const void* next;
uint32_t bindingModificationCount;
const XrBindingModificationBaseHeaderKHR* const* bindingModifications;
} XrBindingModificationsKHR;
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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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 buffers 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:
typedef struct XrCompositionLayerDepthInfoKHR {
XrStructureType type;
const void* next;
XrSwapchainSubImage subImage;
float minDepth;
float maxDepth;
float nearZ;
float farZ;
} XrCompositionLayerDepthInfoKHR;
Members
Description
XrCompositionLayerDepthInfoKHR contains the information needed to
specify an extra layer with depth information.
When submitting depth buffers along with projection layers, add the
XrCompositionLayerDepthInfoKHR to the next
chain for all
XrCompositionLayerProjectionView structures in the given 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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
typedef struct XrCompositionLayerProjection {
XrStructureType type;
const void* next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
uint32_t viewCount;
const XrCompositionLayerProjectionView* views;
} XrCompositionLayerProjection;
Members
Description
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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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 parentName
that
doesn’t match any gltTF 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
Copyright (c) 2014-2020 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.
typedef struct XrControllerModelNodeStateMSFT {
XrStructureType type;
void* next;
XrPosef nodePose;
} XrControllerModelNodeStateMSFT;
Members
Description
The state is corresponding to the glTF node identified by the nodeName
and nodeParentName
of the node property at the same array index in the
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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
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
Copyright (c) 2014-2020 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.
typedef struct XrControllerModelStateMSFT {
XrStructureType type;
void* next;
uint32_t nodeCapacityInput;
uint32_t nodeCountOutput;
XrControllerModelNodeStateMSFT* nodeStates;
} XrControllerModelStateMSFT;
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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
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
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
Copyright (c) 2014-2020 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
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::
messageSeverities
provided 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::
messageTypes
provided 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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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:
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 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
Copyright (c) 2014-2020 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
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.
It is sufficient to clear the type
and next
parameters of an
XrEventDataBuffer when passing it as an input to xrPollEvent.
An XrEventDataBuffer may be type-cast to an
XrEventDataBaseHeader pointer or a pointer to any other appropriate
event data based on the type
parameter.
typedef struct XrEventDataBuffer {
XrStructureType type;
const void* next;
uint8_t varying[4000];
} XrEventDataBuffer;
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
Copyright (c) 2014-2020 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:
typedef struct XrEventDataDisplayRefreshRateChangedFB {
XrStructureType type;
const void* next;
float fromDisplayRefreshRate;
float toDisplayRefreshRate;
} XrEventDataDisplayRefreshRateChangedFB;
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
Copyright (c) 2014-2020 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:
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
typedef struct XrEventDataInstanceLossPending {
XrStructureType type;
const void* next;
XrTime lossTime;
} XrEventDataInstanceLossPending;
Members
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.
Description
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_INSTANCE_LOST
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
Copyright (c) 2014-2020 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:
typedef struct XrEventDataInteractionProfileChanged {
XrStructureType type;
const void* next;
XrSession session;
} XrEventDataInteractionProfileChanged;
Members
Description
The XrEventDataInteractionProfileChanged event is sent to the application to notify it that the active input form factor 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 sent for running sessions.
The application can call xrGetCurrentInteractionProfile if it wants to change its own behavior based on the active hardware.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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
typedef struct XrEventDataMainSessionVisibilityChangedEXTX {
XrStructureType type;
const void* next;
XrBool32 visible;
XrOverlayMainSessionFlagsEXTX flags;
} XrEventDataMainSessionVisibilityChangedEXTX;
Members
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
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XR_KHR_composition_layer_depth extension.
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
Copyright (c) 2014-2020 The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataPerfSettingsEXT(3)
Name
XrEventDataPerfSettingsEXT - XrEventDataPerfSettingsEXT
C Specification
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
Copyright (c) 2014-2020 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 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
displayTime
of future frames to avoid threshold issues with
applications that calculate future frame times using displayPeriod
.
The pose
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.
typedef struct XrEventDataReferenceSpaceChangePending {
XrStructureType type;
const void* next;
XrSession session;
XrReferenceSpaceType referenceSpaceType;
XrTime changeTime;
XrBool32 poseValid;
XrPosef poseInPreviousSpace;
} XrEventDataReferenceSpaceChangePending;
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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 specifies an event which indicates that a given view 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 sent to the application, one per view.
typedef struct XrEventDataVisibilityMaskChangedKHR {
XrStructureType type;
const void* next;
XrSession session;
XrViewConfigurationType viewConfigurationType;
uint32_t viewIndex;
} XrEventDataVisibilityMaskChangedKHR;
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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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:
typedef struct XrExtent2Df {
float width;
float height;
} XrExtent2Df;
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.
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
Copyright (c) 2014-2020 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 must be used instead.
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
Copyright (c) 2014-2020 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
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
Copyright (c) 2014-2020 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.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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
Copyright (c) 2014-2020 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 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
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingD3D11KHR {
XrStructureType type;
const void* next;
ID3D11Device* device;
} XrGraphicsBindingD3D11KHR;
Members
Description
When creating a D3D11-backed XrSession, the application will provide a
pointer to an XrGraphicsBindingD3D11KHR in the next
chain of the
XrSessionCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingD3D12KHR {
XrStructureType type;
const void* next;
ID3D12Device* device;
ID3D12CommandQueue* queue;
} XrGraphicsBindingD3D12KHR;
Members
Description
When creating a D3D12-backed XrSession, the application will provide a
pointer to an XrGraphicsBindingD3D12KHR in the next
chain of the
XrSessionCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingEGLMNDX {
XrStructureType type;
const void* next;
PFNEGLGETPROCADDRESSPROC 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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingOpenGLESAndroidKHR {
XrStructureType type;
const void* next;
EGLDisplay display;
EGLConfig config;
EGLContext context;
} XrGraphicsBindingOpenGLESAndroidKHR;
Members
Description
When creating an OpenGL ES-backed XrSession on Android, the
application will provide a pointer to an
XrGraphicsBindingOpenGLESAndroidKHR structure in the next
chain
of the XrSessionCreateInfo.
The required window system configuration define to expose this structure type is XR_USE_PLATFORM_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
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingOpenGLWaylandKHR {
XrStructureType type;
const void* next;
struct wl_display* display;
} XrGraphicsBindingOpenGLWaylandKHR;
Members
Description
When creating an OpenGL-backed XrSession on any Linux/Unix platform
that utilizes the Wayland protocol with its compositor, the application will
provide a pointer to an XrGraphicsBindingOpenGLWaylandKHR in the
next
chain of the XrSessionCreateInfo.
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
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingOpenGLWin32KHR {
XrStructureType type;
const void* next;
HDC hDC;
HGLRC hGLRC;
} XrGraphicsBindingOpenGLWin32KHR;
Members
Description
When creating an OpenGL-backed XrSession on Microsoft Windows, the
application will provide a pointer to an
XrGraphicsBindingOpenGLWin32KHR in the next
chain of the
XrSessionCreateInfo.
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 systems default GPU.
If the GPU used by the runtime does not match the GPU on which the OpenGL
context of the application got created, xrCreateSession must return
XR_ERROR_GRAPHICS_DEVICE_INVALID
.
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
Copyright (c) 2014-2020 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:
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
When creating an OpenGL-backed XrSession on any Linux/Unix platform
that utilizes X11 and GLX, via the Xlib library, the application will
provide a pointer to an XrGraphicsBindingOpenGLXcbKHR in the next
chain of the XrSessionCreateInfo.
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
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingOpenGLXlibKHR {
XrStructureType type;
const void* next;
Display* xDisplay;
uint32_t visualid;
GLXFBConfig glxFBConfig;
GLXDrawable glxDrawable;
GLXContext glxContext;
} XrGraphicsBindingOpenGLXlibKHR;
Members
Description
When creating an OpenGL-backed XrSession on any Linux/Unix platform
that utilizes X11 and GLX, via the Xlib library, the application will
provide a pointer to an XrGraphicsBindingOpenGLXlibKHR in the next
chain of the XrSessionCreateInfo.
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
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsBindingVulkanKHR {
XrStructureType type;
const void* next;
VkInstance instance;
VkPhysicalDevice physicalDevice;
VkDevice device;
uint32_t queueFamilyIndex;
uint32_t queueIndex;
} XrGraphicsBindingVulkanKHR;
Members
Description
When creating a Vulkan-backed XrSession, the application will provide
a pointer to an XrGraphicsBindingVulkanKHR in the next
chain of the
XrSessionCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsRequirementsD3D11KHR {
XrStructureType type;
void* next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D11KHR;
Members
Description
XrGraphicsRequirementsD3D11KHR is populated by xrGetD3D11GraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
typedef struct XrGraphicsRequirementsD3D12KHR {
XrStructureType type;
void* next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D12KHR;
Members
Description
XrGraphicsRequirementsD3D12KHR is populated by xrGetD3D12GraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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:
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
Copyright (c) 2014-2020 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.
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.
See Also
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright
Copyright (c) 2014-2020 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.
typedef struct XrHandJointLocationsEXT {
XrStructureType type;
void* next;
XrBool32 isActive;