From 958d62fcabc8ee06b42c653d2cef02ae49d4d4ff Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Thu, 12 Oct 2023 13:47:09 +0100 Subject: [PATCH] c/main: Remove old graphics dispatch helpers --- src/xrt/compositor/main/comp_renderer.c | 145 ------------------------ 1 file changed, 145 deletions(-) diff --git a/src/xrt/compositor/main/comp_renderer.c b/src/xrt/compositor/main/comp_renderer.c index 2917ae10c..0793af495 100644 --- a/src/xrt/compositor/main/comp_renderer.c +++ b/src/xrt/compositor/main/comp_renderer.c @@ -796,151 +796,6 @@ get_image_view(const struct comp_swapchain_image *image, enum xrt_layer_composit * */ -static void -do_gfx_mesh(struct comp_renderer *r, - struct render_gfx *rr, - struct render_gfx_target_resources *rtr, - const struct render_viewport_data viewport_datas[2], - const struct xrt_matrix_2x2 vertex_rots[2], - VkSampler src_samplers[2], - VkImageView src_image_views[2], - const struct xrt_normalized_rect src_norm_rects[2], - const struct xrt_pose src_poses[2], - const struct xrt_fov src_fovs[2], - const struct xrt_pose new_poses[2], - bool do_timewarp) -{ - struct vk_bundle *vk = &r->c->base.vk; - VkResult ret; - - /* - * Reserve UBOs, create descriptor sets, and fill in any data a head of - * time, if we ever want to copy UBO data this lets us do that easily - * write a copy command before the other gfx commands. - */ - - VkDescriptorSet descriptor_sets[2] = XRT_STRUCT_INIT; - for (uint32_t i = 0; i < 2; i++) { - - struct render_gfx_mesh_ubo_data data = { - .vertex_rot = vertex_rots[i], - .post_transform = src_norm_rects[i], - }; - - // Extra arguments for timewarp. - if (do_timewarp) { - data.pre_transform = rr->r->distortion.uv_to_tanangle[i]; - - render_calc_time_warp_matrix( // - &src_poses[i], // - &src_fovs[i], // - &new_poses[i], // - &data.transform); // - } - - ret = render_gfx_mesh_alloc_and_write( // - rr, // - &data, // - src_samplers[i], // - src_image_views[i], // - &descriptor_sets[i]); // - VK_CHK_WITH_GOTO(ret, "render_gfx_mesh_alloc", err_no_memory); - } - - - /* - * Do command writing here. - */ - - const VkClearColorValue black = {.float32 = {0.0f, 0.0f, 0.0f, 1.0f}}; - - render_gfx_begin_target( // - rr, // - rtr, // - &black); // - - for (uint32_t i = 0; i < 2; i++) { - render_gfx_begin_view( // - rr, // - i, // view_index - &viewport_datas[i]); // viewport_data - - render_gfx_mesh_draw( // - rr, // rr - i, // mesh_index - descriptor_sets[i], // descriptor_set - do_timewarp); // do_timewarp - - render_gfx_end_view(rr); - } - - render_gfx_end_target(rr); - - return; - -err_no_memory: - // Allocator reset at end of frame, nothing to clean up. - VK_ERROR(vk, "Could not allocate all UBOs for frame, that's really strange and shouldn't happen!"); -} - -/*! - * @pre render_gfx_init(rr, &c->nr) - */ -static void -do_gfx_mesh_and_proj(struct comp_renderer *r, - struct render_gfx *rr, - struct render_gfx_target_resources *rts, - const struct render_viewport_data viewport_datas[2], - const struct xrt_matrix_2x2 vertex_rots[2], - const struct comp_layer *layer, - const struct xrt_layer_projection_view_data *lvd, - const struct xrt_layer_projection_view_data *rvd, - const struct xrt_pose new_poses[2], - bool do_timewarp) -{ - const struct xrt_layer_data *data = &layer->data; - const uint32_t left_array_index = lvd->sub.array_index; - const uint32_t right_array_index = rvd->sub.array_index; - const struct comp_swapchain_image *left = &layer->sc_array[0]->images[lvd->sub.image_index]; - const struct comp_swapchain_image *right = &layer->sc_array[1]->images[rvd->sub.image_index]; - - struct xrt_normalized_rect src_norm_rects[2] = {lvd->sub.norm_rect, rvd->sub.norm_rect}; - if (data->flip_y) { - src_norm_rects[0].h = -src_norm_rects[0].h; - src_norm_rects[0].y = 1 + src_norm_rects[0].y; - src_norm_rects[1].h = -src_norm_rects[1].h; - src_norm_rects[1].y = 1 + src_norm_rects[1].y; - } - - VkSampler clamp_to_border_black = rr->r->samplers.clamp_to_border_black; - VkSampler src_samplers[2] = { - clamp_to_border_black, - clamp_to_border_black, - }; - - VkImageView src_image_views[2] = { - get_image_view(left, data->flags, left_array_index), - get_image_view(right, data->flags, right_array_index), - }; - - const struct xrt_pose src_poses[2] = {lvd->pose, rvd->pose}; - const struct xrt_fov src_fovs[2] = {lvd->fov, rvd->fov}; - - do_gfx_mesh( // - r, // - rr, // - rts, // - viewport_datas, // - vertex_rots, // - src_samplers, // - src_image_views, // - src_norm_rects, // - src_poses, // - src_fovs, // - new_poses, // - do_timewarp); // -} - /*! * @pre render_gfx_init(rr, &c->nr) */