SpiecsEngine
 
Loading...
Searching...
No Matches

◆ ExecuteDGC()

void Spices::VulkanDeviceGeneratedCommandsNV::ExecuteDGC ( const VkCommandBuffer & cmdBuffer) const

Execute Commands in Indirect Command Buffer.

Parameters
[in]cmdBufferVkCommandBuffer.

Instance a VkGeneratedCommandsInfoNV.

Call vkCmdExecuteGeneratedCommandsNV.

Instance a VkGeneratedCommandsInfoNV.

Call vkCmdExecuteGeneratedCommandsNV.

Definition at line 154 of file VulkanDeviceGeneratedCommandsNV.cpp.

155 {
157
158 if (m_NSequence == 0) return;
159
163 VkGeneratedCommandsInfoNV info{};
164 info.sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV;
165 info.pipeline = m_Pipeline->GetPipeline();
166 info.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
167 info.indirectCommandsLayout = m_IndirectCmdsLayout->Get();
168 info.sequencesCount = m_NSequence;
169 info.streamCount = static_cast<uint32_t>(m_InputStreams.size());
170 info.pStreams = m_InputStreams.data();
171 info.preprocessBuffer = m_PreprocessBuffer->Get();
172 info.preprocessSize = m_PreprocessSize;
173
177 m_VulkanState.m_VkFunc.vkCmdExecuteGeneratedCommandsNV(cmdBuffer, true, &info);
178 }
#define SPICES_PROFILE_ZONE
std::vector< VkIndirectCommandsStreamNV > m_InputStreams
VkIndirectCommandsStreamNV.
std::shared_ptr< VulkanPipeline > m_Pipeline
DGC pipeline.
std::shared_ptr< VulkanBuffer > m_PreprocessBuffer
PreprocessBuffer.
std::shared_ptr< VulkanIndirectCommandsLayoutNV > m_IndirectCmdsLayout
VkIndirectCommandsLayoutNV.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
VulkanFunctions m_VkFunc
Definition VulkanUtils.h:98

References m_NSequence.