SpiecsEngine
 
Loading...
Searching...
No Matches

◆ PreprocessDGC()

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

Preprocess with Indirect Command Buffer.

Parameters
[in]cmdBufferVkCommandBuffer.

Instance a VkGeneratedCommandsInfoNV.

Call vkCmdPreprocessGeneratedCommandsNV.

Instance a VkGeneratedCommandsInfoNV.

Call vkCmdPreprocessGeneratedCommandsNV.

Definition at line 128 of file VulkanDeviceGeneratedCommandsNV.cpp.

129 {
131
132 if (m_NSequence == 0) return;
133
137 VkGeneratedCommandsInfoNV info{};
138 info.sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV;
139 info.pipeline = m_Pipeline->GetPipeline();
140 info.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
141 info.indirectCommandsLayout = m_IndirectCmdsLayout->Get();
142 info.sequencesCount = m_NSequence;
143 info.streamCount = static_cast<uint32_t>(m_InputStreams.size());
144 info.pStreams = m_InputStreams.data();
145 info.preprocessBuffer = m_PreprocessBuffer->Get();
146 info.preprocessSize = m_PreprocessSize;
147
151 m_VulkanState.m_VkFunc.vkCmdPreprocessGeneratedCommandsNV(cmdBuffer, &info);
152 }
#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.