16#include "oxr_extension_support.h"
48#define OXR_SESSION_CHECK_ATTACHED_AND_RET(SESS, LOG) \
50 if (!oxr_session_action_context_has_attached_act_sets(&(SESS)->action_context)) { \
51 return oxr_error(LOG, XR_ERROR_ACTIONSET_NOT_ATTACHED, \
52 "ActionSet(s) have not been attached to this session"); \
130#define OXR_PATH_MEMBER(X) XrPath X;
133#undef OXR_PATH_MEMBER
151XRT_CHECK_RESULT XrResult
184 uint32_t act_set_key,
Wrapper around OS threading native functions.
Forward declarations for OpenXR state tracker structs.
Per-session snapshot wrapper around xrt_io_cache.
Cache of per-session priority group state.
#define OXR_PATH_MEMBER(X)
Currently bound interaction profile.
Definition oxr_session_action_context.h:130
Provides a utility macro for dealing with subaction paths.
#define OXR_FOR_EACH_VALID_SUBACTION_PATH(_)
Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each valid subacti...
Definition oxr_subaction.h:28
Holds suggested profile array related functions.
A wrapper around a native mutex.
Definition os_threading.h:69
The data associated with the attachment of an Action Set (oxr_action_set) to as Session (oxr_session)...
Definition oxr_objects.h:1511
Complete runtime binding registry for all action contexts of an XrInstance.
Definition oxr_binding_registry.h:35
Per session-action-context snapshot of all device inputs and outputs, wrapping an xrt_io_cache.
Definition oxr_io_cache.h:45
Logger struct that lives on the stack, one for each call client call.
Definition oxr_logger.h:44
Per-session cache of priority group states.
Definition oxr_priority_group_cache.h:48
This holds all of the action state that belongs on the session level.
Definition oxr_session_action_context.h:69
struct oxr_suggested_profile_array profiles_on_attachment
Clone of suggested binding profiles at action set/session attachment, this is mandated by the OpenXR ...
Definition oxr_session_action_context.h:108
struct oxr_binding_registry * binding_registry
Binding registry used to resolve this session action context.
Definition oxr_session_action_context.h:113
struct os_mutex sync_actions_mutex
Protects access to dynamic_roles_generation_id during sync actions.
Definition oxr_session_action_context.h:119
struct u_hashmap_int * act_sets_attachments_by_key
A map of action set key to action set attachments.
Definition oxr_session_action_context.h:81
uint64_t dynamic_roles_generation_id
Cache of the last known system roles generation_id.
Definition oxr_session_action_context.h:116
size_t action_set_attachment_count
Length of oxr_session_action_context::act_set_attachments.
Definition oxr_session_action_context.h:94
struct oxr_action_set_attachment * act_set_attachments
An array of action set attachments that this session owns.
Definition oxr_session_action_context.h:89
Manages an array of suggested profiles, does not have a init function but must be zero initialized wh...
Definition oxr_suggested_profile_array.h:30
A simple uint64_t key to a void pointer hashmap.
Definition u_hashmap.cpp:24
Object that oversees and manages spaces, one created for each XR system.
Definition xrt_space.h:97
A collection of xrt_device, and an interface for identifying the roles they have been assigned.
Definition xrt_system.h:218