Monado OpenXR Runtime
ipc_client_hmd.c File Reference

IPC Client HMD device. More...

#include "xrt/xrt_device.h"
#include "os/os_time.h"
#include "math/m_api.h"
#include "util/u_var.h"
#include "util/u_misc.h"
#include "util/u_debug.h"
#include "util/u_device.h"
#include "util/u_distortion_mesh.h"
#include "client/ipc_client.h"
#include "client/ipc_client_connection.h"
#include "ipc_client_generated.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
Include dependency graph for ipc_client_hmd.c:

Typedefs

typedef struct ipc_client_xdev ipc_client_hmd_t
 An IPC client proxy for an HMD xrt_device and ipc_client_xdev. More...
 

Functions

static ipc_client_hmd_tipc_client_hmd (struct xrt_device *xdev)
 
static void call_get_view_poses_raw (ipc_client_hmd_t *ich, const struct xrt_vec3 *default_eye_relation, uint64_t at_timestamp_ns, uint32_t view_count, struct xrt_space_relation *out_head_relation, struct xrt_fov *out_fovs, struct xrt_pose *out_poses)
 
static void ipc_client_hmd_destroy (struct xrt_device *xdev)
 
static void ipc_client_hmd_update_inputs (struct xrt_device *xdev)
 
static void ipc_client_hmd_get_tracked_pose (struct xrt_device *xdev, enum xrt_input_name name, uint64_t at_timestamp_ns, struct xrt_space_relation *out_relation)
 
static void ipc_client_hmd_get_view_poses (struct xrt_device *xdev, const struct xrt_vec3 *default_eye_relation, uint64_t at_timestamp_ns, uint32_t view_count, struct xrt_space_relation *out_head_relation, struct xrt_fov *out_fovs, struct xrt_pose *out_poses)
 
static bool ipc_client_hmd_compute_distortion (struct xrt_device *xdev, uint32_t view, float u, float v, struct xrt_uv_triplet *out_result)
 
static bool ipc_client_hmd_is_form_factor_available (struct xrt_device *xdev, enum xrt_form_factor form_factor)
 
static xrt_result_t ipc_client_hmd_get_visibility_mask (struct xrt_device *xdev, enum xrt_visibility_mask_type type, uint32_t view_index, struct xrt_visibility_mask **out_mask)
 

Detailed Description