SpiecsEngine
 
Loading...
Searching...
No Matches

◆ AddUniformBuffer()

Renderer::DescriptorSetBuilder & Spices::Renderer::DescriptorSetBuilder::AddUniformBuffer ( uint32_t set,
uint32_t binding,
uint64_t size,
VkShaderStageFlags stageFlags )

Create local 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]sizeubo size.
[in]stageFlagsWhich buffer stage this buffer will use.
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 1558 of file Renderer.cpp.

1564 {
1566
1567 const UInt2 id(set, binding);
1568
1572 m_HandledSubPass->GetBuffers(id) = std::make_shared<VulkanBuffer>(
1574 "UniformBuffer",
1575 size,
1576 VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
1577 VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT
1578 );
1579
1583 m_BufferInfos[set][binding] = *m_HandledSubPass->GetBuffers(id)->GetBufferInfo();
1584
1588 const auto descriptorSet = DescriptorSetManager::Registry(m_DescriptorSetId, set);
1589 descriptorSet->AddBinding(binding, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, stageFlags, 1);
1590
1591 return *this;
1592 }
#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
Renderer * m_Renderer
Specific Renderer pointer. Passed while this class instanced.
Definition Renderer.h:720
VulkanState & m_VulkanState
This variable is passed while renderer instanced.
Definition Renderer.h:1992

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