diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 04:09:33 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 04:09:33 +0300 |
commit | db1099c0aeec3b793296808c77ea8eb9abad33f0 (patch) | |
tree | 8cd7de7b7139269cdb411ea0ca32485a608b1ae2 /source/blender/render | |
parent | 879032d2ab95fb6124eb95b131a0bbc315a05dfe (diff) | |
parent | ec324d87411b1e6ae9285eab2efcecb479d4dd46 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 56 |
2 files changed, 30 insertions, 28 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index ffd483a8b62..4770e98bd20 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -605,9 +605,11 @@ bool RE_bake_engine(Render *re, engine->resolution_x = re->winx; engine->resolution_y = re->winy; + BLI_rw_mutex_lock(&re->partsmutex, THREAD_LOCK_WRITE); RE_parts_init(re); engine->tile_x = re->r.tilex; engine->tile_y = re->r.tiley; + BLI_rw_mutex_unlock(&re->partsmutex); if (type->bake) { engine->depsgraph = depsgraph; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 77a482f8546..4a910d9e12c 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -1819,42 +1819,42 @@ bool RE_is_rendering_allowed(Scene *scene, } } - if (scemode & R_DOCOMP) { - if (scene->use_nodes) { - if (!scene->nodetree) { - BKE_report(reports, RPT_ERROR, "No node tree in scene"); - return 0; - } + if (RE_seq_render_active(scene, &scene->r)) { + /* Sequencer */ + if (scene->r.mode & R_BORDER) { + BKE_report(reports, RPT_ERROR, "Border rendering is not supported by sequencer"); + return false; + } + } + else if ((scemode & R_DOCOMP) && scene->use_nodes) { + /* Compositor */ + if (!scene->nodetree) { + BKE_report(reports, RPT_ERROR, "No node tree in scene"); + return 0; + } - if (!check_composite_output(scene)) { - BKE_report(reports, RPT_ERROR, "No render output node in scene"); - return 0; - } + if (!check_composite_output(scene)) { + BKE_report(reports, RPT_ERROR, "No render output node in scene"); + return 0; + } - if (scemode & R_FULL_SAMPLE) { - if (composite_needs_render(scene, 0) == 0) { - BKE_report(reports, RPT_ERROR, "Full sample AA not supported without 3D rendering"); - return 0; - } + if (scemode & R_FULL_SAMPLE) { + if (composite_needs_render(scene, 0) == 0) { + BKE_report(reports, RPT_ERROR, "Full sample AA not supported without 3D rendering"); + return 0; } } } - - /* check valid camera, without camera render is OK (compo, seq) */ - if (!check_valid_camera(scene, camera_override, reports)) { - return 0; - } - - if (RE_seq_render_active(scene, &scene->r)) { - if (scene->r.mode & R_BORDER) { - BKE_report(reports, RPT_ERROR, "Border rendering is not supported by sequencer"); - return false; + else { + /* Regular Render */ + if (!render_scene_has_layers_to_render(scene, single_layer)) { + BKE_report(reports, RPT_ERROR, "All render layers are disabled"); + return 0; } } - /* layer flag tests */ - if (!render_scene_has_layers_to_render(scene, single_layer)) { - BKE_report(reports, RPT_ERROR, "All render layers are disabled"); + /* check valid camera, without camera render is OK (compo, seq) */ + if (!check_valid_camera(scene, camera_override, reports)) { return 0; } |