[Bf-blender-cvs] [f71d479556b] master: Fix Cycles viewport after session reset

Sergey Sharybin noreply at git.blender.org
Wed Oct 13 12:01:21 CEST 2021


Commit: f71d479556b23ac012cfcf90530a1d9740955349
Author: Sergey Sharybin
Date:   Wed Oct 13 11:57:47 2021 +0200
Branches: master
https://developer.blender.org/rBf71d479556b23ac012cfcf90530a1d9740955349

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.

===================================================================

M	intern/cycles/blender/blender_session.cpp

===================================================================

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



More information about the Bf-blender-cvs mailing list