SpiecsEngine
 
Loading...
Searching...
No Matches

◆ AddStorageBuffer() [2/2]

Renderer::DescriptorSetBuilder & Spices::Renderer::DescriptorSetBuilder::AddStorageBuffer ( uint32_t set,
uint32_t binding,
VkShaderStageFlags stageFlags,
std::shared_ptr< VulkanBuffer > buffer )

Add buffer object in collection, and add it's set binding to descriptorsetlayout, and sets descriptorwriter using it's buffer info.

Parameters
[in]setWhich set this buffer wil use.
[in]bindingWhich binding this buffer will use.
[in]stageFlagsWhich buffer stage this buffer will use.
[in]bufferSSBO.
Returns
Returns this reference.

Creating VulkanBuffer.

fill in bufferInfos.

Registy descriptor and add binging to it.

Creating VulkanBuffer.

fill in bufferInfos.

Registy descriptor and add binging to it.

Definition at line 1631 of file Renderer.cpp.

1637 {
1639
1640 const UInt2 id(set, binding);
1641
1645 m_HandledSubPass->GetBuffers(id) = buffer;
1646
1650 m_BufferInfos[set][binding] = *m_HandledSubPass->GetBuffers(id)->GetBufferInfo();
1651
1655 const auto descriptorSet = DescriptorSetManager::Registry(m_DescriptorSetId, set);
1656 descriptorSet->AddBinding(binding, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, stageFlags, 1);
1657
1658 return *this;
1659 }
#define SPICES_PROFILE_ZONE
static std::shared_ptr< VulkanDescriptorSet > Registry(const String2 &name, uint32_t set)
Registry a VulkanDescriptorSet, create one if find none.
String2 m_DescriptorSetId
The Descriptor Set Manager ID descriptorSet belongs to.
Definition Renderer.h:730
std::unordered_map< uint32_t, std::unordered_map< uint32_t, VkDescriptorBufferInfo > > m_BufferInfos
DescriptorSet Buffer type binging info. [set] - [binding] - [info].
Definition Renderer.h:736
std::shared_ptr< RendererSubPass > m_HandledSubPass
Handled Sub pass.
Definition Renderer.h:725

References m_DescriptorSetId, and Spices::UInt2::UInt2().