Registry dgc pipeline to Specific Renderer.
- Parameters
-
Instance a temp empty map for VkDescriptorSetLayout. Before turn it to a continus container, sorted is required.
PreRenderer's DescriptorSetInfo.
SpecificRenderer's DescriptorSetInfo.
Material's DescriptorSetInfo.
- Note
- remove for material use bindless descriptorset.
Instance a temp empty vector for VkDescriptorSetLayout.
@breif Create PipelineLayout.
Create Pipeline.
Instance a temp empty map for VkDescriptorSetLayout. Before turn it to a continus container, sorted is required.
PreRenderer's DescriptorSetInfo.
SpecificRenderer's DescriptorSetInfo.
Material's DescriptorSetInfo.
- Note
- remove for material use bindless descriptorset.
Instance a temp empty vector for VkDescriptorSetLayout.
@breif Create PipelineLayout.
Create Pipeline.
Definition at line 162 of file Renderer.cpp.
163 {
165
170 std::map<uint32_t, VkDescriptorSetLayout> sortedRowSetLayouts;
171
176 for (auto& pair : preRendererSetInfo)
177 {
178 sortedRowSetLayouts[pair.first] = pair.second->GetRowSetLayout();
179 }
180
185 for (auto& pair : specificRendererSetInfo)
186 {
187 sortedRowSetLayouts[pair.first] = pair.second->GetRowSetLayout();
188 }
189
194 const auto material = ResourcePool<Material>::Load<Material>(materialName, materialName);
195
199 std::vector<VkDescriptorSetLayout> rowSetLayouts;
200
201 for (auto& pair : sortedRowSetLayouts)
202 {
203 rowSetLayouts.push_back(pair.second);
204 }
205
209 const auto& subPass = *
m_Pass->GetSubPasses()->find_value(subPassName);
211
215 std::stringstream ss;
216 ss << materialName << ".DGC";
218 }
#define SPICES_PROFILE_ZONE
static DescriptorSetInfo & GetByName(const String2 &name)
Get a DescriptorSetInfo by owner's name.
std::shared_ptr< RendererPass > m_Pass
RendererPass.
VkPipelineLayout CreatePipelineLayout(const std::vector< VkDescriptorSetLayout > &rowSetLayouts, const std::shared_ptr< RendererSubPass > &subPass) const
Create Pipeline Layout with material's descriptorset and renderer's descriptor set.
virtual void CreateDeviceGeneratedCommandsPipeline(const std::string &pipelineName, const std::string &materialName, VkPipelineLayout &layout, std::shared_ptr< RendererSubPass > subPass, VulkanDeviceGeneratedCommandsNV *indirectPtr)
Create device generated command Pipeline.
Referenced by Spices::Renderer::CreateDGCMaterial().