[Bf-blender-cvs] [15fbf32d8f8] cycles-x: Cycles X: restore support for render progress bar percentage
Brecht Van Lommel
noreply at git.blender.org
Wed Sep 15 19:25:42 CEST 2021
Commit: 15fbf32d8f8dbeb70b65a1adaf01310c690c27e0
Author: Brecht Van Lommel
Date: Wed Sep 15 13:25:50 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB15fbf32d8f8dbeb70b65a1adaf01310c690c27e0
Cycles X: restore support for render progress bar percentage
===================================================================
M intern/cycles/integrator/path_trace.cpp
M intern/cycles/integrator/path_trace.h
M intern/cycles/render/session.cpp
===================================================================
diff --git a/intern/cycles/integrator/path_trace.cpp b/intern/cycles/integrator/path_trace.cpp
index edec956e45d..5ffde894e5f 100644
--- a/intern/cycles/integrator/path_trace.cpp
+++ b/intern/cycles/integrator/path_trace.cpp
@@ -203,7 +203,7 @@ void PathTrace::render_pipeline(RenderWork render_work)
write_tile_buffer(render_work);
update_display(render_work);
- progress_update_if_needed();
+ progress_update_if_needed(render_work);
process_full_buffer_from_disk(render_work);
}
@@ -815,10 +815,14 @@ void PathTrace::read_full_buffer_from_disk()
}
}
-void PathTrace::progress_update_if_needed()
+void PathTrace::progress_update_if_needed(const RenderWork &render_work)
{
if (progress_ != nullptr) {
- progress_->add_samples(0, get_num_samples_in_buffer());
+ const int2 tile_size = get_render_tile_size();
+ const int num_samples_added = tile_size.x * tile_size.y * render_work.path_trace.num_samples;
+ const int current_sample = render_work.path_trace.start_sample +
+ render_work.path_trace.num_samples;
+ progress_->add_samples(num_samples_added, current_sample);
}
if (progress_update_cb) {
diff --git a/intern/cycles/integrator/path_trace.h b/intern/cycles/integrator/path_trace.h
index 7d9c965f067..3e92a819f31 100644
--- a/intern/cycles/integrator/path_trace.h
+++ b/intern/cycles/integrator/path_trace.h
@@ -224,7 +224,7 @@ class PathTrace {
void read_full_buffer_from_disk();
/* Run the progress_update_cb callback if it is needed. */
- void progress_update_if_needed();
+ void progress_update_if_needed(const RenderWork &render_work);
/* Pointer to a device which is configured to be used for path tracing. If multiple devices
* are configured this is a `MultiDevice`. */
diff --git a/intern/cycles/render/session.cpp b/intern/cycles/render/session.cpp
index 71cb3d1eb82..98a5e017ab6 100644
--- a/intern/cycles/render/session.cpp
+++ b/intern/cycles/render/session.cpp
@@ -411,12 +411,8 @@ void Session::do_delayed_reset()
/* Progress. */
progress.reset_sample();
-
- /* TODO(sergey): Progress report needs to be worked on. */
-#if 0
- bool show_progress = params.background || tile_manager_.get_num_effective_samples() != INT_MAX;
- progress.set_total_pixel_samples(show_progress ? tile_manager_.state.total_pixel_samples : 0);
-#endif
+ progress.set_total_pixel_samples(delayed_reset_.params.width * delayed_reset_.params.height *
+ delayed_reset_.samples);
if (!params.background) {
progress.set_start_time();
More information about the Bf-blender-cvs
mailing list