Monado OpenXR Runtime
oxr_swapchain Struct Reference

A set of images used for rendering. More...

#include <oxr/oxr_objects.h>

Inheritance diagram for oxr_swapchain:
Collaboration diagram for oxr_swapchain:

Data Fields

struct oxr_handle_base handle
 Common structure for things referred to by OpenXR handles. More...
 
struct oxr_sessionsess
 Owner of this swapchain. More...
 
struct xrt_swapchainswapchain
 Compositor swapchain. More...
 
uint32_t width
 Swapchain size. More...
 
uint32_t height
 
uint32_t array_layer_count
 For 1 is 2D texture, greater then 1 2D array texture. More...
 
uint32_t face_count
 The number of cubemap faces. 6 for cubemaps, 1 otherwise. More...
 
struct {
   enum oxr_image_state   state
 
images [XRT_MAX_SWAPCHAIN_IMAGES]
 
struct {
   size_t   num
 
   struct u_index_fifo   fifo
 
acquired
 
struct {
   bool   yes
 
   int   index
 
inflight
 
struct {
   bool   yes
 
   int   index
 
released
 
bool is_static
 
XrResult(* destroy )(struct oxr_logger *, struct oxr_swapchain *)
 
XrResult(* enumerate_images )(struct oxr_logger *, struct oxr_swapchain *, uint32_t, XrSwapchainImageBaseHeader *)
 
XrResult(* acquire_image )(struct oxr_logger *, struct oxr_swapchain *, const XrSwapchainImageAcquireInfo *, uint32_t *)
 
XrResult(* wait_image )(struct oxr_logger *, struct oxr_swapchain *, const XrSwapchainImageWaitInfo *)
 
XrResult(* release_image )(struct oxr_logger *, struct oxr_swapchain *, const XrSwapchainImageReleaseInfo *)
 
- Data Fields inherited from oxr_handle_base
uint64_t debug
 Magic (per-handle-type) value for debugging. More...
 
struct oxr_handle_baseparent
 Pointer to this object's parent handle holder, if any. More...
 
struct oxr_handle_basechildren [256]
 Array of children, if any. More...
 
enum oxr_handle_state state
 Current handle state. More...
 
oxr_handle_destroyer destroy
 Destroy the object this handle refers to. More...
 

Additional Inherited Members

- Public Member Functions inherited from oxr_handle_base
XrResult oxr_handle_destroy (struct oxr_logger *log, struct oxr_handle_base *hb)
 Destroy the handle's object, as well as all child handles recursively. More...
 
- Protected Member Functions inherited from oxr_handle_base
XrResult oxr_handle_init (struct oxr_logger *log, struct oxr_handle_base *hb, uint64_t debug, oxr_handle_destroyer destroy, struct oxr_handle_base *parent)
 Initialize a handle holder, and if a parent is specified, update its child list to include this handle. More...
 

Detailed Description

A set of images used for rendering.

Parent type/handle is oxr_session

OpenXR Object:
XrSwapchain

Field Documentation

◆ array_layer_count

uint32_t oxr_swapchain::array_layer_count

For 1 is 2D texture, greater then 1 2D array texture.

◆ face_count

uint32_t oxr_swapchain::face_count

The number of cubemap faces. 6 for cubemaps, 1 otherwise.

◆ handle

struct oxr_handle_base oxr_swapchain::handle

Common structure for things referred to by OpenXR handles.

◆ sess

struct oxr_session* oxr_swapchain::sess

Owner of this swapchain.

Referenced by oxr_swapchain_common_release().

◆ swapchain

struct xrt_swapchain* oxr_swapchain::swapchain

Compositor swapchain.

Referenced by oxr_swapchain_common_acquire(), and oxr_swapchain_common_release().

◆ width

uint32_t oxr_swapchain::width

Swapchain size.


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