Add Framebuffer creation to RenderDriver::resize_swapchain()
This commit is contained in:
@@ -564,7 +564,27 @@ void VulkanRenderDriver::resize_swapchain(SwapchainID p_swapchain) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Create framebuffers
|
VkFramebufferCreateInfo fb_create {};
|
||||||
|
fb_create.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
|
||||||
|
fb_create.renderPass = p_swapchain->render_pass->handle;
|
||||||
|
fb_create.attachmentCount = 1;
|
||||||
|
fb_create.width = extent.width;
|
||||||
|
fb_create.height = extent.height;
|
||||||
|
fb_create.layers = 1; // TODO: Support VR
|
||||||
|
|
||||||
|
p_swapchain->framebuffers.resize(image_count);
|
||||||
|
for (u32 i = 0; i < image_count; i++) {
|
||||||
|
fb_create.pAttachments = &p_swapchain->image_views[i];
|
||||||
|
if (vkCreateFramebuffer(
|
||||||
|
m_device,
|
||||||
|
&fb_create,
|
||||||
|
get_allocator(VK_OBJECT_TYPE_FRAMEBUFFER),
|
||||||
|
&p_swapchain->framebuffers[i]
|
||||||
|
)
|
||||||
|
!= VK_SUCCESS) {
|
||||||
|
throw std::runtime_error("Failed to create framebuffer");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderPassID VulkanRenderDriver::get_swapchain_render_pass(SwapchainID p_swapchain) const {
|
RenderPassID VulkanRenderDriver::get_swapchain_render_pass(SwapchainID p_swapchain) const {
|
||||||
|
|||||||
Reference in New Issue
Block a user