Blender V4.5
blender::gpu::render_graph::VKRenderGraph Class Reference

#include <vk_render_graph.hh>

Inherits blender::NonCopyable.

Public Member Functions

 VKRenderGraph (VKResourceStateTracker &resources)
NodeHandle next_node_handle ()
bool is_empty ()
void reset ()
void memstats () const
Debug
void debug_group_begin (const char *name, const ColorTheme4f &color)
void debug_group_end ()
std::string full_debug_group (NodeHandle node_handle) const
void debug_print (NodeHandle node_handle) const
Public Member Functions inherited from blender::NonCopyable
 NonCopyable (const NonCopyable &other)=delete
NonCopyableoperator= (const NonCopyable &other)=delete
 NonCopyable ()=default
 NonCopyable (NonCopyable &&other)=default
NonCopyableoperator= (NonCopyable &&other)=default

Public Attributes

VKSubmissionID submission_id

Friends

class VKCommandBuilder
class VKScheduler

Detailed Description

Definition at line 65 of file vk_render_graph.hh.

Constructor & Destructor Documentation

◆ VKRenderGraph()

blender::gpu::render_graph::VKRenderGraph::VKRenderGraph ( VKResourceStateTracker & resources)

Construct a new render graph instance.

To improve testability the command buffer and resources they work on are provided as a parameter.

Definition at line 16 of file vk_render_graph.cc.

References submission_id.

Member Function Documentation

◆ debug_group_begin()

void blender::gpu::render_graph::VKRenderGraph::debug_group_begin ( const char * name,
const ColorTheme4f & color )

Push a new debugging group to the stack with the given name.

New nodes added to the render graph will be associated with this debug group.

Definition at line 68 of file vk_render_graph.cc.

References blender::gpu::debug::GPU_DEBUG_GROUP_COLOR_DEFAULT.

Referenced by blender::gpu::VKContext::debug_group_begin().

◆ debug_group_end()

void blender::gpu::render_graph::VKRenderGraph::debug_group_end ( )

Pop the top of the debugging group stack.

New nodes added to the render graph will be associated with the parent of the current debug group.

Definition at line 81 of file vk_render_graph.cc.

Referenced by blender::gpu::VKContext::debug_group_end().

◆ debug_print()

◆ full_debug_group()

std::string blender::gpu::render_graph::VKRenderGraph::full_debug_group ( NodeHandle node_handle) const

Return the full debug group of the given node_handle. Returns an empty string when debug groups are not enabled (--debug-gpu).

Definition at line 109 of file vk_render_graph.cc.

References G, and G_DEBUG_GPU.

◆ is_empty()

bool blender::gpu::render_graph::VKRenderGraph::is_empty ( )
inline

Definition at line 241 of file vk_render_graph.hh.

◆ memstats()

void blender::gpu::render_graph::VKRenderGraph::memstats ( ) const

Definition at line 41 of file vk_render_graph.cc.

References PRINT_STORAGE.

Referenced by reset().

◆ next_node_handle()

NodeHandle blender::gpu::render_graph::VKRenderGraph::next_node_handle ( )
inline

Utility function that is used during debugging.

When debugging most of the time know the node_handle that is needed after the node has been constructed. When haunting a bug it is more useful to query what the next node handle will be so you can step through the node building process.

Definition at line 236 of file vk_render_graph.hh.

◆ reset()

void blender::gpu::render_graph::VKRenderGraph::reset ( )

Reset the render graph.

Definition at line 21 of file vk_render_graph.cc.

References memstats(), and submission_id.

◆ VKCommandBuilder

friend class VKCommandBuilder
friend

Definition at line 66 of file vk_render_graph.hh.

References VKCommandBuilder.

Referenced by VKCommandBuilder.

◆ VKScheduler

friend class VKScheduler
friend

Definition at line 67 of file vk_render_graph.hh.

References VKScheduler.

Referenced by VKScheduler.

Member Data Documentation

◆ group_stack

Vector<DebugGroupNameID> blender::gpu::render_graph::VKRenderGraph::group_stack

Current stack of debug group names.

Definition at line 103 of file vk_render_graph.hh.

◆ group_used

bool blender::gpu::render_graph::VKRenderGraph::group_used = false

Has a node been added to the current stack? If not the group stack will be added to used_groups.

Definition at line 109 of file vk_render_graph.hh.

◆ groups

VectorSet<DebugGroup> blender::gpu::render_graph::VKRenderGraph::groups

Definition at line 100 of file vk_render_graph.hh.

◆ node_group_map

Vector<DebugGroupID> blender::gpu::render_graph::VKRenderGraph::node_group_map

Map of a node_handle to an index of debug group in used_groups.

<source> int used_group_id = node_group_map[node_handle]; const Vector<DebugGroupNameID> &used_group = used_groups[used_group_id]; </source>

Definition at line 122 of file vk_render_graph.hh.

◆ submission_id

VKSubmissionID blender::gpu::render_graph::VKRenderGraph::submission_id

Definition at line 126 of file vk_render_graph.hh.

Referenced by reset(), and VKRenderGraph().

◆ used_groups

Vector<Vector<DebugGroupNameID> > blender::gpu::render_graph::VKRenderGraph::used_groups

All used debug groups.

Definition at line 112 of file vk_render_graph.hh.


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