[Bf-blender-cvs] [69d20e8eeda] soc-2019-npr: Cleanup: Fixed some warnings on function declares.

YimingWu noreply at git.blender.org
Wed Jul 31 11:14:07 CEST 2019


Commit: 69d20e8eeda8f405e1419fe0cf5413ac9bf7bb2d
Author: YimingWu
Date:   Wed Jul 31 16:53:50 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB69d20e8eeda8f405e1419fe0cf5413ac9bf7bb2d

Cleanup: Fixed some warnings on function declares.

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

M	source/blender/blenkernel/BKE_scene.h
M	source/blender/blenkernel/intern/scene.c
M	source/blender/draw/engines/lanpr/lanpr_access.h
M	source/blender/draw/engines/lanpr/lanpr_all.h
M	source/blender/draw/engines/lanpr/lanpr_chain_draw.c
M	source/blender/draw/engines/lanpr/lanpr_cpu.c
M	source/blender/draw/engines/lanpr/lanpr_engine.c
M	source/blender/editors/include/ED_lanpr.h
M	source/blender/editors/lanpr/lanpr_cpu.c
M	source/blender/editors/lanpr/lanpr_ops.c

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

diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index eafb91c85e1..6cb611b2281 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -256,6 +256,11 @@ void BKE_scene_cursor_from_mat4(struct View3DCursor *cursor,
  */
 void BKE_scene_eval_sequencer_sequences(struct Depsgraph *depsgraph, struct Scene *scene);
 
+/* LANPR */
+
+void BKE_lanpr_copy_data(const struct Scene *from, struct Scene *to);
+void BKE_lanpr_free_everything(struct Scene *s);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index d9f98018ca0..af1d49d8ed6 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -228,6 +228,32 @@ void BKE_toolsettings_free(ToolSettings *toolsettings)
   MEM_freeN(toolsettings);
 }
 
+void BKE_lanpr_copy_data(const Scene *from, Scene *to)
+{
+  const SceneLANPR *lanpr = &from->lanpr;
+  LANPR_LineLayer *ll, *new_ll;
+  LANPR_LineLayerComponent *llc, *new_llc;
+
+  to->lanpr.line_layers.first = to->lanpr.line_layers.last=NULL;
+  memset(&to->lanpr.line_layers,0,sizeof(ListBase));
+
+  for (ll = lanpr->line_layers.first; ll; ll = ll->next) {
+    new_ll = MEM_callocN(sizeof(LANPR_LineLayer), "Copied Line Layer");
+    memcpy(new_ll, ll, sizeof(LANPR_LineLayer));
+    memset(&new_ll->components,0,sizeof(ListBase));
+    new_ll->next = new_ll->prev = NULL;
+    BLI_addtail(&to->lanpr.line_layers, new_ll);
+    for (llc = ll->components.first; llc; llc = llc->next) {
+      new_llc = MEM_callocN(sizeof(LANPR_LineLayerComponent), "Copied Line Layer Component");
+      memcpy(new_llc, llc, sizeof(LANPR_LineLayerComponent));
+      new_llc->next = new_llc->prev = NULL;
+      BLI_addtail(&new_ll->components, new_llc);
+    }
+  }
+
+  /*  render_buffer now only accessible from lanpr_share */
+}
+
 /**
  * Only copy internal data of Scene ID from source
  * to already allocated/initialized destination.
@@ -339,7 +365,7 @@ void BKE_scene_copy_data(Main *bmain, Scene *sce_dst, const Scene *sce_src, cons
 
   /* lanpr data */
 
-  ED_lanpr_copy_data(sce_src, sce_dst);
+   BKE_lanpr_copy_data(sce_src, sce_dst);
 }
 
 Scene *BKE_scene_copy(Main *bmain, Scene *sce, int type)
@@ -476,6 +502,20 @@ void BKE_scene_make_local(Main *bmain, Scene *sce, const bool lib_local)
   BKE_id_make_local_generic(bmain, &sce->id, true, lib_local);
 }
 
