[Bf-blender-cvs] [1a57c94c097] master: Cleanup: Make Render finalization function more generic

Sergey Sharybin noreply at git.blender.org
Tue May 7 11:13:15 CEST 2019


Commit: 1a57c94c0974dd41ae9926faf640a09413c1ac5b
Author: Sergey Sharybin
Date:   Mon May 6 17:47:22 2019 +0200
Branches: master
https://developer.blender.org/rB1a57c94c0974dd41ae9926faf640a09413c1ac5b

Cleanup: Make Render finalization function more generic

Allows to extend that code more easily.

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

M	source/blender/render/extern/include/RE_pipeline.h
M	source/blender/render/intern/source/pipeline.c

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

diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 805235e6c6a..db051d58d6c 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -307,6 +307,9 @@ void RE_RenderFreestyleStrokes(struct Render *re,
 void RE_RenderFreestyleExternal(struct Render *re);
 #endif
 
+/* Free memory and clear runtime data which is only needed during rendering. */
+void RE_CleanAfterRender(struct Render *re);
+
 void RE_SetActiveRenderView(struct Render *re, const char *viewname);
 const char *RE_GetActiveRenderView(struct Render *re);
 
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 044b0d5ad87..893c38aa989 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -2126,8 +2126,7 @@ void RE_RenderFrame(Render *re,
   BLI_callback_exec(
       re->main, (ID *)scene, G.is_break ? BLI_CB_EVT_RENDER_CANCEL : BLI_CB_EVT_RENDER_COMPLETE);
 
-  /* Destroy the opengl context in the correct thread. */
-  RE_gl_context_destroy(re);
+  RE_CleanAfterRender(re);
 
   /* UGLY WARNING */
   G.is_rendering = false;
@@ -2713,8 +2712,7 @@ void RE_RenderAnim(Render *re,
       re->main, (ID *)scene, G.is_break ? BLI_CB_EVT_RENDER_CANCEL : BLI_CB_EVT_RENDER_COMPLETE);
   BKE_sound_reset_scene_specs(scene);
 
-  /* Destroy the opengl context in the correct thread. */
-  RE_gl_context_destroy(re);
+  RE_CleanAfterRender(re);
 
   /* UGLY WARNING */
   G.is_rendering = false;
@@ -2739,6 +2737,12 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce)
   do_render_3d(re);
 }
 
+void RE_CleanAfterRender(Render *re)
+{
+  /* Destroy the opengl context in the correct thread. */
+  RE_gl_context_destroy(re);
+}
+
 /* note; repeated win/disprect calc... solve that nicer, also in compo */
 
 /* only the temp file! */



More information about the Bf-blender-cvs mailing list