diff options
author | Sergey Sharybin <sergey@blender.org> | 2021-10-13 12:57:47 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2021-10-13 13:01:18 +0300 |
commit | f71d479556b23ac012cfcf90530a1d9740955349 (patch) | |
tree | be41c7a6968c44ce2f0c6799b68ead718e1da861 /intern | |
parent | 0558907ae674ebe81dc8910a6615fc32ce675d70 (diff) |
Fix Cycles viewport after session reset
Happens i.e. when changing compute device.
A more proper follow-up to the on-demand display driver creation change.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index 8ecd7ee93d6..0b4b5c60def 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -270,6 +270,8 @@ void BlenderSession::free_session() delete session; session = nullptr; + + display_driver_ = nullptr; } void BlenderSession::full_buffer_written(string_view filename) @@ -657,8 +659,6 @@ void BlenderSession::synchronize(BL::Depsgraph &b_depsgraph_) if (!b_v3d) return; - ensure_display_driver_if_needed(); - /* on session/scene parameter changes, we recreate session entirely */ const SessionParams session_params = BlenderSync::get_session_params( b_engine, b_userpref, b_scene, background); @@ -670,6 +670,8 @@ void BlenderSession::synchronize(BL::Depsgraph &b_depsgraph_) create_session(); } + ensure_display_driver_if_needed(); + /* increase samples and render time, but never decrease */ session->set_samples(session_params.samples); session->set_time_limit(session_params.time_limit); |