VulkanDeviceGeneratedCommandsNV Class. This class defines the VulkanDeviceGeneratedCommandsNV behaves. More...
#include <VulkanDeviceGeneratedCommandsNV.h>
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< VulkanBuffer > | CreateInputBuffer (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< VulkanIndirectCommandsLayoutNV > | GetCommandLayout () 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 | |
| VulkanState & | m_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< VulkanIndirectCommandsLayoutNV > | m_IndirectCmdsLayout |
| VkIndirectCommandsLayoutNV. | |
| std::vector< VkIndirectCommandsLayoutTokenNV > | m_LayoutTokens |
| VkIndirectCommandsLayoutTokenNV. | |
| uint32_t | m_NSequence |
| Draw count. | |
| std::shared_ptr< VulkanBuffer > | m_InputBuffer |
| DrawCall Input Buffer. | |
| std::vector< VkIndirectCommandsStreamNV > | m_InputStreams |
| VkIndirectCommandsStreamNV. | |
| std::shared_ptr< VulkanBuffer > | m_PreprocessBuffer |
| PreprocessBuffer. | |
| uint32_t | m_PreprocessSize |
| PreprocessBuffer bytes. | |
| std::shared_ptr< VulkanPipeline > | m_Pipeline |
| DGC pipeline. | |
| std::vector< VkPipeline > | m_PipelineRef |
| DrawCall referenced pipeline. | |
VulkanDeviceGeneratedCommandsNV Class. This class defines the VulkanDeviceGeneratedCommandsNV behaves.
Definition at line 20 of file VulkanDeviceGeneratedCommandsNV.h.