diff options
Diffstat (limited to 'intern/cycles/session/session.cpp')
-rw-r--r-- | intern/cycles/session/session.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/intern/cycles/session/session.cpp b/intern/cycles/session/session.cpp index a2955da5480..acaa55f4990 100644 --- a/intern/cycles/session/session.cpp +++ b/intern/cycles/session/session.cpp @@ -43,6 +43,10 @@ Session::Session(const SessionParams ¶ms_, const SceneParams &scene_params) device = Device::create(params.device, stats, profiler); + if (device->have_error()) { + progress.set_error(device->error_message()); + } + scene = new Scene(scene_params, device); /* Configure path tracer. */ @@ -318,6 +322,13 @@ RenderWork Session::run_update_for_next_iteration() path_trace_->set_adaptive_sampling(adaptive_sampling); } + /* Update path guiding. */ + { + const GuidingParams guiding_params = scene->integrator->get_guiding_params(device); + const bool guiding_reset = (guiding_params.use) ? scene->need_reset(false) : false; + path_trace_->set_guiding_params(guiding_params, guiding_reset); + } + render_scheduler_.set_num_samples(params.samples); render_scheduler_.set_start_sample(params.sample_offset); render_scheduler_.set_time_limit(params.time_limit); |