|
Monado OpenXR Runtime
|
The compositor compute based rendering code. More...
#include "math/m_api.h"#include "math/m_matrix_4x4_f64.h"#include "vk/vk_mini_helpers.h"#include "render/render_interface.h"
Macros | |
| #define | IMAX(a, b) ((a) > (b) ? (a) : (b)) |
Functions | |
| static struct vk_bundle * | vk_from_render (struct render_compute *render) |
| Get the vk_bundle from render_compute. More... | |
| static uint32_t | uint_divide_and_round_up (uint32_t a, uint32_t b) |
| static void | calc_dispatch_dims_1_view (const struct render_viewport_data views, uint32_t *out_w, uint32_t *out_h) |
| static void | calc_dispatch_dims_views (const struct render_viewport_data views[XRT_MAX_VIEWS], uint32_t view_count, uint32_t *out_w, uint32_t *out_h) |
| static XRT_MAYBE_UNUSED void | update_compute_layer_descriptor_set (struct vk_bundle *vk, uint32_t src_binding, VkSampler src_samplers[RENDER_MAX_IMAGES_SIZE], VkImageView src_image_views[RENDER_MAX_IMAGES_SIZE], uint32_t image_count, uint32_t target_binding, VkImageView target_image_view, uint32_t ubo_binding, VkBuffer ubo_buffer, VkDeviceSize ubo_size, VkDescriptorSet descriptor_set) |
| static XRT_MAYBE_UNUSED void | update_compute_shared_descriptor_set (struct vk_bundle *vk, uint32_t src_binding, VkSampler src_samplers[XRT_MAX_VIEWS], VkImageView src_image_views[XRT_MAX_VIEWS], uint32_t distortion_binding, VkSampler distortion_samplers[3 *XRT_MAX_VIEWS], VkImageView distortion_image_views[3 *XRT_MAX_VIEWS], uint32_t target_binding, VkImageView target_image_view, uint32_t ubo_binding, VkBuffer ubo_buffer, VkDeviceSize ubo_size, VkDescriptorSet descriptor_set, uint32_t view_count) |
| static XRT_MAYBE_UNUSED void | update_compute_descriptor_set_target (struct vk_bundle *vk, uint32_t target_binding, VkImageView target_image_view, uint32_t ubo_binding, VkBuffer ubo_buffer, VkDeviceSize ubo_size, VkDescriptorSet descriptor_set, uint32_t view_count) |
| static void | dispatch_project_pipeline (struct render_compute *render, VkSampler src_samplers[XRT_MAX_VIEWS], VkImageView src_image_views[XRT_MAX_VIEWS], const struct xrt_normalized_rect src_norm_rects[XRT_MAX_VIEWS], VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS], VkPipeline pipeline) |
| bool | render_compute_init (struct render_compute *render, struct render_resources *r) |
| bool | render_compute_begin (struct render_compute *render) |
| bool | render_compute_end (struct render_compute *render) |
| void | render_compute_fini (struct render_compute *render) |
| void | render_compute_layers (struct render_compute *render, VkDescriptorSet descriptor_set, VkBuffer ubo, VkSampler src_samplers[RENDER_MAX_IMAGES_SIZE], VkImageView src_image_views[RENDER_MAX_IMAGES_SIZE], uint32_t num_srcs, VkImageView target_image_view, const struct render_viewport_data *view, bool do_timewarp) |
| void | render_compute_projection_timewarp (struct render_compute *render, VkSampler src_samplers[XRT_MAX_VIEWS], VkImageView src_image_views[XRT_MAX_VIEWS], const struct xrt_normalized_rect src_norm_rects[XRT_MAX_VIEWS], const struct xrt_pose src_poses[XRT_MAX_VIEWS], const struct xrt_fov src_fovs[XRT_MAX_VIEWS], const struct xrt_pose new_poses_scanout_begin[XRT_MAX_VIEWS], const struct xrt_pose new_poses_scanout_end[XRT_MAX_VIEWS], VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS]) |
| void | render_compute_projection_scanout_compensation (struct render_compute *render, VkSampler src_samplers[XRT_MAX_VIEWS], VkImageView src_image_views[XRT_MAX_VIEWS], const struct xrt_normalized_rect src_rects[XRT_MAX_VIEWS], const struct xrt_fov src_fovs[XRT_MAX_VIEWS], const struct xrt_pose new_poses_scanout_begin[XRT_MAX_VIEWS], const struct xrt_pose new_poses_scanout_end[XRT_MAX_VIEWS], VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS]) |
| void | render_compute_projection_no_timewarp (struct render_compute *render, VkSampler src_samplers[XRT_MAX_VIEWS], VkImageView src_image_views[XRT_MAX_VIEWS], const struct xrt_normalized_rect src_rects[XRT_MAX_VIEWS], VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS]) |
| void | render_compute_clear (struct render_compute *render, VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS]) |
The compositor compute based rendering code.
|
inlinestatic |
Get the vk_bundle from render_compute.
References render_compute::r, and render_resources::vk.
Referenced by render_compute::render_compute_begin(), render_compute::render_compute_end(), and render_compute::render_compute_fini().