[Bf-blender-cvs] [5daec72808d] cycles-x: Fix empty result on cancel in Cycles X
Sergey Sharybin
noreply at git.blender.org
Thu Sep 9 18:26:07 CEST 2021
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. */
More information about the Bf-blender-cvs
mailing list