Blender V4.3
depsgraph_debug.cc File Reference

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)
 
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)
 
void DEG_stats_simple (const Depsgraph *graph, size_t *r_outer, size_t *r_operations, size_t *r_relations)
 
static deg::string depsgraph_name_for_logging (Depsgraph *depsgraph)
 
void DEG_debug_print_begin (Depsgraph *depsgraph)
 
void DEG_debug_print_eval (Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address)
 
void DEG_debug_print_eval_subdata (Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address, const char *subdata_comment, const char *subdata_name, const void *subdata_address)
 
void DEG_debug_print_eval_subdata_index (Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address, const char *subdata_comment, const char *subdata_name, const void *subdata_address, const int subdata_index)
 
void DEG_debug_print_eval_parent_typed (Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address, const char *parent_comment, const char *parent_name, const void *parent_address)
 
void DEG_debug_print_eval_time (Depsgraph *depsgraph, const char *function_name, const char *object_name, const void *object_address, float time)
 

Detailed Description

Implementation of tools for debugging the depsgraph

Definition in file depsgraph_debug.cc.

Function Documentation

◆ DEG_debug_compare()

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

◆ DEG_debug_consistency_check()

bool DEG_debug_consistency_check ( Depsgraph * graph)

Perform consistency check on the graph.

Definition at line 91 of file depsgraph_debug.cc.

References BLI_assert, graph, blender::deg::Depsgraph::operations, and printf.

Referenced by blender::deg::AbstractBuilderPipeline::build_step_finalize().

◆ 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 74 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_name_get()

const char * DEG_debug_name_get ( Depsgraph * depsgraph)

◆ DEG_debug_name_set()

◆ DEG_debug_print_begin()

void DEG_debug_print_begin ( Depsgraph * depsgraph)

Definition at line 236 of file depsgraph_debug.cc.

References depsgraph, and depsgraph_name_for_logging().

◆ DEG_debug_print_eval()

◆ DEG_debug_print_eval_parent_typed()

void DEG_debug_print_eval_parent_typed ( Depsgraph * depsgraph,
const char * function_name,
const char * object_name,
const void * object_address,
const char * parent_comment,
const char * parent_name,
const void * parent_address )

◆ DEG_debug_print_eval_subdata()

void DEG_debug_print_eval_subdata ( Depsgraph * depsgraph,
const char * function_name,
const char * object_name,
const void * object_address,
const char * subdata_comment,
const char * subdata_name,
const void * subdata_address )

◆ DEG_debug_print_eval_subdata_index()

void DEG_debug_print_eval_subdata_index ( Depsgraph * depsgraph,
const char * function_name,
const char * object_name,
const void * object_address,
const char * subdata_comment,
const char * subdata_name,
const void * subdata_address,
const int subdata_index )

◆ DEG_debug_print_eval_time()

void DEG_debug_print_eval_time ( Depsgraph * depsgraph,
const char * function_name,
const char * object_name,
const void * object_address,
float time )

◆ 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 184 of file depsgraph_debug.cc.

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

◆ depsgraph_name_for_logging()

static deg::string depsgraph_name_for_logging ( Depsgraph * depsgraph)
static