24 links_.clear_and_shrink();
26 node.free_data(storage_);
28 nodes_.clear_and_shrink();
31 debug_.node_group_map.clear();
32 debug_.used_groups.clear();
33 debug_.group_stack.clear();
34 debug_.groups.clear();
39 std::cout << __func__ <<
" nodes: (" << nodes_.size() <<
"/" << nodes_.capacity() <<
"), "
40 <<
"links: (" << links_.size() <<
"/" << links_.capacity() <<
")\n";
41#define PRINT_STORAGE(name) \
42 std::cout << " " #name " : (" << storage_.name.size() << " / " << storage_.name.capacity() \
68 (debug_.group_stack.size() > 0))
70 useColor = debug_.groups[debug_.group_stack.last()].color;
72 DebugGroupNameID name_id = debug_.groups.index_of_or_add({std::string(
name), useColor});
73 debug_.group_stack.append(name_id);
74 debug_.group_used =
false;
79 debug_.group_stack.pop_last();
80 debug_.group_used =
false;
85 std::ostream &os = std::cout;
88 os <<
" type:" << node.
type <<
"\n";
108 return std::string();
111 DebugGroupID debug_group = debug_.node_group_map[node_handle];
112 if (debug_group == -1) {
113 return std::string();
116 std::stringstream ss;
117 for (
const VKRenderGraph::DebugGroupNameID &name_id : debug_.used_groups[debug_group]) {
118 ss <<
"/" << debug_.groups[name_id].name;
VKRenderGraph(VKResourceStateTracker &resources)
void debug_group_begin(const char *name, const ColorTheme4f &color)
void debug_print(NodeHandle node_handle) const
std::string full_debug_group(NodeHandle node_handle) const
static blender::ColorTheme4f GPU_DEBUG_GROUP_COLOR_DEFAULT
ColorTheme4< float > ColorTheme4f
void debug_print(std::ostream &ss, const VKResourceStateTracker &resources) const
Vector< VKRenderGraphLink > inputs
Vector< VKRenderGraphLink > outputs
#define PRINT_STORAGE(name)