diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-07 19:01:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-08 17:02:19 +0300 |
commit | 20988ed5dcec977c641a29f2cc948d4bdb6f86cd (patch) | |
tree | 55615ab40db56e1ba5a5a55f7f78de540ee84926 /source/blender/blenkernel/intern/workspace.c | |
parent | 3750dfaa0a23130f1fc5200b67443ce68fa4d930 (diff) |
Depsgraph: Move storage from single per-scene depsgraph to a hash storage
Depsgraph itself is still created fer the whole scene rather than for a
single layer, this is to be addressed next.
The storage for those dependency graphs is in scene, but now it is a hash
indexed by layer. In the future we can extend hash key to include extra
information (workspace? window?).
Diffstat (limited to 'source/blender/blenkernel/intern/workspace.c')
-rw-r--r-- | source/blender/blenkernel/intern/workspace.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/workspace.c b/source/blender/blenkernel/intern/workspace.c index 04b18e6ecdb..79e1af810a5 100644 --- a/source/blender/blenkernel/intern/workspace.c +++ b/source/blender/blenkernel/intern/workspace.c @@ -469,3 +469,17 @@ void BKE_workspace_use_scene_settings_set(WorkSpace *workspace, bool value) workspace->flags &= ~WORKSPACE_USE_SCENE_SETTINGS; } } + +/* Update / evaluate */ + +void BKE_workspace_update_tagged(struct EvaluationContext *eval_ctx, + Main *bmain, + WorkSpace *workspace, + Scene *scene) +{ + SceneLayer *scene_layer = BKE_workspace_render_layer_get(workspace); + struct Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, + scene_layer, + true); + BKE_scene_graph_update_tagged(eval_ctx, depsgraph, bmain, scene); +} |