Instance a VkDescriptorSetVariableDescriptorCountAllocateInfo.
Instance a VkDescriptorSetAllocateInfo.
Allocate DescriptorSet.
Instance a VkDescriptorSetVariableDescriptorCountAllocateInfo.
Instance a VkDescriptorSetAllocateInfo.
Allocate DescriptorSet.
273 {
275
280
284 constexpr uint32_t maxBinding = SpicesShader::BINDLESS_TEXTURE_MAXNUM;
285 VkDescriptorSetVariableDescriptorCountAllocateInfo countInfo{};
286 countInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
287 countInfo.descriptorSetCount = 1;
288 countInfo.pDescriptorCounts = &maxBinding;
289
293 VkDescriptorSetAllocateInfo allocInfo{};
294 allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
295 allocInfo.descriptorPool =
m_Pool->GetPool();
297 allocInfo.descriptorSetCount = 1;
298 allocInfo.pNext = &countInfo;
299
305 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
void BuildBindLessTextureDescriptorSetLayout(const std::unordered_map< uint32_t, VkDescriptorSetLayoutBinding > &bindings, const std::string &caption="")
Build a bindLess texture 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.