Create Process Buffer.
68 {
70
71 VkGeneratedCommandsMemoryRequirementsInfoNV memInfo{};
72 memInfo.sType = VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
76 memInfo.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
77
78 VkMemoryRequirements2 memReqs{};
79 memReqs.sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
80
82
85 "GDCPreprocessBuffer" ,
86 memReqs.memoryRequirements.size ,
87 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT ,
88 VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
90 );
91
93 }
#define SPICES_PROFILE_ZONE
uint32_t m_PreprocessSize
PreprocessBuffer bytes.
std::shared_ptr< VulkanPipeline > m_Pipeline
DGC pipeline.
std::shared_ptr< VulkanBuffer > m_PreprocessBuffer
PreprocessBuffer.
std::shared_ptr< VulkanIndirectCommandsLayoutNV > m_IndirectCmdsLayout
VkIndirectCommandsLayoutNV.
uint32_t m_NSequence
Draw count.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
@ VMA_MEMORY_PROPERTY_DEDICATED_MEMORY_BIT
VkMemoryPropertyFlagBits.