Monado OpenXR Runtime
Loading...
Searching...
No Matches
oxr_resolver_for_bindings.h
Go to the documentation of this file.
1// Copyright 2026, NVIDIA CORPORATION.
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Resolve suggested bindings into action cache IO.
6 * @ingroup oxr_main
7 */
8
9#pragma once
10
11#include "oxr_extension_support.h"
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20/*!
21 * Resolve suggested input bindings for one action/subaction path into @p cache.
22 *
23 * This is intentionally lower-level than the existing action binding path: it
24 * consumes the attached suggested-profile snapshot and resolves binding points
25 * at cache population time.
26 *
27 * Assumes @p dev is valid and @p cache has already been cleared by the caller.
28 */
29void
31 struct oxr_sink_logger *slog,
32 const struct oxr_io_cache *io_cache,
33 const struct oxr_profile_resolver_info *info,
34 const struct xrt_io_cache_device *dev,
35 XrPath subaction_path,
36 struct oxr_action_attachment *act_attached,
37 struct oxr_action_cache *cache);
38
39/*!
40 * Resolve suggested output bindings for one action/subaction path into @p cache.
41 *
42 * Assumes @p dev is valid and @p cache has already been cleared by the caller.
43 */
44void
46 struct oxr_sink_logger *slog,
47 const struct oxr_io_cache *io_cache,
48 const struct oxr_profile_resolver_info *info,
49 const struct xrt_io_cache_device *dev,
50 XrPath subaction_path,
51 struct oxr_action_attachment *act_attached,
52 struct oxr_action_cache *cache);
53
54
55#ifdef __cplusplus
56}
57#endif
Forward declarations for OpenXR state tracker structs.
void oxr_resolver_populate_output(struct oxr_logger *log, struct oxr_sink_logger *slog, const struct oxr_io_cache *io_cache, const struct oxr_profile_resolver_info *info, const struct xrt_io_cache_device *dev, XrPath subaction_path, struct oxr_action_attachment *act_attached, struct oxr_action_cache *cache)
Resolve suggested output bindings for one action/subaction path into cache.
Definition oxr_resolver_for_bindings.c:483
void oxr_resolver_populate_input(struct oxr_logger *log, struct oxr_sink_logger *slog, const struct oxr_io_cache *io_cache, const struct oxr_profile_resolver_info *info, const struct xrt_io_cache_device *dev, XrPath subaction_path, struct oxr_action_attachment *act_attached, struct oxr_action_cache *cache)
Resolve suggested input bindings for one action/subaction path into cache.
Definition oxr_resolver_for_bindings.c:395
Resolve suggested profiles for a device.
Data associated with an Action that has been attached to a Session.
Definition oxr_objects.h:1646
The set of inputs/outputs for a single sub-action path for an action.
Definition oxr_objects.h:1624
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
Short-lived result of choosing a suggested profile for one subaction slot (for example /user/hand/lef...
Definition oxr_resolver_for_profiles.h:30
Allocate on the stack, make sure to zero initialize.
Definition oxr_logger.h:92
Per-device layout entry describing where a device's inputs and outputs sit in the flattened cache arr...
Definition xrt_io_cache.h:31