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
path: root/intern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey@blender.org>2021-10-13 12:57:47 +0300
committerSergey Sharybin <sergey@blender.org>2021-10-13 13:01:18 +0300
commitf71d479556b23ac012cfcf90530a1d9740955349 (patch)
treebe41c7a6968c44ce2f0c6799b68ead718e1da861 /intern
parent0558907ae674ebe81dc8910a6615fc32ce675d70 (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.cpp6
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);