Better structure again (whoohoo)!

This commit is contained in:
2026-02-22 17:42:21 +00:00
parent 864c0247bb
commit d435be97e2
8 changed files with 23 additions and 7 deletions

View File

@@ -25,10 +25,11 @@ namespace cve {
if (cveSwapChain == nullptr) {
cveSwapChain = std::make_unique<CveSwapChain>(cveDevice, extent);
} else {
cveSwapChain = std::make_unique<CveSwapChain>(cveDevice, extent, std::move(cveSwapChain));
if (cveSwapChain->imageCount() != commandBuffers.size()) {
freeCommandBuffers();
createCommandBuffers();
std::shared_ptr<CveSwapChain> oldSwapChain = std::move(cveSwapChain);
cveSwapChain = std::make_unique<CveSwapChain>(cveDevice, extent, oldSwapChain);
if (!oldSwapChain->compareSwapFormats(*cveSwapChain.get())) {
throw std::runtime_error("Swap chain image format/depth has changed.");
}
}
@@ -36,7 +37,7 @@ namespace cve {
}
void CveRenderer::createCommandBuffers() {
commandBuffers.resize(cveSwapChain->imageCount());
commandBuffers.resize(CveSwapChain::MAX_FRAMES_IN_FLIGHT);
VkCommandBufferAllocateInfo allocInfo{};
allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
@@ -99,6 +100,8 @@ namespace cve {
}
isFrameStarted = false;
currentFrameIndex = (currentFrameIndex + 1) % CveSwapChain::MAX_FRAMES_IN_FLIGHT;
}
void CveRenderer::beginSwapChainRenderPass(VkCommandBuffer commandBuffer) {