diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-01-05 19:07:34 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-01-05 19:47:10 +0300 |
commit | 3c04b44913732665bb607d07b7296b512531eec7 (patch) | |
tree | 24e1241e1e51b3c427422cf38ac2dfc14a544d4a | |
parent | 5e7e571b0df433856605512fd0eb65c5a5d002a2 (diff) |
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.
-rw-r--r-- | source/blender/render/intern/engine.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/render/intern/engine.c b/source/blender/render/intern/engine.c index e1778897777..797fb79ea47 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); } |