Replace COM_DEBUG #define with constexpr. Fixes T87035

Reviewed By: jbakker

Maniphest Tasks: T87035

Differential Revision: https://developer.blender.org/D11068
This commit is contained in:
Tyler
2021-04-28 07:56:11 +02:00
committed by Jeroen Bakker
parent 1b6f655abe
commit a5bb028e78
3 changed files with 75 additions and 110 deletions

View File

@@ -55,7 +55,6 @@ constexpr int COM_DATA_TYPE_COLOR_CHANNELS = COM_data_type_num_channels(DataType
// configurable items
// chunk size determination
// #define COM_DEBUG
// chunk order
/**

View File

@@ -42,8 +42,6 @@ extern "C" {
namespace blender::compositor {
#ifdef COM_DEBUG
int DebugInfo::m_file_index = 0;
DebugInfo::NodeNameMap DebugInfo::m_node_names;
DebugInfo::OpNameMap DebugInfo::m_op_names;
@@ -69,50 +67,6 @@ std::string DebugInfo::operation_name(const NodeOperation *op)
return "";
}
void DebugInfo::convert_started()
{
m_op_names.clear();
}
void DebugInfo::execute_started(const ExecutionSystem *system)
{
m_file_index = 1;
m_group_states.clear();
for (ExecutionGroup *execution_group : system->m_groups) {
m_group_states[execution_group] = EG_WAIT;
}
}
void DebugInfo::node_added(const Node *node)
{
m_node_names[node] = std::string(node->getbNode() ? node->getbNode()->name : "");
}
void DebugInfo::node_to_operations(const Node *node)
{
m_current_node_name = m_node_names[node];
}
void DebugInfo::operation_added(const NodeOperation *operation)
{
m_op_names[operation] = m_current_node_name;
}
void DebugInfo::operation_read_write_buffer(const NodeOperation *operation)
{
m_current_op_name = m_op_names[operation];
}
void DebugInfo::execution_group_started(const ExecutionGroup *group)
{
m_group_states[group] = EG_RUNNING;
}
void DebugInfo::execution_group_finished(const ExecutionGroup *group)
{
m_group_states[group] = EG_FINISHED;
}
int DebugInfo::graphviz_operation(const ExecutionSystem *system,
NodeOperation *operation,
const ExecutionGroup *group,
@@ -442,6 +396,9 @@ bool DebugInfo::graphviz_system(const ExecutionSystem *system, char *str, int ma
void DebugInfo::graphviz(const ExecutionSystem *system)
{
if (!COM_EXPORT_GRAPHVIZ) {
return;
}
char str[1000000];
if (graphviz_system(system, str, sizeof(str) - 1)) {
char basename[FILE_MAX];
@@ -459,44 +416,4 @@ void DebugInfo::graphviz(const ExecutionSystem *system)
}
}
#else
std::string DebugInfo::node_name(const Node * /*node*/)
{
return "";
}
std::string DebugInfo::operation_name(const NodeOperation * /*op*/)
{
return "";
}
void DebugInfo::convert_started()
{
}
void DebugInfo::execute_started(const ExecutionSystem * /*system*/)
{
}
void DebugInfo::node_added(const Node * /*node*/)
{
}
void DebugInfo::node_to_operations(const Node * /*node*/)
{
}
void DebugInfo::operation_added(const NodeOperation * /*operation*/)
{
}
void DebugInfo::operation_read_write_buffer(const NodeOperation * /*operation*/)
{
}
void DebugInfo::execution_group_started(const ExecutionGroup * /*group*/)
{
}
void DebugInfo::execution_group_finished(const ExecutionGroup * /*group*/)
{
}
void DebugInfo::graphviz(const ExecutionSystem * /*system*/)
{
}
#endif
} // namespace blender::compositor

View File

@@ -21,11 +21,13 @@
#include <map>
#include <string>
#include "COM_ExecutionSystem.h"
#include "COM_NodeOperation.h"
#include "COM_defines.h"
namespace blender::compositor {
static constexpr bool COM_EXPORT_GRAPHVIZ = false;
class Node;
class ExecutionSystem;
class ExecutionGroup;
@@ -41,20 +43,81 @@ class DebugInfo {
static std::string node_name(const Node *node);
static std::string operation_name(const NodeOperation *op);
static void convert_started();
static void execute_started(const ExecutionSystem *system);
private:
static int m_file_index;
/** Map nodes to usable names for debug output. */
static NodeNameMap m_node_names;
/** Map operations to usable names for debug output. */
static OpNameMap m_op_names;
/** Base name for all operations added by a node. */
static std::string m_current_node_name;
/** Base name for automatic sub-operations. */
static std::string m_current_op_name;
/** For visualizing group states. */
static GroupStateMap m_group_states;
static void node_added(const Node *node);
static void node_to_operations(const Node *node);
static void operation_added(const NodeOperation *operation);
static void operation_read_write_buffer(const NodeOperation *operation);
public:
static void convert_started()
{
if (COM_EXPORT_GRAPHVIZ) {
m_op_names.clear();
}
}
static void execution_group_started(const ExecutionGroup *group);
static void execution_group_finished(const ExecutionGroup *group);
static void execute_started(const ExecutionSystem *system)
{
if (COM_EXPORT_GRAPHVIZ) {
m_file_index = 1;
m_group_states.clear();
for (ExecutionGroup *execution_group : system->m_groups) {
m_group_states[execution_group] = EG_WAIT;
}
}
};
static void node_added(const Node *node)
{
if (COM_EXPORT_GRAPHVIZ) {
m_node_names[node] = std::string(node->getbNode() ? node->getbNode()->name : "");
}
}
static void node_to_operations(const Node *node)
{
if (COM_EXPORT_GRAPHVIZ) {
m_current_node_name = m_node_names[node];
}
}
static void operation_added(const NodeOperation *operation)
{
if (COM_EXPORT_GRAPHVIZ) {
m_op_names[operation] = m_current_node_name;
}
};
static void operation_read_write_buffer(const NodeOperation *operation)
{
if (COM_EXPORT_GRAPHVIZ) {
m_current_op_name = m_op_names[operation];
}
};
static void execution_group_started(const ExecutionGroup *group)
{
if (COM_EXPORT_GRAPHVIZ) {
m_group_states[group] = EG_RUNNING;
}
};
static void execution_group_finished(const ExecutionGroup *group)
{
if (COM_EXPORT_GRAPHVIZ) {
m_group_states[group] = EG_FINISHED;
}
};
static void graphviz(const ExecutionSystem *system);
#ifdef COM_DEBUG
protected:
static int graphviz_operation(const ExecutionSystem *system,
NodeOperation *operation,
@@ -68,20 +131,6 @@ class DebugInfo {
const char *name, const char *color, const char *style, char *str, int maxlen);
static int graphviz_legend(char *str, int maxlen);
static bool graphviz_system(const ExecutionSystem *system, char *str, int maxlen);
private:
static int m_file_index;
/** Map nodes to usable names for debug output. */
static NodeNameMap m_node_names;
/** Map operations to usable names for debug output. */
static OpNameMap m_op_names;
/** Base name for all operations added by a node. */
static std::string m_current_node_name;
/** Base name for automatic sub-operations. */
static std::string m_current_op_name;
/** For visualizing group states. */
static GroupStateMap m_group_states;
#endif
};
} // namespace blender::compositor