Monado OpenXR Runtime
comp_mirror_to_debug_gui Struct Reference

Helper struct for mirroring the compositors rendering to the debug ui, which also enables recording. More...

#include <main/comp_mirror_to_debug_gui.h>

Collaboration diagram for comp_mirror_to_debug_gui:

Public Member Functions

VkResult comp_mirror_init (struct comp_mirror_to_debug_gui *m, struct vk_bundle *vk, struct render_shaders *shaders, VkExtent2D extent)
 Initialise the struct. More...
 
void comp_mirror_add_debug_vars (struct comp_mirror_to_debug_gui *m, struct comp_compositor *c)
 One time adding of the debug variables. More...
 
void comp_mirror_fixup_ui_state (struct comp_mirror_to_debug_gui *m, struct comp_compositor *c)
 Fixup various timing state. More...
 
bool comp_mirror_is_ready_and_active (struct comp_mirror_to_debug_gui *m, struct comp_compositor *c, uint64_t predicted_display_time_ns)
 Is this struct ready and capable of mirroring the image, can only call comp_mirror_do_blit if this function has returned true. More...
 
XRT_CHECK_RESULT xrt_result_t comp_mirror_do_blit (struct comp_mirror_to_debug_gui *m, struct vk_bundle *vk, uint64_t frame_id, uint64_t predicted_display_time_ns, VkImage from_image, VkImageView from_view, VkSampler from_sampler, VkExtent2D from_extent, struct xrt_normalized_rect from_rect)
 Do the blit. More...
 
void comp_mirror_fini (struct comp_mirror_to_debug_gui *m, struct vk_bundle *vk)
 Finalise the struct, frees and resources. More...
 

Data Fields

struct u_frame_times_widget push_frame_times
 
float target_frame_time_ms
 
uint64_t last_push_ts_ns
 
int push_every_frame_out_of_X
 
struct u_sink_debug debug_sink
 
VkExtent2D image_extent
 
struct vk_image_readback_to_xf_poolpool
 
struct {
   VkImage   image
 
   VkImageView   unorm_view
 
   VkDeviceMemory   mem
 
bounce
 
struct {
   VkPipelineCache   pipeline_cache
 Private here for now. More...
 
   VkDescriptorPool   descriptor_pool
 Descriptor pool for blit. More...
 
   VkDescriptorSetLayout   descriptor_set_layout
 Descriptor set layout for compute. More...
 
   VkPipelineLayout   pipeline_layout
 Pipeline layout used for compute distortion. More...
 
   VkPipeline   pipeline
 Doesn't depend on target so is static. More...
 
blit
 
struct vk_cmd_pool cmd_pool
 

Detailed Description

Helper struct for mirroring the compositors rendering to the debug ui, which also enables recording.

Currently embedded in comp_renderer.

Member Function Documentation

◆ comp_mirror_add_debug_vars()

void comp_mirror_add_debug_vars ( struct comp_mirror_to_debug_gui m,
struct comp_compositor c 
)

One time adding of the debug variables.

◆ comp_mirror_do_blit()

XRT_CHECK_RESULT xrt_result_t comp_mirror_do_blit ( struct comp_mirror_to_debug_gui m,
struct vk_bundle vk,
uint64_t  frame_id,
uint64_t  predicted_display_time_ns,
VkImage  from_image,
VkImageView  from_view,
VkSampler  from_sampler,
VkExtent2D  from_extent,
struct xrt_normalized_rect  from_rect 
)

Do the blit.

◆ comp_mirror_fini()

void comp_mirror_fini ( struct comp_mirror_to_debug_gui m,
struct vk_bundle vk 
)

Finalise the struct, frees and resources.

References u_var_remove_root().

◆ comp_mirror_fixup_ui_state()

void comp_mirror_fixup_ui_state ( struct comp_mirror_to_debug_gui m,
struct comp_compositor c 
)

◆ comp_mirror_init()

VkResult comp_mirror_init ( struct comp_mirror_to_debug_gui m,
struct vk_bundle vk,
struct render_shaders shaders,
VkExtent2D  extent 
)

Initialise the struct.

◆ comp_mirror_is_ready_and_active()

bool comp_mirror_is_ready_and_active ( struct comp_mirror_to_debug_gui m,
struct comp_compositor c,
uint64_t  predicted_display_time_ns 
)

Is this struct ready and capable of mirroring the image, can only call comp_mirror_do_blit if this function has returned true.

References comp_compositor::mirroring_to_debug_gui.

Field Documentation

◆ descriptor_pool

VkDescriptorPool comp_mirror_to_debug_gui::descriptor_pool

Descriptor pool for blit.

◆ descriptor_set_layout

VkDescriptorSetLayout comp_mirror_to_debug_gui::descriptor_set_layout

Descriptor set layout for compute.

◆ pipeline

VkPipeline comp_mirror_to_debug_gui::pipeline

Doesn't depend on target so is static.

◆ pipeline_cache

VkPipelineCache comp_mirror_to_debug_gui::pipeline_cache

Private here for now.

◆ pipeline_layout

VkPipelineLayout comp_mirror_to_debug_gui::pipeline_layout

Pipeline layout used for compute distortion.


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