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