[Bf-blender-cvs] [fc3f80d1bbc] lanpr-under-gp: LANPR: Init and deinit triggers in ed_utils.c
YimingWu
noreply at git.blender.org
Sun Jun 7 16:29:10 CEST 2020
Commit: fc3f80d1bbc602314b70d8a30d1bdb728a5862cc
Author: YimingWu
Date: Thu Jun 4 21:42:53 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rBfc3f80d1bbc602314b70d8a30d1bdb728a5862cc
LANPR: Init and deinit triggers in ed_utils.c
===================================================================
M source/blender/blenkernel/BKE_scene.h
M source/blender/editors/include/ED_lanpr.h
M source/blender/editors/lanpr/lanpr_cpu.c
M source/blender/editors/util/ed_util.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index 6ca533db144..dca6f569e25 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -257,11 +257,6 @@ 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/editors/include/ED_lanpr.h b/source/blender/editors/include/ED_lanpr.h
index 29ee1442e3d..8d646ffd1e6 100644
--- a/source/blender/editors/include/ED_lanpr.h
+++ b/source/blender/editors/include/ED_lanpr.h
@@ -521,6 +521,8 @@ struct SceneLANPR;
void ED_lanpr_init_locks(void);
+void ED_lanpr_destroy_render_data(void);
+
int ED_lanpr_object_collection_usage_check(struct Collection *c, struct Object *o);
void ED_lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb);
diff --git a/source/blender/editors/lanpr/lanpr_cpu.c b/source/blender/editors/lanpr/lanpr_cpu.c
index 01a43931690..a08e2a052ed 100644
--- a/source/blender/editors/lanpr/lanpr_cpu.c
+++ b/source/blender/editors/lanpr/lanpr_cpu.c
@@ -2507,8 +2507,9 @@ static void lanpr_compute_scene_contours(LANPR_RenderBuffer *rb, const float thr
/* Buffer operations */
-void ED_lanpr_destroy_render_data(LANPR_RenderBuffer *rb)
+void ED_lanpr_destroy_render_data(void)
{
+ LANPR_RenderBuffer *rb = lanpr_share.render_buffer_shared;
if (rb == NULL) {
return;
}
@@ -2546,7 +2547,7 @@ LANPR_RenderBuffer *ED_lanpr_create_render_buffer(Scene *s)
/* Re-init render_buffer_shared */
if (lanpr_share.render_buffer_shared) {
LANPR_RenderBuffer *rb = lanpr_share.render_buffer_shared;
- ED_lanpr_destroy_render_data(rb);
+ ED_lanpr_destroy_render_data();
MEM_freeN(rb);
}
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c
index af387e4f7c2..bf89f42d010 100644
--- a/source/blender/editors/util/ed_util.c
+++ b/source/blender/editors/util/ed_util.c
@@ -60,6 +60,7 @@
#include "ED_armature.h"
#include "ED_buttons.h"
#include "ED_image.h"
+#include "ED_lanpr.h"
#include "ED_mesh.h"
#include "ED_node.h"
#include "ED_object.h"
@@ -187,6 +188,11 @@ void ED_editors_init(bContext *C)
SWAP(int, reports->flag, reports_flag_prev);
wm->op_undo_depth--;
+
+ /* LANPR data lock duing async calculation */
+#ifdef WITH_LANPR
+ ED_lanpr_init_locks();
+#endif
}
/* frees all editmode stuff */
@@ -227,6 +233,11 @@ void ED_editors_exit(Main *bmain, bool do_undo_system)
/* global in meshtools... */
ED_mesh_mirror_spatial_table_end(NULL);
ED_mesh_mirror_topo_table_end(NULL);
+
+ /* LANPR data*/
+#ifdef WITH_LANPR
+ ED_lanpr_destroy_render_data();
+#endif
}
bool ED_editors_flush_edits_for_object_ex(Main *bmain,
More information about the Bf-blender-cvs
mailing list