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:
Sergey Sharybin 2021-10-13 11:57:47 +02:00
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
1 changed files with 4 additions and 2 deletions

View File

@ -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);