Monado OpenXR Runtime
xrt_swapchain_native Interface Reference

Base class for a swapchain that exposes a native buffer handle to be imported into a client API. More...

#include <xrt/xrt_compositor.h>

Inheritance diagram for xrt_swapchain_native:
Collaboration diagram for xrt_swapchain_native:

Data Fields

struct xrt_swapchain base
 Base. More...
 
xrt_limited_unique_id_t limited_unique_id
 Unique id for the swapchain, only unique for the current process, is not synchronized between service and any apps via the IPC layer. More...
 
struct xrt_image_native images [XRT_MAX_SWAPCHAIN_IMAGES]
 
- Data Fields inherited from xrt_swapchain
struct xrt_reference reference
 Reference helper. More...
 
uint32_t image_count
 Number of images. More...
 
void(* destroy )(struct xrt_swapchain *xsc)
 dec_image_use must have been called as often as inc_image_use. More...
 
xrt_result_t(* acquire_image )(struct xrt_swapchain *xsc, uint32_t *out_index)
 Obtain the index of the next image to use, without blocking on being able to write to it. More...
 
xrt_result_t(* inc_image_use )(struct xrt_swapchain *xsc, uint32_t index)
 Increments the use counter of a swapchain image. More...
 
xrt_result_t(* dec_image_use )(struct xrt_swapchain *xsc, uint32_t index)
 Decrements the use counter of a swapchain image. More...
 
xrt_result_t(* wait_image )(struct xrt_swapchain *xsc, uint64_t timeout_ns, uint32_t index)
 Wait until image index is available for exclusive use, or until timeout_ns expires. More...
 
xrt_result_t(* barrier_image )(struct xrt_swapchain *xsc, enum xrt_barrier_direction direction, uint32_t index)
 Do any barrier transitions to and from the application. More...
 
xrt_result_t(* release_image )(struct xrt_swapchain *xsc, uint32_t index)
 See xrReleaseSwapchainImage, state tracker needs to track index. More...
 

Related Functions

(Note that these are not member functions.)

static void xrt_swapchain_native_reference (struct xrt_swapchain_native **dst, struct xrt_swapchain_native *src)
 Update the reference counts on swapchain(s). More...
 

Additional Inherited Members

- Public Member Functions inherited from xrt_swapchain
static xrt_result_t xrt_swapchain_acquire_image (struct xrt_swapchain *xsc, uint32_t *out_index)
 Obtain the index of the next image to use, without blocking on being able to write to it. More...
 
static xrt_result_t xrt_swapchain_inc_image_use (struct xrt_swapchain *xsc, uint32_t index)
 Increments the use counter of a swapchain image. More...
 
static xrt_result_t xrt_swapchain_dec_image_use (struct xrt_swapchain *xsc, uint32_t index)
 Decrements the use counter of a swapchain image. More...
 
static xrt_result_t xrt_swapchain_wait_image (struct xrt_swapchain *xsc, uint64_t timeout_ns, uint32_t index)
 Wait until image index is available for exclusive use, or until timeout_ns expires. More...
 
static xrt_result_t xrt_swapchain_barrier_image (struct xrt_swapchain *xsc, enum xrt_barrier_direction direction, uint32_t index)
 Do any barrier transitions to and from the application. More...
 
static xrt_result_t xrt_swapchain_release_image (struct xrt_swapchain *xsc, uint32_t index)
 See xrReleaseSwapchainImage, state tracker needs to track index. More...
 

Detailed Description

Base class for a swapchain that exposes a native buffer handle to be imported into a client API.

Field Documentation

◆ base

◆ limited_unique_id

xrt_limited_unique_id_t xrt_swapchain_native::limited_unique_id

Unique id for the swapchain, only unique for the current process, is not synchronized between service and any apps via the IPC layer.

Referenced by u_swapchain_debug_set().


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