SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanDescriptorSet Class Reference

This Class is a wrapper of VkDescriptorSet. More...

#include <VulkanDescriptor.h>

Inheritance diagram for Spices::VulkanDescriptorSet:
Spices::VulkanObject

Public Types

using ImageInfo = std::unordered_map<uint32_t, std::vector<VkDescriptorImageInfo>>
 Simply definitions.
 
using BufferInfo = std::unordered_map<uint32_t, VkDescriptorBufferInfo>
 

Public Member Functions

 VulkanDescriptorSet (VulkanState &vulkanState, std::shared_ptr< VulkanDescriptorPool > pool)
 Constructor Function.
 
virtual ~VulkanDescriptorSet () override
 Destructor Function.
 
void AddBinding (uint32_t binding, VkDescriptorType descriptorType, VkShaderStageFlags stageFlags, uint32_t count=1)
 Add a binding to this descriptor set.
 
void BuildDescriptorSet (const std::string &creatorName)
 Build this.
 
void BuildBindLessTextureDescriptorSet (const std::string &creatorName)
 Build this bind less.
 
void UpdateDescriptorSet (ImageInfo &imageInfo, BufferInfo &bufferInfo, const VkAccelerationStructureKHR &accel=VK_NULL_HANDLE) const
 Update this descriptor set.
 
void UpdateDescriptorSet (BufferInfo &bufferInfo) const
 Update this descriptor set.
 
void UpdateDescriptorSet (ImageInfo &imageInfo) const
 Update this descriptor set.
 
void UpdateDescriptorSet (uint32_t binding, std::shared_ptr< VulkanBuffer > buffer) const
 Update this descriptor set.
 
void UpdateDescriptorSet (uint32_t binding, const VkAccelerationStructureKHR &accel) const
 Update this descriptor set.
 
void UpdateBindLessTextureDescriptorSet (ImageInfo &imageInfo) const
 Update this bind less descriptor set.
 
VkDescriptorSet & Get ()
 Get a VkDescriptorSet.
 
VkDescriptorSetLayout & GetRowSetLayout ()
 Get a VkDescriptorSetLayout.
 

Protected Attributes

VulkanStatem_VulkanState
 The global VulkanState Referenced from VulkanRenderBackend.
 

Private Attributes

std::unordered_map< uint32_t, VkDescriptorSetLayoutBinding > m_Bindings
 The bindings this descriptor set in use.
 
VkDescriptorSet m_DescriptorSet {}
 The VkDescriptorSet this class handled.
 
VulkanDescriptorSetLayout m_Layout
 The VulkanDescriptorSetLayout this descriptor set in use.
 
std::shared_ptr< VulkanDescriptorPoolm_Pool
 The VulkanDescriptorPool this descriptor set in use.
 

Detailed Description

This Class is a wrapper of VkDescriptorSet.

Definition at line 185 of file VulkanDescriptor.h.


The documentation for this class was generated from the following files: