|
Blender V4.3
|
#include <vk_dispatch_indirect_node.hh>
Public Member Functions | |
| void | free_data (VKDispatchIndirectData &data) |
| void | build_links (VKResourceStateTracker &resources, VKRenderGraphNodeLinks &node_links, const CreateInfo &create_info) override |
| void | build_commands (VKCommandBufferInterface &command_buffer, Data &data, VKBoundPipelines &r_bound_pipelines) override |
Public Member Functions inherited from blender::NonCopyable | |
| NonCopyable (const NonCopyable &other)=delete | |
| NonCopyable & | operator= (const NonCopyable &other)=delete |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable &&other)=default | |
| NonCopyable & | operator= (NonCopyable &&other)=default |
Static Public Member Functions | |
| template<typename Node > | |
| static void | set_node_data (Node &node, const CreateInfo &create_info) |
Static Public Member Functions inherited from blender::gpu::render_graph::VKNodeInfo< VKNodeType::DISPATCH_INDIRECT, VKDispatchIndirectCreateInfo, VKDispatchIndirectData, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT|VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VKResourceType::IMAGE|VKResourceType::BUFFER > | |
| static void | set_node_data (Node &node, const CreateInfo &create_info) |
Additional Inherited Members | |
Public Types inherited from blender::gpu::render_graph::VKNodeInfo< VKNodeType::DISPATCH_INDIRECT, VKDispatchIndirectCreateInfo, VKDispatchIndirectData, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT|VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VKResourceType::IMAGE|VKResourceType::BUFFER > | |
| using | CreateInfo |
| using | Data |
Static Public Attributes inherited from blender::gpu::render_graph::VKNodeInfo< VKNodeType::DISPATCH_INDIRECT, VKDispatchIndirectCreateInfo, VKDispatchIndirectData, VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT|VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VKResourceType::IMAGE|VKResourceType::BUFFER > | |
| static constexpr VKNodeType | node_type |
| static constexpr VkPipelineStageFlags | pipeline_stage |
| static constexpr VKResourceType | resource_usages |
Definition at line 38 of file vk_dispatch_indirect_node.hh.
|
inlineoverridevirtual |
Build the commands and add them to the command_buffer.
Definition at line 83 of file vk_dispatch_indirect_node.hh.
References blender::gpu::render_graph::VKBoundPipelines::compute, blender::gpu::render_graph::VKCommandBufferInterface::dispatch_indirect(), and blender::gpu::render_graph::vk_pipeline_data_build_commands().
|
inlineoverridevirtual |
Extract read/write resource dependencies from create_info and add them to node_links.
Definition at line 70 of file vk_dispatch_indirect_node.hh.
References blender::gpu::render_graph::VKDispatchIndirectData::buffer, blender::gpu::render_graph::VKResourceAccessInfo::build_links(), blender::gpu::render_graph::VKDispatchIndirectCreateInfo::dispatch_indirect_node, blender::gpu::render_graph::VKResourceStateTracker::get_buffer(), blender::gpu::render_graph::VKRenderGraphNodeLinks::inputs, and blender::gpu::render_graph::VKDispatchIndirectCreateInfo::resources.
|
inline |
Free the pipeline data stored in the render graph node data.
Definition at line 62 of file vk_dispatch_indirect_node.hh.
References blender::gpu::render_graph::vk_pipeline_data_free().
|
inlinestatic |
Update the node data with the data inside create_info.
Has been implemented as a template to ensure all node specific data (VK*Data/VK*CreateInfo) types can be included in the same header file as the logic. The actual node data (VKRenderGraphNode includes all header files.)
Definition at line 52 of file vk_dispatch_indirect_node.hh.
References blender::gpu::render_graph::VKDispatchIndirectCreateInfo::dispatch_indirect_node, blender::gpu::render_graph::VKDispatchIndirectData::pipeline_data, and blender::gpu::render_graph::vk_pipeline_data_copy().