diff --git a/include/vk.h b/include/vk.h index 5356046..e62b67b 100644 --- a/include/vk.h +++ b/include/vk.h @@ -23,6 +23,7 @@ class Vulkan std::vector swapChainImages; // Изображения из списка показа std::vector swapChainImageViews; // Информация об изображениях из списка показа VkRenderPass renderPass; // Проходы рендера + VkPipelineLayout pipelineLayout; // Структура для хранения флагов struct diff --git a/src/vk.cpp b/src/vk.cpp index 2cea902..4025ab9 100644 --- a/src/vk.cpp +++ b/src/vk.cpp @@ -24,6 +24,7 @@ void Vulkan::init(GLFWwindow* window) // завершение работы void Vulkan::destroy() { + vkDestroyPipelineLayout(logicalDevice, pipelineLayout, nullptr); vkDestroyRenderPass(logicalDevice, renderPass, nullptr); // Уничтожение информации о изображениях списка показа @@ -663,4 +664,10 @@ void Vulkan::createGraphicPipeline() pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; pipelineLayoutInfo.setLayoutCount = 0; pipelineLayoutInfo.pushConstantRangeCount = 0; + + if (vkCreatePipelineLayout(logicalDevice, &pipelineLayoutInfo, nullptr, &pipelineLayout) != VK_SUCCESS) + { + throw std::runtime_error("Unable to create pipeline layout"); + } + }