+void BKE_lanpr_free_everything(Scene *s)
+{
+  SceneLANPR *lanpr = &s->lanpr;
+  LANPR_LineLayer *ll;
+  LANPR_LineLayerComponent *llc;
+
+  while ((ll = BLI_pophead(&lanpr->line_layers))!=NULL) {
+    while ((llc = BLI_pophead(&ll->components))!=NULL){
+      MEM_freeN(llc);
+    }
+    MEM_freeN(ll);
+  }
+}
+
 /** Free (or release) any data used by this scene (does not free the scene itself). */
 void BKE_scene_free_ex(Scene *sce, const bool do_id_user)
 {
@@ -548,7 +588,7 @@ void BKE_scene_free_ex(Scene *sce, const bool do_id_user)
     sce->eevee.light_cache = NULL;
   }
 
-  ED_lanpr_free_everything(sce);
+  BKE_lanpr_free_everything(sce);
 
   /* These are freed on doversion. */
   BLI_assert(sce->layer_properties == NULL);
diff --git a/source/blender/draw/engines/lanpr/lanpr_access.h b/source/blender/draw/engines/lanpr/lanpr_access.h
index 5f6a4c469e6..ed87c3dc9a1 100644
--- a/source/blender/draw/engines/lanpr/lanpr_access.h
+++ b/source/blender/draw/engines/lanpr/lanpr_access.h
@@ -21,18 +21,7 @@ void lanpr_generate_gpencil_from_chain(Depsgraph *depsgraph,
                                        struct Collection *col,
                                        int types);
 
-int ED_lanpr_count_chain(LANPR_RenderLineChain *rlc);
-void ED_lanpr_chain_clear_picked_flag(struct LANPR_RenderBuffer *rb);
-
-int ED_lanpr_compute_feature_lines_internal(struct Depsgraph *depsgraph, int instersections_only);
-
-/* LANPR data */
-void ED_lanpr_destroy_render_data(struct LANPR_RenderBuffer *rb);
-void ED_lanpr_copy_data(struct Scene *from, struct Scene *to);
-void ED_lanpr_free_everything(struct Scene *s);
-
-/* State polls */
-bool ED_lanpr_dpix_shader_error();
+bool ED_lanpr_dpix_shader_error(void);
 bool ED_lanpr_disable_edge_splits(struct Scene *s);
 
 #endif
diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h b/source/blender/draw/engines/lanpr/lanpr_all.h
index 7ad7976a9cc..5701590c693 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -59,7 +59,6 @@
 
 #define LANPR_ENGINE "BLENDER_LANPR"
 
-#define M_PI 3.1415926535897932384626433832795
 #define deg(r) r / M_PI * 180.0
 #define rad(d) d *M_PI / 180.0
 
@@ -254,8 +253,4 @@ void lanpr_snake_draw_scene(LANPR_TextureList *txl,
 
 void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render);
 
-void lanpr_set_render_flag();
-void lanpr_clear_render_flag();
-int lanpr_during_render();
-
 #endif
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
index 191379a4c7c..370ff9cfdda 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain_draw.c
@@ -26,9 +26,7 @@
 
 #include <math.h>
 
