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.
This commit is contained in:
parent
0558907ae6
commit
f71d479556
Notes:
blender-bot
2023-02-14 06:23:08 +01:00
Referenced by issue #92177, Crash when selecting cycles as viewport renderer
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue