Monado OpenXR Runtime
render_compute.c File Reference

The compositor compute based rendering code. More...

Include dependency graph for render_compute.c:

Macros

#define IMAX(a, b)   ((a) > (b) ? (a) : (b))
 

Functions

static struct vk_bundlevk_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])
 

Detailed Description

The compositor compute based rendering code.

Author
Jakob Bornecrantz jakob.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m

Function Documentation

◆ vk_from_crc()