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