Blender V5.0
DEG_depsgraph_debug.hh File Reference
#include <cstdio>
#include <string>
#include "BLI_string_ref.hh"

Go to the source code of this file.

Functions

void DEG_debug_flags_set (Depsgraph *depsgraph, int flags)
int DEG_debug_flags_get (const Depsgraph *depsgraph)
void DEG_debug_name_set (Depsgraph *depsgraph, const char *name)
const char * DEG_debug_name_get (Depsgraph *depsgraph)
void DEG_stats_simple (const Depsgraph *graph, size_t *r_outer, size_t *r_operations, size_t *r_relations)
std::string DEG_debug_graph_to_dot (const Depsgraph &graph, blender::StringRef label)
void DEG_debug_stats_gnuplot (const Depsgraph *graph, FILE *fp, const char *label, const char *output_filename)
bool DEG_debug_compare (const Depsgraph *graph1, const Depsgraph *graph2)
bool DEG_debug_graph_relations_validate (Depsgraph *graph, Main *bmain, Scene *scene, ViewLayer *view_layer)
bool DEG_debug_consistency_check (Depsgraph *graph)
std::string DEG_stringify_recalc_flags (unsigned int flags)

Detailed Description

Public API for Querying and Filtering Depsgraph

Definition in file DEG_depsgraph_debug.hh.

Function Documentation

◆ DEG_debug_compare()

bool DEG_debug_compare ( const Depsgraph * graph1,
const Depsgraph * graph2 )

◆ DEG_debug_consistency_check()

◆ DEG_debug_flags_get()

◆ DEG_debug_flags_set()

void DEG_debug_flags_set ( Depsgraph * depsgraph,
int flags )

◆ DEG_debug_graph_relations_validate()

bool DEG_debug_graph_relations_validate ( Depsgraph * graph,
Main * bmain,
Scene * scene,
ViewLayer * view_layer )

Check that dependencies in the graph are really up to date.

Definition at line 73 of file depsgraph_debug.cc.

References BLI_assert_msg, DEG_debug_compare(), DEG_get_mode(), DEG_graph_build_from_view_layer(), DEG_graph_free(), and DEG_graph_new().

◆ DEG_debug_graph_to_dot()

◆ DEG_debug_name_get()

const char * DEG_debug_name_get ( Depsgraph * depsgraph)

◆ DEG_debug_name_set()

◆ DEG_debug_stats_gnuplot()

void DEG_debug_stats_gnuplot ( const Depsgraph * graph,
FILE * fp,
const char * label,
const char * output_filename )

Definition at line 138 of file deg_debug_stats_gnuplot.cc.

References depsgraph.

◆ DEG_stats_simple()

void DEG_stats_simple ( const Depsgraph * graph,
size_t * r_outer,
size_t * r_operations,
size_t * r_relations )

Obtain simple statistics about the complexity of the depsgraph.

Parameters
[out]r_outerThe number of outer nodes in the graph.
[out]r_operationsThe number of operation nodes in the graph.
[out]r_relationsThe number of relations between (executable) nodes in the graph.

Definition at line 183 of file depsgraph_debug.cc.

References blender::deg::IDNode::components, blender::deg::Depsgraph::find_time_source(), blender::deg::Depsgraph::id_nodes, blender::deg::Node::inlinks, blender::deg::Depsgraph::operations, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().

◆ DEG_stringify_recalc_flags()

std::string DEG_stringify_recalc_flags ( unsigned int flags)

Convert bit-flag representation of recalculation flags to string that consists of human-readable names of recalculation bits that are set in the given mask.

If flags == 0 the result is "NONE".

Example: DEG_stringify_recalc_flags(ID_RECALC_GEOMETRY | ID_RECALC_SHADING) -> "GEOMETRY, SHADING".

Definition at line 377 of file depsgraph_debug.cc.

References bitscan_forward_clear_uint(), ID_RECALC_PSYS_ALL, result, and stringify_append_bit().