#include "DescriptorSetLayout.hpp" #include #include #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); }