Monado OpenXR Runtime
|
Holds associated vulkan objects and state to render with a distortion. More...
Public Member Functions | |
struct comp_renderer * | comp_renderer_create (struct comp_compositor *c, VkExtent2D scratch_extent) |
Called by the main compositor code to create the renderer. More... | |
void | comp_renderer_destroy (struct comp_renderer **ptr_r) |
Clean up and free the renderer. More... | |
XRT_CHECK_RESULT xrt_result_t | comp_renderer_draw (struct comp_renderer *r) |
Render frame. More... | |
Data Fields | |
struct render_gfx_target_resources | targets [COMP_SCRATCH_NUM_IMAGES] |
Targets for rendering to the scratch buffer. More... | |
struct { | |
struct render_gfx_target_resources targets [COMP_SCRATCH_NUM_IMAGES] | |
Targets for rendering to the scratch buffer. More... | |
} | views [XRT_MAX_VIEWS] |
Durable members | |
These don't require the images to be created and don't depend on it. | |
struct comp_compositor * | c |
The compositor we were created by. More... | |
struct comp_settings * | settings |
struct comp_mirror_to_debug_gui | mirror_to_debug_gui |
struct render_gfx_render_pass | scratch_render_pass |
Render pass for graphics pipeline rendering to the scratch buffer. More... | |
struct { | |
struct { | |
struct render_gfx_target_resources targets [COMP_SCRATCH_NUM_IMAGES] | |
Targets for rendering to the scratch buffer. More... | |
} views [XRT_MAX_VIEWS] | |
} | scratch |
Image-dependent members | |
int32_t | acquired_buffer |
Index of the current buffer/image. More... | |
int32_t | fenced_buffer |
Which buffer was last submitted and has a fence pending. More... | |
struct render_gfx_render_pass | target_render_pass |
The render pass used to render to the target, it depends on the target's format so will be recreated each time the target changes. More... | |
struct render_gfx_target_resources * | rtr_array |
Array of "rendering" target resources equal in size to the number of comp_target images. More... | |
VkFence * | fences |
Array of fences equal in size to the number of comp_target images. More... | |
uint32_t | buffer_count |
The number of renderings/fences we've created: set from comp_target when we use that data. More... | |
Holds associated vulkan objects and state to render with a distortion.
int32_t comp_renderer::acquired_buffer |
Index of the current buffer/image.
uint32_t comp_renderer::buffer_count |
The number of renderings/fences we've created: set from comp_target when we use that data.
Referenced by renderer_create_renderings_and_fences().
struct comp_compositor* comp_renderer::c |
The compositor we were created by.
Referenced by comp_renderer_create(), renderer_create_renderings_and_fences(), scratch_get_fini(), and scratch_get_init().
int32_t comp_renderer::fenced_buffer |
Which buffer was last submitted and has a fence pending.
VkFence* comp_renderer::fences |
Array of fences equal in size to the number of comp_target images.
Referenced by renderer_create_renderings_and_fences().
struct render_gfx_target_resources* comp_renderer::rtr_array |
Array of "rendering" target resources equal in size to the number of comp_target images.
Each target resources holds all of the resources needed to render to that target and its views.
Referenced by renderer_create_renderings_and_fences().
struct render_gfx_render_pass comp_renderer::scratch_render_pass |
Render pass for graphics pipeline rendering to the scratch buffer.
struct render_gfx_render_pass comp_renderer::target_render_pass |
The render pass used to render to the target, it depends on the target's format so will be recreated each time the target changes.
Referenced by renderer_create_renderings_and_fences().
struct render_gfx_target_resources comp_renderer::targets[COMP_SCRATCH_NUM_IMAGES] |
Targets for rendering to the scratch buffer.