Commit: fe8800eaaee97d9fe31bfdae1554061b8d2786ff
Author: YimingWu
Date:   Wed Oct 14 22:42:21 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rBfe8800eaaee97d9fe31bfdae1554061b8d2786ff

LineArt: Memory debug info.

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

M       source/blender/editors/lineart/lineart_cpu.c
M       source/blender/editors/lineart/lineart_intern.h
M       source/blender/editors/lineart/lineart_util.c

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

diff --git a/source/blender/editors/lineart/lineart_cpu.c 
b/source/blender/editors/lineart/lineart_cpu.c
index 9800ff6231e..27fa7dd9303 100644
--- a/source/blender/editors/lineart/lineart_cpu.c
+++ b/source/blender/editors/lineart/lineart_cpu.c
@@ -3919,6 +3919,9 @@ int ED_lineart_compute_feature_lines_internal(Depsgraph 
*depsgraph, const int sh
 
 #undef LRT_PROGRESS
 #undef LRT_CANCEL_STAGE
+  if(G.debug_value == 4000){
+    lineart_count_and_print_render_buffer_memory(rb);
+  }
 
   return OPERATOR_FINISHED;
 }
diff --git a/source/blender/editors/lineart/lineart_intern.h 
b/source/blender/editors/lineart/lineart_intern.h
index 443f6606fc4..dcc4eba2f11 100644
--- a/source/blender/editors/lineart/lineart_intern.h
+++ b/source/blender/editors/lineart/lineart_intern.h
@@ -70,4 +70,7 @@ void lineart_matrix_perspective_44d(
 
 int lineart_count_intersection_segment_count(struct LineartRenderBuffer *rb);
 
+
+void lineart_count_and_print_render_buffer_memory(LineartRenderBuffer* rb);
+
 #endif
diff --git a/source/blender/editors/lineart/lineart_util.c 
b/source/blender/editors/lineart/lineart_util.c
index 5dd929b9c8c..d3ae4c771fa 100644
--- a/source/blender/editors/lineart/lineart_util.c
+++ b/source/blender/editors/lineart/lineart_util.c
@@ -182,3 +182,37 @@ void lineart_matrix_ortho_44d(double (*mProjection)[4],
   mProjection[3][2] = -((zMax + zMin) / (zMax - zMin));
   mProjection[3][3] = 1.0f;
 }
+
+void lineart_count_and_print_render_buffer_memory(LineartRenderBuffer* rb){
+  int i=0;
+  size_t total = 0;
+  size_t sum_this = 0;
+  size_t count_this = 0;
+
+  LISTBASE_FOREACH(LineartStaticMemPoolNode *, smpn, 
&rb->render_data_pool.pools){
+    count_this++;
+    sum_this+=LRT_MEMORY_POOL_64MB;
+  }
+  printf("LANPR Memory allocated %lu Standalone nodes, total %lu 
Bytes.\n",count_this,sum_this);
+  total += sum_this;
+  sum_this = 0;
+  count_this = 0;
+
+  LISTBASE_FOREACH(LineartRenderElementLinkNode *, reln, 
&rb->line_buffer_pointers){
+    count_this++;
+    sum_this+=reln->element_count*sizeof(LineartRenderLine);
+  }
+  printf("             allocated %lu edge blocks, total %lu 
Bytes.\n",count_this,sum_this);
+  total += sum_this;
+  sum_this = 0;
+  count_this = 0;
+
+  LISTBASE_FOREACH(LineartRenderElementLinkNode *, reln, 
&rb->triangle_buffer_pointers){
+    count_this++;
+    sum_this+=reln->element_count*rb->triangle_size;
+  }
+  printf("             allocated %lu triangle blocks, total %lu 
Bytes.\n",count_this,sum_this);
+  total += sum_this;
+  sum_this = 0;
+  count_this = 0;
+}

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to