Re-assemble a collection of composition layers submitted for a frame.
Independent swapchain implementation.
A simple compositor base that handles a lot of things for you.
Definition: comp_base.h:69
struct vk_bundle vk
Vulkan bundle of useful things, used by swapchain and fence.
Definition: comp_base.h:74
struct os_precise_sleeper sleeper
For default xrt_compositor::wait_frame.
Definition: comp_base.h:77
struct xrt_compositor_native base
Base native compositor.
Definition: comp_base.h:71
struct comp_swapchain_shared cscs
Swapchain garbage collector, used by swapchain, child class needs to call.
Definition: comp_base.h:80
void comp_base_init(struct comp_base *cb)
Inits all of the supported functions and structs, except vk_bundle.
Definition: comp_base.c:216
struct comp_frame_params frame_params
Parameters for a single frame.
Definition: comp_base.h:86
struct comp_layer_accum layer_accum
Collect layers for a single frame.
Definition: comp_base.h:83
Additional per-frame parameters.
Definition: comp_base.h:30
struct xrt_pose poses[XRT_MAX_VIEWS]
absolute pose as reported by device for the current submit.
Definition: comp_base.h:37
struct xrt_fov fovs[XRT_MAX_VIEWS]
fov as reported by device for the current submit.
Definition: comp_base.h:35
bool one_projection_layer_fast_path
Special case one layer projection/projection-depth fast-path.
Definition: comp_base.h:32
Collect a stack of layers - one frame's worth.
Definition: comp_layer_accum.h:88
Shared resource(s) and garbage collector for swapchains.
Definition: comp_swapchain.h:44
Definition: os_time.h:208
A bundle of Vulkan functions and objects, used by both Compositor and Compositor client code.
Definition: vk_helpers.h:50
Main compositor server interface.
Definition: xrt_compositor.h:2224
Common compositor client interface/base.
Definition: xrt_compositor.h:988
Describes a projection matrix fov.
Definition: xrt_defines.h:486
A pose composed of a position and orientation.
Definition: xrt_defines.h:465