[Bf-blender-cvs] [a5bb028e785] master: Replace COM_DEBUG #define with constexpr. Fixes T87035

Tyler noreply at git.blender.org
Wed Apr 28 08:04:10 CEST 2021


Commit: a5bb028e785c093593c270d8dcb004cb374d83cc
Author: Tyler
Date:   Wed Apr 28 07:56:11 2021 +0200
Branches: master
https://developer.blender.org/rBa5bb028e785c093593c270d8dcb004cb374d83cc

Replace COM_DEBUG #define with constexpr. Fixes T87035

Reviewed By: jbakker

Maniphest Tasks: T87035

Differential Revision: https://developer.blender.org/D11068

===================================================================

M	source/blender/compositor/COM_defines.h
M	source/blender/compositor/intern/COM_Debug.cc
M	source/blender/compositor/intern/COM_Debug.h

===================================================================

diff --git a/source/blender/compositor/COM_defines.h b/source/blender/compositor/COM_defines.h
index c5ff2b3adc6..ef889807030 100644
--- a/source/blender/compositor/COM_defines.h
+++ b/source/blender/compositor/COM_defines.h
@@ -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
 /**
diff --git a/source/blender/compositor/intern/COM_Debug.cc b/source/blender/compositor/intern/COM_Debug.cc
index 648ef7519d1..dfb4f53fee5 100644
--- a/source/blender/compositor/intern/COM_Debug.cc
+++ b/source/blender/compositor/intern/COM_Debug.cc
@@ -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
diff --git a/source/blender/compositor/intern/COM_Debug.h b/source/blender/compositor/intern/COM_Debug.h
index bf7b981fbd5..e1aea69e481 100644
--- a/source/blender/compositor/intern/COM_Debug.h
+++ b/source/blender/compositor/intern/COM_Debug.h
@@ -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;
+
+ public:
+  static void convert_started()
+  {
+    if (COM_EXPORT_GRAPHVIZ) {
+      m_op_names.clear();
+    }
+  }
+
+  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_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);
+  static void node_to_operations(const Node *node)
+  {
+    if (COM_EXPORT_GRAPHVIZ) {
+      m_current_node_name = m_node_names[node];
+    }
+  }
 
-  static void execution_group_started(const ExecutionGroup *group);
-  static void execution_group_finished(const ExecutionGroup *group);
+  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



More information about the Bf-blender-cvs mailing list