The open source OpenXR runtime

c/render: Make it possible to set clear colour when starting render pass

+17 -12
+4 -1
src/xrt/compositor/main/comp_renderer.c
··· 852 852 * Do command writing here. 853 853 */ 854 854 855 + const VkClearColorValue black = {.float32 = {0.0f, 0.0f, 0.0f, 1.0f}}; 856 + 855 857 render_gfx_begin_target( // 856 858 rr, // 857 - rtr); // 859 + rtr, // 860 + &black); // 858 861 859 862 for (uint32_t i = 0; i < 2; i++) { 860 863 render_gfx_begin_view( //
+12 -10
src/xrt/compositor/render/render_gfx.c
··· 150 150 VkRenderPass render_pass, 151 151 VkFramebuffer framebuffer, 152 152 uint32_t width, 153 - uint32_t height) 153 + uint32_t height, 154 + const VkClearColorValue *color) 154 155 { 155 156 VkClearValue clear_color[1] = {{ 156 - .color = {.float32 = {0.0f, 0.0f, 0.0f, 0.0f}}, 157 + .color = *color, 157 158 }}; 158 159 159 160 VkRenderPassBeginInfo render_pass_begin_info = { ··· 706 707 */ 707 708 708 709 bool 709 - render_gfx_begin_target(struct render_gfx *rr, struct render_gfx_target_resources *rtr) 710 + render_gfx_begin_target(struct render_gfx *rr, struct render_gfx_target_resources *rtr, const VkClearColorValue *color) 710 711 { 711 712 struct vk_bundle *vk = vk_from_rr(rr); 712 713 ··· 717 718 VkFramebuffer framebuffer = rtr->framebuffer; 718 719 VkExtent2D extent = rtr->extent; 719 720 720 - // This is shared across both views. 721 - begin_render_pass(vk, // 722 - rr->r->cmd, // 723 - render_pass, // 724 - framebuffer, // 725 - extent.width, // 726 - extent.height); // 721 + begin_render_pass( // 722 + vk, // 723 + rr->r->cmd, // 724 + render_pass, // 725 + framebuffer, // 726 + extent.width, // 727 + extent.height, // 728 + color); // 727 729 728 730 return true; 729 731 }
+1 -1
src/xrt/compositor/render/render_interface.h
··· 851 851 * @public @memberof render_gfx 852 852 */ 853 853 bool 854 - render_gfx_begin_target(struct render_gfx *rr, struct render_gfx_target_resources *rtr); 854 + render_gfx_begin_target(struct render_gfx *rr, struct render_gfx_target_resources *rtr, const VkClearColorValue *color); 855 855 856 856 /*! 857 857 * @public @memberof render_gfx