diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2019-06-26 16:11:16 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2019-06-26 16:13:56 +0300 |
commit | 11dc736033244ae9eeaa94daea3c8d5598d07e76 (patch) | |
tree | d9cf63186a4a67b232d89464fc78456f31f7f9c0 /source/blender/draw/intern/draw_manager.c | |
parent | 6d22633a96a4ef18051ba6a937ed9c1d1e5d967c (diff) |
DrawManager: Sanatize default_view reset
Grease Pencil already reset the default view so the draw_manager wouldn't assert. During multi view rendering the same assert still happened. This patch will reset the default view when starting to render a new view.
Reviewers: fclem
Differential Revision: https://developer.blender.org/D5137
Diffstat (limited to 'source/blender/draw/intern/draw_manager.c')
-rw-r--r-- | source/blender/draw/intern/draw_manager.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c index 7606fa914d1..c4e3bd5cf91 100644 --- a/source/blender/draw/intern/draw_manager.c +++ b/source/blender/draw/intern/draw_manager.c @@ -1998,15 +1998,14 @@ void DRW_render_to_image(RenderEngine *engine, struct Depsgraph *depsgraph) for (RenderView *render_view = render_result->views.first; render_view != NULL; render_view = render_view->next) { RE_SetActiveRenderView(render, render_view->name); + /* Reset the view. */ + DST.view_default = NULL; + DST.view_active = NULL; + DST.view_previous = NULL; engine_type->draw_engine->render_to_image(data, engine, render_layer, &render_rect); /* grease pencil: render result is merged in the previous render result. */ if (DRW_render_check_grease_pencil(depsgraph)) { DRW_state_reset(); - /* HACK: this is just for sanity and not trigger asserts. */ - DST.view_default = NULL; - DST.view_active = NULL; - DST.view_previous = NULL; - DRW_render_gpencil_to_image(engine, render_layer, &render_rect); } DST.buffer_finish_called = false; |