[Bf-blender-cvs] [c3457af23f0] blender-v3.0-release: Fix Cycles allocating result too early

Sergey Sharybin noreply at git.blender.org
Tue Jan 11 10:38:39 CET 2022


Commit: c3457af23f0e826cf6d1b4f0effd73daa4b3b898
Author: Sergey Sharybin
Date:   Wed Jan 5 17:07:34 2022 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rBc3457af23f0e826cf6d1b4f0effd73daa4b3b898

Fix Cycles allocating result too early

When tiled rendering was used the render result was
allocated at the end of every view layer render as
opposite of an intended end of all rendering.

Modify the render_result_end so that it only ensures
pixels are allocated if pixels are actually copied
over.

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

M	source/blender/render/intern/engine.c

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

diff --git a/source/blender/render/intern/engine.c b/source/blender/render/intern/engine.c
index 67c1e4f0eeb..6b93e52ec4d 100644
--- a/source/blender/render/intern/engine.c
+++ b/source/blender/render/intern/engine.c
@@ -435,8 +435,6 @@ void RE_engine_end_result(
     return;
   }
 
-  re_ensure_passes_allocated_thread_safe(re);
-
   if (re->engine && (re->engine->flag & RE_ENGINE_HIGHLIGHT_TILES)) {
     const HighlightedTile tile = highlighted_tile_from_result_get(re, result);
 
@@ -445,6 +443,7 @@ void RE_engine_end_result(
 
   if (!cancel || merge_results) {
     if (!(re->test_break(re->tbh) && (re->r.scemode & R_BUTS_PREVIEW))) {
+      re_ensure_passes_allocated_thread_safe(re);
       render_result_merge(re->result, result);
     }



More information about the Bf-blender-cvs mailing list