Monado OpenXR Runtime
Loading...
Searching...
No Matches
OpenXR entrypoints

Gets called from the client application, does most verification and routes calls into OpenXR main code functions. More...

Collaboration diagram for OpenXR entrypoints:

Files

file  oxr_api_action.c
 Action related API entrypoint functions.
 
file  oxr_api_action.h
 Header defining all API functions.
 
file  oxr_haptic.c
 Haptic related functions.
 
file  oxr_haptic.h
 Haptic related functions.
 
file  oxr_api_body_tracking.c
 body tracking related API entrypoint functions.
 
file  oxr_api_body_tracking_bd.c
 BD (PICO) body tracking related API entrypoint functions.
 
file  oxr_api_debug.c
 Debug messaging entrypoints for the OpenXR state tracker.
 
file  oxr_api_face_tracking2_fb.c
 face tracking related API entrypoint functions.
 
file  oxr_api_face_tracking_android.c
 Android face tracking related API entrypoint functions.
 
file  oxr_api_face_tracking_htc.c
 face tracking related API entrypoint functions.
 
file  oxr_api_funcs.h
 Header defining all API functions.
 
file  oxr_api_future.c
 future related API entrypoint functions.
 
file  oxr_api_hand_tracking.c
 Hand tracking related API functions.
 
file  oxr_api_instance.c
 Holds instance related entrypoints.
 
file  oxr_api_negotiate.c
 File for negotiating with the loader.
 
file  oxr_api_passthrough.c
 passthrough related API entrypoint functions.
 
file  oxr_api_session.c
 Session entrypoints for the OpenXR state tracker.
 
file  oxr_api_space.c
 Space, space, space, SPAAAAAAAAAAAAAAAAAAAAAAAAAACE!
 
file  oxr_api_swapchain.c
 Swapchain entrypoints for the OpenXR state tracker.
 
file  oxr_api_system.c
 Holds system related entrypoints.
 
file  oxr_api_verify.h
 File for verifying app input into api functions.
 
file  oxr_api_xdev.c
 Monado xrt_device API functions.
 
file  oxr_verify.c
 File for verifying app input into api functions.
 

Macros

#define OXR_VERIFY_INSTANCE_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_instance, INSTANCE, name, new_thing)
 
#define OXR_VERIFY_MESSENGER_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_messenger, MESSENGER, name, new_thing->inst)
 
#define OXR_VERIFY_SESSION_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_session, SESSION, name, new_thing->sys->inst)
 
#define OXR_VERIFY_SPACE_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_space, SPACE, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_ACTION_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_action, ACTION, name, new_thing->act_set->inst)
 
#define OXR_VERIFY_SWAPCHAIN_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_swapchain, SWAPCHAIN, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_ACTIONSET_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_action_set, ACTIONSET, name, new_thing->inst)
 
#define OXR_VERIFY_HAND_TRACKER_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_hand_tracker, HTRACKER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_FORCE_FEEDBACK_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_force_feedback, FFB, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_PASSTHROUGH_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_passthrough, PASSTHROUGH, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_PASSTHROUGH_LAYER_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_passthrough_layer, PASSTHROUGH_LAYER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_FACE_TRACKER_HTC_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_facial_tracker_htc, FTRACKER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_FACE_TRACKER2_FB_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_face_tracker2_fb, FTRACKER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_BODY_TRACKER_FB_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_body_tracker_fb, BTRACKER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_BODY_TRACKER_BD_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_body_tracker_bd, BTRACKER_BD, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_XDEVLIST_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_xdev_list, XDEVLIST, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_PLANE_DETECTOR_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_plane_detector_ext, PLANEDET, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_FUTURE_AND_INIT_LOG(log, thing, new_thing, name)
 
#define OXR_VERIFY_FACE_TRACKER_ANDROID_AND_INIT_LOG(log, thing, new_thing, name)    OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_face_tracker_android, FTRACKER, name, new_thing->sess->sys->inst)
 
#define OXR_VERIFY_INSTANCE_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_instance, INSTANCE);
 
#define OXR_VERIFY_MESSENGER_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_messenger, MESSENGER);
 
#define OXR_VERIFY_SESSION_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_session, SESSION);
 
#define OXR_VERIFY_SPACE_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_space, SPACE);
 
#define OXR_VERIFY_ACTION_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_action, ACTION);
 
#define OXR_VERIFY_SWAPCHAIN_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_swapchain, SWAPCHAIN);
 
#define OXR_VERIFY_ACTIONSET_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_action_set, ACTIONSET);
 
#define OXR_VERIFY_XDEVLIST_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_xdev_list, XDEVLIST);
 
#define OXR_VERIFY_FUTURE_NOT_NULL(log, arg, new_arg)   OXR_VERIFY_SET(log, arg, new_arg, oxr_future_ext, FUTURE);
 
#define OXR_VERIFY_EXTENSION(log, inst, mixed_case_name)
 Checks if a required extension is enabled.
 
#define OXR_VERIFY_EXTENSIONS_OR(log, inst, mixed_case_name1, mixed_case_name2)
 Checks if either one of two required extensions is enabled.
 
#define OXR_API_VERSION_AT_LEAST(inst, major, minor)    ((inst)->openxr_version.major_minor >= XR_MAKE_VERSION(major, minor, 0))
 A condition if the instance is created with at least a given OpenXR version.
 
#define OXR_VERIFY_API_VERSION_AT_LEAST(log, inst, major, minor)
 Checks if the instance is created with at least a given OpenXR version.
 
#define OXR_VERIFY_ARG_NOT_NULL(log, arg)
 
#define OXR_VERIFY_ARG_NOT_ZERO(log, arg)
 
#define OXR_VERIFY_ARG_ZERO(log, arg)
 
#define OXR_VERIFY_ARG_TYPE_CAN_BE_NULL(log, arg, type_enum)
 
#define OXR_VERIFY_ARG_TYPE_AND_NOT_NULL(log, arg, type_enum)
 
#define OXR_VERIFY_ARG_ARRAY_ELEMENT_TYPE(log, array, index, type_enum)
 Must only be used with full typed arrays, aka non-basetyped arrays like that passed into xrEnumerateSwapchainImages.
 
#define OXR_VERIFY_TWO_CALL_ARRAY(log, inputCapacity, countOutput, array)
 
#define OXR_VERIFY_TWO_CALL_ARRAY_AND_TYPE(log, inputCapacity, countOutput, array, type_enum)
 
#define OXR_VERIFY_SUBACTION_PATHS(log, count, paths)
 
#define OXR_VERIFY_ARG_SINGLE_LEVEL_FIXED_LENGTH_PATH(log, path)
 
#define OXR_VERIFY_ARG_LOCALIZED_NAME(log, string)
 
#define OXR_VERIFY_POSE(log, p)
 
#define OXR_VERIFY_FORM_FACTOR(log, form_factor)
 
#define OXR_VERIFY_VIEW_CONFIG_TYPE(log, inst, view_conf)
 
#define OXR_VERIFY_VIEW_CONFIG_TYPE_SUPPORTED(log, sys, view_conf)
 
#define OXR_VERIFY_VIEW_INDEX(log, index)
 
#define OXR_VERIFY_SWAPCHAIN_USAGE_FLAGS_NOT_MUTUALLY_EXCLUSIVE(log, flags, mutually_exclusive_a, mutually_exclusive_b)
 
#define OXR_VERIFY_SESSION_NOT_LOST(log, sess)
 
#define OXR_VERIFY_SESSION_RUNNING(log, sess)
 
#define OXR_VERIFY_PASSTHROUGH_FLAGS(log, flags)
 
#define OXR_VERIFY_PASSTHROUGH_LAYER_PURPOSE(log, purpose)
 
#define OXR_VERIFY_PASSTHROUGH_LAYER_STYLE(log, style)
 
