Better structure again (whoohoo)!
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user