Выделение буферов команд
This commit is contained in:
parent
b7fceb5433
commit
18d2fa9bba
|
@ -26,6 +26,7 @@ class Vulkan
|
|||
VkPipelineLayout pipelineLayout; // Раскладка конвейера
|
||||
VkPipeline graphicsPipeline; // Графический конвейер
|
||||
VkCommandPool commandPool; // Пул команд
|
||||
std::vector<VkCommandBuffer> commandBuffers; // Буферы команд
|
||||
|
||||
// Структура для хранения флагов
|
||||
struct
|
||||
|
|
15
src/vk.cpp
15
src/vk.cpp
|
@ -787,4 +787,19 @@ void Vulkan::createCommandPool()
|
|||
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");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue