Commit: 5daec72808dae87f5b408751e4252e38ac5fd486
Author: Sergey Sharybin
Date:   Thu Sep 9 18:15:04 2021 +0200
Branches: cycles-x
https://developer.blender.org/rB5daec72808dae87f5b408751e4252e38ac5fd486

Fix empty result on cancel in Cycles X

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

M       intern/cycles/integrator/render_scheduler.cpp

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

diff --git a/intern/cycles/integrator/render_scheduler.cpp 
b/intern/cycles/integrator/render_scheduler.cpp
index 9ef8a795afb..d996aefa766 100644
--- a/intern/cycles/integrator/render_scheduler.cpp
+++ b/intern/cycles/integrator/render_scheduler.cpp
@@ -227,9 +227,19 @@ void 
RenderScheduler::render_work_reschedule_on_cancel(RenderWork &render_work)
   /* Un-schedule samples: they will not be rendered and should not be counted. 
*/
   state_.num_rendered_samples -= render_work.path_trace.num_samples;
 
+  const bool has_rendered_samples = get_num_rendered_samples() != 0;
+
+  /* Reset all fields of the previous work, canelling things like adaptive 
sampling filtering and
+   * denoising.
+   * However, need to preserve write requests, since those will not be 
possible to recover and
+   * writes are only to happen once. */
+  const bool tile_write = render_work.tile.write;
+  const bool full_write = render_work.full.write;
+
   render_work = RenderWork();
 
-  const bool has_rendered_samples = get_num_rendered_samples() != 0;
+  render_work.tile.write = tile_write;
+  render_work.full.write = full_write;
 
   /* Do not write tile if it has zero samples it it, treat it similarly to all 
other tiles which
    * got cancelled. */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to