Вынес управление VkDescriptorSetLayout и VkPipeline в отдельные классы
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#include "DescriptorSetLayout.hpp"
|
||||
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
|
||||
#include "Device.hpp"
|
||||
#include "DeviceFunctions/DeviceFunctions.hpp"
|
||||
|
||||
VkObjects::DescriptorSetLayout::DescriptorSetLayout(const Device& device):device_(device)
|
||||
{
|
||||
VkDescriptorSetLayoutBinding ubo_layout_binding;
|
||||
ubo_layout_binding.binding = 0;
|
||||
ubo_layout_binding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
|
||||
ubo_layout_binding.descriptorCount = 1;
|
||||
ubo_layout_binding.stageFlags = VK_SHADER_STAGE_VERTEX_BIT;
|
||||
ubo_layout_binding.pImmutableSamplers = nullptr;
|
||||
|
||||
VkDescriptorSetLayoutCreateInfo ubo_layout_info{};
|
||||
ubo_layout_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
|
||||
ubo_layout_info.bindingCount = 1;
|
||||
ubo_layout_info.pBindings = &ubo_layout_binding;
|
||||
|
||||
VK_CHECK(vkCreateDescriptorSetLayout(device_.get_native(), &ubo_layout_info, nullptr, &layout_binding_))
|
||||
}
|
||||
|
||||
VkObjects::DescriptorSetLayout::~DescriptorSetLayout()
|
||||
{
|
||||
if (layout_binding_ != nullptr)
|
||||
vkDestroyDescriptorSetLayout(device_.get_native(), layout_binding_, nullptr);
|
||||
}
|
||||
Reference in New Issue
Block a user