SpiecsEngine
 
Loading...
Searching...
No Matches
Spices::VulkanDeviceGeneratedCommandsNV Class Reference

VulkanDeviceGeneratedCommandsNV Class. This class defines the VulkanDeviceGeneratedCommandsNV behaves. More...

#include <VulkanDeviceGeneratedCommandsNV.h>

Inheritance diagram for Spices::VulkanDeviceGeneratedCommandsNV:
Spices::VulkanObject

Public Member Functions

 VulkanDeviceGeneratedCommandsNV (VulkanState &vulkanState)
 Constructor Function. Create VkCommandPool.
 
virtual ~VulkanDeviceGeneratedCommandsNV () override=default
 Destructor Function.
 
void ResetCommandsLayout ()
 Reset this CommandsLayout.
 
void ResetInput ()
 Reset this Input.
 
void AddInputStride (uint32_t stride)
 Add a stride to m_InputStrides.
 
const std::vector< uint32_t > & GetInputStrides () const
 Get InputStrides.
 
void SetInputStride (const std::vector< uint32_t > &strides)
 Set InputStrides.
 
const uint32_t GetStrides () const
 Get Strides.
 
void SetStrides (uint32_t stride)
 Set Strides.
 
void SetInputStreams (const std::vector< VkIndirectCommandsStreamNV > &streams)
 Set InputStrides.
 
std::shared_ptr< VulkanBufferCreateInputBuffer (uint32_t size)
 Create Input Buffer.
 
void CreatePreprocessBuffer ()
 Create Process Buffer.
 
void SetPreprocessSize (uint32_t size)
 Set Preprocess Size.
 
void SetSequenceCount (uint32_t nSequences)
 Set SequenceCount.
 
void BuildCommandLayout (const std::vector< VkIndirectCommandsLayoutTokenNV > &inputInfos)
 Build CommandLayout.
 
const std::vector< VkIndirectCommandsLayoutTokenNV > & GetLayoutTokens () const
 Get Layout Tokens.
 
void SetLayoutTokens (const std::vector< VkIndirectCommandsLayoutTokenNV > &layouts)
 Set Layout Tokens.
 
std::vector< VkPipeline > & GetPipelineRef ()
 Get DGC pipeline references.
 
void CreateMeshPipeline (const std::string &pipelineName, const std::string &materialName, PipelineConfigInfo &config)
 Build Raytracing Pipeline.
 
uint32_t GetSequences () const
 Get NSequence.
 
std::shared_ptr< VulkanIndirectCommandsLayoutNVGetCommandLayout () const
 Get Command Layout.
 
void SetCommandLayout (std::shared_ptr< VulkanIndirectCommandsLayoutNV > layout)
 Set Command Layout.
 
void PreprocessDGC (const VkCommandBuffer &cmdBuffer) const
 Preprocess with Indirect Command Buffer.
 
void ExecuteDGC (const VkCommandBuffer &cmdBuffer) const
 Execute Commands in Indirect Command Buffer.
 

Protected Attributes

VulkanStatem_VulkanState
 The global VulkanState Referenced from VulkanRenderBackend.
 

Private Attributes

std::vector< uint32_t > m_InputStrides
 DrawCall elements Input Strides.
 
uint32_t m_Strides
 DrawCall total Input Strides.
 
std::shared_ptr< VulkanIndirectCommandsLayoutNVm_IndirectCmdsLayout
 VkIndirectCommandsLayoutNV.
 
std::vector< VkIndirectCommandsLayoutTokenNV > m_LayoutTokens
 VkIndirectCommandsLayoutTokenNV.
 
uint32_t m_NSequence
 Draw count.
 
std::shared_ptr< VulkanBufferm_InputBuffer
 DrawCall Input Buffer.
 
std::vector< VkIndirectCommandsStreamNV > m_InputStreams
 VkIndirectCommandsStreamNV.
 
std::shared_ptr< VulkanBufferm_PreprocessBuffer
 PreprocessBuffer.
 
uint32_t m_PreprocessSize
 PreprocessBuffer bytes.
 
std::shared_ptr< VulkanPipelinem_Pipeline
 DGC pipeline.
 
std::vector< VkPipeline > m_PipelineRef
 DrawCall referenced pipeline.
 

Detailed Description

VulkanDeviceGeneratedCommandsNV Class. This class defines the VulkanDeviceGeneratedCommandsNV behaves.

Definition at line 20 of file VulkanDeviceGeneratedCommandsNV.h.


The documentation for this class was generated from the following files: