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_crc (struct render_compute *crc) |
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) |
bool | render_compute_init (struct render_compute *crc, struct render_resources *r) |
bool | render_compute_begin (struct render_compute *crc) |
bool | render_compute_end (struct render_compute *crc) |
void | render_compute_fini (struct render_compute *crc) |
void | render_compute_layers (struct render_compute *crc, 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 *crc, 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[XRT_MAX_VIEWS], VkImage target_image, VkImageView target_image_view, const struct render_viewport_data views[XRT_MAX_VIEWS]) |
void | render_compute_projection (struct render_compute *crc, 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]) |
void | render_compute_clear (struct render_compute *crc, 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().