21#define COMP_MAX_LAYERS 16
Independent swapchain implementation.
Independent xrt_compositor_fence implementation.
A simple compositor base that handles a lot of things for you.
Definition: comp_base.h:98
struct vk_bundle vk
Vulkan bundle of useful things, used by swapchain and fence.
Definition: comp_base.h:103
struct os_precise_sleeper sleeper
For default xrt_compositor::wait_frame.
Definition: comp_base.h:106
struct xrt_compositor_native base
Base native compositor.
Definition: comp_base.h:100
struct comp_swapchain_shared cscs
Swapchain garbage collector, used by swapchain, child class needs to call.
Definition: comp_base.h:109
void comp_base_init(struct comp_base *cb)
Inits all of the supported functions and structs, except vk_bundle.
Definition: comp_base.c:250
struct comp_layer_slot slot
We only need to track a single slot.
Definition: comp_base.h:112
A stack of layers.
Definition: comp_base.h:51
bool one_projection_layer_fast_path
Special case one layer projection/projection-depth fast-path.
Definition: comp_base.h:62
struct comp_layer layers[16]
All of the layers.
Definition: comp_base.h:56
struct xrt_pose poses[XRT_MAX_VIEWS]
absolute pose as reported by device for the current submit.
Definition: comp_base.h:67
uint32_t layer_count
Number of submitted layers.
Definition: comp_base.h:59
struct xrt_layer_frame_data data
The per frame data.
Definition: comp_base.h:53
struct xrt_fov fovs[XRT_MAX_VIEWS]
fov as reported by device for the current submit.
Definition: comp_base.h:65
A single layer.
Definition: comp_base.h:30
struct comp_swapchain * sc_array[XRT_MAX_VIEWS *2]
Up to four compositor swapchains referenced per layer.
Definition: comp_base.h:36
struct xrt_layer_data data
All basic (trivially-serializable) data associated with a layer.
Definition: comp_base.h:41
Shared resource(s) and garbage collector for swapchains.
Definition: comp_swapchain.h:44
A swapchain that is almost a one to one mapping to a OpenXR swapchain.
Definition: comp_swapchain.h:92
Definition: os_time.h:208
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code.
Definition: vk_helpers.h:49
Main compositor server interface.
Definition: xrt_compositor.h:2224
Common compositor client interface/base.
Definition: xrt_compositor.h:986
Describes a projection matrix fov.
Definition: xrt_defines.h:486
All the pure data values associated with a composition layer.
Definition: xrt_compositor.h:394
Per frame data for the layer submission calls, used in xrt_compositor::layer_begin.
Definition: xrt_compositor.h:478
A pose composed of a position and orientation.
Definition: xrt_defines.h:465