#define OXR_VERIFY_HAND_TRACKING_DATA_SOURCE_OR_NULL(log, data_source_info)
 
#define OXR_VERIFY_FUTURE_VALID(LOG, OXR_FT)
 
#define OXR_VERIFY_ARG_TIME_NOT_ZERO(log, xr_time)
 
#define OXR_GET_INPUT_FROM_CHAIN(PTR, STRUCTURE_TYPE_ENUM, TYPE)    ((TYPE const *)oxr_find_input_in_chain(PTR, STRUCTURE_TYPE_ENUM))
 Finds an input struct of the given type in a next-chain and casts it as desired.
 
#define OXR_GET_OUTPUT_FROM_CHAIN(PTR, STRUCTURE_TYPE_ENUM, TYPE)    ((TYPE *)oxr_find_output_in_chain(PTR, STRUCTURE_TYPE_ENUM))
 Finds an output struct of the given type in a next-chain and casts it as desired.
 

Functions

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetInstanceProcAddr (XrInstance instance, const char *name, PFN_xrVoidFunction *function)
 OpenXR API function xrGetInstanceProcAddr.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateApiLayerProperties (uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrApiLayerProperties *properties)
 OpenXR API function xrEnumerateApiLayerProperties.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateInstanceExtensionProperties (const char *layerName, uint32_t propertyCapacityInput, uint32_t *propertyCountOutput, XrExtensionProperties *properties)
 OpenXR API function xrEnumerateInstanceExtensionProperties.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateInstance (const XrInstanceCreateInfo *createInfo, XrInstance *instance)
 OpenXR API function xrCreateInstance.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyInstance (XrInstance instance)
 OpenXR API function xrDestroyInstance.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetInstanceProperties (XrInstance instance, XrInstanceProperties *instanceProperties)
 OpenXR API function xrGetInstanceProperties.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrPollEvent (XrInstance instance, XrEventDataBuffer *eventData)
 OpenXR API function xrPollEvent.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrResultToString (XrInstance instance, XrResult value, char buffer[XR_MAX_RESULT_STRING_SIZE])
 OpenXR API function xrResultToString.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrStructureTypeToString (XrInstance instance, XrStructureType value, char buffer[XR_MAX_STRUCTURE_NAME_SIZE])
 OpenXR API function xrStructureTypeToString.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrStringToPath (XrInstance instance, const char *pathString, XrPath *path)
 OpenXR API function xrStringToPath.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrPathToString (XrInstance instance, XrPath path, uint32_t bufferCapacityInput, uint32_t *bufferCountOutput, char *buffer)
 OpenXR API function xrPathToString.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrConvertTimespecTimeToTimeKHR (XrInstance instance, const struct timespec *timespecTime, XrTime *time)
 OpenXR API function xrConvertTimespecTimeToTimeKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrConvertTimeToTimespecTimeKHR (XrInstance instance, XrTime time, struct timespec *timespecTime)
 OpenXR API function xrConvertTimeToTimespecTimeKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetSystem (XrInstance instance, const XrSystemGetInfo *getInfo, XrSystemId *systemId)
 OpenXR API function xrGetSystem.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetSystemProperties (XrInstance instance, XrSystemId systemId, XrSystemProperties *properties)
 OpenXR API function xrGetSystemProperties.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateViewConfigurations (XrInstance instance, XrSystemId systemId, uint32_t viewConfigurationTypeCapacityInput, uint32_t *viewConfigurationTypeCountOutput, XrViewConfigurationType *viewConfigurationTypes)
 OpenXR API function xrEnumerateViewConfigurations.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetViewConfigurationProperties (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, XrViewConfigurationProperties *configurationProperties)
 OpenXR API function xrGetViewConfigurationProperties.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateViewConfigurationViews (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views)
 OpenXR API function xrEnumerateViewConfigurationViews.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateEnvironmentBlendModes (XrInstance instance, XrSystemId systemId, XrViewConfigurationType viewConfigurationType, uint32_t environmentBlendModeCapacityInput, uint32_t *environmentBlendModeCountOutput, XrEnvironmentBlendMode *environmentBlendModes)
 OpenXR API function xrEnumerateEnvironmentBlendModes.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetOpenGLGraphicsRequirementsKHR (XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsOpenGLKHR *graphicsRequirements)
 OpenXR API function xrGetOpenGLGraphicsRequirementsKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanInstanceExtensionsKHR (XrInstance instance, XrSystemId systemId, uint32_t namesCapacityInput, uint32_t *namesCountOutput, char *namesString)
 OpenXR API function xrGetVulkanInstanceExtensionsKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanDeviceExtensionsKHR (XrInstance instance, XrSystemId systemId, uint32_t namesCapacityInput, uint32_t *namesCountOutput, char *namesString)
 OpenXR API function xrGetVulkanDeviceExtensionsKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsDeviceKHR (XrInstance instance, XrSystemId systemId, VkInstance vkInstance, VkPhysicalDevice *vkPhysicalDevice)
 OpenXR API function xrGetVulkanGraphicsDeviceKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsDevice2KHR (XrInstance instance, const XrVulkanGraphicsDeviceGetInfoKHR *getInfo, VkPhysicalDevice *vkPhysicalDevice)
 OpenXR API function xrGetVulkanGraphicsDeviceKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsRequirementsKHR (XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkanKHR *graphicsRequirements)
 OpenXR API function xrGetVulkanGraphicsRequirementsKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsRequirements2KHR (XrInstance instance, XrSystemId systemId, XrGraphicsRequirementsVulkan2KHR *graphicsRequirements)
 OpenXR API function xrGetVulkanGraphicsRequirements2KHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateVulkanInstanceKHR (XrInstance instance, const XrVulkanInstanceCreateInfoKHR *createInfo, VkInstance *vulkanInstance, VkResult *vulkanResult)
 OpenXR API function xrCreateVulkanInstanceKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateVulkanDeviceKHR (XrInstance instance, const XrVulkanDeviceCreateInfoKHR *createInfo, VkDevice *vulkanDevice, VkResult *vulkanResult)
 OpenXR API function xrCreateVulkanDeviceKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateSession (XrInstance instance, const XrSessionCreateInfo *createInfo, XrSession *session)
 OpenXR API function xrCreateSession.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySession (XrSession session)
 OpenXR API function xrDestroySession.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrBeginSession (XrSession session, const XrSessionBeginInfo *beginInfo)
 OpenXR API function xrBeginSession.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEndSession (XrSession session)
 OpenXR API function xrEndSession.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrWaitFrame (XrSession session, const XrFrameWaitInfo *frameWaitInfo, XrFrameState *frameState)
 OpenXR API function xrWaitFrame.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrBeginFrame (XrSession session, const XrFrameBeginInfo *frameBeginInfo)
 OpenXR API function xrBeginFrame.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEndFrame (XrSession session, const XrFrameEndInfo *frameEndInfo)
 OpenXR API function xrEndFrame.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrRequestExitSession (XrSession session)
 OpenXR API function xrRequestExitSession.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateViews (XrSession session, const XrViewLocateInfo *viewLocateInfo, XrViewState *viewState, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrView *views)
 OpenXR API function xrLocateViews.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateActionSpace (XrSession session, const XrActionSpaceCreateInfo *createInfo, XrSpace *space)
 OpenXR API function xrCreateActionSpace.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateReferenceSpaces (XrSession session, uint32_t spaceCapacityInput, uint32_t *spaceCountOutput, XrReferenceSpaceType *spaces)
 OpenXR API function xrEnumerateReferenceSpaces.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetReferenceSpaceBoundsRect (XrSession session, XrReferenceSpaceType referenceSpaceType, XrExtent2Df *bounds)
 OpenXR API function xrGetReferenceSpaceBoundsRect.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateReferenceSpace (XrSession session, const XrReferenceSpaceCreateInfo *createInfo, XrSpace *space)
 OpenXR API function xrCreateReferenceSpace.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpace (XrSpace space, XrSpace baseSpace, XrTime time, XrSpaceLocation *location)
 OpenXR API function xrLocateSpace.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySpace (XrSpace space)
 OpenXR API function xrDestroySpace.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateSwapchainFormats (XrSession session, uint32_t formatCapacityInput, uint32_t *formatCountOutput, int64_t *formats)
 OpenXR API function xrEnumerateSwapchainFormats.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateSwapchain (XrSession session, const XrSwapchainCreateInfo *createInfo, XrSwapchain *swapchain)
 OpenXR API function xrCreateSwapchain.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySwapchain (XrSwapchain swapchain)
 OpenXR API function xrDestroySwapchain.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateSwapchainImages (XrSwapchain swapchain, uint32_t imageCapacityInput, uint32_t *imageCountOutput, XrSwapchainImageBaseHeader *images)
 OpenXR API function xrEnumerateSwapchainImages.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrAcquireSwapchainImage (XrSwapchain swapchain, const XrSwapchainImageAcquireInfo *acquireInfo, uint32_t *index)
 OpenXR API function xrAcquireSwapchainImage.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrWaitSwapchainImage (XrSwapchain swapchain, const XrSwapchainImageWaitInfo *waitInfo)
 OpenXR API function xrWaitSwapchainImage.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrReleaseSwapchainImage (XrSwapchain swapchain, const XrSwapchainImageReleaseInfo *releaseInfo)
 OpenXR API function xrReleaseSwapchainImage.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSetDebugUtilsObjectNameEXT (XrInstance instance, const XrDebugUtilsObjectNameInfoEXT *nameInfo)
 OpenXR API function xrSetDebugUtilsObjectNameEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateDebugUtilsMessengerEXT (XrInstance instance, const XrDebugUtilsMessengerCreateInfoEXT *createInfo, XrDebugUtilsMessengerEXT *messenger)
 OpenXR API function xrCreateDebugUtilsMessengerEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyDebugUtilsMessengerEXT (XrDebugUtilsMessengerEXT messenger)
 OpenXR API function xrDestroyDebugUtilsMessengerEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSubmitDebugUtilsMessageEXT (XrInstance instance, XrDebugUtilsMessageSeverityFlagsEXT messageSeverity, XrDebugUtilsMessageTypeFlagsEXT messageTypes, const XrDebugUtilsMessengerCallbackDataEXT *callbackData)
 OpenXR API function xrSubmitDebugUtilsMessageEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionBeginDebugUtilsLabelRegionEXT (XrSession session, const XrDebugUtilsLabelEXT *labelInfo)
 OpenXR API function xrSessionBeginDebugUtilsLabelRegionEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionEndDebugUtilsLabelRegionEXT (XrSession session)
 OpenXR API function xrSessionEndDebugUtilsLabelRegionEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionInsertDebugUtilsLabelEXT (XrSession session, const XrDebugUtilsLabelEXT *labelInfo)
 OpenXR API function xrSessionInsertDebugUtilsLabelEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateHandTrackerEXT (XrSession session, const XrHandTrackerCreateInfoEXT *createInfo, XrHandTrackerEXT *handTracker)
 OpenXR API function xrCreateHandTrackerEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyHandTrackerEXT (XrHandTrackerEXT handTracker)
 OpenXR API function xrDestroyHandTrackerEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateHandJointsEXT (XrHandTrackerEXT handTracker, const XrHandJointsLocateInfoEXT *locateInfo, XrHandJointLocationsEXT *locations)
 OpenXR API function xrLocateHandJointsEXT.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrApplyForceFeedbackCurlMNDX (XrHandTrackerEXT handTracker, const XrForceFeedbackCurlApplyLocationsMNDX *locations)
 OpenXR API function xrApplyForceFeedbackCurlMNDX.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateDisplayRefreshRatesFB (XrSession session, uint32_t displayRefreshRateCapacityInput, uint32_t *displayRefreshRateCountOutput, float *displayRefreshRates)
 OpenXR API function xrEnumerateDisplayRefreshRatesFB.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetDisplayRefreshRateFB (XrSession session, float *displayRefreshRate)
 OpenXR API function xrGetDisplayRefreshRateFB.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrRequestDisplayRefreshRateFB (XrSession session, float displayRefreshRate)
 OpenXR API function xrRequestDisplayRefreshRateFB.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetDeviceSampleRateFB (XrSession session, const XrHapticActionInfo *hapticActionInfo, XrDevicePcmSampleRateGetInfoFB *deviceSampleRate)
 OpenXR API function xrGetDeviceSampleRateFB.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpacesKHR (XrSession session, const XrSpacesLocateInfoKHR *locateInfo, XrSpaceLocationsKHR *spaceLocations)
 OpenXR API function xrLocateSpacesKHR.
 
XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpaces (XrSession session, const XrSpacesLocateInfo *locateInfo, XrSpaceLocations *spaceLocations)
 OpenXR API function xrLocateSpaces.
 
XrResult oxr_verify_full_path_c (struct oxr_logger *log, const char *path, const char *name)
 
XrResult oxr_verify_full_path (struct oxr_logger *log, const char *path, size_t length, const char *name)
 Verify a full path.
 
XrResult oxr_verify_fixed_size_single_level_path (struct oxr_logger *, const char *path, uint32_t array_size, const char *name)
 Verify a single path level that sits inside of a fixed sized array.
 
XrResult oxr_verify_localized_name (struct oxr_logger *, const char *string, uint32_t array_size, const char *name)
 Verify an arbitrary UTF-8 string that sits inside of a fixed sized array.
 
XrResult oxr_verify_subaction_paths_create (struct oxr_logger *log, struct oxr_instance *inst, uint32_t countSubactionPaths, const XrPath *subactionPaths, const char *variable)
 Verify a set of subaction paths for action creation.
 
XrResult oxr_verify_subaction_path_sync (struct oxr_logger *log, const struct oxr_instance *inst, const struct oxr_action_set *act_set, XrPath path, uint32_t index)
 Verify a set of subaction paths for action sync.
 
XrResult oxr_verify_subaction_path_get (struct oxr_logger *log, struct oxr_instance *inst, XrPath path, const struct oxr_subaction_paths *act_subaction_paths, struct oxr_subaction_paths *out_subaction_paths, const char *variable)
 Verify a set of subaction paths for action state get.
 
XrResult oxr_verify_extensions (struct oxr_logger *log, const struct oxr_extension_status *extensions)
 
XrResult oxr_verify_view_config_type (struct oxr_logger *log, struct oxr_instance *inst, XrViewConfigurationType view_conf, const char *view_conf_name)
 
XrResult oxr_verify_view_config_type_supported (struct oxr_logger *log, struct oxr_system *sys, XrViewConfigurationType view_conf, const char *view_conf_name)
 
XrResult oxr_verify_XrSessionCreateInfo (struct oxr_logger *, const struct oxr_instance *, const XrSessionCreateInfo *)
 
XrResult oxr_verify_XrGraphicsBindingOpenGLXlibKHR (struct oxr_logger *, const XrGraphicsBindingOpenGLXlibKHR *)
 
XrResult oxr_verify_XrGraphicsBindingVulkanKHR (struct oxr_logger *, const XrGraphicsBindingVulkanKHR *)
 
static XrBaseInStructure const * oxr_find_input_in_chain (const void *ptr, XrStructureType desired)
 Finds an input struct of the given type in a next-chain.
 
static XrBaseOutStructure * oxr_find_output_in_chain (const void *ptr, XrStructureType desired)
 Finds an output struct of the given type in a next-chain.
 

Detailed Description

Gets called from the client application, does most verification and routes calls into OpenXR main code functions.

