|
Monado OpenXR Runtime
|
Gets called from OpenXR entrypoints functions and talks to devices and Compositor using XRT interfaces. More...

Modules | |
| OpenXR input | |
| The action-set/action-based input subsystem of OpenXR. | |
Files | |
| file | oxr_binding.c |
| Holds binding related functions. | |
| file | oxr_binding.h |
| Holds binding related functions. | |
| file | oxr_dpad_state.c |
| Holds binding related functions. | |
| file | oxr_dpad_state.h |
| Holds dpad state related functions. | |
| file | oxr_get_state.c |
| Holds action state get related functions. | |
| file | oxr_get_state.h |
| Holds action state get related functions. | |
| file | oxr_input.c |
| Holds input related functions. | |
| file | oxr_input.h |
| Holds input related functions. | |
| file | oxr_instance_action_context.c |
| Holds per instance action context. | |
| file | oxr_instance_action_context.h |
| Holds per instance action context. | |
| file | oxr_instance_path_cache.c |
| Holds per instance action cache. | |
| file | oxr_instance_path_cache.h |
| Holds per instance action cache. | |
| file | oxr_interaction_profile_array.c |
| Holds binding related functions. | |
| file | oxr_interaction_profile_array.h |
| Holds interaction profile array related functions. | |
| file | oxr_set_haptic.c |
| Holds action state get related functions. | |
| file | oxr_set_haptic.h |
| Holds action state get related functions. | |
| file | oxr_defines.h |
| Shared internal defines and enums in the state tracker. | |
| file | oxr_forward_declarations.h |
| Forward declarations for OpenXR state tracker structs. | |
| file | oxr_body_tracking.c |
| body tracking related API entrypoint functions. | |
| file | oxr_body_tracking_bd.c |
| BD (PICO) body tracking implementation. | |
| file | oxr_conversions.h |
| Smaller helper functions to convert between xrt and OpenXR things. | |
| file | oxr_d3d.cpp |
| D3D 11 and 12 shared routines. | |
| file | oxr_d3d11.cpp |
| Holds D3D11 related functions that didn't fit somewhere else. | |
| file | oxr_d3d12.cpp |
| Holds D3D12 related functions that didn't fit somewhere else. | |
| file | oxr_event.c |
| Holds event related functions. | |
| file | oxr_face_tracking2_fb.c |
| face tracking related API entrypoint functions. | |
| file | oxr_face_tracking_android.c |
| Android face tracking related API entrypoint functions. | |
| file | oxr_face_tracking_htc.c |
| face tracking related API entrypoint functions. | |
| file | oxr_frame_sync.c |
| The objects that handle session running status and blocking of xrWaitFrame. | |
| file | oxr_frame_sync.h |
| The objects that handle session running status and blocking of xrWaitFrame. | |
| file | oxr_future.c |
| future related functions. | |
| file | oxr_hand_tracking.c |
| Hand tracking functions. | |
| file | oxr_hand_tracking.h |
| Hand tracking objects and functions. | |
| file | oxr_handle.h |
| Contains handle-related functions and defines only required in a few locations. | |
| file | oxr_instance.c |
| Holds instance related functions. | |
| file | oxr_logger.c |
| Logging functions. | |
| file | oxr_logger.h |
| Logging functions. | |
| file | oxr_messenger.c |
| Holds debug utils/messenger related functions. | |
| file | oxr_objects.h |
| The objects representing OpenXR handles, and prototypes for internal functions used in the state tracker. | |
| file | oxr_passthrough.c |
| passthrough related API entrypoint functions. | |
| file | oxr_pretty_print.c |
| Pretty printing functions. | |
| file | oxr_pretty_print.h |
| Pretty printing functions. | |
| file | oxr_roles.c |
| Implementation for device role functions. | |
| file | oxr_roles.h |
| Helper functions for device role getting. | |
| file | oxr_session.c |
| Holds session related functions. | |
| file | oxr_session_frame_end.c |
| Holds session end frame functions. | |
| file | oxr_session_gfx_d3d11.c |
| Holds D3D11 specific session functions. | |
| file | oxr_session_gfx_d3d12.c |
| Holds D3D12 specific session functions. | |
| file | oxr_session_gfx_egl.c |
| Holds OpenGL-specific session functions. | |
| file | oxr_session_gfx_gl_win32.c |
| Holds OpenGL-specific session functions for Windows. | |
| file | oxr_session_gfx_gl_xlib.c |
| Holds OpenGL-specific session functions. | |
| file | oxr_session_gfx_gles_android.c |
| Holds OpenGLES-specific session functions. | |
| file | oxr_session_gfx_vk.c |
| Holds Vulkan specific session functions. | |
| file | oxr_space.c |
| So much space! | |
| file | oxr_swapchain.c |
| Holds swapchain related functions. | |
| file | oxr_swapchain_common.h |
| Helper functions for oxr_swapchain functions. | |
| file | oxr_swapchain_d3d11.c |
| Holds D3D11 swapchain related functions. | |
| file | oxr_swapchain_d3d12.c |
| Holds D3D12 swapchain related functions. | |
| file | oxr_swapchain_gl.c |
| Holds OpenGL swapchain related functions. | |
| file | oxr_swapchain_vk.c |
| Holds Vulkan swapchain related functions. | |
| file | oxr_system.c |
| Holds system related entrypoints. | |
| file | oxr_two_call.h |
| Two call helper functions. | |
| file | oxr_verify.c |
| File for verifying app input into api functions. | |
| file | oxr_vulkan.c |
| Holds Vulkan related functions. | |
| file | oxr_xdev.c |
| Various helpers for accessing xrt_device. | |
| file | oxr_xret.h |
| File holding helper for xrt_result_t results. | |
| file | oxr_path_store.c |
| Holds path related functions. | |
| file | oxr_path_store.h |
| Path store structure and functions. | |
| file | oxr_path_wrappers.h |
| Wrapper functions that take oxr_instance and call into path/cache functions. | |
Data Structures | |
| struct | oxr_instance_action_context |
| Holds all action-related state that lives at the instance level (shared across sessions). More... | |
| struct | oxr_logger |
| Logger struct that lives on the stack, one for each call client call. More... | |
| struct | oxr_sink_logger |
| Allocate on the stack, make sure to zero initialize. More... | |
| struct | oxr_handle_base |
| Used to hold diverse child handles and ensure orderly destruction. More... | |
| struct | oxr_view_config_properties |
| Holds the properties that a system supports for a view configuration type. More... | |
| struct | oxr_system |
| Single or multiple devices grouped together to form a system that sessions can be created from. More... | |
| struct | oxr_extension_status |
| Structure tracking which extensions are enabled for a given instance. More... | |
| struct | oxr_instance |
| Main object that ties everything together. More... | |
| struct | oxr_session |
| Object that client program interact with. More... | |
| struct | oxr_dpad_emulation |
| dpad emulation settings from oxr_interaction_profile More... | |
| struct | oxr_interaction_profile |
| A single interaction profile. More... | |
| struct | oxr_binding |
| Interaction profile binding state. More... | |
| struct | oxr_subaction_paths |
| A parsed equivalent of a list of sub-action paths. More... | |
| struct | oxr_action_set_attachment |
| The data associated with the attachment of an Action Set (oxr_action_set) to as Session (oxr_session). More... | |
| struct | oxr_action_state |
| The state of a action input. More... | |
| struct | oxr_action_input |
| A input action pair of a xrt_input and a xrt_device, along with the required transform. More... | |
| struct | oxr_action_output |
| A output action pair of a xrt_output_name and a xrt_device. More... | |
| struct | oxr_action_cache |
| The set of inputs/outputs for a single sub-action path for an action. More... | |
| struct | oxr_action_attachment |
| Data associated with an Action that has been attached to a Session. More... | |
| struct | oxr_space |
| Can be one of several reference space types, or a space that is bound to an action. More... | |
| struct | oxr_swapchain |
| A set of images used for rendering. More... | |
| struct | oxr_refcounted |
| struct | oxr_action_set_ref |
| The reference-counted data of an action set. More... | |
| struct | oxr_action_set |
| A group of actions. More... | |
| struct | oxr_action_ref |
| The reference-counted data of an action. More... | |
| struct | oxr_action |
| A single action. More... | |
| struct | oxr_debug_messenger |
| Debug object created by the client program. More... | |
| struct | oxr_roles |
| Helper struct that wraps xrt_system_roles for OpenXR state tracker usage. More... | |
| struct | oxr_path |
| Internal representation of a path, item follows this struct in memory and that in turn is followed by the string. More... | |
| struct | oxr_path_store |
| Path store structure for managing path storage and lookup. More... | |
Macros | |
| #define | OXR_WARN_ONCE(log, ...) |
| Helper macro to log a warning just once. | |
| #define | XRT_MAX_HANDLE_CHILDREN 256 |
| #define | OXR_MAX_BINDINGS_PER_ACTION 32 |
| #define | OXR_XRT_POSE_TO_XRPOSEF(FROM, TO) |
| Safely copy an xrt_pose to an XrPosef. | |
| #define | OXR_XRT_FOV_TO_XRFOVF(FROM, TO) |
| Safely copy an xrt_fov to an XrFovf. | |
| #define | OXR_CHECK_XRET(LOG, SESS, RESULTS, FUNCTION) |
| Helper define to check results from 'xrt_` functions (xrt_result_t) and also set any needed state. | |
Typedefs | |
| typedef XrResult(* | oxr_handle_destroyer) (struct oxr_logger *log, struct oxr_handle_base *hb) |
| Function pointer type for a handle destruction function. | |
Enumerations | |
| enum | oxr_handle_state { OXR_HANDLE_STATE_UNINITIALIZED = 0 , OXR_HANDLE_STATE_LIVE , OXR_HANDLE_STATE_DESTROYED } |
| State of a handle base, to reduce likelihood of going "boom" on out-of-order destruction or other unsavory behavior. More... | |
| enum | oxr_subaction_path { OXR_SUB_ACTION_PATH_USER , OXR_SUB_ACTION_PATH_HEAD , OXR_SUB_ACTION_PATH_LEFT , OXR_SUB_ACTION_PATH_RIGHT , OXR_SUB_ACTION_PATH_GAMEPAD , OXR_SUB_ACTION_PATH_EYES } |
| Sub action paths. More... | |
| enum | oxr_dpad_region { OXR_DPAD_REGION_CENTER = 0u , OXR_DPAD_REGION_UP = (1u << 0u) , OXR_DPAD_REGION_DOWN = (1u << 1u) , OXR_DPAD_REGION_LEFT = (1u << 2u) , OXR_DPAD_REGION_RIGHT = (1u << 3u) } |
| Region of a dpad binding that an input is mapped to. More... | |
| enum | oxr_image_state { OXR_IMAGE_STATE_READY , OXR_IMAGE_STATE_ACQUIRED , OXR_IMAGE_STATE_WAITED } |
| Tracks the state of a image that belongs to a oxr_swapchain. More... | |
| enum | oxr_space_type { OXR_SPACE_TYPE_REFERENCE_VIEW , OXR_SPACE_TYPE_REFERENCE_LOCAL , OXR_SPACE_TYPE_REFERENCE_LOCAL_FLOOR , OXR_SPACE_TYPE_REFERENCE_STAGE , OXR_SPACE_TYPE_REFERENCE_UNBOUNDED_MSFT , OXR_SPACE_TYPE_REFERENCE_COMBINED_EYE_VARJO , OXR_SPACE_TYPE_REFERENCE_LOCALIZATION_MAP_ML , OXR_SPACE_TYPE_ACTION , OXR_SPACE_TYPE_XDEV_POSE } |
| Internal enum for the type of space, lets us reason about action spaces. More... | |
| enum | oxr_session_graphics_ext { OXR_SESSION_GRAPHICS_EXT_HEADLESS , OXR_SESSION_GRAPHICS_EXT_VULKAN , OXR_SESSION_GRAPHICS_EXT_D3D11 , OXR_SESSION_GRAPHICS_EXT_D3D12 , OXR_SESSION_GRAPHICS_EXT_WIN32_GL , OXR_SESSION_GRAPHICS_EXT_XLIB_GL , OXR_SESSION_GRAPHICS_EXT_ANDROID_GLES , OXR_SESSION_GRAPHICS_EXT_EGL } |
| What graphics API was this session created with. More... | |
Functions | |
| void | oxr_log_init (struct oxr_logger *logger, const char *api_func_name) |
| void | oxr_log_set_instance (struct oxr_logger *logger, struct oxr_instance *inst) |
| void | oxr_log (struct oxr_logger *logger, const char *fmt,...) XRT_PRINTF_FORMAT(2 |
| void void | oxr_warn (struct oxr_logger *logger, const char *fmt,...) XRT_PRINTF_FORMAT(2 |
| void void XrResult | oxr_error (struct oxr_logger *logger, XrResult result, const char *fmt,...) XRT_PRINTF_FORMAT(3 |
| Output an error and return the result code. | |
| void | oxr_slog (struct oxr_sink_logger *slog, const char *fmt,...) XRT_PRINTF_FORMAT(2 |
| Log string to sink logger. | |
| void void | oxr_slog_add_array (struct oxr_sink_logger *slog, const char *str, size_t size) |
| Add the string to the slog struct. | |
| static u_pp_delegate_t | oxr_slog_dg (struct oxr_sink_logger *slog) |
| Get a pretty print delegate from a oxr_sink_logger. | |
| void | oxr_slog_cancel (struct oxr_sink_logger *slog) |
| Cancel logging, frees all internal data. | |
| void | oxr_log_slog (struct oxr_logger *log, struct oxr_sink_logger *slog) |
| Flush sink as a log message, frees all internal data. | |
| void | oxr_warn_slog (struct oxr_logger *log, struct oxr_sink_logger *slog) |
| Flush sink as a warning message, frees all internal data. | |
| XrResult | oxr_error_slog (struct oxr_logger *log, XrResult res, struct oxr_sink_logger *slog) |
| Flush sink as a error message, frees all internal data. | |
| static const char * | xr_action_type_to_str (XrActionType type) |
| static bool | oxr_space_type_is_reference (enum oxr_space_type space_type) |
| static void | oxr_refcounted_ref (struct oxr_refcounted *orc) |
Increase the reference count of orc. | |
| static void | oxr_refcounted_unref (struct oxr_refcounted *orc) |
Decrease the reference count of orc, destroying it if it reaches 0. | |
| void | oxr_pp_fov_indented_as_object (struct oxr_sink_logger *slog, const struct xrt_fov *fov, const char *name) |
Prints a fov to a oxr_sink_logger, on the form of \n\t${name}->fov .... | |
| void | oxr_pp_pose_indented_as_object (struct oxr_sink_logger *slog, const struct xrt_pose *pose, const char *name) |
Prints a pose to a oxr_sink_logger, on the form of \n\t${name}->pose .... | |
| void | oxr_pp_space_indented (struct oxr_sink_logger *slog, const struct oxr_space *spc, const char *name) |
Prints a space to a oxr_sink_logger, on the form of \n\t${name}-><field> .... | |
| void | oxr_pp_relation_indented (struct oxr_sink_logger *slog, const struct xrt_space_relation *relation, const char *name) |
Prints a space to a oxr_sink_logger, on the form of \n\t${name}-><field> .... | |
| XRT_CHECK_RESULT XrResult | oxr_roles_init_on_stack (struct oxr_logger *log, struct oxr_roles *roles, struct oxr_system *sys) |
| Initialize an oxr_roles struct on the stack. | |
| XRT_CHECK_RESULT XrResult | oxr_instance_action_context::oxr_instance_action_context_init (struct oxr_logger *log, struct oxr_instance_action_context *context) |
| Initialize the action context for an instance. | |
| void | oxr_instance_action_context::oxr_instance_action_context_fini (struct oxr_instance_action_context *context) |
| Finalize and cleanup the action context for an instance. | |
| XrResult | oxr_handle_base::oxr_handle_destroy (struct oxr_logger *log, struct oxr_handle_base *hb) |
| Destroy the handle's object, as well as all child handles recursively. | |
| const char * | oxr_handle_state_to_string (enum oxr_handle_state state) |
| Returns a human-readable label for a handle state. | |
| static XrActionSet | oxr_action_set_to_openxr (struct oxr_action_set *act_set) |
| To go back to a OpenXR object. | |
| static XrHandTrackerEXT | oxr_hand_tracker_to_openxr (struct oxr_hand_tracker *hand_tracker) |
| To go back to a OpenXR object. | |
| static XrAction | oxr_action_to_openxr (struct oxr_action *act) |
| To go back to a OpenXR object. | |
oxr_session.c | |
| XrResult | oxr_session_create (struct oxr_logger *log, struct oxr_system *sys, const XrSessionCreateInfo *createInfo, struct oxr_session **out_session) |
| XrResult | oxr_session_enumerate_formats (struct oxr_logger *log, struct oxr_session *sess, uint32_t formatCapacityInput, uint32_t *formatCountOutput, int64_t *formats) |
| void | oxr_session_change_state (struct oxr_logger *log, struct oxr_session *sess, XrSessionState state, XrTime time) |
| Change the state of the session, queues a event. | |
| XrResult | oxr_session_begin (struct oxr_logger *log, struct oxr_session *sess, const XrSessionBeginInfo *beginInfo) |
| XrResult | oxr_session_end (struct oxr_logger *log, struct oxr_session *sess) |
| XrResult | oxr_session_request_exit (struct oxr_logger *log, struct oxr_session *sess) |
| XRT_CHECK_RESULT XrResult | oxr_session_poll (struct oxr_logger *log, struct oxr_session *sess) |
| XrResult | oxr_session_locate_views (struct oxr_logger *log, struct oxr_session *sess, const XrViewLocateInfo *viewLocateInfo, XrViewState *viewState, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrView *views) |
| XrResult | oxr_session_frame_wait (struct oxr_logger *log, struct oxr_session *sess, XrFrameState *frameState) |
| XrResult | oxr_session_frame_begin (struct oxr_logger *log, struct oxr_session *sess) |
| XrResult | oxr_session_frame_end (struct oxr_logger *log, struct oxr_session *sess, const XrFrameEndInfo *frameEndInfo) |
| XrResult | oxr_get_base_body_pose (struct oxr_logger *log, const struct xrt_body_joint_set *body_joint_set, struct oxr_space *base_spc, struct xrt_device *body_xdev, XrTime at_time, struct xrt_space_relation *out_base_body) |
| static XrSpace | oxr_space_to_openxr (struct oxr_space *spc) |
| To go back to a OpenXR object. | |
| XrResult | oxr_space_action_create (struct oxr_logger *log, struct oxr_session *sess, uint32_t key, const XrActionSpaceCreateInfo *createInfo, struct oxr_space **out_space) |
| XrResult | oxr_space_get_reference_bounds_rect (struct oxr_logger *log, struct oxr_session *sess, XrReferenceSpaceType referenceSpaceType, XrExtent2Df *bounds) |
| XrResult | oxr_space_reference_create (struct oxr_logger *log, struct oxr_session *sess, const XrReferenceSpaceCreateInfo *createInfo, struct oxr_space **out_space) |
| XrResult | oxr_space_xdev_pose_create (struct oxr_logger *log, struct oxr_session *sess, struct xrt_device *xdev, enum xrt_input_name name, const struct xrt_pose *pose, struct oxr_space **out_space) |
| Monado special space that always points to a specific xrt_device and pose, useful when you want to bypass the action binding system for instance. | |
| XrResult | oxr_space_locate (struct oxr_logger *log, struct oxr_space *spc, struct oxr_space *baseSpc, XrTime time, XrSpaceLocation *location) |
| XrResult | oxr_spaces_locate (struct oxr_logger *log, struct oxr_space **spcs, uint32_t spc_count, struct oxr_space *baseSpc, XrTime time, XrSpaceLocations *locations) |
| XRT_CHECK_RESULT XrResult | oxr_space_locate_device (struct oxr_logger *log, struct xrt_device *xdev, struct oxr_space *baseSpc, XrTime time, struct xrt_space_relation *out_relation) |
| Locate the xrt_device in the given base space, useful for implementing hand tracking location look ups and the like. | |
| XRT_CHECK_RESULT XrResult | oxr_space_get_xrt_space (struct oxr_logger *log, struct oxr_space *spc, struct xrt_space **out_xspace) |
| Get the xrt_space associated with this oxr_space, the xrt_space will be reference counted by this function so the caller will need to call xrt_space_reference to decrement the reference count. | |
| static XrSwapchain | oxr_swapchain_to_openxr (struct oxr_swapchain *sc) |
| To go back to a OpenXR object. | |
| static XrDebugUtilsMessengerEXT | oxr_messenger_to_openxr (struct oxr_debug_messenger *mssngr) |
| To go back to a OpenXR object. | |
| XrResult | oxr_create_messenger (struct oxr_logger *, struct oxr_instance *inst, const XrDebugUtilsMessengerCreateInfoEXT *, struct oxr_debug_messenger **out_mssngr) |
| XrResult | oxr_destroy_messenger (struct oxr_logger *log, struct oxr_debug_messenger *mssngr) |
| XrResult | oxr_system_select (struct oxr_logger *log, struct oxr_system **systems, uint32_t system_count, XrFormFactor form_factor, struct oxr_system **out_selected) |
| XrResult | oxr_system_fill_in (struct oxr_logger *log, struct oxr_instance *inst, XrSystemId systemId, uint32_t view_count, struct oxr_system *sys) |
| XrResult | oxr_system_verify_id (struct oxr_logger *log, const struct oxr_instance *inst, XrSystemId systemId) |
| XrResult | oxr_system_get_by_id (struct oxr_logger *log, struct oxr_instance *inst, XrSystemId systemId, struct oxr_system **system) |
| XrResult | oxr_system_get_properties (struct oxr_logger *log, struct oxr_system *sys, XrSystemProperties *properties) |
| XrResult | oxr_system_enumerate_view_confs (struct oxr_logger *log, struct oxr_system *sys, uint32_t viewConfigurationTypeCapacityInput, uint32_t *viewConfigurationTypeCountOutput, XrViewConfigurationType *viewConfigurationTypes) |
| XrResult | oxr_system_enumerate_blend_modes (struct oxr_logger *log, struct oxr_system *sys, XrViewConfigurationType viewConfigurationType, uint32_t environmentBlendModeCapacityInput, uint32_t *environmentBlendModeCountOutput, XrEnvironmentBlendMode *environmentBlendModes) |
| XrResult | oxr_system_get_view_conf_properties (struct oxr_logger *log, struct oxr_system *sys, XrViewConfigurationType viewConfigurationType, XrViewConfigurationProperties *configurationProperties) |
| XrResult | oxr_system_enumerate_view_conf_views (struct oxr_logger *log, struct oxr_system *sys, XrViewConfigurationType viewConfigurationType, uint32_t viewCapacityInput, uint32_t *viewCountOutput, XrViewConfigurationView *views) |
| bool | oxr_system_get_hand_tracking_support (struct oxr_logger *log, struct oxr_instance *inst) |
| bool | oxr_system_get_eye_gaze_support (struct oxr_logger *log, struct oxr_instance *inst) |
| bool | oxr_system_get_force_feedback_support (struct oxr_logger *log, struct oxr_instance *inst) |
| void | oxr_system_get_face_tracking_android_support (struct oxr_logger *log, struct oxr_instance *inst, bool *supported) |
| void | oxr_system_get_face_tracking_htc_support (struct oxr_logger *log, struct oxr_instance *inst, bool *supports_eye, bool *supports_lip) |
| void | oxr_system_get_face_tracking2_fb_support (struct oxr_logger *log, struct oxr_instance *inst, bool *supports_audio, bool *supports_visual) |
| bool | oxr_system_get_body_tracking_fb_support (struct oxr_logger *log, struct oxr_instance *inst) |
| bool | oxr_system_get_full_body_tracking_meta_support (struct oxr_logger *log, struct oxr_instance *inst) |
| bool | oxr_system_get_body_tracking_calibration_meta_support (struct oxr_logger *log, struct oxr_instance *inst) |
| XrResult | oxr_event_push_XrEventDataSessionStateChanged (struct oxr_logger *log, struct oxr_session *sess, XrSessionState state, XrTime time) |
| XrResult | oxr_event_push_XrEventDataInteractionProfileChanged (struct oxr_logger *log, struct oxr_session *sess) |
| XrResult | oxr_event_push_XrEventDataReferenceSpaceChangePending (struct oxr_logger *log, struct oxr_session *sess, XrReferenceSpaceType referenceSpaceType, XrTime changeTime, XrBool32 poseValid, const XrPosef *poseInPreviousSpace) |
| XrResult | oxr_event_remove_session_events (struct oxr_logger *log, struct oxr_session *sess) |
| This clears all pending events refers to the given session. | |
| XrResult | oxr_poll_event (struct oxr_logger *log, struct oxr_instance *inst, XrEventDataBuffer *eventData) |
| Will return one event if available, also drain the sessions event queues. | |
| void | oxr_xdev_destroy (struct xrt_device **xdev_ptr) |
| bool | oxr_xdev_find_input (struct xrt_device *xdev, enum xrt_input_name name, struct xrt_input **out_input) |
| Return true if it finds an input of that name on this device. | |
| bool | oxr_xdev_find_output (struct xrt_device *xdev, enum xrt_output_name name, struct xrt_output **out_output) |
| Return true if it finds an output of that name on this device. | |
| XrResult | oxr_session_populate_gl_xlib (struct oxr_logger *log, struct oxr_system *sys, XrGraphicsBindingOpenGLXlibKHR const *next, struct oxr_session *sess) |
| XrResult | oxr_swapchain_gl_create (struct oxr_logger *, struct oxr_session *sess, const XrSwapchainCreateInfo *, struct oxr_swapchain **out_swapchain) |
| XrResult | oxr_vk_get_instance_exts (struct oxr_logger *log, struct oxr_system *sys, uint32_t namesCapacityInput, uint32_t *namesCountOutput, char *namesString) |
| XrResult | oxr_vk_get_device_exts (struct oxr_logger *log, struct oxr_system *sys, uint32_t namesCapacityInput, uint32_t *namesCountOutput, char *namesString) |
| XrResult | oxr_vk_get_requirements (struct oxr_logger *log, struct oxr_system *sys, XrGraphicsRequirementsVulkanKHR *graphicsRequirements) |
| XrResult | oxr_vk_create_vulkan_instance (struct oxr_logger *log, struct oxr_system *sys, const XrVulkanInstanceCreateInfoKHR *createInfo, VkInstance *vulkanInstance, VkResult *vulkanResult) |
| XrResult | oxr_vk_create_vulkan_device (struct oxr_logger *log, struct oxr_system *sys, const XrVulkanDeviceCreateInfoKHR *createInfo, VkDevice *vulkanDevice, VkResult *vulkanResult) |
| XrResult | oxr_vk_get_physical_device (struct oxr_logger *log, struct oxr_instance *inst, struct oxr_system *sys, VkInstance vkInstance, PFN_vkGetInstanceProcAddr getProc, VkPhysicalDevice *vkPhysicalDevice) |
| XrResult | oxr_session_populate_vk (struct oxr_logger *log, struct oxr_system *sys, XrGraphicsBindingVulkanKHR const *next, struct oxr_session *sess) |
| XrResult | oxr_swapchain_vk_create (struct oxr_logger *, struct oxr_session *sess, const XrSwapchainCreateInfo *, struct oxr_swapchain **out_swapchain) |
| XrResult | oxr_d3d_get_requirements (struct oxr_logger *log, struct oxr_system *sys, LUID *adapter_luid, D3D_FEATURE_LEVEL *min_feature_level) |
| Common GetRequirements call for D3D11 and D3D12. | |
| XrResult | oxr_d3d_check_luid (struct oxr_logger *log, struct oxr_system *sys, LUID *adapter_luid) |
Verify the provided LUID matches the expected one in sys. | |
| static XrSession | oxr_session_to_openxr (struct oxr_session *sess) |
| To go back to a OpenXR object. | |
| static XrResult | oxr_session::oxr_session_success_result (struct oxr_session *session) |
| Returns XR_SUCCESS or XR_SESSION_LOSS_PENDING as appropriate. | |
| static XrResult | oxr_session::oxr_session_success_focused_result (struct oxr_session *session) |
| Returns XR_SUCCESS, XR_SESSION_LOSS_PENDING, or XR_SESSION_NOT_FOCUSED, as appropriate. | |
| static bool | oxr_subaction_paths::oxr_subaction_paths_is_subset_of (const struct oxr_subaction_paths *a, const struct oxr_subaction_paths *b) |
Helper function to determine if the set of paths in a is a subset of the paths in b. | |
| #define | MAKE_EXT_STATUS(mixed_case, all_caps) bool mixed_case; |
oxr_instance.c | |
| static XrInstance | oxr_instance_to_openxr (struct oxr_instance *inst) |
| To go back to a OpenXR object. | |
| XrResult | oxr_instance::oxr_instance_create (struct oxr_logger *log, const XrInstanceCreateInfo *createInfo, XrVersion major_minor, const struct oxr_extension_status *extensions, struct oxr_instance **out_inst) |
Creates a instance, does minimal validation of createInfo. | |
| XrResult | oxr_instance::oxr_instance_init_system_locked (struct oxr_logger *log, struct oxr_instance *inst) |
| Must be called with oxr_instance::system_init_lock held. | |
| XrResult | oxr_instance::oxr_instance_get_properties (struct oxr_logger *log, struct oxr_instance *inst, XrInstanceProperties *instanceProperties) |
| XrResult | oxr_instance::oxr_instance_convert_time_to_timespec (struct oxr_logger *log, struct oxr_instance *inst, XrTime time, struct timespec *timespecTime) |
| XrResult | oxr_instance::oxr_instance_convert_timespec_to_time (struct oxr_logger *log, struct oxr_instance *inst, const struct timespec *timespecTime, XrTime *time) |
Gets called from OpenXR entrypoints functions and talks to devices and Compositor using XRT interfaces.
| #define OXR_CHECK_XRET | ( | LOG, | |
| SESS, | |||
| RESULTS, | |||
| FUNCTION | |||
| ) |
#include <state_trackers/oxr/oxr_xret.h>
Helper define to check results from 'xrt_` functions (xrt_result_t) and also set any needed state.
| #define OXR_WARN_ONCE | ( | log, | |
| ... | |||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Helper macro to log a warning just once.
| #define OXR_XRT_FOV_TO_XRFOVF | ( | FROM, | |
| TO | |||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Safely copy an xrt_fov to an XrFovf.
| #define OXR_XRT_POSE_TO_XRPOSEF | ( | FROM, | |
| TO | |||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Safely copy an xrt_pose to an XrPosef.
|
related |
Function pointer type for a handle destruction function.
| enum oxr_dpad_region |
#include <state_trackers/oxr/common/oxr_defines.h>
Region of a dpad binding that an input is mapped to.
| enum oxr_handle_state |
#include <state_trackers/oxr/common/oxr_defines.h>
State of a handle base, to reduce likelihood of going "boom" on out-of-order destruction or other unsavory behavior.
| enum oxr_image_state |
#include <state_trackers/oxr/common/oxr_defines.h>
Tracks the state of a image that belongs to a oxr_swapchain.
#include <state_trackers/oxr/common/oxr_defines.h>
What graphics API was this session created with.
| enum oxr_space_type |
#include <state_trackers/oxr/common/oxr_defines.h>
Internal enum for the type of space, lets us reason about action spaces.
| enum oxr_subaction_path |
#include <state_trackers/oxr/common/oxr_defines.h>
Sub action paths.
|
related |
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
|
related |
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
| XrResult oxr_create_messenger | ( | struct oxr_logger * | log, |
| struct oxr_instance * | inst, | ||
| const XrDebugUtilsMessengerCreateInfoEXT * | createInfo, | ||
| struct oxr_debug_messenger ** | out_mssngr | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References oxr_instance::handle, oxr_debug_messenger::inst, oxr_debug_messenger::message_severities, oxr_debug_messenger::message_types, oxr_instance::messengers, oxr_error(), oxr_debug_messenger::user_callback, and oxr_debug_messenger::user_data.
Referenced by oxr_xrCreateDebugUtilsMessengerEXT().
| XrResult oxr_d3d_check_luid | ( | struct oxr_logger * | log, |
| struct oxr_system * | sys, | ||
| LUID * | adapter_luid | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Verify the provided LUID matches the expected one in sys.
References oxr_error(), and oxr_system::xsysc.
| XrResult oxr_d3d_get_requirements | ( | struct oxr_logger * | log, |
| struct oxr_system * | sys, | ||
| LUID * | adapter_luid, | ||
| D3D_FEATURE_LEVEL * | min_feature_level | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Common GetRequirements call for D3D11 and D3D12.
References xrt_system_compositor_info::client_d3d_deviceLUID, xrt_system_compositor_info::client_d3d_deviceLUID_valid, xrt::auxiliary::d3d::getAdapterByIndex(), xrt::auxiliary::d3d::getAdapterByLUID(), xrt_system_compositor::info, oxr_error(), U_LOGGING_INFO, and oxr_system::xsysc.
| void void XrResult oxr_error | ( | struct oxr_logger * | logger, |
| XrResult | result, | ||
| const char * | fmt, | ||
| ... | |||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Output an error and return the result code.
Intended for use in a return statement, to log error information and return the result code in a single line.
Note: The format string is appended to the function name with no spaces, so it should either start with a parenthesized argument name followed by a space and the message, or should start with a space then the message. That is, a format string of "(arg) info" becomes XR_ERROR: xrFunc(arg) info, and a format string of " info msg" becomes XR_ERROR: xrFunc info msg.
| XrResult oxr_error_slog | ( | struct oxr_logger * | log, |
| XrResult | res, | ||
| struct oxr_sink_logger * | slog | ||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Flush sink as a error message, frees all internal data.
References oxr_error().
| XrResult oxr_event_remove_session_events | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
This clears all pending events refers to the given session.
|
related |
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
| XrResult oxr_handle_destroy | ( | struct oxr_logger * | log, |
| struct oxr_handle_base * | hb | ||
| ) |
Destroy the handle's object, as well as all child handles recursively.
This should be how all handle-associated objects are destroyed.
References oxr_handle_do_destroy().
|
related |
Returns a human-readable label for a handle state.
References OXR_HANDLE_STATE_DESTROYED, OXR_HANDLE_STATE_LIVE, and OXR_HANDLE_STATE_UNINITIALIZED.
| void oxr_instance_action_context_fini | ( | struct oxr_instance_action_context * | context | ) |
Finalize and cleanup the action context for an instance.
| context | Action context to finalize |
| XRT_CHECK_RESULT XrResult oxr_instance_action_context_init | ( | struct oxr_logger * | log, |
| struct oxr_instance_action_context * | context | ||
| ) |
Initialize the action context for an instance.
| log | Logger |
| context | Action context to initialize |
References oxr_error().
|
static |
Creates a instance, does minimal validation of createInfo.
| [in] | log | Logger |
| [in] | createInfo | OpenXR creation info. |
| [in] | extensions | Parsed extension list to be enabled. |
| [out] | out_inst | Pointer to pointer to a instance, returned instance. |
References oxr_instance::action_context, xrt_instance::android_instance, xrt_instance_info::app_info, oxr_instance::disable_vulkan_format_depth, oxr_instance::disable_vulkan_format_depth_stencil, oxr_instance::extensions, oxr_instance::handle, oxr_instance::major_minor, oxr_instance::no_texture_source_alpha, oxr_instance::no_validation_error_in_create_ref_space, oxr_instance::openxr_version, oxr_handle_base::OXR_ALLOCATE_HANDLE_OR_RETURN, oxr_error(), OXR_GET_INPUT_FROM_CHAIN, oxr_instance::parallel_views, oxr_instance::path_cache, oxr_instance::path_store, xrt_instance_info::platform_info, oxr_instance::skip_end_session, xrt_instance::startup_timestamp, u_debug_gui_create(), U_DEBUG_GUI_OPEN_AUTO, u_var_add_root(), and XRT_SUCCESS.
| XrResult oxr_instance_init_system_locked | ( | struct oxr_logger * | log, |
| struct oxr_instance * | inst | ||
| ) |
Must be called with oxr_instance::system_init_lock held.
References u_pp_sink_stack_only::buffer, xrt_device::hmd, oxr_error(), oxr_system_fill_in(), u_debug_gui_start(), u_pp(), u_pp_xrt_result(), XRT_ERROR_IPC_FAILURE, XRT_SUCCESS, oxr_system::xso, oxr_system::xsys, oxr_system::xsysc, and oxr_system::xsysd.
|
related |
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
Referenced by oxr_xrCreateInstance().
| void oxr_log_slog | ( | struct oxr_logger * | log, |
| struct oxr_sink_logger * | slog | ||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Flush sink as a log message, frees all internal data.
Referenced by oxr_action_attachment::oxr_action_attachment_bind(), oxr_space_locate(), oxr_spaces_locate(), oxr_vk_create_vulkan_device(), and oxr_vk_create_vulkan_instance().
|
inlinestatic |
#include <state_trackers/oxr/oxr_objects.h>
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
Referenced by oxr_xrCreateDebugUtilsMessengerEXT().
| XrResult oxr_poll_event | ( | struct oxr_logger * | log, |
| struct oxr_instance * | inst, | ||
| XrEventDataBuffer * | eventData | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Will return one event if available, also drain the sessions event queues.
Referenced by oxr_xrPollEvent().
| void oxr_pp_fov_indented_as_object | ( | struct oxr_sink_logger * | slog, |
| const struct xrt_fov * | fov, | ||
| const char * | name | ||
| ) |
#include <state_trackers/oxr/oxr_pretty_print.h>
Prints a fov to a oxr_sink_logger, on the form of \n\t${name}->fov ....
Note no trailing line break and but a starting line break, see Pretty printing functions and helpers.
| void oxr_pp_pose_indented_as_object | ( | struct oxr_sink_logger * | slog, |
| const struct xrt_pose * | pose, | ||
| const char * | name | ||
| ) |
#include <state_trackers/oxr/oxr_pretty_print.h>
Prints a pose to a oxr_sink_logger, on the form of \n\t${name}->pose ....
Note no trailing line break and but a starting line break, see Pretty printing functions and helpers.
| void oxr_pp_relation_indented | ( | struct oxr_sink_logger * | slog, |
| const struct xrt_space_relation * | relation, | ||
| const char * | name | ||
| ) |
#include <state_trackers/oxr/oxr_pretty_print.h>
Prints a space to a oxr_sink_logger, on the form of \n\t${name}-><field> ....
Note no trailing line break and but a starting line break, see Pretty printing functions and helpers.
Referenced by oxr_space_locate(), and oxr_spaces_locate().
| void oxr_pp_space_indented | ( | struct oxr_sink_logger * | slog, |
| const struct oxr_space * | spc, | ||
| const char * | name | ||
| ) |
#include <state_trackers/oxr/oxr_pretty_print.h>
Prints a space to a oxr_sink_logger, on the form of \n\t${name}-><field> ....
Note no trailing line break and but a starting line break, see Pretty printing functions and helpers.
References oxr_space::act_key, oxr_slog_dg(), oxr_space::pose, oxr_space::sess, oxr_space::space_type, xrt_device::str, oxr_space::subaction_paths, and u_pp_xrt_input_name().
Referenced by oxr_space_locate(), and oxr_spaces_locate().
|
inlinestatic |
#include <state_trackers/oxr/oxr_objects.h>
Increase the reference count of orc.
Referenced by oxr_action_attachment::oxr_action_attachment_init().
|
inlinestatic |
#include <state_trackers/oxr/oxr_objects.h>
Decrease the reference count of orc, destroying it if it reaches 0.
References oxr_refcounted::destroy.
Referenced by oxr_action_attachment::oxr_action_attachment_teardown(), and oxr_action_set_attachment::oxr_action_set_attachment_teardown().
| XRT_CHECK_RESULT XrResult oxr_roles_init_on_stack | ( | struct oxr_logger * | log, |
| struct oxr_roles * | roles, | ||
| struct oxr_system * | sys | ||
| ) |
#include <state_trackers/oxr/oxr_roles.h>
Initialize an oxr_roles struct on the stack.
References oxr_error(), oxr_roles::roles, oxr_roles::sys, XRT_SUCCESS, and oxr_system::xsysd.
Referenced by oxr_action_sync_data().
| void oxr_session_change_state | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess, | ||
| XrSessionState | state, | ||
| XrTime | time | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Change the state of the session, queues a event.
References oxr_handle_base::state.
Referenced by oxr_session_request_exit().
| XrResult oxr_session_frame_end | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess, | ||
| const XrFrameEndInfo * | frameEndInfo | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References oxr_session::frame_timing_spew, os_monotonic_get_ns(), OXR_CHECK_XRET, oxr_error(), U_LOG_W, verify_projection_layer(), and XRT_GRAPHICS_SYNC_HANDLE_INVALID.
Referenced by oxr_xrEndFrame().
| XrResult oxr_session_frame_wait | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess, | ||
| XrFrameState * | frameState | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References oxr_session::frame_timing_spew, oxr_session::frame_timing_wait_sleep_ms, oxr_session::sleeper, and U_TIME_1MS_IN_NS.
Referenced by oxr_xrWaitFrame().
| XrResult oxr_session_request_exit | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References oxr_session::has_ended_once, os_monotonic_get_ns(), oxr_session_change_state(), and U_LOG_W.
Referenced by oxr_xrRequestExitSession().
|
inlinestatic |
Returns XR_SUCCESS, XR_SESSION_LOSS_PENDING, or XR_SESSION_NOT_FOCUSED, as appropriate.
|
inlinestatic |
Returns XR_SUCCESS or XR_SESSION_LOSS_PENDING as appropriate.
|
related |
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
| void oxr_slog | ( | struct oxr_sink_logger * | slog, |
| const char * | fmt, | ||
| ... | |||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Log string to sink logger.
Referenced by oxr_vk_create_vulkan_device(), and oxr_vk_create_vulkan_instance().
| void void oxr_slog_add_array | ( | struct oxr_sink_logger * | slog, |
| const char * | str, | ||
| size_t | size | ||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Add the string to the slog struct.
Referenced by oxr_slog_dg().
| void oxr_slog_cancel | ( | struct oxr_sink_logger * | slog | ) |
#include <state_trackers/oxr/oxr_logger.h>
Cancel logging, frees all internal data.
Referenced by oxr_action_attachment::oxr_action_attachment_bind(), oxr_space_locate(), and oxr_spaces_locate().
|
inlinestatic |
#include <state_trackers/oxr/oxr_logger.h>
Get a pretty print delegate from a oxr_sink_logger.
References oxr_slog_add_array().
Referenced by oxr_pp_space_indented().
| XRT_CHECK_RESULT XrResult oxr_space_get_xrt_space | ( | struct oxr_logger * | log, |
| struct oxr_space * | spc, | ||
| struct xrt_space ** | out_xspace | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Get the xrt_space associated with this oxr_space, the xrt_space will be reference counted by this function so the caller will need to call xrt_space_reference to decrement the reference count.
| log | Logging struct. | |
| spc | Oxr space to get the xrt_space from. | |
| [out] | out_xspace | Returns the xrt_space associated with this oxr_space. |
References xrt_space::xrt_space_reference().
| XrResult oxr_space_locate | ( | struct oxr_logger * | log, |
| struct oxr_space * | spc, | ||
| struct oxr_space * | baseSpc, | ||
| XrTime | time, | ||
| XrSpaceLocation * | location | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References OXR_GET_OUTPUT_FROM_CHAIN, oxr_log_slog(), oxr_pp_relation_indented(), oxr_pp_space_indented(), oxr_slog_cancel(), OXR_XRT_POSE_TO_XRPOSEF, oxr_space::pose, oxr_space::sess, U_ZERO, xrt_space_relation::XRT_SPACE_RELATION_ZERO, and oxr_system::xso.
Referenced by oxr_xrLocateSpace().
| XRT_CHECK_RESULT XrResult oxr_space_locate_device | ( | struct oxr_logger * | log, |
| struct xrt_device * | xdev, | ||
| struct oxr_space * | baseSpc, | ||
| XrTime | time, | ||
| struct xrt_space_relation * | out_relation | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Locate the xrt_device in the given base space, useful for implementing hand tracking location look ups and the like.
| log | Logging struct. | |
| xdev | Device to locate in the base space. | |
| baseSpc | Base space where the device is to be located. | |
| [in] | time | Time in OpenXR domain. |
| [out] | out_relation | Returns T_base_xdev, aka xdev in base space. |
References oxr_space::pose, oxr_space::sess, and oxr_system::xso.
Referenced by handle_space().
|
inlinestatic |
#include <state_trackers/oxr/oxr_objects.h>
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
Referenced by oxr_xrCreateActionSpace(), and oxr_xrCreateReferenceSpace().
| XrResult oxr_space_xdev_pose_create | ( | struct oxr_logger * | log, |
| struct oxr_session * | sess, | ||
| struct xrt_device * | xdev, | ||
| enum xrt_input_name | name, | ||
| const struct xrt_pose * | pose, | ||
| struct oxr_space ** | out_space | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Monado special space that always points to a specific xrt_device and pose, useful when you want to bypass the action binding system for instance.
References oxr_session::handle, oxr_handle_base::OXR_ALLOCATE_HANDLE_OR_RETURN, OXR_CHECK_XRET, oxr_error(), oxr_space::pose, oxr_space::sess, oxr_space::space_type, and oxr_system::xso.
| XrResult oxr_spaces_locate | ( | struct oxr_logger * | log, |
| struct oxr_space ** | spcs, | ||
| uint32_t | spc_count, | ||
| struct oxr_space * | baseSpc, | ||
| XrTime | time, | ||
| XrSpaceLocations * | locations | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References OXR_GET_OUTPUT_FROM_CHAIN, oxr_log_slog(), oxr_pp_relation_indented(), oxr_pp_space_indented(), oxr_slog_cancel(), OXR_XRT_POSE_TO_XRPOSEF, oxr_space::pose, oxr_space::sess, U_TYPED_ARRAY_CALLOC, U_ZERO, XRT_ERROR_ALLOCATION, XRT_SUCCESS, and oxr_system::xso.
|
inlinestatic |
Helper function to determine if the set of paths in a is a subset of the paths in b.
References OXR_FOR_EACH_SUBACTION_PATH.
Referenced by oxr_verify_subaction_path_sync().
|
inlinestatic |
#include <state_trackers/oxr/oxr_objects.h>
To go back to a OpenXR object.
References XRT_CAST_PTR_TO_OXR_HANDLE.
Referenced by oxr_xrCreateSwapchain().
| XrResult oxr_system_fill_in | ( | struct oxr_logger * | log, |
| struct oxr_instance * | inst, | ||
| XrSystemId | systemId, | ||
| uint32_t | view_count, | ||
| struct oxr_system * | sys | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References ARRAY_SIZE, oxr_instance::extensions, xrt_system_compositor::info, xrt_space_overseer::local, xrt_space_overseer::local_floor, OXR_API_VERSION_AT_LEAST, xrt_space_overseer::stage, oxr_system::suggested_vulkan_physical_device, U_ZERO, xrt_space_overseer::unbounded, xrt_space_overseer::view, xrt_view_config::view_count, xrt_view_config::view_type, oxr_system::vk_get_instance_proc_addr, oxr_system::vulkan_enable2_instance, oxr_system::xso, and oxr_system::xsysc.
Referenced by oxr_instance::oxr_instance_init_system_locked().
| XrResult oxr_vk_create_vulkan_device | ( | struct oxr_logger * | log, |
| struct oxr_system * | sys, | ||
| const XrVulkanDeviceCreateInfoKHR * | createInfo, | ||
| VkDevice * | vulkanDevice, | ||
| VkResult * | vulkanResult | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References ARRAY_SIZE, oxr_log_slog(), oxr_slog(), u_extension_list_builder::u_extension_list_builder_append_unique(), u_extension_list_builder::u_extension_list_builder_create_from_array(), u_extension_list::u_extension_list_contains(), u_extension_list::u_extension_list_get_data(), u_extension_list::u_extension_list_get_size(), U_LOG_D, and oxr_system::vulkan_enable2_instance.
Referenced by oxr_xrCreateVulkanDeviceKHR().
| XrResult oxr_vk_create_vulkan_instance | ( | struct oxr_logger * | log, |
| struct oxr_system * | sys, | ||
| const XrVulkanInstanceCreateInfoKHR * | createInfo, | ||
| VkInstance * | vulkanInstance, | ||
| VkResult * | vulkanResult | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
References ARRAY_SIZE, oxr_log_slog(), oxr_slog(), required_vk_instance_extensions, u_extension_list_builder::u_extension_list_builder_append_unique(), u_extension_list_builder::u_extension_list_builder_create_from_array(), u_extension_list::u_extension_list_get_data(), and u_extension_list::u_extension_list_get_size().
Referenced by oxr_xrCreateVulkanInstanceKHR().
| void oxr_warn_slog | ( | struct oxr_logger * | log, |
| struct oxr_sink_logger * | slog | ||
| ) |
#include <state_trackers/oxr/oxr_logger.h>
Flush sink as a warning message, frees all internal data.
| bool oxr_xdev_find_input | ( | struct xrt_device * | xdev, |
| enum xrt_input_name | name, | ||
| struct xrt_input ** | out_input | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Return true if it finds an input of that name on this device.
References xrt_device::input_count, xrt_device::inputs, and xrt_device::name.
| bool oxr_xdev_find_output | ( | struct xrt_device * | xdev, |
| enum xrt_output_name | name, | ||
| struct xrt_output ** | out_output | ||
| ) |
#include <state_trackers/oxr/oxr_objects.h>
Return true if it finds an output of that name on this device.
References xrt_device::name, xrt_device::output_count, and xrt_device::outputs.