Monado OpenXR Runtime
Loading...
Searching...
No Matches
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.
 
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.
 
struct xrt_image_native images [XRT_MAX_SWAPCHAIN_IMAGES]
 
- Data Fields inherited from xrt_swapchain
struct xrt_reference reference
 Reference helper.
 
uint32_t image_count
 Number of images.
 
void(* destroy )(struct xrt_swapchain *xsc)
 dec_image_use must have been called as often as inc_image_use.
 
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.
 
xrt_result_t(* inc_image_use )(struct xrt_swapchain *xsc, uint32_t index)
 Increments the use counter of a swapchain image.
 
xrt_result_t(* dec_image_use )(struct xrt_swapchain *xsc, uint32_t index)
 Decrements the use counter of a swapchain image.
 
xrt_result_t(* wait_image )(struct xrt_swapchain *xsc, int64_t timeout_ns, uint32_t index)
 Wait until image index is available for exclusive use, or until timeout_ns expires.
 
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.
 
xrt_result_t(* release_image )(struct xrt_swapchain *xsc, uint32_t index)
 See xrReleaseSwapchainImage, state tracker needs to track index.
 

Related Symbols

(Note that these are not member symbols.)

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

Additional Inherited Members

- Static Public Member Functions inherited from xrt_swapchain
static XRT_NONNULL_ALL 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.
 
static XRT_NONNULL_ALL xrt_result_t xrt_swapchain_inc_image_use (struct xrt_swapchain *xsc, uint32_t index)
 Increments the use counter of a swapchain image.
 
static XRT_NONNULL_ALL xrt_result_t xrt_swapchain_dec_image_use (struct xrt_swapchain *xsc, uint32_t index)
 Decrements the use counter of a swapchain image.
 
static XRT_NONNULL_ALL xrt_result_t xrt_swapchain_wait_image (struct xrt_swapchain *xsc, int64_t timeout_ns, uint32_t index)
 Wait until image index is available for exclusive use, or until timeout_ns expires.
 
static XRT_NONNULL_ALL 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.
 
static XRT_NONNULL_ALL xrt_result_t xrt_swapchain_release_image (struct xrt_swapchain *xsc, uint32_t index)
 See xrReleaseSwapchainImage, state tracker needs to track index.
 

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.


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