Monado OpenXR Runtime
comp_base.c File Reference

Helper implementation for native compositors. More...

Include dependency graph for comp_base.c:

Functions

static xrt_result_t base_get_swapchain_create_properties (struct xrt_compositor *xc, const struct xrt_swapchain_create_info *info, struct xrt_swapchain_create_properties *xsccp)
 Delegates to code in comp_swapchain More...
 
static xrt_result_t base_create_swapchain (struct xrt_compositor *xc, const struct xrt_swapchain_create_info *info, struct xrt_swapchain **out_xsc)
 Delegates to code in comp_swapchain More...
 
static xrt_result_t base_import_swapchain (struct xrt_compositor *xc, const struct xrt_swapchain_create_info *info, struct xrt_image_native *native_images, uint32_t image_count, struct xrt_swapchain **out_xsc)
 Delegates to code in comp_swapchain More...
 
static xrt_result_t base_import_fence (struct xrt_compositor *xc, xrt_graphics_sync_handle_t handle, struct xrt_compositor_fence **out_xcf)
 Delegates to code in comp_sync More...
 
static xrt_result_t base_create_semaphore (struct xrt_compositor *xc, xrt_graphics_sync_handle_t *out_handle, struct xrt_compositor_semaphore **out_xcsem)
 Delegates to code in comp_semaphore More...
 
static xrt_result_t base_layer_begin (struct xrt_compositor *xc, const struct xrt_layer_frame_data *data)
 
static xrt_result_t base_layer_projection (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc[XRT_MAX_VIEWS], const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_projection_depth (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc[XRT_MAX_VIEWS], struct xrt_swapchain *d_xsc[XRT_MAX_VIEWS], const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_quad (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc, const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_cube (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc, const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_cylinder (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc, const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_equirect1 (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc, const struct xrt_layer_data *data)
 
static xrt_result_t base_layer_equirect2 (struct xrt_compositor *xc, struct xrt_device *xdev, struct xrt_swapchain *xsc, const struct xrt_layer_data *data)
 
static xrt_result_t base_wait_frame (struct xrt_compositor *xc, int64_t *out_frame_id, int64_t *out_predicted_display_time_ns, int64_t *out_predicted_display_period_ns)
 
void comp_base_init (struct comp_base *cb)
 
void comp_base_fini (struct comp_base *cb)
 

Detailed Description

Function Documentation

◆ base_create_semaphore()

static xrt_result_t base_create_semaphore ( struct xrt_compositor xc,
xrt_graphics_sync_handle_t out_handle,
struct xrt_compositor_semaphore **  out_xcsem 
)
static

Delegates to code in comp_semaphore

References comp_semaphore_create(), and comp_base::vk.

Referenced by comp_base::comp_base_init().

◆ base_create_swapchain()

static xrt_result_t base_create_swapchain ( struct xrt_compositor xc,
const struct xrt_swapchain_create_info info,
struct xrt_swapchain **  out_xsc 
)
static

◆ base_get_swapchain_create_properties()

static xrt_result_t base_get_swapchain_create_properties ( struct xrt_compositor xc,
const struct xrt_swapchain_create_info info,
struct xrt_swapchain_create_properties xsccp 
)
static

◆ base_import_fence()

static xrt_result_t base_import_fence ( struct xrt_compositor xc,
xrt_graphics_sync_handle_t  handle,
struct xrt_compositor_fence **  out_xcf 
)
static

Delegates to code in comp_sync

References comp_fence_import(), and comp_base::vk.

Referenced by comp_base::comp_base_init().

◆ base_import_swapchain()

static xrt_result_t base_import_swapchain ( struct xrt_compositor xc,
const struct xrt_swapchain_create_info info,
struct xrt_image_native native_images,
uint32_t  image_count,
struct xrt_swapchain **  out_xsc 
)
static