SpiecsEngine
 
Loading...
Searching...
No Matches

◆ BuildCommandLayout()

void Spices::VulkanDeviceGeneratedCommandsNV::BuildCommandLayout ( const std::vector< VkIndirectCommandsLayoutTokenNV > & inputInfos)

Build CommandLayout.

Parameters
[in]inputInfos.

Instance a VkIndirectCommandsLayoutCreateInfoNV.

Instance a VkIndirectCommandsLayoutCreateInfoNV.

Definition at line 95 of file VulkanDeviceGeneratedCommandsNV.cpp.

96 {
98
99 m_LayoutTokens = inputInfos;
100
104 VkIndirectCommandsLayoutCreateInfoNV genInfo{};
105 genInfo.sType = VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
106 genInfo.flags = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV;
107 genInfo.tokenCount = static_cast<uint32_t>(inputInfos.size());
108 genInfo.pTokens = inputInfos.data();
109 genInfo.streamCount = static_cast<uint32_t>(m_InputStrides.size());
110 genInfo.pStreamStrides = m_InputStrides.data();
111
112 m_IndirectCmdsLayout = std::make_shared<VulkanIndirectCommandsLayoutNV>(m_VulkanState, genInfo);
113 }
#define SPICES_PROFILE_ZONE
std::vector< VkIndirectCommandsLayoutTokenNV > m_LayoutTokens
VkIndirectCommandsLayoutTokenNV.
std::vector< uint32_t > m_InputStrides
DrawCall elements Input Strides.
std::shared_ptr< VulkanIndirectCommandsLayoutNV > m_IndirectCmdsLayout
VkIndirectCommandsLayoutNV.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.