diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-23 17:17:06 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-08-23 17:40:35 +0300 |
commit | f97d61c4bd2a9ab3c1dd0ae4902778bc9703a716 (patch) | |
tree | 1d426512c88b369396cc6885523570606f57347f /source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | |
parent | a9ecfc965349241b858b1b23d0a3d9b987600b5d (diff) |
Depsgraph: Bring back visibility checks based on collection restrict flags
The title says it all actually, the idea is to speedup the following case:
- Visible duplicator of a restricted collection (reported as T56512),
One of the questionable change is that none of the view layer bases is
ignored now. This ensures corresponding objects will have copy-on-write
component evaluated, making it possible to access those pointers. The
evaluation of those objects is skipped.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3641
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc index 78d1a930eb7..360e823d1bd 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc @@ -79,7 +79,7 @@ void DepsgraphRelationBuilder::build_layer_collections(ListBase *lb) continue; } if ((lc->flag & LAYER_COLLECTION_EXCLUDE) == 0) { - build_collection(DEG_COLLECTION_OWNER_SCENE, NULL, lc->collection); + build_collection(NULL, lc->collection); } build_layer_collections(&lc->layer_collections); } @@ -94,12 +94,8 @@ void DepsgraphRelationBuilder::build_view_layer(Scene *scene, ViewLayer *view_la * passed to the evaluation functions. During relations builder we only * do NULL-pointer check of the base, so it's fine to pass original one. */ - const int base_flag = (graph_->mode == DAG_EVAL_VIEWPORT) ? - BASE_ENABLED_VIEWPORT : BASE_ENABLED_RENDER; LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) { - if (base->flag & base_flag) { - build_object(base, base->object); - } + build_object(base, base->object); } build_layer_collections(&view_layer->layer_collections); |