Выделение буферов команд

This commit is contained in:
parent b7fceb5433
commit 18d2fa9bba
2 changed files with 16 additions and 0 deletions

View File

@ -26,6 +26,7 @@ class Vulkan
VkPipelineLayout pipelineLayout; // Раскладка конвейера VkPipelineLayout pipelineLayout; // Раскладка конвейера
VkPipeline graphicsPipeline; // Графический конвейер VkPipeline graphicsPipeline; // Графический конвейер
VkCommandPool commandPool; // Пул команд VkCommandPool commandPool; // Пул команд
std::vector<VkCommandBuffer> commandBuffers; // Буферы команд
// Структура для хранения флагов // Структура для хранения флагов
struct struct

View File

@ -787,4 +787,19 @@ void Vulkan::createCommandPool()
throw std::runtime_error("Unable to create graphics command pool"); throw std::runtime_error("Unable to create graphics command pool");
} }
// Выделим память под буферы команд
commandBuffers.resize(swapChainImages.size());
// Информация о выделяемых буферах
VkCommandBufferAllocateInfo allocInfo{};
allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
allocInfo.commandPool = commandPool;
allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
allocInfo.commandBufferCount = (uint32_t) commandBuffers.size();
// Выделение буферов команд из пула команд
if (vkAllocateCommandBuffers(logicalDevice, &allocInfo, commandBuffers.data()) != VK_SUCCESS)
{
throw std::runtime_error("Unable to allocate command buffers");
}
} }