-int ED_lanpr_count_chain(LANPR_RenderLineChain *rlc);
-
-float lanpr_compute_chain_length_draw(LANPR_RenderLineChain *rlc, float *lengths, int begin_index)
+static float lanpr_compute_chain_length_draw(LANPR_RenderLineChain *rlc, float *lengths, int begin_index)
 {
   LANPR_RenderLineChainItem *rlci;
   int i = 0;
@@ -48,7 +46,7 @@ float lanpr_compute_chain_length_draw(LANPR_RenderLineChain *rlc, float *lengths
   return offset_accum;
 }
 
-int lanpr_get_gpu_line_type(LANPR_RenderLineChainItem *rlci)
+static int lanpr_get_gpu_line_type(LANPR_RenderLineChainItem *rlci)
 {
   switch (rlci->line_type) {
     case LANPR_EDGE_FLAG_CONTOUR:
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index d00f4d30591..73cb5f9a09a 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -56,10 +56,9 @@ extern const char *RE_engine_id_BLENDER_LANPR;
 
 void lanpr_chain_generate_draw_command(LANPR_RenderBuffer *rb);
 
-void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer *rb, LANPR_LineLayer *ll)
+static void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer *rb, LANPR_LineLayer *ll)
 {
   int Count = 0;
-  int level;
   float *v, *tv, *N, *tn;
   int i;
   int vertCount;
@@ -269,12 +268,10 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
     lanpr_rebuild_all_command(lanpr);
   }
   else {
-    if (lanpr_during_render()) {
       printf(
           "LANPR Warning: To avoid resource duplication, viewport will not display when rendering "
           "is in progress\n");
       return; /*  don't draw viewport during render */
-    }
   }
 
   float clear_col[4] = {1.0f, 0.0f, 0.0f, 1.0f};
diff --git a/source/blender/draw/engines/lanpr/lanpr_engine.c b/source/blender/draw/engines/lanpr/lanpr_engine.c
index f58843cb214..429250c3a23 100644
--- a/source/blender/draw/engines/lanpr/lanpr_engine.c
+++ b/source/blender/draw/engines/lanpr/lanpr_engine.c
@@ -556,29 +556,6 @@ void lanpr_batch_free(SceneLANPR *lanpr)
 {
 }
 
-/*  below are commented to prevent interface lock in some conditions. */
-/*  should look into it, */
-void lanpr_set_render_flag()
-{
-  /*  BLI_spin_lock(&lanpr_share.render_flag_lock); */
-  /*  lanpr_share.during_render = 1; */
-  /*  BLI_spin_unlock(&lanpr_share.render_flag_lock); */
-}
-void lanpr_clear_render_flag()
-{
-  /*  BLI_spin_lock(&lanpr_share.render_flag_lock); */
-  /*  lanpr_share.during_render = 0; */
-  /*  BLI_spin_unlock(&lanpr_share.render_flag_lock); */
-}
-int lanpr_during_render()
-{
-  int status;
-  BLI_spin_lock(&lanpr_share.render_flag_lock);
-  status = lanpr_share.during_render;
-  BLI_spin_unlock(&lanpr_share.render_flag_lock);
-  return status;
-}
-
 static void lanpr_draw_scene_exec(void *vedata, GPUFrameBuffer *dfb, int is_render)
 {
   LANPR_PassList *psl = ((LANPR_Data *)vedata)->psl;
@@ -694,8 +671,6 @@ static void lanpr_render_to_image(LANPR_Data *vedata,
   Scene *scene = DEG_get_evaluated_scene(draw_ctx->depsgraph);
   SceneLANPR *lanpr = &scene->lanpr;
 
-  lanpr_set_render_flag();
-
   if (lanpr->master_mode == LANPR_MASTER_MODE_SOFTWARE ||
       (lanpr->master_mode == LANPR_MASTER_MODE_DPIX && lanpr->enable_intersections)) {
     if (!lanpr_share.render_buffer_shared) {
@@ -763,7 +738,6 @@ static void lanpr_render_to_image(LANPR_Data *vedata,
   /*  we don't need to free pass/buffer/texture in the engine's list */
   /*  lanpr_engine_free(); */
 
-  lanpr_clear_render_flag();
 }
 
 static void lanpr_view_update(void *vedata)
diff --git a/source/blender/editors/include/ED_lanpr.h b/source/blender/editors/include/ED_lanpr.h
index ff36f24027d..c536415a9fc 100644
--- a/source/blender/editors/include/ED_lanpr.h
+++ b/source/blender/editors/include/ED_lanpr.h
@@ -131,10 +131,11 @@ typedef struct LANPR_RenderVert {
   struct BMVert *v; /*  Used As r When Intersecting */
   struct LANPR_RenderLine *intersecting_line;
   struct LANPR_RenderLine *intersecting_line2;
-  struct LANPR_RenderTriangle *intersecting_with; /*    positive 1         Negative 0 */
-  /*  tnsRenderTriangle* IntersectingOnFace;       /*          <|               |> */
-  char positive;  /*                  l---->|----->r	l---->|----->r */
-  char edge_used; /*                       <|		          |> */
+  struct LANPR_RenderTriangle *intersecting_with; 
+  /*                 positive 1         Negative 0 */
+  /*                      <|              |> */
+  char positive;  /* l---->|----->r	l---->|----->r */
+  char edge_used; /*      <|		          |> */
 } LANPR_RenderVert;
 
 typedef enum LANPR_EdgeFlag{
@@ -337,10 +338,6 @@ typedef struct LANPR_SharedResource {
   int init_complete;
 
   SpinLock render_flag_lock;
-  int during_render; /*  get/set using access funcion which uses render_flag_lock to lock. */
-  /*  this prevents duplicate too much resource. (no render preview in viewport */
-  /*  while rendering) */
-
 } LANPR_

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list