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