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
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-08-23 17:17:06 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-08-23 17:40:35 +0300
commitf97d61c4bd2a9ab3c1dd0ae4902778bc9703a716 (patch)
tree1d426512c88b369396cc6885523570606f57347f /source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
parenta9ecfc965349241b858b1b23d0a3d9b987600b5d (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.cc8
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);