|
|
#define | INFO_MEMBER(X) struct oxr_profile_resolver_info X; |
| |
|
#define | ACCUMULATE_SUBACTION_PATHS(X) subaction_paths->X |= new_subaction_paths->X; |
| |
|
#define | CACHE_TEARDOWN(X) oxr_action_cache_teardown(&(act_attached->X)); |
| |
| #define | GET_POSE_INPUT(X) |
| |
| #define | GET_BINDING_DEVICE(NAME, IOC) binding_device_from_cache((IOC), (IOC)->info.NAME) |
| | Every top-level role (left, right, gamepad, head, eyes) is looked up in the io cache via the matching xrt_io_cache_info role index.
|
| |
| #define | RESOLVE_INFO(NAME, NAME_CAPS, PATH, LOCALIZED_NAME) |
| |
| #define | BIND_SUBACTION(NAME, NAME_CAPS, PATH, LOCALIZED_NAME) |
| |
|
#define | RESET_ANY(NAME) act_attached->any_pose_subaction_path.NAME = false; |
| |
| #define | POSE_ANY(NAME) |
| |
| #define | ACCUMULATE_CACHE(NAME, NAME_CAPS, PATH, LOCALIZED_NAME) |
| |
|
#define | BOOL_CHECK(NAME) oxr_state_update_bool(&active, &value, ×tamp, &act_attached->NAME.current); |
| |
|
#define | VEC1_CHECK(NAME) oxr_state_update_vec1(&active, &value, ×tamp, &act_attached->NAME.current); |
| |
|
#define | VEC2_CHECK(NAME) oxr_state_update_vec2(&active, &x, &y, &distance, ×tamp, &act_attached->NAME.current); |
| |
| #define | UPDATE_SELECT(X) |
| |
|
#define | CACHE_TEARDOWN(X) oxr_action_cache_teardown(&(act_attached->X)); |
| |
| #define | POPULATE_PROFILE(X) |
| |
|
#define | ACCUMULATE_REQUESTED(X) any_action_with_subactionpath |= subaction_paths.X && act_attached->act_ref->subaction_paths.X; |
| |
| #define | ACCUMULATE_PATHS(X) |
| |
|
| static void | get_action_set_attachment (struct oxr_session_action_context *sess_context, XrActionSet actionSet, struct oxr_action_set_attachment **out_act_set_attached, struct oxr_action_set **out_act_set) |
| | Given an Action Set handle, return the oxr_action_set and the associated oxr_action_set_attachment in the given Session.
|
| |
|
static void | oxr_action_cache_update (struct oxr_logger *log, struct oxr_session *sess, uint32_t countActionSets, const XrActiveActionSet *actionSets, struct oxr_action_attachment *act_attached, struct oxr_action_cache *cache, int64_t time, struct oxr_subaction_paths *subaction_path, bool select) |
| |
|
static void | oxr_action_attachment_update (struct oxr_logger *log, struct oxr_session *sess, uint32_t countActionSets, const XrActiveActionSet *actionSets, struct oxr_action_attachment *act_attached, int64_t time, struct oxr_subaction_paths subaction_paths) |
| |
|
static void | oxr_action_bind_io (struct oxr_logger *log, struct oxr_sink_logger *slog, const struct oxr_session_action_context *sess_context, const struct oxr_profile_resolver_info *info, const struct xrt_io_cache_device *dev, XrPath subaction_path, struct oxr_action_cache *cache, struct oxr_action_attachment *act_attached) |
| |
|
static void | reset_last_sync_priorities (struct oxr_session_action_context *action_context) |
| |
|
static void | reset_inactive_sync_priority_state (struct oxr_session_action_context *action_context) |
| |
|
void | oxr_action_set_attachment_teardown (struct oxr_action_set_attachment *act_set_attached) |
| |
|
static void | oxr_action_set_ref_destroy_cb (struct oxr_refcounted *orc) |
| |
|
static XrResult | oxr_action_set_destroy_cb (struct oxr_logger *log, struct oxr_handle_base *hb) |
| |
|
XrResult | oxr_action_set_create (struct oxr_logger *log, struct oxr_instance *inst, struct oxr_instance_action_context *inst_context, const XrActionSetCreateInfo *createInfo, struct oxr_action_set **out_act_set) |
| |
|
static void | oxr_action_ref_destroy_cb (struct oxr_refcounted *orc) |
| |
|
static XrResult | oxr_action_destroy_cb (struct oxr_logger *log, struct oxr_handle_base *hb) |
| |
| XrResult | oxr_action_create (struct oxr_logger *log, struct oxr_action_set *act_set, const XrActionCreateInfo *createInfo, struct oxr_action **out_act) |
| |
|
XrResult | oxr_action_get_pose_input (struct oxr_session *sess, uint32_t act_key, const struct oxr_subaction_paths *subaction_paths_ptr, struct oxr_action_input **out_input) |
| |
| static const struct xrt_io_cache_device * | binding_device_from_cache (const struct oxr_io_cache *io_cache, int32_t index) |
| | Look up the cache device entry for a role slot, where index is one of the xrt_io_cache_info role indices (left, right, gamepad, head, eyes).
|
| |
|
static void | resolve_binding_infos_from_roles (struct oxr_logger *log, const struct oxr_instance_path_cache *path_cache, const struct oxr_session_action_context *action_context, const struct oxr_suggested_profile_array *suggested_profiles, const struct oxr_roles *roles, bool debug_bindings, struct oxr_profiles_per_subaction *out_infos) |
| |
|
void | oxr_action_cache_stop_output (struct oxr_logger *log, struct oxr_session *sess, struct oxr_action_cache *cache) |
| |
|
static uint32_t | oxr_get_action_set_priority (const struct oxr_action_set_ref *act_set_ref, const XrActiveActionSetPrioritiesEXT *activePriorities) |
| |
|
static void | accumulate_priority_group_cache (struct oxr_action_cache *cache, uint32_t priority) |
| |
|
static void | oxr_session_rebuild_priority_group_states (struct oxr_session_action_context *action_context, uint32_t countActionSets, const XrActiveActionSet *actionSets, const XrActiveActionSetPrioritiesEXT *activePriorities) |
| |
|
static bool | input_suppressed (const struct oxr_action_attachment *act_attached, const struct oxr_action_input *action_input) |
| |
|
static bool | oxr_input_combine_input (struct oxr_session *sess, uint32_t countActionSets, const XrActiveActionSet *actionSets, struct oxr_action_attachment *act_attached, struct oxr_subaction_paths *subaction_path, struct oxr_action_cache *cache, struct oxr_input_value_tagged *out_input, int64_t *out_timestamp, bool *out_is_active) |
| |
|
static bool | oxr_state_equal_bool (const struct oxr_action_state *a, const struct oxr_action_state *b) |
| |
|
static bool | oxr_state_equal_vec1 (const struct oxr_action_state *a, const struct oxr_action_state *b) |
| |
|
static bool | oxr_state_equal_vec2 (const struct oxr_action_state *a, const struct oxr_action_state *b) |
| |
|
static void | oxr_state_update_bool (bool *active, bool *value, XrTime *timestamp, const struct oxr_action_state *new_state) |
| |
|
static void | oxr_state_update_vec1 (bool *active, float *value, XrTime *timestamp, const struct oxr_action_state *new_state) |
| |
|
static void | oxr_state_update_vec2 (bool *active, float *x, float *y, float *distance, XrTime *timestamp, const struct oxr_action_state *new_state) |
| |
|
XrResult | oxr_session_attach_action_sets (struct oxr_logger *log, const struct oxr_instance_action_context *inst_context, struct oxr_session_attached_actions *attached_actions, struct oxr_session_action_context *sess_context, const XrSessionActionSetsAttachInfo *bindInfo) |
| |
| static void | session_clear_action_bindings (struct oxr_session_action_context *action_context) |
| | Tear down the resolved input/output bindings of every attached action.
|
| |
|
static XrResult | session_update_action_bindings (struct oxr_logger *log, struct oxr_instance *inst, struct oxr_session_action_context *action_context, const struct oxr_roles *roles, bool *out_interaction_profile_changed) |
| |
|
static XrResult | session_sync_io_cache_locked (struct oxr_logger *log, struct oxr_instance *inst, struct oxr_session_action_context *sess_context, const struct oxr_roles *roles, bool *out_interaction_profile_changed) |
| |
|
XrResult | oxr_action_sync_data (struct oxr_logger *log, struct oxr_session *sess, uint32_t countActionSets, const XrActiveActionSet *actionSets, const XrActiveActionSetPrioritiesEXT *activePriorities) |
| |
| XrResult | oxr_action_sync_data_with_context (struct oxr_logger *log, struct oxr_session *sess, struct oxr_session_action_context *sess_context, uint32_t countActionSets, const XrActiveActionSet *actionSets, const XrActiveActionSetPrioritiesEXT *activePriorities, bool *out_interaction_profile_changed) |
| |
|
static void | add_path_to_set (XrPath path_set[32], XrPath new_path, uint32_t *inout_path_count) |
| |
|
static void | add_cache_bound_sources (const struct oxr_action_attachment *act_attached, const struct oxr_action_cache *cache, XrPath path_set[32], uint32_t *inout_path_count) |
| |
|
XrResult | oxr_action_enumerate_bound_sources (struct oxr_logger *log, struct oxr_session *sess, uint32_t act_key, uint32_t sourceCapacityInput, uint32_t *sourceCountOutput, XrPath *sources) |
| |