Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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(
XrAction hapticAction,
uint32_t countSubactionPaths,
const XrPath* subactionPaths,
const XrHapticBaseHeader* hapticEvent);
Parameters
Description
Triggers a haptic event through the specified action of type XR_TYPE_ACTION_STATE_POSE
.
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.
See XrActionCreateInfo for a description of subaction paths, and the restrictions on their use.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 the start of frame rendering.
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 may return the success code XR_SESSION_VISIBILITY_UNAVAILABLE
if it determines that the current frame
will not be visible. In this case the application may elect to omit rendering work for the frame, but should still call xrEndFrame.
The runtime must consider the frame in-progress and ready for an xrEndFrame call if a success code is returned.
The runtime must return XR_ERROR_SESSION_NOT_RUNNING
if session
is not in the XR_SESSION_STATE_RUNNING
,
XR_SESSION_STATE_VISIBLE
or XR_SESSION_STATE_FOCUSED
XrSessionState.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 an app begins a session, it is requesting that the runtime show its rendered output to the user.
Note that a runtime may decide not to show a given session’s output to the user at any time,
for example if the user has switched to a different app’s running session.
If the session is
running but the runtime does not make the session visible, XR_SESSION_VISIBILITY_UNAVAILABLE
must be returned.
The app should use the XrEventDataSessionStateChanged event to determine
when this session is visible to the user and is focused to receive input.
If primaryViewConfigurationType
in beginInfo
is not supported by the XrInstance that created session
the runtime must return XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED
.
If a session was already begun for session
, then the runtime must return XR_ERROR_SESSION_RUNNING
.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 basetype::XrTime to timespec monotonic time, call:
XrResult xrConvertTimeToTimespecTimeKHR(
XrInstance instance,
XrTime time,
struct timespec* timespecTime);
Parameters
Description
The xrConvertTimeToTimespecTimeKHR function converts an basetype::XrTime to time as if generated by clock_gettime
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 basetype::XrTime to Win32 QueryPerformanceCounter
time, call:
XrResult xrConvertTimeToWin32PerformanceCounterKHR(
XrInstance instance,
XrTime time,
LARGE_INTEGER* performanceCounter);
Parameters
Description
The xrConvertTimeToWin32PerformanceCounterKHR function converts an basetype::XrTime to time as if generated by Win32 QueryPerformanceCounter
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 basetype::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 basetype::XrTime.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 Win32 QueryPerformanceCounter
time to basetype::XrTime, call:
XrResult xrConvertWin32PerformanceCounterToTimeKHR(
XrInstance instance,
const LARGE_INTEGER* performanceCounter,
XrTime* time);
Parameters
Description
The xrConvertWin32PerformanceCounterToTimeKHR function converts a time obtained by the Win32 QueryPerformanceCounter
function to the equivalent basetype::XrTime.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 the session containing actionSet
is running when this call is made, the runtime must return XR_ERROR_SESSION_RUNNING
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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(
XrSession session,
const XrActionSetCreateInfo* createInfo,
XrActionSet* actionSet);
Parameters
Description
The xrCreateActionSet function creates an action set and returns a handle to the created action set.
If session
is running when this call is made, the runtime must return XR_ERROR_SESSION_RUNNING
.
Additional error codes are described with XrActionSetCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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(
XrAction action,
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_HANDLE_INVALID
if the action provided in
action
is not a valid action.
The runtime must return XR_ERROR_POSE_INVALID
if the pose
passed in createInfo.poseInActionSpace
contains non-unit quaternions.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
as the dispatchable argument.
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 will 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 will return
XR_ERROR_LIMIT_REACHED
.
If the XrInstanceCreateInfo struct contains a platform-specific
extension for a platform other than the target platform,
XR_ERROR_INITIALIZATION_FAILED
will be returned.
The same is true if a mandatory platform-specific extension is defined for the
target platform but no matching extension struct is provided in
XrInstanceCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
.
The runtime must return XR_ERROR_POSE_INVALID
if the pose
passed in createInfo.poseInReferenceSpace
contains non-unit quaternions.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#xrCreateReferenceSpace
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
The XR runtime must destroy the provided Surface on calling xrDestroySwapchain. Applications writing frames to the Surface thereafter leads to undefined behavior.
xrCreateSwapchainAndroidSurfaceKHR must return the same set of error codes as xrCreateSwapchain under 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
Actions can be destroyed by calling xrDestroyAction. When an action is destroyed, it is removed from its associated action set. Alternatively, actions that are part of an action set are automatically destroyed when the action set is destroyed.
The runtime must ignore destroyed actions in action sets.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 sets can be destroyed by calling xrDestroyActionSet.
When an action set is destroyed, all actions of that action set are also destroyed.
If the application subsequently attempts to destroy one of these actions via xrDestroyAction then XR_ERROR_HANDLE_INVALID
is returned.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
instance
or child of instance
as the dispatchable argument.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. If the
instance
is invalid the runtime must return XR_ERROR_HANDLE_INVALID
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
If the session is invalid the runtime must return XR_ERROR_HANDLE_INVALID
.
The application is responsible for ensuring that it has no calls using session
in progress when the
session is destroyed.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. If the
XrSpace is invalid the runtime must return XR_ERROR_HANDLE_INVALID
.
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
Every call to xrEndFrame must be preceded by a successful call to xrBeginFrame.
Failure to do so will 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.
XR_ERROR_LAYER_INVALID
will be returned if an unknown or unsupported layer type is passed as one of the XrFrameEndInfo::layers.
XR_ERROR_LAYER_LIMIT_EXCEEDED
will 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
will be returned if XrFrameEndInfo::layers contains a composition layer which references pixels outside
of the associated swapchain image.
XR_ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED
will be returned if XrFrameEndInfo::environmentBlendMode is not supported.
The runtime must return XR_ERROR_SESSION_NOT_RUNNING
if session
is not in the XR_SESSION_STATE_RUNNING
,
XR_SESSION_STATE_VISIBLE
or XR_SESSION_STATE_FOCUSED
XrSessionState.
The runtime must return XR_ERROR_POSE_INVALID
if any pose
passed in XrFrameEndInfo contains non-unit quaternions.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEndSession(3)
Name
xrEndSession - Ends an XrSession
Parameters
Description
The application calls xrEndSession to end a running session.
This function signals to the runtime that the application no longer wishes to display rendered output, read input state,
or control haptic events.
If this session
was not running, then XR_ERROR_SESSION_NOT_RUNNING
will be returned.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 follows.
XrResult xrEnumerateEnvironmentBlendModes(
XrInstance instance,
XrSystemId systemId,
uint32_t environmentBlendModeCapacityInput,
uint32_t* environmentBlendModeCountOutput,
XrEnvironmentBlendMode* environmentBlendModes);
Parameters
Description
Enumerates the set of environment blend modes that this runtime supports for a given system.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 the same values 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateSwapchainFormats(3)
Name
xrEnumerateSwapchainFormats - Enumerates swapchain formats
C Specification
The xrEnumerateSwapchainFormats 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
.
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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrEnumerateViewConfigurationViews(3)
Name
xrEnumerateViewConfigurationViews - Gets view configuration views
C Specification
The function xrEnumerateViewConfigurationViews 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
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 is defined as follows:
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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStateBoolean(3)
Name
xrGetActionStateBoolean - Gets boolean action state
C Specification
The xrGetActionStateBoolean function is defined as:
XrResult xrGetActionStateBoolean(
XrAction action,
uint32_t countSubactionPaths,
const XrPath* subactionPaths,
XrActionStateBoolean* data);
Parameters
Description
xrGetActionStateBoolean retrieves the current state of a boolean action. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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(
XrAction action,
XrPath subactionPath,
XrActionStatePose* data);
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, create an action space using xrCreateActionSpace. Then, after each sync, get the pose of this action space within your base space using xrLocateSpace.
See XrActionCreateInfo for a description of subaction paths, and the restrictions on their use. xrGetActionStatePose only accepts a single subaction path to require that the application choose which subaction to use for actions that are intended to be bound to multiple devices at the same time.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetActionStateVector1f(3)
Name
xrGetActionStateVector1f - Gets a floating point action state
C Specification
The xrGetActionStateVector1f function is defined as:
XrResult xrGetActionStateVector1f(
XrAction action,
uint32_t countSubactionPaths,
const XrPath* subactionPaths,
XrActionStateVector1f* data);
Parameters
Description
xrGetActionStateVector1f retrieves the current state of a one-dimensional vector action. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
The xrGetActionStateVector2f function is defined as:
XrResult xrGetActionStateVector2f(
XrAction action,
uint32_t countSubactionPaths,
const XrPath* subactionPaths,
XrActionStateVector2f* data);
Parameters
Description
xrGetActionStateVector2f retrieves the current state of a two-dimensional vector action. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetBoundSourcesForAction(3)
Name
xrGetBoundSourcesForAction - Gets the sources for an XrAction
C Specification
The xrGetBoundSourcesForAction function is defined as:
XrResult xrGetBoundSourcesForAction(
XrAction action,
uint32_t sourceCapacityInput,
uint32_t* sourceCountOutput,
XrPath* sources);
Parameters
Description
An application can use the xrGetBoundSourcesForAction and
xrGetInputSourceLocalizedName calls to prompt the user which physical inputs
to use in order to perform an action.
A source is the physical control that the action is bound to.
An action may be bound to multiple sources at one time, for example an action
named hold
could be bound to both the X and A buttons.
If an action is unbound, xrGetBoundSourcesForAction will assign 0 to the
value pointed-to by sourceCountOutput
and not modify the array.
Once the semantic paths for the action’s source are obtained, the application can gather additional information about the source. xrGetInputSourceLocalizedName returns a localized human-readable string describing the source, e.g. 'A Button'.
If the parent session of action
is not running, the runtime must return XR_ERROR_SESSION_NOT_RUNNING
.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 is defined as:
XrResult xrGetCurrentInteractionProfile(
XrSession session,
XrPath topLevelUserPath,
XrInteractionProfileInfo* 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 xrSetInteractionProfileSuggestedBindings. 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.
If the provided session is not running, the runtime must return XR_ERROR_SESSION_NOT_RUNNING
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetD3D10GraphicsRequirementsKHR(3)
Name
xrGetD3D10GraphicsRequirementsKHR - Retrieve the D3D10 feature level and graphics device requirements for an instance and system
C Specification
To retrieve the D3D10 feature level and graphics device for an instance and system, call:
XrResult xrGetD3D10GraphicsRequirementsKHR(
XrInstance instance,
XrSystemId systemId,
XrGraphicsRequirementsD3D10KHR* graphicsRequirements);
Parameters
Description
The xrGetD3D10GraphicsRequirementsKHR function identifies to the application what graphics device
(Windows LUID) needs to be used and the minimum feature level to use.
xrGetD3D10GraphicsRequirementsKHR has to be called prior to calling xrCreateSession,
and the LUID and feature level that xrGetD3D10GraphicsRequirementsKHR returns should be used
to create the ID3D10Device
that the application passes to
xrCreateSession in the XrGraphicsBindingD3D10KHR.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
xrGetD3D11GraphicsRequirementsKHR has to be called prior to calling xrCreateSession,
and 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
xrGetD3D12GraphicsRequirementsKHR has to be called prior to calling xrCreateSession,
and 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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,
XrPath source,
XrInputSourceLocalizedNameFlags whichComponents,
uint32_t bufferCapacityInput,
uint32_t* bufferCountOutput,
char* buffer);
Parameters
Description
xrGetInputSourceLocalizedName returns a string for the input source in the current system locale. This string is appropriate for showing to users.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 returns XR_ERROR_HANDLE_INVALID
if instance
is
NULL
and name
is not one of the above strings.
xrGetInstanceProcAddr returns 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 dispatchable object (the first parameter) that is
instance
or a child ofinstance
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. xrGetOpenGLESGraphicsRequirementsKHR has to be called prior to calling xrCreateSession.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. xrGetOpenGLGraphicsRequirementsKHR has to be called prior to calling xrCreateSession.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 app 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrGetVisibilityMaskKHR(3)
Name
xrGetVisibilityMaskKHR - Gets visibility mask
C Specification
The function xrGetVisibilityMaskKHR 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.
If a view mask for the specified view isn’t available, the returned vertex and index counts will be zero.
If the input vertex or index count are less than required, XR_ERROR_SIZE_INSUFFICIENT
is returned, the vertex and index count will be updated to reflect the required count, and the vertex and index array contents are undefined.
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#xrGetVisibilityMaskKHR
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 namesCapacityInput,
uint32_t* namesCountOutput,
char* namesString);
Parameters
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 has to 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. xrGetVulkanGraphicsRequirementsKHR has to be called prior to calling xrCreateSession.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 namesCapacityInput,
uint32_t* namesCountOutput,
char* namesString);
Parameters
Description
The 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 relationship of a space relative to a base space at a specified time, if currently known by the runtime.
XrResult xrLocateSpace(
XrSpace space,
XrSpace baseSpace,
XrTime time,
XrSpaceRelation* relation);
Parameters
Description
For a time
in the past, the runtime should relate 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 relate 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 ../../openxr.html#prediction-time-limits. For values of time
outside this
range, xrLocateSpace may return a relation with no position and XR_SPACE_RELATION_POSITION_VALID_BIT
unset.
Some devices improve their understanding of the world as the device is used. The relation 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_RELATION_POSITION_VALID_BIT
but it can clear XR_SPACE_RELATION_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 space
and baseSpace
relate (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 relation with no position and XR_SPACE_RELATION_POSITION_VALID_BIT
unset.
The runtime must return a relation with both XR_SPACE_RELATION_POSITION_VALID_BIT
and XR_SPACE_RELATION_POSITION_TRACKED_BIT
set when relating 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 relation in this case is the difference in the two spaces' application-specified transforms relative to that common entity.
The runtime should return a relation with XR_SPACE_RELATION_POSITION_VALID_BIT
set and XR_SPACE_RELATION_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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 function xrLocateViews returns the view and projection info for a particular display time.
This time is typically the XrFrameState::predictedDisplayTime
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 running session’s active view configuration, along with an XrViewState containing additional state data shared across all views for the primary viewer. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
will be returned.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Unresolved directive in apispec.txt - include::xrPerfSettingsSetPerformanceLevelEXT.txt[]
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
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSetInteractionProfileSuggestedBindings(3)
Name
xrSetInteractionProfileSuggestedBindings - Sets the application-suggested bindings for the interaction profile
C Specification
The function xrSetInteractionProfileSuggestedBindings is defined as:
XrResult xrSetInteractionProfileSuggestedBindings(
XrSession session,
const XrInteractionProfileSuggestedBinding* suggestedBindings);
Parameters
Description
xrSetInteractionProfileSuggestedBindings sets an interaction profile for which the application can provide default bindings. The application can call xrSetInteractionProfileSuggestedBindings once per interaction profile that it supports.
The application can provide any number of bindings for each action.
If the provided session is running, the runtime must return XR_ERROR_SESSION_RUNNING
.
If the application has already called xrSetInteractionProfileSuggestedBindings on this session for this interaction profile, the runtime must return XR_ERROR_BINDINGS_DUPLICATED
.
See suggested bindings for more details.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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(
XrAction hapticAction,
uint32_t countSubactionPaths,
const XrPath* subactionPaths);
Parameters
Description
If a haptic event from this XrAction is in progress, when this function is called the runtime must stop that event. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 follows:
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
xrSyncActionData(3)
Name
xrSyncActionData - Updates the current state of input actions
C Specification
The xrSyncActionData function is defined as:
XrResult xrSyncActionData(
XrSession session,
uint32_t countActionSets,
const XrActiveActionSet* actionSets);
Parameters
Description
xrSyncActionData updates the current state of input actions. Repeated input action state queries between subsequent synchronization calls must return the same values. This call must be called with an array containing the XrActiveActionSet structures, that reference action sets which belong to a single, running session, that should be updated during this synchronization. Any XrActionSet that has been created in this session but was not passed to xrSyncActionData will not be updated and all action state queries will return that the action is inactive.
If session
is not running, the runtime must return XR_ERROR_SESSION_NOT_RUNNING
.
If session
is not focused, the runtime must return XR_SESSION_NOT_FOCUSED
, and all actions in the session
will be inactive.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Unresolved directive in apispec.txt - include::xrThermalGetTemperatureTrendEXT.txt[]
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
If a frame submitted to xrEndFrame is consumed by the compositor before its target display time, a subsequent call to xrWaitFrame must block the caller until the start of the next rendering interval after the frame’s target display time as determined by the runtime.
If a frame submitted to xrEndFrame misses its target display time, a subsequent call to xrWaitFrame must block the caller until that frame is consumed by the compositor, at which point it must return immediately.
If no frame has been submitted to xrEndFrame since any prior call to xrWaitFrame, a subsequent call to xrWaitFrame must block the caller until the start of the next rendering interval time as determined by the runtime.
The runtime may dynamically adjust the start time of the rendering 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 session
is not in the XR_SESSION_STATE_RUNNING
,
XR_SESSION_STATE_VISIBLE
or XR_SESSION_STATE_FOCUSED
XrSessionState.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
is 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 enabled or disabled by the application via xrSyncActionData 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:
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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, xrCreateDebugUtilsMessengerEXT, xrCreateInstance, xrCreateSession, xrDestroyInstance, xrEnumerateEnvironmentBlendModes, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrGetD3D10GraphicsRequirementsKHR, xrGetD3D11GraphicsRequirementsKHR, xrGetD3D12GraphicsRequirementsKHR, xrGetInstanceProcAddr, xrGetInstanceProperties, xrGetOpenGLESGraphicsRequirementsKHR, xrGetOpenGLGraphicsRequirementsKHR, xrGetSystem, xrGetSystemProperties, xrGetViewConfigurationProperties, xrGetVulkanDeviceExtensionsKHR, xrGetVulkanGraphicsDeviceKHR, xrGetVulkanGraphicsRequirementsKHR, xrGetVulkanInstanceExtensionsKHR, xrPathToString, xrPollEvent, xrResultToString, xrSetDebugUtilsObjectNameEXT, xrStringToPath, xrStructureTypeToString, xrSubmitDebugUtilsMessageEXT
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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. An application makes its XR content eligible to be displayed by beginning a session with xrBeginSession, causing it to enter the running state. It may then hide its XR content for some period by ending its session with xrEndSession, causing it to leave the running state.
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.
A session may be running but not currently visible, as another running session may take precedence. The XrEventDataSessionStateChanged event indicates changes to visibility or input focus states. Runtimes each establish their own policy for when an application has the right to make its running session visible in the XR display.
An application must set the current view configuration and supported view configurations before calling xrBeginSession.
See Also
XrEventDataSessionStateChanged, xrBeginFrame, xrBeginSession, xrCreateActionSet, xrCreateReferenceSpace, xrCreateSession, xrCreateSwapchain, xrCreateSwapchainAndroidSurfaceKHR, xrDestroySession, xrEndFrame, xrEndSession, xrEnumerateReferenceSpaces, xrEnumerateSwapchainFormats, xrGetCurrentInteractionProfile, xrGetInputSourceLocalizedName, xrGetReferenceSpaceBoundsRect, xrGetVisibilityMaskKHR, xrLocateViews, xrPerfSettingsSetPerformanceLevelEXT, xrSessionBeginDebugUtilsLabelRegionEXT, xrSessionEndDebugUtilsLabelRegionEXT, xrSessionInsertDebugUtilsLabelEXT, xrSetAndroidApplicationThreadKHR, xrSetInteractionProfileSuggestedBindings, xrSyncActionData, xrThermalGetTemperatureTrendEXT, xrWaitFrame
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
Spaces like the STAGE
space may be reconfigured by the user, causing their origin to jump instantaneously.
When a discontinuity in the origin of a space occurs, runtimes should delay representing these changes to the application
until the next call to xrPollEvent. This allows applications to cleanly detect the change in key poses before
and after the discontinuity.
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 relationship of the left hand’s pose action space to 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 relation 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, XrCompositionLayerEquirectKHR, XrCompositionLayerProjection, XrCompositionLayerQuad, XrReferenceSpaceCreateInfo, XrViewLocateInfo, xrCreateActionSpace, xrCreateReferenceSpace, xrDestroySpace, xrLocateSpace
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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_SRGBA
,
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
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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_INVALID
:
-
Each path provided is one of:
-
/user/head
-
/user/hand/left
-
/user/hand/right
-
/user/gamepad
-
/user
-
-
No path appears in the list more than once
Including /user in the list of subaction paths creates an 'other' bucket for action data to be filtered into.
When /user is included in the list passed to xrGetActionState*
the runtime must include data for all devices which are not included in the other subaction paths into the /user bucket.
Extensions may append additional top level user paths to the above list.
The runtime must return XR_ERROR_PATH_INVALID
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
.
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
.
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionSetCreateInfo(3)
Name
XrActionSetCreateInfo - XrActionSet creation info
C Specification
The XrActionSetCreateInfo is defined as:
typedef struct XrActionSetCreateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS 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 bindings from action sets with a lower priority number if those specific bindings 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 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
.
If actionSetName
or localizedActionSetName
are duplicates of the corresponding field for any existing action set in the specified session, the runtime must return XR_ERROR_NAME_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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrPath subactionPath;
XrPosef poseInActionSpace;
} XrActionSpaceCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrBool32 currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateBoolean;
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrBool32 isActive;
} XrActionStatePose;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrActionStateVector1f(3)
Name
XrActionStateVector1f - Floating point action state
C Specification
The XrActionStateVector1f structure is defined as:
typedef struct XrActionStateVector1f {
XrStructureType type;
void* XR_MAY_ALIAS next;
float currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateVector1f;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrVector2f currentState;
XrBool32 changedSinceLastSync;
XrTime lastChangeTime;
XrBool32 isActive;
} XrActionStateVector2f;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrActionSet actionSet;
XrPath subactionPath;
} XrActiveActionSet;
Members
Description
This structure defines a single active action set and subaction path combination. Applications provide a list of these structures via the xrSyncActionData function.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
char layerName[XR_MAX_API_LAYER_NAME_SIZE];
uint32_t specVersion;
uint32_t implementationVersion;
char description[XR_MAX_API_LAYER_DESCRIPTION_SIZE];
} XrApiLayerProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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;
uint32_t apiVersion;
} XrApplicationInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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
No cross-references are available
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
} XrCompositionLayerBaseHeader;
Members
Description
All composition layer structures begin with the elements described in the XrCompositionLayerBaseHeader. The XrCompositionLayerBaseHeader struct 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.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchain swapchain;
uint32_t imageArrayIndex;
XrQuaternionf orientation;
XrVector3f offset;
} 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
XrVector3f offset;
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 a XrSpace which is also world-locked, such as the |
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 are composited in view array order.
In the case that submitted projection layers overlap, they are composited in layer array order.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrCompositionLayerFlags layerFlags;
XrSpace space;
XrEyeVisibility eyeVisibility;
XrSwapchainSubImage subImage;
XrPosef pose;
XrVector2f 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 at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XrCompositionLayerQuad
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
const char* labelName;
} XrDebugUtilsLabelEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrDebugUtilsMessageSeverityFlagsEXT messageSeverities;
XrDebugUtilsMessageTypeFlagsEXT messageTypes;
PFN_xrDebugUtilsMessengerCallbackEXT userCallback;
void* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrObjectType objectType;
uint64_t objectHandle;
const char* objectName;
} XrDebugUtilsObjectNameInfoEXT;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 is defined as:
typedef struct XrEventDataBaseHeader {
XrStructureType type;
const void* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
uint8_t varying[4000];
} XrEventDataBuffer;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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 is defined as:
typedef struct XrEventDataEventsLost {
XrStructureType type;
const void* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
} 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 xrSetInteractionProfileSuggestedBindings. 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.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Unresolved directive in apispec.txt - include::XrEventDataPerfSettingsEXT.txt[]
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 apps 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 apps 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 app during calls to xrCreateReferenceSpace. If the runtime does not know the relationship between the new and the previous space, poseValid
must be false, and the position and orientation of the pose
are undefined.
typedef struct XrEventDataReferenceSpaceChangePending {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrReferenceSpaceType referenceSpaceType;
XrTime changeTime;
XrBool32 poseValid;
XrPosef poseInPreviousSpace;
} XrEventDataReferenceSpaceChangePending;
Members
Description
See Also
UNKNOWN:XR_REFERENCE_SPACE_TYPE_STAGE, XrBool32
, XrPosef, XrReferenceSpaceType, XrStructureType, XrTime
, xrCreateReferenceSpace
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEventDataVisibilityMaskChangedKHR(3)
Name
XrEventDataVisibilityMaskChangedKHR - Visibility Mask
C Specification
The XrEventDataVisibilityMaskChangedKHR struct 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* XR_MAY_ALIAS next;
XrViewConfigurationType viewConfigurationType;
uint32_t viewIndex;
} XrEventDataVisibilityMaskChangedKHR;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
char extensionName[XR_MAX_EXTENSION_NAME_SIZE];
uint32_t specVersion;
} XrExtensionProperties;
Members
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrTime displayTime;
XrEnvironmentBlendMode environmentBlendMode;
uint32_t layerCount;
const XrCompositionLayerBaseHeader* const* layers;
} XrFrameEndInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
XrTime predictedDisplayTime;
XrDuration predictedDisplayPeriod;
} XrFrameState;
Members
Description
XrFrameState describes the time at which the next frame submitted to xrEndFrame 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 when interpolating
submitted frames.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
} XrFrameWaitInfo;
Members
Description
Because this structure only exists to support extension-specific structures,
xrWaitFrame will 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsBindingD3D10KHR(3)
Name
XrGraphicsBindingD3D10KHR - The graphics binding structure to be passed at session creation to use D3D10
C Specification
The XrGraphicsBindingD3D10KHR structure is defined as:
typedef struct XrGraphicsBindingD3D10KHR {
XrStructureType type;
const void* XR_MAY_ALIAS next;
ID3D10Device* device;
} XrGraphicsBindingD3D10KHR;
Members
Description
When creating a D3D10-backed XrSession, the application will provide
a pointer to an XrGraphicsBindingD3D10KHR in the next
chain of the
XrSessionCreateInfo.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 XrGraphicsBindingOpenGLWin32KHR 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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.
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
xcb_connection_t* connection;
uint32_t screen_number;
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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrGraphicsRequirementsD3D10KHR(3)
Name
XrGraphicsRequirementsD3D10KHR - D3D10 feature level and LUID requirements
C Specification
The XrGraphicsRequirementsD3D10KHR structure is defined as:
typedef struct XrGraphicsRequirementsD3D10KHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
LUID adapterLuid;
D3D10_FEATURE_LEVEL1 minFeatureLevel;
} XrGraphicsRequirementsD3D10KHR;
Members
Description
XrGraphicsRequirementsD3D10KHR is populated by xrGetD3D10GraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D11KHR;
Members
Description
XrGraphicsRequirementsD3D11KHR is populated by xrGetD3D11GraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
LUID adapterLuid;
D3D_FEATURE_LEVEL minFeatureLevel;
} XrGraphicsRequirementsD3D12KHR;
Members
Description
XrGraphicsRequirementsD3D12KHR is populated by xrGetD3D12GraphicsRequirementsKHR.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
uint32_t minApiVersionSupported;
uint32_t 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
uint32_t minApiVersionSupported;
uint32_t 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 at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. 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* XR_MAY_ALIAS next;
uint32_t minApiVersionSupported;
uint32_t maxApiVersionSupported;
} XrGraphicsRequirementsVulkanKHR;
Members
Description
XrGraphicsRequirementsVulkanKHR is populated by xrGetVulkanGraphicsRequirementsKHR with the runtime’s Vulkan API version requirements.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticBaseHeader(3)
Name
XrHapticBaseHeader - Base header for haptic feedback
C Specification
The XrHapticBaseHeader structure is defined as:
typedef struct XrHapticBaseHeader {
XrStructureType type;
const void* XR_MAY_ALIAS next;
} XrHapticBaseHeader;
Members
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrHapticVibration(3)
Name
XrHapticVibration - Base header for haptic feedback
C Specification
The XrHapticVibration structure is defined as:
typedef struct XrHapticVibration {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrDuration duration;
float frequency;
float amplitude;
} XrHapticVibration;
Members
Description
The XrHapticVibration is used in calls to xrApplyHapticFeedback that trigger vibration
output actions.
The duration
, and frequency
parameters may be clamped to implementation-dependent ranges.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateInfo(3)
Name
XrInstanceCreateInfo - Structure specifying params of a newly created instance
C Specification
The XrInstanceCreateInfo structure is defined as:
typedef struct XrInstanceCreateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrInstanceCreateFlags createFlags;
XrApplicationInfo applicationInfo;
uint32_t enabledApiLayerCount;
const char* const* enabledApiLayerNames;
uint32_t enabledExtensionCount;
const char* const* enabledExtensionNames;
} XrInstanceCreateInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateInfoAndroidKHR(3)
Name
XrInstanceCreateInfoAndroidKHR - Creates an OpenXR Instance
C Specification
The XrInstanceCreateInfoAndroidKHR structure is defined as:
typedef struct XrInstanceCreateInfoAndroidKHR {
XrStructureType type;
const void* XR_MAY_ALIAS next;
void* XR_MAY_ALIAS applicationVM;
void* XR_MAY_ALIAS applicationActivity;
} XrInstanceCreateInfoAndroidKHR;
Members
Description
XrInstanceCreateInfoAndroidKHR contains additional Android specific information needed when calling xrCreateInstance.
The XrInstanceCreateInfoAndroidKHR struct must be provided as the next
pointer in the XrInstanceCreateInfo struct when calling xrCreateInstance.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceProperties(3)
Name
XrInstanceProperties - Contains information about the instance
C Specification
The XrInstanceProperties structure is defined as:
typedef struct XrInstanceProperties {
XrStructureType type;
void* XR_MAY_ALIAS next;
uint32_t runtimeVersion;
char runtimeName[XR_MAX_RUNTIME_NAME_SIZE];
} XrInstanceProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileInfo(3)
Name
XrInteractionProfileInfo - Receives active interaction profile for a top level path
C Specification
The XrInteractionProfileInfo structure is defined as:
typedef struct XrInteractionProfileInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrPath interactionProfile;
} XrInteractionProfileInfo;
Members
Description
The runtime must only include interaction profiles that the application has provided bindings for via xrSetInteractionProfileSuggestedBindings or XR_PATH_NULL
.
If the runtime is rebinding an interaction profile provided by the application to a device that the application did not provide bindings for, it must return the interaction profile path that it is emulating.
If the runtime is unable to provide input because it cannot emulate any of the application-provided interaction profiles, it must return XR_PATH_NULL
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInteractionProfileSuggestedBinding(3)
Name
XrInteractionProfileSuggestedBinding - Suggested bindings for a interaction profile
C Specification
The XrInteractionProfileSuggestedBinding structure is defined as:
typedef struct XrInteractionProfileSuggestedBinding {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrPath interactionProfile;
uint32_t countSuggestedBindings;
const XrActionSuggestedBinding* suggestedBindings;
} XrInteractionProfileSuggestedBinding;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOffset2Df(3)
Name
XrOffset2Df - Float offset in two dimensions
C Specification
A floating-point offset is defined by the structure:
typedef struct XrOffset2Df {
float x;
float y;
} XrOffset2Df;
Members
Description
This structure is used for component values that may be fractional (floating-point). If used to represent physical distances, values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrOffset2Di(3)
Name
XrOffset2Di - Offset in two dimensions
C Specification
An integer offset is defined by the structure:
typedef struct XrOffset2Di {
int32_t x;
int32_t y;
} XrOffset2Di;
Members
Description
This variant is for representing discrete values such as texels. For representing physical distances, the floating-point variant must be used instead.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPosef(3)
Name
XrPosef - Location and orientation in a space.
C Specification
A pose is defined by the XrPosef structure:
typedef struct XrPosef {
XrQuaternionf orientation;
XrVector3f position;
} XrPosef;
Members
A construct representing a position and orientation within a space,
Description
with position expressed in meters, and orientation represented as a unit quaternion.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrQuaternionf(3)
Name
XrQuaternionf - Unit Quaternion
C Specification
Rotation is represented by a unit quaternion defined by the XrQuaternionf structure:
typedef struct XrQuaternionf {
float x;
float y;
float z;
float w;
} XrQuaternionf;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRect2Df(3)
Name
XrRect2Df - Rect in two dimensions
C Specification
A rectangle with floating-point values is defined by the structure:
typedef struct XrRect2Df {
XrOffset2Df offset;
XrExtent2Df extent;
} XrRect2Df;
Members
Description
This structure is used for component values that may be fractional (floating-point).
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrRect2Di(3)
Name
XrRect2Di - Rect in two dimensions
C Specification
A rectangle with integer values is defined by the structure:
typedef struct XrRect2Di {
XrOffset2Di offset;
XrExtent2Di extent;
} XrRect2Di;
Members
Description
This variant is for representing discrete values such as texels. For representing physical distances, the floating-point variant must be used instead.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrReferenceSpaceCreateInfo(3)
Name
XrReferenceSpaceCreateInfo - Creation info for a reference space
C Specification
The XrReferenceSpaceCreateInfo structure is defined as:
typedef struct XrReferenceSpaceCreateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrReferenceSpaceType referenceSpaceType;
XrPosef poseInReferenceSpace;
} XrReferenceSpaceCreateInfo;
Members
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionBeginInfo(3)
Name
XrSessionBeginInfo - Struct containing session begin info
C Specification
The XrSessionBeginInfo structure is defined as:
typedef struct XrSessionBeginInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrViewConfigurationType primaryViewConfigurationType;
} XrSessionBeginInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateInfo(3)
Name
XrSessionCreateInfo - Creates a session
C Specification
The XrSessionCreateInfo structure is defined as:
typedef struct XrSessionCreateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrSessionCreateFlags createFlags;
XrSystemId systemId;
} XrSessionCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceRelation(3)
Name
XrSpaceRelation - Contains info about space relationships
C Specification
The XrSpaceRelation structure is defined as:
typedef struct XrSpaceRelation {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrSpaceRelationFlags relationFlags;
XrTime time;
XrPosef pose;
XrVector3f linearVelocity;
XrVector3f angularVelocity;
XrVector3f linearAcceleration;
XrVector3f angularAcceleration;
} XrSpaceRelation;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateInfo(3)
Name
XrSwapchainCreateInfo - Creation info for a swapchain
C Specification
The XrSwapchainCreateInfo structure is defined as:
typedef struct XrSwapchainCreateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrSwapchainCreateFlags createFlags;
XrSwapchainUsageFlags usageFlags;
int64_t format;
uint32_t sampleCount;
uint32_t width;
uint32_t height;
uint32_t faceCount;
uint32_t arraySize;
uint32_t mipCount;
} XrSwapchainCreateInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageAcquireInfo(3)
Name
XrSwapchainImageAcquireInfo - Describes a swapchain image acquisition
C Specification
The XrSwapchainImageAcquireInfo structure is available for extensibility purposes. It is defined as:
typedef struct XrSwapchainImageAcquireInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
} XrSwapchainImageAcquireInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageBaseHeader(3)
Name
XrSwapchainImageBaseHeader - Image base header for a swapchain image
C Specification
The XrSwapchainImageBaseHeader structure is defined as follows:
typedef struct XrSwapchainImageBaseHeader {
XrStructureType type;
void* XR_MAY_ALIAS next;
} XrSwapchainImageBaseHeader;
Members
Description
The XrSwapchainImageBaseHeader is a base structure that can be overridden
by a graphics API-specific XrSwapchainImage*
child structure.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageD3D10KHR(3)
Name
XrSwapchainImageD3D10KHR - D3D10-specific swapchain image structure
C Specification
The XrSwapchainImageD3D10KHR structure is defined as:
typedef struct XrSwapchainImageD3D10KHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
ID3D10Texture2D* texture;
} XrSwapchainImageD3D10KHR;
Members
Description
If a given session was created with XrGraphicsBindingD3D10KHR, the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageD3D10KHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageD3D10KHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageD3D11KHR(3)
Name
XrSwapchainImageD3D11KHR - D3D11-specific swapchain image structure
C Specification
The XrSwapchainImageD3D11KHR structure is defined as:
typedef struct XrSwapchainImageD3D11KHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
ID3D11Texture2D* texture;
} XrSwapchainImageD3D11KHR;
Members
Description
If a given session was created with XrGraphicsBindingD3D11KHR, the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageD3D11KHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageD3D11KHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageD3D12KHR(3)
Name
XrSwapchainImageD3D12KHR - D3D12-specific swapchain image structure
C Specification
The XrSwapchainImageD3D12KHR structure is defined as:
typedef struct XrSwapchainImageD3D12KHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
ID3D12Resource* texture;
} XrSwapchainImageD3D12KHR;
Members
Description
If a given session was created with XrGraphicsBindingD3D12KHR, the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageD3D12KHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageD3D12KHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at 0, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageOpenGLESKHR(3)
Name
XrSwapchainImageOpenGLESKHR - OpenGL ES-specific swapchain image structure
C Specification
The XrSwapchainImageOpenGLESKHR structure is defined as:
typedef struct XrSwapchainImageOpenGLESKHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
uint32_t image;
} XrSwapchainImageOpenGLESKHR;
Members
Description
If a given session was created with a XrGraphicsBindingOpenGLES*KHR
,
the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageOpenGLESKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageOpenGLESKHR.
The OpenXR runtime must interpret the bottom-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at -1, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageOpenGLKHR(3)
Name
XrSwapchainImageOpenGLKHR - OpenGL-specific swapchain image structure
C Specification
The XrSwapchainImageOpenGLKHR structure is defined as:
typedef struct XrSwapchainImageOpenGLKHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
uint32_t image;
} XrSwapchainImageOpenGLKHR;
Members
Description
If a given session was created with a XrGraphicsBindingOpenGL*KHR
,
the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageOpenGLKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageOpenGLKHR.
The OpenXR runtime must interpret the bottom-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing up, near Z plane at -1, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageReleaseInfo(3)
Name
XrSwapchainImageReleaseInfo - Describes a swapchain image release
C Specification
The XrSwapchainImageReleaseInfo structure is intended for extensibility purposes. It is defined as as:
typedef struct XrSwapchainImageReleaseInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
} XrSwapchainImageReleaseInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageVulkanKHR(3)
Name
XrSwapchainImageVulkanKHR - Vulkan-specific swapchain image structure
C Specification
The XrSwapchainImageVulkanKHR structure is defined as:
typedef struct XrSwapchainImageVulkanKHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
VkImage image;
} XrSwapchainImageVulkanKHR;
Members
Description
If a given session was created with XrGraphicsBindingVulkanKHR, the following conditions must apply.
-
Calls to xrEnumerateSwapchainImages on an XrSwapchain in that session must return an array of XrSwapchainImageVulkanKHR structures.
-
Whenever an OpenXR function accepts an XrSwapchainImageBaseHeader pointer as a parameter in that session, the runtime must also accept a pointer to an XrSwapchainImageVulkanKHR.
The OpenXR runtime must interpret the top-left corner of the swapchain image as the coordinate origin unless specified otherwise by extension functionality.
The OpenXR runtime must interpret the swapchain images in a clip space of positive Y pointing down, near Z plane at 0, and far Z plane at 1.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainImageWaitInfo(3)
Name
XrSwapchainImageWaitInfo - Describes a swapchain image wait operation
C Specification
The XrSwapchainImageWaitInfo structure describes a swapchain image wait operation. It is defined as:
typedef struct XrSwapchainImageWaitInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrDuration timeout;
} XrSwapchainImageWaitInfo;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainSubImage(3)
Name
XrSwapchainSubImage - Composition layer data
C Specification
The XrSwapchainSubImage structure is defined as:
typedef struct XrSwapchainSubImage {
XrSwapchain swapchain;
XrRect2Di imageRect;
uint32_t imageArrayIndex;
} XrSwapchainSubImage;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemGetInfo(3)
Name
XrSystemGetInfo - Specifies desired attributes of the system
C Specification
The XrSystemGetInfo structure is defined as:
typedef struct XrSystemGetInfo {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrFormFactor formFactor;
} XrSystemGetInfo;
Members
Description
The XrSystemGetInfo structure specifies attributes about a system as desired by an application.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemGraphicsProperties(3)
Name
XrSystemGraphicsProperties - Graphics-related properties of a particular system
C Specification
The XrSystemGraphicsProperties structure is defined as:
typedef struct XrSystemGraphicsProperties {
uint32_t maxSwapchainImageHeight;
uint32_t maxSwapchainImageWidth;
uint32_t maxViewCount;
uint32_t maxLayerCount;
} XrSystemGraphicsProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemProperties(3)
Name
XrSystemProperties - Properties of a particular system
C Specification
The XrSystemProperties structure is defined as:
typedef struct XrSystemProperties {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrSystemId systemId;
uint32_t vendorId;
char systemName[XR_MAX_SYSTEM_NAME_SIZE];
XrSystemGraphicsProperties graphicsProperties;
XrSystemTrackingProperties trackingProperties;
} XrSystemProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemTrackingProperties(3)
Name
XrSystemTrackingProperties - Tracking-related properties of a particular system
C Specification
The XrSystemTrackingProperties structure is defined as:
typedef struct XrSystemTrackingProperties {
XrBool32 orientationTracking;
XrBool32 positionTracking;
} XrSystemTrackingProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector2f(3)
Name
XrVector2f - Two-dimensional vector
C Specification
A two-dimensional vector is defined by the XrVector2f structure:
typedef struct XrVector2f {
float x;
float y;
} XrVector2f;
Members
Description
If used to represent physical distances (rather than e.g. normalized direction) and not otherwise specified, values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector3f(3)
Name
XrVector3f - Three-dimensional vector
C Specification
A three-dimensional vector is defined by the XrVector3f structure:
typedef struct XrVector3f {
float x;
float y;
float z;
} XrVector3f;
Members
Description
If used to represent physical distances (rather than e.g. velocity or angular velocity) and not otherwise specified, values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVector4f(3)
Name
XrVector4f - Four-dimensional vector
C Specification
A four-dimensional or homogeneous vector is defined by the XrVector4f structure:
typedef struct XrVector4f {
float x;
float y;
float z;
float w;
} XrVector4f;
Members
Description
If used to represent physical distances, x
, y
, and z
values must be in meters.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrView(3)
Name
XrView - Struct containing view projection state
C Specification
The XrView structure is defined as:
typedef struct XrView {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrPosef pose;
XrFovf fov;
} XrView;
Members
Description
The XrView structure contains view pose and projection state necessary to render a single view in the view configuration.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationProperties(3)
Name
XrViewConfigurationProperties - Detailed configuration properties for an XrViewConfigurationProperties
C Specification
The XrViewConfigurationProperties structure is defined as:
typedef struct XrViewConfigurationProperties {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrViewConfigurationType viewConfigurationType;
XrBool32 fovMutable;
} XrViewConfigurationProperties;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationView(3)
Name
XrViewConfigurationView - Individual view configuration
C Specification
Each XrViewConfigurationView specifies properties related to rendering of an individual view within a view configuration.
The XrViewConfigurationView structure is defined as:
typedef struct XrViewConfigurationView {
XrStructureType type;
void* XR_MAY_ALIAS next;
uint32_t recommendedImageRectWidth;
uint32_t maxImageRectWidth;
uint32_t recommendedImageRectHeight;
uint32_t maxImageRectHeight;
uint32_t recommendedSwapchainSampleCount;
uint32_t maxSwapchainSampleCount;
} XrViewConfigurationView;
Members
Description
See XrSwapchainSubImage for more information about imageRect
values, and XrSwapchainCreateInfo for more information about creating swapchains appropriately sized to support those imageRect
values.
The array of XrViewConfigurationView returned by the runtime must adhere to the rules defined in XrViewConfigurationType, such as the count and association to the left and right eyes.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewLocateInfo(3)
Name
XrViewLocateInfo - Struct containing view locate information
C Specification
The XrViewLocateInfo structure is defined as:
typedef struct XrViewLocateInfo {
XrStructureType type;
const void* XR_MAY_ALIAS next;
XrTime displayTime;
XrSpace space;
} XrViewLocateInfo;
Members
Description
The XrViewLocateInfo structure contains the display time and space used to locate the view XrView structures.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewState(3)
Name
XrViewState - Struct containing additional view state
C Specification
The XrViewState structure is defined as:
typedef struct XrViewState {
XrStructureType type;
void* XR_MAY_ALIAS next;
XrViewStateFlags viewStateFlags;
} XrViewState;
Members
Description
The XrViewState contains additional view state from xrLocateViews common to all views of the active view configuration.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVisibilityMaskKHR(3)
Name
XrVisibilityMaskKHR - Visibility Mask
C Specification
The XrVisibilityMaskKHR struct is an input/output struct which specifies the view mask.
Upon input to xrGetVisibilityMaskKHR, vertexCount
and indexCount
refer to the capacity of the vertices and indices members, respectively.
Upon return from xrGetVisibilityMaskKHR, vertexCount
and indexCount
refer to the required capacity of the vertices and indices parameters respectively.
typedef struct XrVisibilityMaskKHR {
XrStructureType type;
void* XR_MAY_ALIAS next;
uint32_t vertexCount;
XrVector2f* vertices;
uint32_t indexCount;
uint32_t* indices;
} XrVisibilityMaskKHR;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVulkanSwapchainFormatListCreateInfoKHR(3)
Name
XrVulkanSwapchainFormatListCreateInfoKHR - A list of Vulkan view formats
C Specification
typedef struct XrVulkanSwapchainFormatListCreateInfoKHR {
XrStructureType type;
const void* XR_MAY_ALIAS next;
uint32_t viewFormatCount;
const VkFormat* viewFormats;
} XrVulkanSwapchainFormatListCreateInfoKHR;
Members
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Enumerations
XrActionType(3)
Name
XrActionType - XrAction type
C Specification
The XrActionType parameter takes one of the following values:
typedef enum XrActionType {
XR_INPUT_ACTION_TYPE_BOOLEAN = 1,
XR_INPUT_ACTION_TYPE_VECTOR1F = 2,
XR_INPUT_ACTION_TYPE_VECTOR2F = 3,
XR_INPUT_ACTION_TYPE_POSE = 4,
XR_OUTPUT_ACTION_TYPE_VIBRATION = 100,
XR_ACTION_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrActionType;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrAndroidThreadTypeKHR(3)
Name
XrAndroidThreadTypeKHR - Enum describing Android thread types
C Specification
The possible thread types are specified by the XrAndroidThreadTypeKHR enumeration:
typedef enum XrAndroidThreadTypeKHR {
XR_ANDROID_THREAD_TYPE_APPLICATION_MAIN_KHR = 1,
XR_ANDROID_THREAD_TYPE_APPLICATION_WORKER_KHR = 2,
XR_ANDROID_THREAD_TYPE_RENDERER_MAIN_KHR = 3,
XR_ANDROID_THREAD_TYPE_RENDERER_WORKER_KHR = 4,
XR_ANDROID_THREAD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
} XrAndroidThreadTypeKHR;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XrAndroidThreadTypeKHR
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEnvironmentBlendMode(3)
Name
XrEnvironmentBlendMode - Environment blend modes
C Specification
The possible blend modes are specified by the XrEnvironmentBlendMode enumeration:
typedef enum XrEnvironmentBlendMode {
XR_ENVIRONMENT_BLEND_MODE_OPAQUE = 1,
XR_ENVIRONMENT_BLEND_MODE_ADDITIVE = 2,
XR_ENVIRONMENT_BLEND_MODE_ALPHA_BLEND = 3,
XR_ENVIRONMENT_BLEND_MODE_MAX_ENUM = 0x7FFFFFFF
} XrEnvironmentBlendMode;
Description
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XrEnvironmentBlendMode
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrEyeVisibility(3)
Name
XrEyeVisibility - Eye visibility selector
C Specification
The XrEyeVisibility enum selects which of the viewer’s eyes to display a layer to:
typedef enum XrEyeVisibility {
XR_EYE_VISIBILITY_BOTH = 0,
XR_EYE_VISIBILITY_LEFT = 1,
XR_EYE_VISIBILITY_RIGHT = 2,
XR_EYE_VISIBILITY_MAX_ENUM = 0x7FFFFFFF
} XrEyeVisibility;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFormFactor(3)
Name
XrFormFactor - Supported form factors
C Specification
typedef enum XrFormFactor {
XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY = 1,
XR_FORM_FACTOR_HANDHELD_DISPLAY = 2,
XR_FORM_FACTOR_MAX_ENUM = 0x7FFFFFFF
} XrFormFactor;
Description
The predefined form factors which may be supported by OpenXR runtimes are:
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrObjectType(3)
Name
XrObjectType - Specify an enumeration to track object handle types
C Specification
typedef enum XrObjectType {
XR_OBJECT_TYPE_UNKNOWN = 0,
XR_OBJECT_TYPE_INSTANCE = 1,
XR_OBJECT_TYPE_SESSION = 2,
XR_OBJECT_TYPE_SWAPCHAIN = 3,
XR_OBJECT_TYPE_SPACE = 4,
XR_OBJECT_TYPE_ACTION_SET = 5,
XR_OBJECT_TYPE_ACTION = 6,
XR_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000019000,
XR_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrObjectType;
Description
The XrObjectType enumeration defines values, each of which corresponds to a specific OpenXR handle type. These values can be used to associate debug information with a particular type of object through one or more extensions.
The following table defines XrObjectType and OpenXR Handle relationships:
XrObjectType | OpenXR Handle Type |
---|---|
|
Unknown/Undefined Handle |
|
|
|
|
|
|
|
|
|
|
|
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Unresolved directive in apispec.txt - include::XrPerfSettingsDomainEXT.txt[] Unresolved directive in apispec.txt - include::XrPerfSettingsLevelEXT.txt[] Unresolved directive in apispec.txt - include::XrPerfSettingsNotificationLevelEXT.txt[] Unresolved directive in apispec.txt - include::XrPerfSettingsSubDomainEXT.txt[]
XrReferenceSpaceType(3)
Name
XrReferenceSpaceType - Reference space types
C Specification
An XrSpace handle for a reference space is created using xrCreateReferenceSpace, by specifying the chosen reference space type and a pose within the natural reference frame defined for that reference space type.
Runtimes implement well-known reference spaces from XrReferenceSpaceType if they support tracking of that kind:
typedef enum XrReferenceSpaceType {
XR_REFERENCE_SPACE_TYPE_VIEW = 1,
XR_REFERENCE_SPACE_TYPE_LOCAL = 2,
XR_REFERENCE_SPACE_TYPE_STAGE = 3,
XR_REFERENCE_SPACE_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrReferenceSpaceType;
Description
Available reference space types are indicated by xrEnumerateReferenceSpaces. Note that other spaces can be created as well, such as pose action spaces created by xrCreateActionSpace, which are not enumerated by that API.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrResult(3)
Name
XrResult - Result codes
C Specification
typedef enum XrResult {
XR_SUCCESS = 0,
XR_TIMEOUT_EXPIRED = 1,
XR_SESSION_VISIBILITY_UNAVAILABLE = 2,
XR_SESSION_LOSS_PENDING = 3,
XR_EVENT_UNAVAILABLE = 4,
XR_STATE_UNAVAILABLE = 5,
XR_STATE_TYPE_UNAVAILABLE = 6,
XR_SPACE_BOUNDS_UNAVAILABLE = 7,
XR_SESSION_NOT_FOCUSED = 8,
XR_FRAME_DISCARDED = 9,
XR_ERROR_VALIDATION_FAILURE = -1,
XR_ERROR_RUNTIME_FAILURE = -2,
XR_ERROR_OUT_OF_MEMORY = -3,
XR_ERROR_RUNTIME_VERSION_INCOMPATIBLE = -4,
XR_ERROR_DRIVER_INCOMPATIBLE = -5,
XR_ERROR_INITIALIZATION_FAILED = -6,
XR_ERROR_FUNCTION_UNSUPPORTED = -7,
XR_ERROR_EXTENSION_NOT_PRESENT = -9,
XR_ERROR_LIMIT_REACHED = -10,
XR_ERROR_SIZE_INSUFFICIENT = -11,
XR_ERROR_HANDLE_INVALID = -12,
XR_ERROR_INSTANCE_LOST = -13,
XR_ERROR_SESSION_RUNNING = -14,
XR_ERROR_SESSION_NOT_RUNNING = -16,
XR_ERROR_SESSION_LOST = -17,
XR_ERROR_SYSTEM_INVALID = -18,
XR_ERROR_PATH_INVALID = -19,
XR_ERROR_PATH_COUNT_EXCEEDED = -20,
XR_ERROR_PATH_FORMAT_INVALID = -21,
XR_ERROR_LAYER_INVALID = -22,
XR_ERROR_LAYER_LIMIT_EXCEEDED = -23,
XR_ERROR_SWAPCHAIN_RECT_INVALID = -25,
XR_ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED = -26,
XR_ERROR_ACTION_TYPE_MISMATCH = -27,
XR_ERROR_REFERENCE_SPACE_UNSUPPORTED = -31,
XR_ERROR_FILE_ACCESS_ERROR = -32,
XR_ERROR_FILE_CONTENTS_INVALID = -33,
XR_ERROR_FORM_FACTOR_UNSUPPORTED = -34,
XR_ERROR_FORM_FACTOR_UNAVAILABLE = -35,
XR_ERROR_API_LAYER_NOT_PRESENT = -36,
XR_ERROR_CALL_ORDER_INVALID = -37,
XR_ERROR_GRAPHICS_DEVICE_INVALID = -38,
XR_ERROR_POSE_INVALID = -39,
XR_ERROR_INDEX_OUT_OF_RANGE = -40,
XR_ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED = -41,
XR_ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED = -42,
XR_ERROR_BINDINGS_DUPLICATED = -43,
XR_ERROR_NAME_DUPLICATED = -44,
XR_ERROR_NAME_INVALID = -45,
XR_ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR = -1000003000,
XR_ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR = -1000003001,
XR_ERROR_DEBUG_UTILS_MESSENGER_INVALID_EXT = -1000019000,
XR_RESULT_MAX_ENUM = 0x7FFFFFFF
} XrResult;
Description
All return codes in the API are reported via XrResult return values.
Some common suffixes shared across many of the return codes are defined below:
-
_INVALID
: The specified handle, atom or value is formatted incorrectly, or the specified handle was never created or has been destroyed. -
_UNSUPPORTED
: The specified handle, atom, enumerant or value is formatted correctly but cannot be used for the lifetime of this function’s parent handle. -
_UNAVAILABLE
: The specified handle, atom, enumerant or value is supported by this function’s parent handle but not at this moment.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionState(3)
Name
XrSessionState - Session lifecycle state
C Specification
The XrSessionState enumerates the possible session lifecycle states:
typedef enum XrSessionState {
XR_SESSION_STATE_UNKNOWN = 0,
XR_SESSION_STATE_IDLE = 1,
XR_SESSION_STATE_READY = 2,
XR_SESSION_STATE_RUNNING = 3,
XR_SESSION_STATE_VISIBLE = 4,
XR_SESSION_STATE_FOCUSED = 5,
XR_SESSION_STATE_STOPPING = 6,
XR_SESSION_STATE_LOSS_PENDING = 7,
XR_SESSION_STATE_EXITING = 8,
XR_SESSION_STATE_MAX_ENUM = 0x7FFFFFFF
} XrSessionState;
Description
The XR_SESSION_STATE_UNKNOWN
state must not be returned by the runtime,
and is only defined to avoid 0
being a valid state.
Receiving the XR_SESSION_STATE_IDLE
state
indicates that the runtime considers the session is idle. Applications in
this state should minimize resource consumption but continue to call xrPollEvent
at some reasonable cadence.
Receiving the XR_SESSION_STATE_READY
state
indicates that the runtime desires the application to prepare rendering resources,
call xrBeginSession, and start its rendering loop.
The rendering loop should consist of some sequence of
xrWaitFrame/xrBeginFrame/xrEndFrame calls. An application
should avoid heavy GPU work until reaching the XR_SESSION_STATE_VISIBLE
state
to avoid contention with other applications which may still possibly be running.
Receiving the XR_SESSION_STATE_RUNNING
state
indicates that the runtime has detected the applications rendering loop and properly
synchronized it with the display’s refresh cycle. Achieving synchronization prior
to entering the XR_SESSION_STATE_VISIBLE
state facilitates switching between
applications on a display frame boundary.
Receiving the XR_SESSION_STATE_VISIBLE
state
indicates that the session is visible.
This can occur in many cases, one typical example is when a user switches
from one OpenXR application to the current one.
Applications that become visible should respond by simulating and
submitting frames.
Applications that lose visibility should stop submitting frames in
order to give CPU and GPU precedence to any other applications that need it.
This is a temporary event and usually indicates that either the user or
the runtime process has determine the session should be placed on the
back burner but may be brought back into visibility shortly.
Receiving the XR_SESSION_STATE_FOCUSED
state
indicates the application is able to receive user input.
If a session is focused it receives all input from a user.
On the other hand, if a session does not have focus, it may receive no user
input.
The runtime must guarantee that at most one application has input
focus at any given time.
An application may be visible but not have focus, for example when the
runtime is composing a modal pop-up on top of the application’s rendered frames.
It is important for apps to continue rendering when visible even when they
do not have focus.
Applications should only render input avatars (depictions of hands or other
tracked objects controlled by the user) when in the XR_SESSION_STATE_FOCUSED
state.
The runtime must not render input avatars when an application is focused.
Receiving the XR_SESSION_STATE_STOPPING
state
indicates that the runtime has determined that the application should halt
its rendering loop. A possible reason for this would be to minimize contention
between multiple applications.
Applications should exit their rendering loop and
call xrEndSession when in this state.
Receiving the XR_SESSION_STATE_EXITING
state
indicates the runtime wishes the application to terminate its XR experience, typically
due to a user request via a runtime user interface.
Applications should gracefully end their process when in this state.
Receiving the XR_SESSION_STATE_LOSS_PENDING
state
indicates the runtime is no longer able to operate with the current session,
for example due to the loss of a display hardware connection.
An application should call xrDestroySession and may end its process
or decide to poll xrGetSystem at some reasonable cadence to
get a new XrSystemId
, and re-initialize all graphics resources related to the new system,
and then create a new session using xrCreateSession.
After the event is queued, subsequent calls to functions that accept XrSession parameters
must no longer return any success code other than XR_SESSION_LOSS_PENDING
for the given XrSession handle.
The XR_SESSION_LOSS_PENDING
success result is returned for an unspecified grace period of
time, and the functions that return it simulate success in their behavior.
If the runtime has no reasonable way to successfully complete a given function
(e.g. xrCreateSwapchain) when a lost session is pending, or if the runtime is not able to
provide the app a grace period, the runtime may return XR_ERROR_SESSION_LOST
.
Thereafter, functions which accept XrSession parameters for the lost session may return
XR_ERROR_SESSION_LOST
to indicate that the function failed and the given session was lost.
The XrSession handle and child handles are henceforth unusable and should be destroyed by
the application in order to immediately free up resources associated with those handles.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrStructureType(3)
Name
XrStructureType - Values for type members of structs
C Specification
typedef enum XrStructureType {
XR_TYPE_UNKNOWN = 0,
XR_TYPE_API_LAYER_PROPERTIES = 1,
XR_TYPE_EXTENSION_PROPERTIES = 2,
XR_TYPE_INSTANCE_CREATE_INFO = 3,
XR_TYPE_SYSTEM_GET_INFO = 4,
XR_TYPE_SYSTEM_PROPERTIES = 5,
XR_TYPE_VIEW_LOCATE_INFO = 6,
XR_TYPE_VIEW = 7,
XR_TYPE_SESSION_CREATE_INFO = 8,
XR_TYPE_SWAPCHAIN_CREATE_INFO = 9,
XR_TYPE_SESSION_BEGIN_INFO = 10,
XR_TYPE_VIEW_STATE = 11,
XR_TYPE_FRAME_END_INFO = 12,
XR_TYPE_HAPTIC_VIBRATION = 13,
XR_TYPE_EVENT_DATA_BUFFER = 16,
XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING = 17,
XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED = 18,
XR_TYPE_ACTION_STATE_BOOLEAN = 23,
XR_TYPE_ACTION_STATE_VECTOR1F = 24,
XR_TYPE_ACTION_STATE_VECTOR2F = 25,
XR_TYPE_ACTION_STATE_POSE = 27,
XR_TYPE_ACTION_SET_CREATE_INFO = 28,
XR_TYPE_ACTION_CREATE_INFO = 29,
XR_TYPE_INSTANCE_PROPERTIES = 32,
XR_TYPE_FRAME_WAIT_INFO = 33,
XR_TYPE_COMPOSITION_LAYER_PROJECTION = 35,
XR_TYPE_COMPOSITION_LAYER_QUAD = 36,
XR_TYPE_REFERENCE_SPACE_CREATE_INFO = 37,
XR_TYPE_ACTION_SPACE_CREATE_INFO = 38,
XR_TYPE_SPACE_RELATION = 39,
XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING = 40,
XR_TYPE_VIEW_CONFIGURATION_VIEW = 41,
XR_TYPE_FRAME_STATE = 44,
XR_TYPE_VIEW_CONFIGURATION_PROPERTIES = 45,
XR_TYPE_FRAME_BEGIN_INFO = 46,
XR_TYPE_COMPOSITION_LAYER_PROJECTION_VIEW = 48,
XR_TYPE_EVENT_DATA_EVENTS_LOST = 49,
XR_TYPE_INTERACTION_PROFILE_SUGGESTED_BINDING = 51,
XR_TYPE_EVENT_DATA_INTERACTION_PROFILE_CHANGED = 52,
XR_TYPE_INTERACTION_PROFILE_INFO = 53,
XR_TYPE_ACTIVE_ACTION_SET = 54,
XR_TYPE_SWAPCHAIN_IMAGE_ACQUIRE_INFO = 55,
XR_TYPE_SWAPCHAIN_IMAGE_WAIT_INFO = 56,
XR_TYPE_SWAPCHAIN_IMAGE_RELEASE_INFO = 57,
XR_TYPE_COMPOSITION_LAYER_CUBE_KHR = 1000006000,
XR_TYPE_INSTANCE_CREATE_INFO_ANDROID_KHR = 1000008000,
XR_TYPE_COMPOSITION_LAYER_DEPTH_INFO_KHR = 1000010000,
XR_TYPE_VULKAN_SWAPCHAIN_FORMAT_LIST_CREATE_INFO_KHR = 1000014000,
XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT = 1000015000,
XR_TYPE_COMPOSITION_LAYER_CYLINDER_KHR = 1000017000,
XR_TYPE_COMPOSITION_LAYER_EQUIRECT_KHR = 1000018000,
XR_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT = 1000019000,
XR_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT = 1000019001,
XR_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT = 1000019002,
XR_TYPE_DEBUG_UTILS_LABEL_EXT = 1000019003,
XR_TYPE_GRAPHICS_BINDING_OPENGL_WIN32_KHR = 1000023000,
XR_TYPE_GRAPHICS_BINDING_OPENGL_XLIB_KHR = 1000023001,
XR_TYPE_GRAPHICS_BINDING_OPENGL_XCB_KHR = 1000023002,
XR_TYPE_GRAPHICS_BINDING_OPENGL_WAYLAND_KHR = 1000023003,
XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_KHR = 1000023004,
XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_KHR = 1000023005,
XR_TYPE_GRAPHICS_BINDING_OPENGL_ES_ANDROID_KHR = 1000024001,
XR_TYPE_SWAPCHAIN_IMAGE_OPENGL_ES_KHR = 1000024002,
XR_TYPE_GRAPHICS_REQUIREMENTS_OPENGL_ES_KHR = 1000024003,
XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR = 1000025000,
XR_TYPE_SWAPCHAIN_IMAGE_VULKAN_KHR = 1000025001,
XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR = 1000025002,
XR_TYPE_GRAPHICS_BINDING_D3D10_KHR = 1000026000,
XR_TYPE_SWAPCHAIN_IMAGE_D3D10_KHR = 1000026001,
XR_TYPE_GRAPHICS_REQUIREMENTS_D3D10_KHR = 1000026002,
XR_TYPE_GRAPHICS_BINDING_D3D11_KHR = 1000027000,
XR_TYPE_SWAPCHAIN_IMAGE_D3D11_KHR = 1000027001,
XR_TYPE_GRAPHICS_REQUIREMENTS_D3D11_KHR = 1000027002,
XR_TYPE_GRAPHICS_BINDING_D3D12_KHR = 1000028000,
XR_TYPE_SWAPCHAIN_IMAGE_D3D12_KHR = 1000028001,
XR_TYPE_GRAPHICS_REQUIREMENTS_D3D12_KHR = 1000028002,
XR_TYPE_VISIBILITY_MASK_KHR = 1000031000,
XR_TYPE_EVENT_DATA_VISIBILITY_MASK_CHANGED_KHR = 1000031001,
XR_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrStructureType;
Description
Most structures containing type
members have a value of type
matching the type of the structure, as described more fully in
Valid Usage for Structure Types.
Note that all extension enums begin at the extension enum base of 110 (base 10). Each extension is assigned a block of 1000 enums, starting at the enum base and arranged by the extension’s index.
See Also
XrActionCreateInfo, XrActionSetCreateInfo, XrActionSpaceCreateInfo, XrActionStateBoolean, XrActionStatePose, XrActionStateVector1f, XrActionStateVector2f, XrActiveActionSet, XrApiLayerProperties, XrBaseInStructure, XrBaseOutStructure, XrCompositionLayerBaseHeader, XrCompositionLayerCubeKHR, XrCompositionLayerCylinderKHR, XrCompositionLayerDepthInfoKHR, XrCompositionLayerEquirectKHR, XrCompositionLayerProjection, XrCompositionLayerProjectionView, XrCompositionLayerQuad, XrDebugUtilsLabelEXT, XrDebugUtilsMessengerCallbackDataEXT, XrDebugUtilsMessengerCreateInfoEXT, XrDebugUtilsObjectNameInfoEXT, XrEventDataBaseHeader, XrEventDataBuffer, XrEventDataEventsLost, XrEventDataInstanceLossPending, XrEventDataInteractionProfileChanged, XrEventDataPerfSettingsEXT, XrEventDataReferenceSpaceChangePending, XrEventDataSessionStateChanged, XrEventDataVisibilityMaskChangedKHR, XrExtensionProperties, XrFrameBeginInfo, XrFrameEndInfo, XrFrameState, XrFrameWaitInfo, XrGraphicsBindingD3D10KHR, XrGraphicsBindingD3D11KHR, XrGraphicsBindingD3D12KHR, XrGraphicsBindingOpenGLESAndroidKHR, XrGraphicsBindingOpenGLWaylandKHR, XrGraphicsBindingOpenGLWin32KHR, XrGraphicsBindingOpenGLXcbKHR, XrGraphicsBindingOpenGLXlibKHR, XrGraphicsBindingVulkanKHR, XrGraphicsRequirementsD3D10KHR, XrGraphicsRequirementsD3D11KHR, XrGraphicsRequirementsD3D12KHR, XrGraphicsRequirementsOpenGLESKHR, XrGraphicsRequirementsOpenGLKHR, XrGraphicsRequirementsVulkanKHR, XrHapticBaseHeader, XrHapticVibration, XrInstanceCreateInfo, XrInstanceCreateInfoAndroidKHR, XrInstanceProperties, XrInteractionProfileInfo, XrInteractionProfileSuggestedBinding, XrReferenceSpaceCreateInfo, XrSessionBeginInfo, XrSessionCreateInfo, XrSpaceRelation, XrSwapchainCreateInfo, XrSwapchainImageAcquireInfo, XrSwapchainImageBaseHeader, XrSwapchainImageD3D10KHR, XrSwapchainImageD3D11KHR, XrSwapchainImageD3D12KHR, XrSwapchainImageOpenGLESKHR, XrSwapchainImageOpenGLKHR, XrSwapchainImageReleaseInfo, XrSwapchainImageVulkanKHR, XrSwapchainImageWaitInfo, XrSystemGetInfo, XrSystemProperties, XrView, XrViewConfigurationProperties, XrViewConfigurationView, XrViewLocateInfo, XrViewState, XrVisibilityMaskKHR, XrVulkanSwapchainFormatListCreateInfoKHR, xrStructureTypeToString
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewConfigurationType(3)
Name
XrViewConfigurationType - Supported view configuration type
C Specification
typedef enum XrViewConfigurationType {
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO = 1,
XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO = 2,
XR_VIEW_CONFIGURATION_TYPE_MAX_ENUM = 0x7FFFFFFF
} XrViewConfigurationType;
Description
The application selects its primary view configuration type when calling xrBeginSession, and that configuration remains constant for the lifetime of the session, until xrEndSession is called.
The number of views and the semantic meaning of each view index within a given view configuration is well-defined, specified below for all core view configurations. The predefined primary view configuration types are:
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrVisibilityMaskTypeKHR(3)
Name
XrVisibilityMaskTypeKHR - Visibility Mask Type
C Specification
XrVisibilityMaskTypeKHR identifies the different types of mask specification that is supported. The application may request a view mask in any of the formats identified by these types.
typedef enum XrVisibilityMaskTypeKHR {
XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR = 1,
XR_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH_KHR = 2,
XR_VISIBILITY_MASK_TYPE_LINE_LOOP_KHR = 3,
XR_VISIBILITY_MASK_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
} XrVisibilityMaskTypeKHR;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Flags
XrCompositionLayerFlags(3)
Name
XrCompositionLayerFlags - Composition layer flags
C Specification
The XrCompositionLayerFlagBits bitfield is specified as:
// Flag bits for XrCompositionLayerFlags
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT = 0x00000001;
static const XrCompositionLayerFlags XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT = 0x00000002;
Description
XrCompositionLayerFlags specify options for individual composition layers.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Unresolved directive in apispec.txt - include::XrDebugUtilsMessageSeverityFlagsEXT.txt[] Unresolved directive in apispec.txt - include::XrDebugUtilsMessageTypeFlagsEXT.txt[]
XrInputSourceLocalizedNameFlags(3)
Name
XrInputSourceLocalizedNameFlags - Input source localized name flags
C Specification
The xrGetInputSourceLocalizedName::whichComponents
parameter takes bitwise-OR of any of the following values:
// Flag bits for XrInputSourceLocalizedNameFlags
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_USER_PATH_BIT = 0x00000001;
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_INTERACTION_PROFILE_BIT = 0x00000002;
static const XrInputSourceLocalizedNameFlags XR_INPUT_SOURCE_LOCALIZED_NAME_COMPONENT_BIT = 0x00000004;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrInstanceCreateFlags(3)
Name
XrInstanceCreateFlags - Instance Creation Flags
Description
There are currently no instance creation flags. This is reserved for future use.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSessionCreateFlags(3)
Name
XrSessionCreateFlags - Session Creation Flags
Description
There are currently no session creation flags. This is reserved for future use.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSpaceRelationFlags(3)
Name
XrSpaceRelationFlags - Space relation flags
C Specification
The relationFlags
member is a bitwise-OR of zero or more of the following flags:
// Flag bits for XrSpaceRelationFlags
static const XrSpaceRelationFlags XR_SPACE_RELATION_ORIENTATION_VALID_BIT = 0x00000001;
static const XrSpaceRelationFlags XR_SPACE_RELATION_POSITION_VALID_BIT = 0x00000002;
static const XrSpaceRelationFlags XR_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = 0x00000004;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = 0x00000008;
static const XrSpaceRelationFlags XR_SPACE_RELATION_LINEAR_ACCELERATION_VALID_BIT = 0x00000010;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ANGULAR_ACCELERATION_VALID_BIT = 0x00000020;
static const XrSpaceRelationFlags XR_SPACE_RELATION_ORIENTATION_TRACKED_BIT = 0x00000040;
static const XrSpaceRelationFlags XR_SPACE_RELATION_POSITION_TRACKED_BIT = 0x00000080;
Description
where the flags have the following meaning:
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainCreateFlags(3)
Name
XrSwapchainCreateFlags - Swapchain creation flags
C Specification
The createFlags
are a combination of the following:
// Flag bits for XrSwapchainCreateFlags
static const XrSwapchainCreateFlags XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT = 0x00000001;
static const XrSwapchainCreateFlags XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT = 0x00000002;
Description
A runtime may implement any of these, but is not required to.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XrSwapchainCreateFlags
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSwapchainUsageFlags(3)
Name
XrSwapchainUsageFlags - Swapchain usage flags
C Specification
XrSwapchainUsageFlags Specify the intended usage of the swapchain images. When images are created, the runtime needs to know how the images are used in a way that requires more information than simply the image format. The XrSwapchainCreateInfo passed to xrCreateSwapchain should match the intended usage or else undefined behavior may result when the application works with the images.
Flags include:
// Flag bits for XrSwapchainUsageFlags
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_COLOR_ATTACHMENT_BIT = 0x00000001;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000002;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_UNORDERED_ACCESS_BIT = 0x00000004;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_TRANSFER_SRC_BIT = 0x00000008;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_TRANSFER_DST_BIT = 0x00000010;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_SAMPLED_BIT = 0x00000020;
static const XrSwapchainUsageFlags XR_SWAPCHAIN_USAGE_MUTABLE_FORMAT_BIT = 0x00000040;
Description
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrViewStateFlags(3)
Name
XrViewStateFlags - View state flags
C Specification
The XrViewStateFlags specifies the validity and quality of the corresponding XrView array returned by xrLocateViews.
Flags include:
// Flag bits for XrViewStateFlags
static const XrViewStateFlags XR_VIEW_STATE_ORIENTATION_VALID_BIT = 0x00000001;
static const XrViewStateFlags XR_VIEW_STATE_POSITION_VALID_BIT = 0x00000002;
static const XrViewStateFlags XR_VIEW_STATE_ORIENTATION_TRACKED_BIT = 0x00000004;
static const XrViewStateFlags XR_VIEW_STATE_POSITION_TRACKED_BIT = 0x00000008;
Description
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
Function Pointer Types
PFN_xrDebugUtilsMessengerCallbackEXT(3)
Name
PFN_xrDebugUtilsMessengerCallbackEXT - Type of callback function invoked by the debug utils
C Specification
typedef XrBool32 (XRAPI_PTR *PFN_xrDebugUtilsMessengerCallbackEXT)(
XrDebugUtilsMessageSeverityFlagsEXT messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT* callbackData,
void* userData);
Parameters
Description
The callback must not call xrDestroyDebugUtilsMessengerEXT.
The callback returns an XrBool32
that indicates to the calling layer
the application’s desire to abort the call.
A value of XR_TRUE
indicates that the application wants to abort this
call.
If the application returns XR_FALSE
, the function must not be aborted.
Applications should always return XR_FALSE
so that they see the same
behavior with and without validation layers enabled.
If the application returns XR_TRUE
from its callback and the OpenXR
call being aborted returns an XrResult, the layer will return
XR_ERROR_VALIDATION_FAILURE
.
The object pointed to by callbackData
(and any pointers in it
recursively) must be valid during the lifetime of the triggered callback.
It may become invalid afterwards.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
PFN_xrVoidFunction(3)
Name
PFN_xrVoidFunction - Dummy function pointer type returned by queries
C Specification
typedef void (XRAPI_PTR *PFN_xrVoidFunction)(void);
Parameters
Description
PFN_xrVoidFunction is a dummy pointer returned by queries, specifically those to xrGetInstanceProcAddr.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Scalar types
XrBool32(3)
Name
XrBool32 - Boolean value
C Specification
typedef uint32_t XrBool32;
Description
Boolean values used by OpenXR are of type XrBool32
and are 32-bits wide as suggested by the name. The only valid values are the following:
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrDuration(3)
Name
XrDuration - Bounded range of time
C Specification
typedef int64_t XrDuration;
Description
The difference between two timepoints is a duration, and thus the difference
between two XrTime
values is an XrDuration
value.
Functions that refer to durations use XrDuration
as opposed to
XrTime
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrFlags64(3)
Name
XrFlags64 - OpenXR bitmasks
C Specification
A collection of flags is represented by a bitmask using the type
XrFlags64
:
typedef uint64_t XrFlags64;
Description
Bitmasks are passed to many functions and structures to compactly
represent options and are stored in memory defined by the
XrFlags64
type.
But the API does not use the XrFlags64
type directly.
Instead, a Xr*Flags
type is used which is an alias of the
XrFlags64
type.
The API also defines a set of constant bit definitions used to set the bitmasks.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrPath(3)
Name
XrPath - A semantic path
C Specification
XR_DEFINE_ATOM(XrPath)
Description
The XrPath
is an atom that connects an application with a single path, within the context of a single instance.
There is a bijective mapping between well-formed path strings and atoms in use.
This atom is used — in place of the path name string it corresponds to — to retrieve state and perform other operations.
As an XrPath
is only shorthand for a well-formed path string, they have no explicit life cycle.
Lifetime is implicitly managed by the XrInstance.
An XrPath
must not be used unless it is received at execution time from the runtime in the context of a particular XrInstance.
Therefore, with the exception of XR_NULL_PATH, XrPath
values must not be specified as constant values in applications: the corresponding path string should be used instead.
During the lifetime of a given XrInstance, the XrPath
associated with that instance with any given well-formed path must not vary, and similarly the well-formed path string that corresponds to a given XrPath
in that instance must not vary.
An XrPath
that is received from one XrInstance may not be used with another.
Such an invalid use may be detected and result in an error being returned, or it may result in undefined behavior.
See Also
XR_NULL_PATH, XrActionCreateInfo, XrActionSpaceCreateInfo, XrActionSuggestedBinding, XrActiveActionSet, XrInteractionProfileInfo, XrInteractionProfileSuggestedBinding, xrApplyHapticFeedback, xrGetActionStateBoolean, xrGetActionStatePose, xrGetActionStateVector1f, xrGetActionStateVector2f, xrGetBoundSourcesForAction, xrGetCurrentInteractionProfile, xrGetInputSourceLocalizedName, xrPathToString, xrStopHapticFeedback, xrStringToPath
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrSystemId(3)
Name
XrSystemId - Identifier for a system
C Specification
XR_DEFINE_ATOM(XrSystemId)
Description
An XrSystemId
is an opaque atom used by the runtime to identify a system.
The value XR_NULL_SYSTEM_ID is considered an invalid system.
See Also
XR_NULL_SYSTEM_ID, XrSessionCreateInfo, XrSystemProperties, xrEnumerateEnvironmentBlendModes, xrEnumerateViewConfigurationViews, xrEnumerateViewConfigurations, xrGetD3D10GraphicsRequirementsKHR, xrGetD3D11GraphicsRequirementsKHR, xrGetD3D12GraphicsRequirementsKHR, xrGetOpenGLESGraphicsRequirementsKHR, xrGetOpenGLGraphicsRequirementsKHR, xrGetSystem, xrGetSystemProperties, xrGetViewConfigurationProperties, xrGetVulkanDeviceExtensionsKHR, xrGetVulkanGraphicsDeviceKHR, xrGetVulkanGraphicsRequirementsKHR, xrGetVulkanInstanceExtensionsKHR
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XrTime(3)
Name
XrTime - Basic type for time
C Specification
typedef int64_t XrTime;
Description
XrTime
is a base value type to represent time, as a 64 bit integer.
Unless specified otherwise, XrTime
denotes a time-point relative to
some runtime-determined constant epoch, rather than a duration, or a
time-point with some moving epoch such as function call time, vsync time, etc.
Time may be represented by the runtime with a standardized epoch (e.g. 12:00:00 January 1, 1970 as of runtime start), or an arbitrary epoch may be used (e.g. time since runtime start). Time overflows after 264 nanoseconds have occurred since the epoch. A single runtime must use the same epoch for all simultaneous applications. Time must be represented the same regardless of multiple processors or threads present in the system.
The period precision of time reported by the runtime is runtime-dependent, and may change. One nanosecond is the finest possible period precision. A runtime may, for example, report time progression with only microsecond-level granularity.
Time must not be assumed to correspond to a system clock time.
See Also
XrActionStateBoolean, XrActionStateVector1f, XrActionStateVector2f, XrDuration
, XrEventDataInstanceLossPending, XrEventDataReferenceSpaceChangePending, XrEventDataSessionStateChanged, XrFrameEndInfo, XrFrameState, XrSpaceRelation, XrViewLocateInfo, xrConvertTimeToTimespecTimeKHR, xrConvertTimeToWin32PerformanceCounterKHR, xrConvertTimespecTimeToTimeKHR, xrConvertWin32PerformanceCounterToTimeKHR, xrLocateSpace
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
C Macro Definitions
XR_CURRENT_API_VERSION(3)
Name
XR_CURRENT_API_VERSION - Version of the OpenXR API
C Specification
// OpenXR current version number.
#define XR_CURRENT_API_VERSION XR_MAKE_VERSION(0, 90, 1)
Description
XR_CURRENT_API_VERSION is the current version of the OpenXR API.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XR_CURRENT_API_VERSION
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_DEFINE_ATOM(3)
Name
XR_DEFINE_ATOM - Macro to define a atom type
C Specification
#if !defined(XR_DEFINE_ATOM)
#define XR_DEFINE_ATOM(object) typedef uint64_t object;
#endif
Description
XR_DEFINE_ATOM defines an atom type, which is an opaque 64 bit integer.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_DEFINE_HANDLE(3)
Name
XR_DEFINE_HANDLE - Macro to define a handle type
C Specification
#if !defined(XR_DEFINE_HANDLE)
#if (XR_PTR_SIZE == 8)
#define XR_DEFINE_HANDLE(object) typedef struct object##_T* object;
#else
#define XR_DEFINE_HANDLE(object) typedef uint64_t object;
#endif
#endif
Description
XR_DEFINE_HANDLE defines a handle type, which is an opaque 64 bit value, which may be implemented as an opaque, distinct pointer type on platforms with 64 bit pointers.
For further details, see Handles.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FAILED(3)
Name
XR_FAILED - Failure convenience macro
C Specification
#define XR_FAILED(result) ((result) < 0)
Description
way.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_FREQUENCY_UNSPECIFIED(3)
Name
XR_FREQUENCY_UNSPECIFIED - Runtime should determine optimal frequency for haptic pulse
C Specification
XR_FREQUENCY_UNSPECIFIED is used to indicate that the application wants the runtime to decide what the optimal frequency is for the haptic pulse.
#define XR_FREQUENCY_UNSPECIFIED 0
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_HEADER_VERSION(3)
Name
XR_HEADER_VERSION - Version of the OpenXR header
C Specification
// Version of this file
#define XR_HEADER_VERSION 43
Description
XR_HEADER_VERSION is the version number of the openxr.h
header.
This value is currently kept synchronized with the release number of the
Specification. However, it is not guaranteed to remain synchronized,
since most Specification updates have no effect on openxr.h
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_INFINITE_DURATION(3)
Name
XR_INFINITE_DURATION - Constant for infinite duration/never times out
C Specification
#define XR_INFINITE_DURATION 0x7fffffffffffffffLL
Description
XR_INFINITE_DURATION is a special value that may be used to indicate that the timeout never occurs. A timeout with a duration that refers to the past has the same effect as a timeout of XR_NO_DURATION.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAKE_VERSION(3)
Name
XR_MAKE_VERSION - Packs a three-component version number into a packed version number integer
C Specification
#define XR_MAKE_VERSION(major, minor, patch) \
(((major) << 22) | ((minor) << 12) | (patch))
Description
XR_MAKE_VERSION constructs a packed 32-bit integer API version number from three components. The format used is described in API Version Numbers and Semantics.
This macro can be used when constructing the
XrApplicationInfo::apiVersion
parameter passed to xrCreateInstance.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAX_EVENT_DATA_SIZE(3)
Name
XR_MAX_EVENT_DATA_SIZE - Maximum event data buffer size
C Specification
XR_MAX_EVENT_DATA_SIZE is the maximum size of an XrEventDataBuffer.
#define XR_MAX_EVENT_DATA_SIZE sizeof(XrEventDataBuffer)
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XR_MAX_EVENT_DATA_SIZE
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MAY_ALIAS(3)
Name
XR_MAY_ALIAS - Convenience macro to annotate types and pointers affirmatively known to alias
C Specification
#if !defined(XR_MAY_ALIAS)
#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4))
#define XR_MAY_ALIAS __attribute__((__may_alias__))
#else
#define XR_MAY_ALIAS
#endif
#endif
Description
As a convenience, some types and pointers that are known at specification time to alias values of different types have been annotated with the XR_MAY_ALIAS definition. If this macro is not defined before including OpenXR headers, and a new enough Clang or GCC compiler is used, it will be defined to the compiler-specific attribute annotation to inform these compilers that those pointers may alias. However, there is no guarantee that all aliasing types or pointers have been correctly marked with this macro, so thorough testing is still recommended if you choose (at your own risk) to permit your compiler to perform type-based aliasing analysis.
See Type Aliasing for full discussion of pointer aliasing in OpenXR.
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_MIN_HAPTIC_DURATION(3)
Name
XR_MIN_HAPTIC_DURATION - Indicates the shortest valid duration for the device
C Specification
XR_MIN_HAPTIC_DURATION is used to indicate to the runtime that a short haptic pulse of the minimal supported duration for the haptic device.
#define XR_MIN_HAPTIC_DURATION -1
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XR_MIN_HAPTIC_DURATION
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NO_DURATION(3)
Name
XR_NO_DURATION - Constant for no duration/immediate timeout
C Specification
#define XR_NO_DURATION 0
Description
For the case of timeout durations, XR_NO_DURATION may be used to indicate that the timeout is immediate.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_HANDLE(3)
Name
XR_NULL_HANDLE - Invalid handle value
C Specification
#if !defined(XR_NULL_HANDLE)
#if (XR_PTR_SIZE == 8) && XR_CPP_NULLPTR_SUPPORTED
#define XR_NULL_HANDLE nullptr
#else
#define XR_NULL_HANDLE 0
#endif
#endif
Description
XR_NULL_HANDLE is a reserved value representing a non-valid object handle. It may be passed to and returned from API functions only when specifically allowed.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_PATH(3)
Name
XR_NULL_PATH - A NULL semantic path
C Specification
#define XR_NULL_PATH 0
Description
The only XrPath
value defined to be constant across all instances is the invalid path XR_NULL_PATH.
No well-formed path string is associated with XR_NULL_PATH.
Unless explicitly permitted, it should not be passed to API calls or used as a structure attribute when a valid XrPath
is required.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_NULL_SYSTEM_ID(3)
Name
XR_NULL_SYSTEM_ID - NULL system identifier
C Specification
#define XR_NULL_SYSTEM_ID 0
Description
The only XrSystemId
value defined to be constant across all instances is the invalid system XR_NULL_SYSTEM_ID.
No supported system is associated with XR_NULL_SYSTEM_ID.
Unless explicitly permitted, it should not be passed to API calls or used as a structure attribute when a valid XrSystemId
is required.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_SUCCEEDED(3)
Name
XR_SUCCEEDED - Success convenience macro
C Specification
#define XR_SUCCEEDED(result) ((result) >= 0)
Description
This may be a qualified success such as XR_FRAME_DISCARDED
.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_UNQUALIFIED_SUCCESS(3)
Name
XR_UNQUALIFIED_SUCCESS - Unqualified success convenience macro
C Specification
#define XR_UNQUALIFIED_SUCCESS(result) ((result) == 0)
Description
used to compare an XrResult to 0
(XR_SUCCESS
) exclusively.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XR_UNQUALIFIED_SUCCESS
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_MAJOR(3)
Name
XR_VERSION_MAJOR - Extracts the major version number from a packed version number
C Specification
#define XR_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
Description
XR_VERSION_MAJOR extracts the API major version number from a packed version number.
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_MINOR(3)
Name
XR_VERSION_MINOR - Extracts the minor version number from a packed version number
C Specification
#define XR_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
Description
XR_VERSION_MINOR extracts the API minor version number from a packed version number.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_VERSION_PATCH(3)
Name
XR_VERSION_PATCH - Extracts the patch version number from a packed version number
C Specification
#define XR_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
Description
XR_VERSION_PATCH extracts the API patch version number from a packed version number.
Document Notes
For more information, see the OpenXR Specification at URL
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
OpenXR Extensions
XR_KHR_D3D10_enable(3)
Name
XR_KHR_D3D10_enable - instance extension
Specification
See XR_KHR_D3D10_enable in the main specification for complete information.
Registered Extension Number
27
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_D3D11_enable(3)
Name
XR_KHR_D3D11_enable - instance extension
Specification
See XR_KHR_D3D11_enable in the main specification for complete information.
Registered Extension Number
28
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_D3D12_enable(3)
Name
XR_KHR_D3D12_enable - instance extension
Specification
See XR_KHR_D3D12_enable in the main specification for complete information.
Registered Extension Number
29
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_create_instance(3)
Name
XR_KHR_android_create_instance - instance extension
Specification
See XR_KHR_android_create_instance in the main specification for complete information.
Registered Extension Number
9
Revision
2
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_surface_swapchain(3)
Name
XR_KHR_android_surface_swapchain - instance extension
Specification
See XR_KHR_android_surface_swapchain in the main specification for complete information.
Registered Extension Number
5
Revision
4
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_android_thread_settings(3)
Name
XR_KHR_android_thread_settings - instance extension
Specification
See XR_KHR_android_thread_settings in the main specification for complete information.
Registered Extension Number
4
Revision
4
Extension and Version Dependencies
-
Requires OpenXR 0.90
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_cube(3)
Name
XR_KHR_composition_layer_cube - instance extension
Specification
See XR_KHR_composition_layer_cube in the main specification for complete information.
Registered Extension Number
7
Revision
8
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_cylinder(3)
Name
XR_KHR_composition_layer_cylinder - instance extension
Specification
See XR_KHR_composition_layer_cylinder in the main specification for complete information.
Registered Extension Number
18
Revision
4
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_depth(3)
Name
XR_KHR_composition_layer_depth - instance extension
Specification
See XR_KHR_composition_layer_depth in the main specification for complete information.
Registered Extension Number
11
Revision
5
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_composition_layer_equirect(3)
Name
XR_KHR_composition_layer_equirect - instance extension
Specification
See XR_KHR_composition_layer_equirect in the main specification for complete information.
Registered Extension Number
19
Revision
3
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_convert_timespec_time(3)
Name
XR_KHR_convert_timespec_time - instance extension
Specification
See XR_KHR_convert_timespec_time in the main specification for complete information.
Registered Extension Number
37
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_headless(3)
Name
XR_KHR_headless - instance extension
Specification
See XR_KHR_headless in the main specification for complete information.
Registered Extension Number
14
Revision
2
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
No cross-references are available
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_opengl_enable(3)
Name
XR_KHR_opengl_enable - instance extension
Specification
See XR_KHR_opengl_enable in the main specification for complete information.
Registered Extension Number
24
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_opengl_es_enable(3)
Name
XR_KHR_opengl_es_enable - instance extension
Specification
See XR_KHR_opengl_es_enable in the main specification for complete information.
Registered Extension Number
25
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_visibility_mask(3)
Name
XR_KHR_visibility_mask - instance extension
Specification
See XR_KHR_visibility_mask in the main specification for complete information.
Registered Extension Number
32
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
https://www.khronos.org/registry/openxr/specs/1.0-extensions/html/xrspec.html#XR_KHR_visibility_mask
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_vulkan_enable(3)
Name
XR_KHR_vulkan_enable - instance extension
Specification
See XR_KHR_vulkan_enable in the main specification for complete information.
Registered Extension Number
26
Revision
6
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_vulkan_swapchain_format_list(3)
Name
XR_KHR_vulkan_swapchain_format_list - instance extension
Specification
See XR_KHR_vulkan_swapchain_format_list in the main specification for complete information.
Registered Extension Number
15
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
-
Requires
[XR_KHR_vulkan_enable]
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_KHR_win32_convert_performance_counter_time(3)
Name
XR_KHR_win32_convert_performance_counter_time - instance extension
Specification
See XR_KHR_win32_convert_performance_counter_time in the main specification for complete information.
Registered Extension Number
36
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_debug_utils(3)
Name
XR_EXT_debug_utils - instance extension
Specification
See XR_EXT_debug_utils in the main specification for complete information.
Registered Extension Number
20
Revision
2
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
PFN_xrDebugUtilsMessengerCallbackEXT, XrDebugUtilsLabelEXT, XrDebugUtilsMessengerCallbackDataEXT, XrDebugUtilsMessengerCreateInfoEXT, XrDebugUtilsObjectNameInfoEXT, xrCreateDebugUtilsMessengerEXT, xrDestroyDebugUtilsMessengerEXT, xrSessionBeginDebugUtilsLabelRegionEXT, xrSessionEndDebugUtilsLabelRegionEXT, xrSessionInsertDebugUtilsLabelEXT, xrSetDebugUtilsObjectNameEXT, xrSubmitDebugUtilsMessageEXT
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_performance_settings(3)
Name
XR_EXT_performance_settings - instance extension
Specification
See XR_EXT_performance_settings in the main specification for complete information.
Registered Extension Number
16
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.
XR_EXT_thermal_query(3)
Name
XR_EXT_thermal_query - instance extension
Specification
See XR_EXT_thermal_query in the main specification for complete information.
Registered Extension Number
17
Revision
1
Extension and Version Dependencies
-
Requires OpenXR 0.90
See Also
Document Notes
For more information, see the OpenXR Specification at URL
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.