Create Pipeline Layout with material's descriptorset and renderer's descriptor set.
Instance a VkPipelineLayoutCreateInfo.
Create a VkPipelineLayout.
Instance a VkPipelineLayoutCreateInfo.
Create a VkPipelineLayout.
275 {
277
281 VkPipelineLayoutCreateInfo pipelineLayoutInfo{};
282 pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
283 pipelineLayoutInfo.setLayoutCount = static_cast<uint32_t>(rowSetLayouts.size());
284 pipelineLayoutInfo.pSetLayouts = rowSetLayouts.data();
285 pipelineLayoutInfo.pushConstantRangeCount = 0;
286 pipelineLayoutInfo.pPushConstantRanges = nullptr;
287
288 if (subPass->IsUsePushConstant())
289 {
290 pipelineLayoutInfo.pushConstantRangeCount = 1;
291 pipelineLayoutInfo.pPushConstantRanges = &subPass->GetPushConstant();
292 }
293
297 VkPipelineLayout pipelineLayout;
299 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_PIPELINE_LAYOUT,
reinterpret_cast<uint64_t
>(pipelineLayout),
m_VulkanState.
m_Device,
"PipelineLayout")
300
301 return pipelineLayout;
302 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
VulkanState & m_VulkanState
This variable is passed while renderer instanced.