SpiecsEngine
 
Loading...
Searching...
No Matches

◆ BuildDescriptorSet()

void Spices::VulkanDescriptorSet::BuildDescriptorSet ( const std::string & creatorName)

Build this.

Parameters
[in]creatorNameThe object this descriptor set belongs to.

Build DescriptorSetLayout.

Instance a VkDescriptorSetAllocateInfo.

Allocate DescriptorSet.

Build DescriptorSetLayout.

Instance a VkDescriptorSetAllocateInfo.

Allocate DescriptorSet.

Definition at line 247 of file VulkanDescriptor.cpp.

248 {
250
255
259 VkDescriptorSetAllocateInfo allocInfo{};
260 allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
261 allocInfo.descriptorPool = m_Pool->GetPool();
262 allocInfo.pSetLayouts = &m_Layout.Get();
263 allocInfo.descriptorSetCount = 1;
264
268 VK_CHECK(vkAllocateDescriptorSets(m_VulkanState.m_Device, &allocInfo, &m_DescriptorSet))
269 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_DESCRIPTOR_SET, reinterpret_cast<uint64_t>(m_DescriptorSet), m_VulkanState.m_Device, "DescriptorSet" + creatorName)
270 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
Definition VulkanUtils.h:68
void BuildDescriptorSetLayout(const std::unordered_map< uint32_t, VkDescriptorSetLayoutBinding > &bindings, const std::string &caption="")
Build a VkDescriptorSetLayout with bindings.
VkDescriptorSetLayout & Get()
Get a VkDescriptorSetLayout.
VulkanDescriptorSetLayout m_Layout
The VulkanDescriptorSetLayout this descriptor set in use.
std::unordered_map< uint32_t, VkDescriptorSetLayoutBinding > m_Bindings
The bindings this descriptor set in use.
std::shared_ptr< VulkanDescriptorPool > m_Pool
The VulkanDescriptorPool this descriptor set in use.
VkDescriptorSet m_DescriptorSet
The VkDescriptorSet this class handled.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.