Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-06 18:47:22 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-07 12:12:41 +0300
commit1a57c94c0974dd41ae9926faf640a09413c1ac5b (patch)
tree2d5c12a65013ed0aedb7648b8b2ab5ecd442a766 /source/blender/render
parent1bb740f95c956d3f71b9769a82c2076d342f634b (diff)
Cleanup: Make Render finalization function more generic
Allows to extend that code more easily.
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h3
-rw-r--r--source/blender/render/intern/source/pipeline.c12
2 files changed, 11 insertions, 4 deletions
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! */