Macro Definition Documentation

◆ OXR_API_VERSION_AT_LEAST

#define OXR_API_VERSION_AT_LEAST (   inst,
  major,
  minor 
)     ((inst)->openxr_version.major_minor >= XR_MAKE_VERSION(major, minor, 0))

#include <state_trackers/oxr/oxr_api_verify.h>

A condition if the instance is created with at least a given OpenXR version.

◆ OXR_GET_INPUT_FROM_CHAIN

#define OXR_GET_INPUT_FROM_CHAIN (   PTR,
  STRUCTURE_TYPE_ENUM,
  TYPE 
)     ((TYPE const *)oxr_find_input_in_chain(PTR, STRUCTURE_TYPE_ENUM))

#include <state_trackers/oxr/oxr_chain.h>

Finds an input struct of the given type in a next-chain and casts it as desired.

Returns NULL if nothing matching is found.

Note: There is no protection here to ensure that STRUCTURE_TYPE_ENUM (an XrStructureType value) and TYPE (a type name) actually match!

◆ OXR_GET_OUTPUT_FROM_CHAIN

#define OXR_GET_OUTPUT_FROM_CHAIN (   PTR,
  STRUCTURE_TYPE_ENUM,
  TYPE 
)     ((TYPE *)oxr_find_output_in_chain(PTR, STRUCTURE_TYPE_ENUM))

#include <state_trackers/oxr/oxr_chain.h>

Finds an output struct of the given type in a next-chain and casts it as desired.

Returns NULL if nothing matching is found.

Note: There is no protection here to ensure that STRUCTURE_TYPE_ENUM (an XrStructureType value) and TYPE (a type name) actually match!

◆ OXR_VERIFY_API_VERSION_AT_LEAST

#define OXR_VERIFY_API_VERSION_AT_LEAST (   log,
  inst,
  major,
  minor 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (!OXR_VERSION_AT_LEAST(inst, major, minor)) { \
return oxr_error((log), XR_ERROR_FUNCTION_UNSUPPORTED, "Requires OpenXR version %d.%d.x", \
major, minor); \
} \
} while (false)
XrResult oxr_error(struct oxr_logger *logger, XrResult result, const char *fmt,...)
Definition oxr_logger.c:203

Checks if the instance is created with at least a given OpenXR version.

◆ OXR_VERIFY_ARG_ARRAY_ELEMENT_TYPE

#define OXR_VERIFY_ARG_ARRAY_ELEMENT_TYPE (   log,
  array,
  index,
  type_enum 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if ((array)[index].type != type_enum) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"(" #array "[%u]->type == 0x%08x) expected 0x%08x", index, \
(array)[index].type, type_enum); \
} \
} while (false)

Must only be used with full typed arrays, aka non-basetyped arrays like that passed into xrEnumerateSwapchainImages.

◆ OXR_VERIFY_ARG_LOCALIZED_NAME

#define OXR_VERIFY_ARG_LOCALIZED_NAME (   log,
  string 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
XrResult verify_ret = oxr_verify_localized_name(log, string, ARRAY_SIZE(string), #string); \
if (verify_ret != XR_SUCCESS) { \
return verify_ret; \
} \
} while (false)
XrResult oxr_verify_localized_name(struct oxr_logger *, const char *string, uint32_t array_size, const char *name)
Verify an arbitrary UTF-8 string that sits inside of a fixed sized array.
Definition oxr_verify.c:98
#define ARRAY_SIZE(a)
Array size helper.
Definition xrt_compiler.h:59

◆ OXR_VERIFY_ARG_NOT_NULL

#define OXR_VERIFY_ARG_NOT_NULL (   log,
  arg 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (arg == NULL) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "(" #arg " == NULL)"); \
} \
} while (false)

◆ OXR_VERIFY_ARG_NOT_ZERO

#define OXR_VERIFY_ARG_NOT_ZERO (   log,
  arg 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (arg == 0) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "(" #arg " == 0) must be non-zero"); \
} \
} while (false)

◆ OXR_VERIFY_ARG_SINGLE_LEVEL_FIXED_LENGTH_PATH

#define OXR_VERIFY_ARG_SINGLE_LEVEL_FIXED_LENGTH_PATH (   log,
  path 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
XrResult verify_ret = oxr_verify_fixed_size_single_level_path(log, path, ARRAY_SIZE(path), #path); \
if (verify_ret != XR_SUCCESS) { \
return verify_ret; \
} \
} while (false)
XrResult oxr_verify_fixed_size_single_level_path(struct oxr_logger *, const char *path, uint32_t array_size, const char *name)
Verify a single path level that sits inside of a fixed sized array.
Definition oxr_verify.c:67

◆ OXR_VERIFY_ARG_TIME_NOT_ZERO

#define OXR_VERIFY_ARG_TIME_NOT_ZERO (   log,
  xr_time 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (xr_time <= (XrTime)0) { \
return oxr_error(log, XR_ERROR_TIME_INVALID, "(time == %" PRIi64 ") is not a valid time.", \
xr_time); \
} \
} while (false)

◆ OXR_VERIFY_ARG_TYPE_AND_NOT_NULL

#define OXR_VERIFY_ARG_TYPE_AND_NOT_NULL (   log,
  arg,
  type_enum 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (arg == NULL) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "(" #arg " == NULL)"); \
} \
OXR_VERIFY_ARG_TYPE_CAN_BE_NULL(log, arg, type_enum); \
} while (false)

◆ OXR_VERIFY_ARG_TYPE_CAN_BE_NULL

#define OXR_VERIFY_ARG_TYPE_CAN_BE_NULL (   log,
  arg,
  type_enum 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (arg != NULL && arg->type != type_enum) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "(" #arg "->type == %u)", arg->type); \
} \
} while (false)

◆ OXR_VERIFY_ARG_ZERO

#define OXR_VERIFY_ARG_ZERO (   log,
  arg 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (arg != 0) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, "(" #arg " == 0) must be zero"); \
} \
} while (false)

◆ OXR_VERIFY_EXTENSION

#define OXR_VERIFY_EXTENSION (   log,
  inst,
  mixed_case_name 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (!(inst)->extensions.mixed_case_name) { \
return oxr_error((log), XR_ERROR_FUNCTION_UNSUPPORTED, \
"Requires XR_" #mixed_case_name " extension enabled"); \
} \
} while (false)

Checks if a required extension is enabled.

mixed_case_name should be the extension name without the XR_ prefix.

◆ OXR_VERIFY_EXTENSIONS_OR

#define OXR_VERIFY_EXTENSIONS_OR (   log,
  inst,
  mixed_case_name1,
  mixed_case_name2 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (!(inst)->extensions.mixed_case_name1 && !(inst)->extensions.mixed_case_name2) { \
return oxr_error((log), XR_ERROR_FUNCTION_UNSUPPORTED, \
"Requires XR_" #mixed_case_name1 "or XR_" #mixed_case_name2 \
" extension enabled"); \
} \
} while (false)

Checks if either one of two required extensions is enabled.

mixed_case_name should be the extension name without the XR_ prefix.

◆ OXR_VERIFY_FORM_FACTOR

#define OXR_VERIFY_FORM_FACTOR (   log,
  form_factor 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
XrFormFactor _form_factor = (form_factor); \
if (_form_factor != XR_FORM_FACTOR_HEAD_MOUNTED_DISPLAY && \
_form_factor != XR_FORM_FACTOR_HANDHELD_DISPLAY) { \
\
return oxr_error(log, XR_ERROR_FORM_FACTOR_UNSUPPORTED, \
"(" #form_factor " == 0x%08x) is not a valid form factor", _form_factor); \
} \
} while (false)

◆ OXR_VERIFY_FUTURE_AND_INIT_LOG

