[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