31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#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);
|
|
}
|