Monado OpenXR Runtime
|
A big struct that contains all data that is shared to a client, no pointers allowed in this. More...
#include </builds/monado/monado/src/xrt/ipc/shared/ipc_protocol.h>
Data Fields | |
char | u_git_tag [64] |
The git revision of the service, used by clients to detect version mismatches. More... | |
uint32_t | itrack_count |
Number of elements in itracks that are populated/valid. More... | |
struct ipc_shared_tracking_origin | itracks [XRT_SYSTEM_MAX_DEVICES] |
Array of shared tracking origin data. More... | |
uint32_t | isdev_count |
Number of elements in isdevs that are populated/valid. More... | |
struct ipc_shared_device | isdevs [XRT_SYSTEM_MAX_DEVICES] |
Array of shared data per device. More... | |
struct { | |
int32_t head | |
int32_t eyes | |
int32_t face | |
int32_t body | |
struct { | |
int32_t left | |
int32_t right | |
} hand_tracking | |
} | roles |
Various roles for the devices. More... | |
struct { | |
struct { | |
struct { | |
uint32_t w_pixels | |
uint32_t h_pixels | |
} display | |
Pixel properties of this display, not in absolute screen coordinates that the compositor sees. More... | |
} views [2] | |
uint32_t view_count | |
enum xrt_blend_mode blend_modes [XRT_MAX_DEVICE_BLEND_MODES] | |
uint32_t blend_mode_count | |
} | hmd |
struct xrt_input | inputs [1024] |
struct xrt_output | outputs [128] |
struct ipc_shared_binding_profile | binding_profiles [64] |
struct xrt_binding_input_pair | input_pairs [1024] |
struct xrt_binding_output_pair | output_pairs [128] |
struct ipc_layer_slot | slots [128] |
uint64_t | startup_timestamp |
A big struct that contains all data that is shared to a client, no pointers allowed in this.
To get the inputs of a device you go:
struct { ... } ipc_shared_memory::display |
Pixel properties of this display, not in absolute screen coordinates that the compositor sees.
So before any rotation is applied by xrt_view::rot.
The xrt_view::display::w_pixels & xrt_view::display::h_pixels become the recommended image size for this view.
uint32_t ipc_shared_memory::isdev_count |
Number of elements in isdevs that are populated/valid.
struct ipc_shared_device ipc_shared_memory::isdevs[XRT_SYSTEM_MAX_DEVICES] |
Array of shared data per device.
Only isdev_count elements are populated/valid.
uint32_t ipc_shared_memory::itrack_count |
Number of elements in itracks that are populated/valid.
struct ipc_shared_tracking_origin ipc_shared_memory::itracks[XRT_SYSTEM_MAX_DEVICES] |
Array of shared tracking origin data.
Only itrack_count elements are populated/valid.
struct { ... } ipc_shared_memory::roles |
Various roles for the devices.
char ipc_shared_memory::u_git_tag[64] |
The git revision of the service, used by clients to detect version mismatches.