|
Monado OpenXR Runtime
|
Helper struct for mirroring the compositors rendering to the debug ui, which also enables recording. More...
#include <main/comp_mirror_to_debug_gui.h>

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_pool * | pool |
| 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 |
Helper struct for mirroring the compositors rendering to the debug ui, which also enables recording.
Currently embedded in comp_renderer.
| void comp_mirror_add_debug_vars | ( | struct comp_mirror_to_debug_gui * | m, |
| struct comp_compositor * | c | ||
| ) |
One time adding of the debug variables.
| 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.
| 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().
| void comp_mirror_fixup_ui_state | ( | struct comp_mirror_to_debug_gui * | m, |
| struct comp_compositor * | c | ||
| ) |
Fixup various timing state.
References comp_settings::nominal_frame_interval_ns, u_var_timing::range, u_var_timing::reference_timing, comp_compositor::settings, and time_ns_to_ms_f().
| VkResult comp_mirror_init | ( | struct comp_mirror_to_debug_gui * | m, |
| struct vk_bundle * | vk, | ||
| struct render_shaders * | shaders, | ||
| VkExtent2D | extent | ||
| ) |
Initialise the struct.
| 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.
| VkDescriptorPool comp_mirror_to_debug_gui::descriptor_pool |
Descriptor pool for blit.
| VkDescriptorSetLayout comp_mirror_to_debug_gui::descriptor_set_layout |
Descriptor set layout for compute.
| VkPipeline comp_mirror_to_debug_gui::pipeline |
Doesn't depend on target so is static.
| VkPipelineCache comp_mirror_to_debug_gui::pipeline_cache |
Private here for now.
| VkPipelineLayout comp_mirror_to_debug_gui::pipeline_layout |
Pipeline layout used for compute distortion.