#define OXR_VERIFY_FUTURE_AND_INIT_LOG (   log,
  thing,
  new_thing,
  name 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
OXR_VERIFY_AND_SET_AND_INIT(log, thing, new_thing, oxr_future_ext, FUTURE, name, new_thing->inst); \
OXR_VERIFY_FUTURE_VALID(log, new_thing)

◆ OXR_VERIFY_FUTURE_VALID

#define OXR_VERIFY_FUTURE_VALID (   LOG,
  OXR_FT 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (OXR_FT->xft == NULL) { \
return oxr_error(LOG, XR_ERROR_FUTURE_INVALID_EXT, "future is not valid"); \
} \
} while (false)

◆ OXR_VERIFY_HAND_TRACKING_DATA_SOURCE_OR_NULL

#define OXR_VERIFY_HAND_TRACKING_DATA_SOURCE_OR_NULL (   log,
  data_source_info 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (data_source_info != NULL) { \
XrResult verify_ret = oxr_verify_XrHandTrackingDataSourceInfoEXT(log, data_source_info); \
if (verify_ret != XR_SUCCESS) { \
return verify_ret; \
} \
} \
} while (false)

◆ OXR_VERIFY_PASSTHROUGH_FLAGS

#define OXR_VERIFY_PASSTHROUGH_FLAGS (   log,
  flags 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
if (flags == 0 || \
(flags & (XR_PASSTHROUGH_IS_RUNNING_AT_CREATION_BIT_FB | XR_PASSTHROUGH_LAYER_DEPTH_BIT_FB)) == 0) \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"flags is not a valid combination of XrPassthroughFlagBitsFB values");
Definition m_space.cpp:87

◆ OXR_VERIFY_PASSTHROUGH_LAYER_PURPOSE

#define OXR_VERIFY_PASSTHROUGH_LAYER_PURPOSE (   log,
  purpose 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
if ((purpose != XR_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION_FB && \
purpose != XR_PASSTHROUGH_LAYER_PURPOSE_PROJECTED_FB && \
purpose != XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS_FB && \
purpose != XR_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS_FB)) \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"purpose is not a valid XrPassthroughLayerPurposeFB value");

◆ OXR_VERIFY_PASSTHROUGH_LAYER_STYLE

#define OXR_VERIFY_PASSTHROUGH_LAYER_STYLE (   log,
  style 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
uint32_t duplicate_check = 0; \
const XrPassthroughStyleFB *next = style->next; \
while (next) { \
if (next->type != XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_RGBA_FB && \
next->type != XR_TYPE_PASSTHROUGH_COLOR_MAP_MONO_TO_MONO_FB && \
next->type != XR_TYPE_PASSTHROUGH_BRIGHTNESS_CONTRAST_SATURATION_FB) \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"style next structure chain contains invalid pointers"); \
if ((next->type & duplicate_check) != 0) \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"style next structure chain contains duplicate items"); \
duplicate_check |= next->type; \
next = (const XrPassthroughStyleFB *)next->next; \
} \
} while (false)

◆ OXR_VERIFY_POSE

#define OXR_VERIFY_POSE (   log,
 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (!math_quat_validate((struct xrt_quat *)&p.orientation)) { \
return oxr_error(log, XR_ERROR_POSE_INVALID, "(" #p ".orientation) is not a valid quat"); \
} \
\
if (!math_vec3_validate((struct xrt_vec3 *)&p.position)) { \
return oxr_error(log, XR_ERROR_POSE_INVALID, "(" #p ".position) is not valid"); \
} \
} while (false)
A quaternion with single floats.
Definition xrt_defines.h:235
A 3 element vector with single floats.
Definition xrt_defines.h:289

◆ OXR_VERIFY_SESSION_NOT_LOST

#define OXR_VERIFY_SESSION_NOT_LOST (   log,
  sess 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (sess->has_lost) { \
return oxr_error(log, XR_ERROR_SESSION_LOST, "Session is lost"); \
} \
} while (false)

◆ OXR_VERIFY_SESSION_RUNNING

#define OXR_VERIFY_SESSION_RUNNING (   log,
  sess 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (!oxr_frame_sync_is_session_running(&sess->frame_sync)) { \
return oxr_error(log, XR_ERROR_SESSION_NOT_RUNNING, "Session is not running"); \
} \
} while (false)

◆ OXR_VERIFY_SUBACTION_PATHS

#define OXR_VERIFY_SUBACTION_PATHS (   log,
  count,
  paths 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (count > 0 && paths == NULL) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"(" #count ") is not zero but " #paths " is NULL"); \
} \
} while (false)

◆ OXR_VERIFY_SWAPCHAIN_USAGE_FLAGS_NOT_MUTUALLY_EXCLUSIVE

#define OXR_VERIFY_SWAPCHAIN_USAGE_FLAGS_NOT_MUTUALLY_EXCLUSIVE (   log,
  flags,
  mutually_exclusive_a,
  mutually_exclusive_b 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (((flags) & (mutually_exclusive_a)) != 0 && ((flags) & (mutually_exclusive_b)) != 0) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"(" #flags ") Swapchain usage flags " #mutually_exclusive_a \
" and " #mutually_exclusive_b \
" are mutually exclusive in this graphics API"); \
} \
} while (false)

◆ OXR_VERIFY_TWO_CALL_ARRAY

#define OXR_VERIFY_TWO_CALL_ARRAY (   log,
  inputCapacity,
  countOutput,
  array 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
OXR_VERIFY_ARG_NOT_NULL(log, countOutput); \
if (inputCapacity > 0) { \
OXR_VERIFY_ARG_NOT_NULL(log, array); \
} \
} while (false)

◆ OXR_VERIFY_TWO_CALL_ARRAY_AND_TYPE

#define OXR_VERIFY_TWO_CALL_ARRAY_AND_TYPE (   log,
  inputCapacity,
  countOutput,
  array,
  type_enum 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
OXR_VERIFY_ARG_NOT_NULL(log, countOutput); \
if (inputCapacity > 0) { \
OXR_VERIFY_ARG_NOT_NULL(log, array); \
for (uint32_t i = 0; i < inputCapacity; ++i) { \
OXR_VERIFY_ARG_ARRAY_ELEMENT_TYPE(log, array, i, type_enum); \
} \
} \
} while (false)

◆ OXR_VERIFY_VIEW_CONFIG_TYPE

#define OXR_VERIFY_VIEW_CONFIG_TYPE (   log,
  inst,
  view_conf 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
XrResult verify_ret = oxr_verify_view_config_type(log, inst, view_conf, #view_conf); \
if (verify_ret != XR_SUCCESS) { \
return verify_ret; \
} \
} while (false)

◆ OXR_VERIFY_VIEW_CONFIG_TYPE_SUPPORTED

#define OXR_VERIFY_VIEW_CONFIG_TYPE_SUPPORTED (   log,
  sys,
  view_conf 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
XrResult verify_ret = oxr_verify_view_config_type_supported(log, sys, view_conf, #view_conf); \
if (verify_ret != XR_SUCCESS) { \
return verify_ret; \
} \
} while (false)

◆ OXR_VERIFY_VIEW_INDEX

#define OXR_VERIFY_VIEW_INDEX (   log,
  index 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Value:
do { \
if (index > 2) { \
return oxr_error(log, XR_ERROR_VALIDATION_FAILURE, \
"Invalid view index %d, only 2 views supported", index); \
} \
} while (false)

Function Documentation

◆ oxr_find_input_in_chain()

static XrBaseInStructure const * oxr_find_input_in_chain ( const void *  ptr,
XrStructureType  desired 
)
inlinestatic

#include <state_trackers/oxr/oxr_chain.h>

Finds an input struct of the given type in a next-chain.

Returns NULL if nothing matching is found.

Prefer using OXR_GET_INPUT_FROM_CHAIN() instead, since it includes the casting.

