Monado OpenXR Runtime
Loading...
Searching...
No Matches
ipc_shared_memory Struct Reference

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>

Collaboration diagram for ipc_shared_memory:

Data Fields

char u_git_tag [64]
 The git revision of the service, used by clients to detect version mismatches.
 
struct { 
 
   int32_t   head 
 
   int32_t   eyes 
 
   int32_t   face 
 
   int32_t   body 
 
   struct { 
 
      struct { 
 
         int32_t   left 
 
         int32_t   right 
 
      }   unobstructed 
 
      struct { 
 
         int32_t   left 
 
         int32_t   right 
 
      }   conforming 
 
   }   hand_tracking 
 
roles 
 Various roles for the devices.
 
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 ipc_layer_slot slots [128]
 
uint64_t startup_timestamp
 
struct xrt_plane_detector_begin_info_ext plane_begin_info_ext
 

Detailed Description

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 xrt_input *
helper(struct ipc_shared_memory *ism, uint32_t device_id, uint32_t input)
{
uint32_t index = ism->isdevs[device_id]->first_input_index + input;
return &ism->inputs[index];
}
A big struct that contains all data that is shared to a client, no pointers allowed in this.
Definition ipc_protocol.h:249
A single named input, that sits on a xrt_device.
Definition xrt_device.h:188

Field Documentation

◆ [struct]

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.

Todo:
doesn't account for overfill for timewarp or distortion?

◆ [struct]

struct { ... } ipc_shared_memory::roles

Various roles for the devices.

Referenced by mnd_root_get_device_from_role().

◆ u_git_tag

char ipc_shared_memory::u_git_tag[64]

The git revision of the service, used by clients to detect version mismatches.


The documentation for this struct was generated from the following file: