Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2017-11-02 17:05:57 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2017-11-02 17:23:55 +0300
commit50c129760d0a32802a8b83a1d977a80c42210c00 (patch)
tree8960f019bf885233499af8b92e5b5d5e8a4598ab /intern
parent25f2abf314d02df0896e7678a31434d7b895b3d9 (diff)
Fix Cycles showing empty tiles while they are being denoised.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/blender_session.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index 73383ad5080..d9301125641 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -330,20 +330,20 @@ void BlenderSession::do_write_update_render_tile(RenderTile& rtile, bool do_upda
BL::RenderLayer b_rlay = *b_single_rlay;
if(do_update_only) {
- /* update only needed */
+ /* Sample would be zero at initial tile update, which is only needed
+ * to tag tile form blender side as IN PROGRESS for proper highlight
+ * no buffers should be sent to blender yet. For denoise we also
+ * keep showing the noisy buffers until denoise is done. */
+ bool merge = (rtile.sample != 0) && (rtile.task != RenderTile::DENOISE);
- if(rtile.sample != 0) {
- /* sample would be zero at initial tile update, which is only needed
- * to tag tile form blender side as IN PROGRESS for proper highlight
- * no buffers should be sent to blender yet
- */
+ if(merge) {
update_render_result(b_rr, b_rlay, rtile);
}
- end_render_result(b_engine, b_rr, true, highlight, false);
+ end_render_result(b_engine, b_rr, true, highlight, merge);
}
else {
- /* write result */
+ /* Write final render result. */
write_render_result(b_rr, b_rlay, rtile);
end_render_result(b_engine, b_rr, false, false, true);
}