◆ oxr_find_output_in_chain()

static XrBaseOutStructure * oxr_find_output_in_chain ( const void *  ptr,
XrStructureType  desired 
)
inlinestatic

#include <state_trackers/oxr/oxr_chain.h>

Finds an output struct of the given type in a next-chain.

Returns NULL if nothing matching is found.

Prefer using OXR_GET_OUTPUT_FROM_CHAIN() instead, since it includes the casting.

◆ oxr_verify_fixed_size_single_level_path()

XrResult oxr_verify_fixed_size_single_level_path ( struct oxr_logger log,
const char *  path,
uint32_t  array_size,
const char *  name 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Verify a single path level that sits inside of a fixed sized array.

References oxr_error().

◆ oxr_verify_full_path()

XrResult oxr_verify_full_path ( struct oxr_logger log,
const char *  path,
size_t  length,
const char *  name 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Verify a full path.

Length not including zero terminator character but must be there.

References oxr_error().

◆ oxr_verify_localized_name()

XrResult oxr_verify_localized_name ( struct oxr_logger log,
const char *  string,
uint32_t  array_size,
const char *  name 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Verify an arbitrary UTF-8 string that sits inside of a fixed sized array.

Todo:
validate well-formed UTF-8?

References oxr_error().

◆ oxr_verify_subaction_path_get()

XrResult oxr_verify_subaction_path_get ( struct oxr_logger log,
struct oxr_instance inst,
XrPath  path,
const struct oxr_subaction_paths act_subaction_paths,
struct oxr_subaction_paths out_subaction_paths,
const char *  variable 
)

◆ oxr_verify_subaction_path_sync()

XrResult oxr_verify_subaction_path_sync ( struct oxr_logger log,
const struct oxr_instance inst,
const struct oxr_action_set act_set,
XrPath  path,
uint32_t  index 
)

◆ oxr_verify_subaction_paths_create()

XrResult oxr_verify_subaction_paths_create ( struct oxr_logger log,
struct oxr_instance inst,
uint32_t  countSubactionPaths,
const XrPath *  subactionPaths,
const char *  variable 
)

#include <state_trackers/oxr/oxr_api_verify.h>

Verify a set of subaction paths for action creation.

Referenced by oxr_xrCreateAction().

◆ oxr_xrAcquireSwapchainImage()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrAcquireSwapchainImage ( XrSwapchain  swapchain,
const XrSwapchainImageAcquireInfo *  acquireInfo,
uint32_t *  index 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrAcquireSwapchainImage.

OpenXR Entry Point:
xrAcquireSwapchainImage

References oxr_swapchain::sess.

◆ oxr_xrApplyForceFeedbackCurlMNDX()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrApplyForceFeedbackCurlMNDX ( XrHandTrackerEXT  handTracker,
const XrForceFeedbackCurlApplyLocationsMNDX *  locations 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrApplyForceFeedbackCurlMNDX.

OpenXR Entry Point:
xrApplyForceFeedbackCurlMNDX

◆ oxr_xrBeginFrame()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrBeginFrame ( XrSession  session,
const XrFrameBeginInfo *  frameBeginInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrBeginFrame.

OpenXR Entry Point:
xrBeginFrame

◆ oxr_xrBeginSession()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrBeginSession ( XrSession  session,
const XrSessionBeginInfo *  beginInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrBeginSession.

OpenXR Entry Point:
xrBeginSession

References oxr_error().

◆ oxr_xrConvertTimespecTimeToTimeKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrConvertTimespecTimeToTimeKHR ( XrInstance  instance,
const struct timespec *  timespecTime,
XrTime *  time 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrConvertTimespecTimeToTimeKHR.

OpenXR Entry Point:
xrConvertTimespecTimeToTimeKHR

◆ oxr_xrConvertTimeToTimespecTimeKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrConvertTimeToTimespecTimeKHR ( XrInstance  instance,
XrTime  time,
struct timespec *  timespecTime 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrConvertTimeToTimespecTimeKHR.

OpenXR Entry Point:
xrConvertTimeToTimespecTimeKHR

◆ oxr_xrCreateActionSpace()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateActionSpace ( XrSession  session,
const XrActionSpaceCreateInfo *  createInfo,
XrSpace *  space 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateActionSpace.

OpenXR Entry Point:
xrCreateActionSpace

References oxr_action::act_key, oxr_space_to_openxr(), and oxr_space::sess.

◆ oxr_xrCreateDebugUtilsMessengerEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateDebugUtilsMessengerEXT ( XrInstance  instance,
const XrDebugUtilsMessengerCreateInfoEXT *  createInfo,
XrDebugUtilsMessengerEXT *  messenger 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateDebugUtilsMessengerEXT.

OpenXR Entry Point:
xrCreateDebugUtilsMessengerEXT

References oxr_create_messenger(), oxr_messenger_to_openxr(), and OXR_VERIFY_EXTENSION.

◆ oxr_xrCreateHandTrackerEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateHandTrackerEXT ( XrSession  session,
const XrHandTrackerCreateInfoEXT *  createInfo,
XrHandTrackerEXT *  handTracker 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateHandTrackerEXT.

OpenXR Entry Point:
xrCreateHandTrackerEXT

◆ oxr_xrCreateInstance()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateInstance ( const XrInstanceCreateInfo *  createInfo,
XrInstance *  instance 
)

◆ oxr_xrCreateReferenceSpace()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateReferenceSpace ( XrSession  session,
const XrReferenceSpaceCreateInfo *  createInfo,
XrSpace *  space 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateReferenceSpace.

OpenXR Entry Point:
xrCreateReferenceSpace

References oxr_instance::no_validation_error_in_create_ref_space, and oxr_space_to_openxr().

◆ oxr_xrCreateSession()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateSession ( XrInstance  instance,
const XrSessionCreateInfo *  createInfo,
XrSession *  session 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateSession.

OpenXR Entry Point:
xrCreateSession

◆ oxr_xrCreateSwapchain()

◆ oxr_xrCreateVulkanDeviceKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateVulkanDeviceKHR ( XrInstance  instance,
const XrVulkanDeviceCreateInfoKHR *  createInfo,
VkDevice *  vulkanDevice,
VkResult *  vulkanResult 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateVulkanDeviceKHR.

OpenXR Entry Point:
xrCreateVulkanDeviceKHR

References oxr_error(), OXR_VERIFY_SYSTEM_AND_GET, and oxr_vk_create_vulkan_device().

◆ oxr_xrCreateVulkanInstanceKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrCreateVulkanInstanceKHR ( XrInstance  instance,
const XrVulkanInstanceCreateInfoKHR *  createInfo,
VkInstance *  vulkanInstance,
VkResult *  vulkanResult 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrCreateVulkanInstanceKHR.

OpenXR Entry Point:
xrCreateVulkanInstanceKHR

References oxr_error(), OXR_VERIFY_SYSTEM_AND_GET, and oxr_vk_create_vulkan_instance().

◆ oxr_xrDestroyDebugUtilsMessengerEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyDebugUtilsMessengerEXT ( XrDebugUtilsMessengerEXT  messenger)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroyDebugUtilsMessengerEXT.

OpenXR Entry Point:
xrDestroyDebugUtilsMessengerEXT

References oxr_debug_messenger::handle, oxr_debug_messenger::inst, and OXR_VERIFY_EXTENSION.

◆ oxr_xrDestroyHandTrackerEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyHandTrackerEXT ( XrHandTrackerEXT  handTracker)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroyHandTrackerEXT.

OpenXR Entry Point:
xrDestroyHandTrackerEXT

◆ oxr_xrDestroyInstance()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroyInstance ( XrInstance  instance)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroyInstance.

OpenXR Entry Point:
xrDestroyInstance

References oxr_instance::handle.

◆ oxr_xrDestroySession()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySession ( XrSession  session)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroySession.

OpenXR Entry Point:
xrDestroySession

References oxr_session::handle.

◆ oxr_xrDestroySpace()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySpace ( XrSpace  space)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroySpace.

OpenXR Entry Point:
xrDestroySpace

References oxr_space::handle.

◆ oxr_xrDestroySwapchain()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrDestroySwapchain ( XrSwapchain  swapchain)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrDestroySwapchain.

OpenXR Entry Point:
xrDestroySwapchain

References oxr_swapchain::handle.

◆ oxr_xrEndFrame()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEndFrame ( XrSession  session,
const XrFrameEndInfo *  frameEndInfo 
)

◆ oxr_xrEndSession()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEndSession ( XrSession  session)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEndSession.

OpenXR Entry Point:
xrEndSession

◆ oxr_xrEnumerateApiLayerProperties()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateApiLayerProperties ( uint32_t  propertyCapacityInput,
uint32_t *  propertyCountOutput,
XrApiLayerProperties *  properties 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateApiLayerProperties.

OpenXR Entry Point:
xrEnumerateApiLayerProperties

◆ oxr_xrEnumerateDisplayRefreshRatesFB()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateDisplayRefreshRatesFB ( XrSession  session,
uint32_t  displayRefreshRateCapacityInput,
uint32_t *  displayRefreshRateCountOutput,
float *  displayRefreshRates 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateDisplayRefreshRatesFB.

OpenXR Entry Point:
xrEnumerateDisplayRefreshRatesFB

◆ oxr_xrEnumerateEnvironmentBlendModes()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateEnvironmentBlendModes ( XrInstance  instance,
XrSystemId  systemId,
XrViewConfigurationType  viewConfigurationType,
uint32_t  environmentBlendModeCapacityInput,
uint32_t *  environmentBlendModeCountOutput,
XrEnvironmentBlendMode *  environmentBlendModes 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateEnvironmentBlendModes.

OpenXR Entry Point:
xrEnumerateEnvironmentBlendModes

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrEnumerateInstanceExtensionProperties()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateInstanceExtensionProperties ( const char *  layerName,
uint32_t  propertyCapacityInput,
uint32_t *  propertyCountOutput,
XrExtensionProperties *  properties 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateInstanceExtensionProperties.

OpenXR Entry Point:
xrEnumerateInstanceExtensionProperties

References ARRAY_SIZE.

◆ oxr_xrEnumerateReferenceSpaces()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateReferenceSpaces ( XrSession  session,
uint32_t  spaceCapacityInput,
uint32_t *  spaceCountOutput,
XrReferenceSpaceType *  spaces 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateReferenceSpaces.

OpenXR Entry Point:
xrEnumerateReferenceSpaces

◆ oxr_xrEnumerateSwapchainFormats()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateSwapchainFormats ( XrSession  session,
uint32_t  formatCapacityInput,
uint32_t *  formatCountOutput,
int64_t *  formats 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateSwapchainFormats.

OpenXR Entry Point:
xrEnumerateSwapchainFormats

◆ oxr_xrEnumerateSwapchainImages()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateSwapchainImages ( XrSwapchain  swapchain,
uint32_t  imageCapacityInput,
uint32_t *  imageCountOutput,
XrSwapchainImageBaseHeader *  images 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateSwapchainImages.

OpenXR Entry Point:
xrEnumerateSwapchainImages

References xrt_swapchain::image_count, oxr_error(), oxr_swapchain::sess, and oxr_swapchain::swapchain.

◆ oxr_xrEnumerateViewConfigurations()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateViewConfigurations ( XrInstance  instance,
XrSystemId  systemId,
uint32_t  viewConfigurationTypeCapacityInput,
uint32_t *  viewConfigurationTypeCountOutput,
XrViewConfigurationType *  viewConfigurationTypes 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateViewConfigurations.

OpenXR Entry Point:
xrEnumerateViewConfigurations

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrEnumerateViewConfigurationViews()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrEnumerateViewConfigurationViews ( XrInstance  instance,
XrSystemId  systemId,
XrViewConfigurationType  viewConfigurationType,
uint32_t  viewCapacityInput,
uint32_t *  viewCountOutput,
XrViewConfigurationView *  views 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrEnumerateViewConfigurationViews.

OpenXR Entry Point:
xrEnumerateViewConfigurationViews

References OXR_VERIFY_ARG_ARRAY_ELEMENT_TYPE, and OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetDeviceSampleRateFB()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetDeviceSampleRateFB ( XrSession  session,
const XrHapticActionInfo *  hapticActionInfo,
XrDevicePcmSampleRateGetInfoFB *  deviceSampleRate 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetDeviceSampleRateFB.

OpenXR Entry Point:
xrGetDeviceSampleRateFB

◆ oxr_xrGetDisplayRefreshRateFB()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetDisplayRefreshRateFB ( XrSession  session,
float *  displayRefreshRate 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetDisplayRefreshRateFB.

OpenXR Entry Point:
xrGetDisplayRefreshRateFB

◆ oxr_xrGetInstanceProcAddr()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetInstanceProcAddr ( XrInstance  instance,
const char *  name,
PFN_xrVoidFunction *  function 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetInstanceProcAddr.

OpenXR Entry Point:
xrGetInstanceProcAddr

References handle_non_null(), and handle_null().

◆ oxr_xrGetInstanceProperties()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetInstanceProperties ( XrInstance  instance,
XrInstanceProperties *  instanceProperties 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetInstanceProperties.

OpenXR Entry Point:
xrGetInstanceProperties

◆ oxr_xrGetOpenGLGraphicsRequirementsKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetOpenGLGraphicsRequirementsKHR ( XrInstance  instance,
XrSystemId  systemId,
XrGraphicsRequirementsOpenGLKHR *  graphicsRequirements 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetOpenGLGraphicsRequirementsKHR.

OpenXR Entry Point:
xrGetOpenGLGraphicsRequirementsKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetReferenceSpaceBoundsRect()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetReferenceSpaceBoundsRect ( XrSession  session,
XrReferenceSpaceType  referenceSpaceType,
XrExtent2Df *  bounds 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetReferenceSpaceBoundsRect.

OpenXR Entry Point:
xrGetReferenceSpaceBoundsRect

◆ oxr_xrGetSystem()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetSystem ( XrInstance  instance,
const XrSystemGetInfo *  getInfo,
XrSystemId *  systemId 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetSystem.

OpenXR Entry Point:
xrGetSystem

References ARRAY_SIZE.

◆ oxr_xrGetSystemProperties()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetSystemProperties ( XrInstance  instance,
XrSystemId  systemId,
XrSystemProperties *  properties 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetSystemProperties.

OpenXR Entry Point:
xrGetSystemProperties

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetViewConfigurationProperties()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetViewConfigurationProperties ( XrInstance  instance,
XrSystemId  systemId,
XrViewConfigurationType  viewConfigurationType,
XrViewConfigurationProperties *  configurationProperties 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetViewConfigurationProperties.

OpenXR Entry Point:
xrGetViewConfigurationProperties

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanDeviceExtensionsKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanDeviceExtensionsKHR ( XrInstance  instance,
XrSystemId  systemId,
uint32_t  namesCapacityInput,
uint32_t *  namesCountOutput,
char *  namesString 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanDeviceExtensionsKHR.

OpenXR Entry Point:
xrGetVulkanDeviceExtensionsKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanGraphicsDevice2KHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsDevice2KHR ( XrInstance  instance,
const XrVulkanGraphicsDeviceGetInfoKHR *  getInfo,
VkPhysicalDevice *  vkPhysicalDevice 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanGraphicsDeviceKHR.

OpenXR Entry Point:
xrGetVulkanGraphicsDeviceKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanGraphicsDeviceKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsDeviceKHR ( XrInstance  instance,
XrSystemId  systemId,
VkInstance  vkInstance,
VkPhysicalDevice *  vkPhysicalDevice 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanGraphicsDeviceKHR.

OpenXR Entry Point:
xrGetVulkanGraphicsDeviceKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanGraphicsRequirements2KHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsRequirements2KHR ( XrInstance  instance,
XrSystemId  systemId,
XrGraphicsRequirementsVulkan2KHR *  graphicsRequirements 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanGraphicsRequirements2KHR.

OpenXR Entry Point:
xrGetVulkanGraphicsRequirements2KHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanGraphicsRequirementsKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanGraphicsRequirementsKHR ( XrInstance  instance,
XrSystemId  systemId,
XrGraphicsRequirementsVulkanKHR *  graphicsRequirements 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanGraphicsRequirementsKHR.

OpenXR Entry Point:
xrGetVulkanGraphicsRequirementsKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrGetVulkanInstanceExtensionsKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrGetVulkanInstanceExtensionsKHR ( XrInstance  instance,
XrSystemId  systemId,
uint32_t  namesCapacityInput,
uint32_t *  namesCountOutput,
char *  namesString 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrGetVulkanInstanceExtensionsKHR.

OpenXR Entry Point:
xrGetVulkanInstanceExtensionsKHR

References OXR_VERIFY_SYSTEM_AND_GET.

◆ oxr_xrLocateHandJointsEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateHandJointsEXT ( XrHandTrackerEXT  handTracker,
const XrHandJointsLocateInfoEXT *  locateInfo,
XrHandJointLocationsEXT *  locations 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrLocateHandJointsEXT.

OpenXR Entry Point:
xrLocateHandJointsEXT

◆ oxr_xrLocateSpace()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpace ( XrSpace  space,
XrSpace  baseSpace,
XrTime  time,
XrSpaceLocation *  location 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrLocateSpace.

OpenXR Entry Point:
xrLocateSpace

References oxr_error(), oxr_space_locate(), and oxr_space::sess.

◆ oxr_xrLocateSpaces()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpaces ( XrSession  session,
const XrSpacesLocateInfo *  locateInfo,
XrSpaceLocations *  spaceLocations 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrLocateSpaces.

OpenXR Entry Point:
xrLocateSpaces

◆ oxr_xrLocateSpacesKHR()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateSpacesKHR ( XrSession  session,
const XrSpacesLocateInfoKHR *  locateInfo,
XrSpaceLocationsKHR *  spaceLocations 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrLocateSpacesKHR.

OpenXR Entry Point:
xrLocateSpacesKHR

◆ oxr_xrLocateViews()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrLocateViews ( XrSession  session,
const XrViewLocateInfo *  viewLocateInfo,
XrViewState *  viewState,
uint32_t  viewCapacityInput,
uint32_t *  viewCountOutput,
XrView *  views 
)

◆ oxr_xrPathToString()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrPathToString ( XrInstance  instance,
XrPath  path,
uint32_t  bufferCapacityInput,
uint32_t *  bufferCountOutput,
char *  buffer 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrPathToString.

OpenXR Entry Point:
xrPathToString

References oxr_error().

◆ oxr_xrPollEvent()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrPollEvent ( XrInstance  instance,
XrEventDataBuffer *  eventData 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrPollEvent.

OpenXR Entry Point:
xrPollEvent

References oxr_poll_event().

◆ oxr_xrReleaseSwapchainImage()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrReleaseSwapchainImage ( XrSwapchain  swapchain,
const XrSwapchainImageReleaseInfo *  releaseInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrReleaseSwapchainImage.

OpenXR Entry Point:
xrReleaseSwapchainImage

References oxr_swapchain::sess.

◆ oxr_xrRequestDisplayRefreshRateFB()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrRequestDisplayRefreshRateFB ( XrSession  session,
float  displayRefreshRate 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrRequestDisplayRefreshRateFB.

OpenXR Entry Point:
xrRequestDisplayRefreshRateFB

◆ oxr_xrRequestExitSession()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrRequestExitSession ( XrSession  session)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrRequestExitSession.

OpenXR Entry Point:
xrRequestExitSession

References oxr_session_request_exit().

◆ oxr_xrResultToString()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrResultToString ( XrInstance  instance,
XrResult  value,
char  buffer[XR_MAX_RESULT_STRING_SIZE] 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrResultToString.

OpenXR Entry Point:
xrResultToString

◆ oxr_xrSessionBeginDebugUtilsLabelRegionEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionBeginDebugUtilsLabelRegionEXT ( XrSession  session,
const XrDebugUtilsLabelEXT *  labelInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrSessionBeginDebugUtilsLabelRegionEXT.

OpenXR Entry Point:
xrSessionBeginDebugUtilsLabelRegionEXT

References oxr_error(), and OXR_VERIFY_EXTENSION.

◆ oxr_xrSessionEndDebugUtilsLabelRegionEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionEndDebugUtilsLabelRegionEXT ( XrSession  session)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrSessionEndDebugUtilsLabelRegionEXT.

OpenXR Entry Point:
xrSessionEndDebugUtilsLabelRegionEXT

References oxr_error(), and OXR_VERIFY_EXTENSION.

◆ oxr_xrSessionInsertDebugUtilsLabelEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSessionInsertDebugUtilsLabelEXT ( XrSession  session,
const XrDebugUtilsLabelEXT *  labelInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrSessionInsertDebugUtilsLabelEXT.

OpenXR Entry Point:
xrSessionInsertDebugUtilsLabelEXT

References oxr_error(), and OXR_VERIFY_EXTENSION.

◆ oxr_xrSetDebugUtilsObjectNameEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSetDebugUtilsObjectNameEXT ( XrInstance  instance,
const XrDebugUtilsObjectNameInfoEXT *  nameInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrSetDebugUtilsObjectNameEXT.

OpenXR Entry Point:
xrSetDebugUtilsObjectNameEXT

References oxr_error(), and OXR_VERIFY_EXTENSION.

◆ oxr_xrStringToPath()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrStringToPath ( XrInstance  instance,
const char *  pathString,
XrPath *  path 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrStringToPath.

OpenXR Entry Point:
xrStringToPath

◆ oxr_xrStructureTypeToString()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrStructureTypeToString ( XrInstance  instance,
XrStructureType  value,
char  buffer[XR_MAX_STRUCTURE_NAME_SIZE] 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrStructureTypeToString.

OpenXR Entry Point:
xrStructureTypeToString

◆ oxr_xrSubmitDebugUtilsMessageEXT()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrSubmitDebugUtilsMessageEXT ( XrInstance  instance,
XrDebugUtilsMessageSeverityFlagsEXT  messageSeverity,
XrDebugUtilsMessageTypeFlagsEXT  messageTypes,
const XrDebugUtilsMessengerCallbackDataEXT *  callbackData 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrSubmitDebugUtilsMessageEXT.

OpenXR Entry Point:
xrSubmitDebugUtilsMessageEXT

References OXR_VERIFY_EXTENSION.

◆ oxr_xrWaitFrame()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrWaitFrame ( XrSession  session,
const XrFrameWaitInfo *  frameWaitInfo,
XrFrameState *  frameState 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrWaitFrame.

OpenXR Entry Point:
xrWaitFrame

References oxr_session_frame_wait().

◆ oxr_xrWaitSwapchainImage()

XRAPI_ATTR XrResult XRAPI_CALL oxr_xrWaitSwapchainImage ( XrSwapchain  swapchain,
const XrSwapchainImageWaitInfo *  waitInfo 
)

#include <state_trackers/oxr/oxr_api_funcs.h>

OpenXR API function xrWaitSwapchainImage.

OpenXR Entry Point:
xrWaitSwapchainImage

References oxr_swapchain::sess.