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>2017-11-07 18:29:31 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-11-07 18:36:25 +0300
commitba1197fe5e27f1cb7be281b3f20166a69050a273 (patch)
treed2852f12af386701db2f3c8dddf96b185efb248e /source/blender/editors
parentf16199d479189f1f142aebecf896182a7276c483 (diff)
Depsgraph: Simplify some workarounds and make API closer to final
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/object/object_add.c2
-rw-r--r--source/blender/editors/render/render_preview.c6
-rw-r--r--source/blender/editors/scene/scene_edit.c6
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c3
-rw-r--r--source/blender/editors/transform/transform_conversions.c10
5 files changed, 13 insertions, 14 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index d527e64e6c5..a761caab29b 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -1762,7 +1762,7 @@ static int convert_exec(bContext *C, wmOperator *op)
DEG_id_tag_update(&base->object->id, OB_RECALC_DATA);
}
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl);
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl, true);
uint64_t customdata_mask_prev = scene->customdata_mask;
scene->customdata_mask |= CD_MASK_MESH;
BKE_scene_graph_update_tagged(bmain->eval_ctx, depsgraph, bmain, scene);
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 9bcc6f49b6f..84c843af020 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -604,11 +604,7 @@ static Scene *preview_prepare_scene(Main *bmain, Scene *scene, ID *id, int id_ty
}
}
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(sce, scene_layer);
- /* TODO(sergey): This is a temporary solution. */
- if (depsgraph == NULL) {
- sce->depsgraph_legacy = depsgraph = DEG_graph_new();
- }
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(sce, scene_layer, true);
/* TODO(sergey): Use proper flag for tagging here. */
DEG_graph_id_tag_update(pr_main, depsgraph, &sce->id, 0);
DEG_relations_tag_update(pr_main);
diff --git a/source/blender/editors/scene/scene_edit.c b/source/blender/editors/scene/scene_edit.c
index 3799fed8ac2..4a104a330a4 100644
--- a/source/blender/editors/scene/scene_edit.c
+++ b/source/blender/editors/scene/scene_edit.c
@@ -124,11 +124,7 @@ void ED_scene_changed_update(Main *bmain, bContext *C, Scene *scene_new, const b
* but workspace should remember the last one set. Could store render-layer
* per window-workspace combination (using WorkSpaceDataRelation) */
SceneLayer *layer_new = BLI_findlink(&scene_new->render_layers, scene_new->active_layer);
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene_new, layer_new);
- /* TODO(sergey): This is a temporary solution. */
- if (depsgraph == NULL) {
- scene_new->depsgraph_legacy = depsgraph = DEG_graph_new();
- }
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene_new, layer_new, true);
CTX_data_scene_set(C, scene_new);
BKE_workspace_render_layer_set(CTX_wm_workspace(C), layer_new);
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index ec2dcc75bc0..75d064bbbac 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2057,7 +2057,8 @@ void ED_view3d_draw_offscreen(
}
else {
/* XXX, should take depsgraph as arg */
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, scene_layer);
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, scene_layer, false);
+ BLI_assert(depsgraph != NULL);
DRW_draw_render_loop_offscreen(depsgraph, eval_ctx->engine, ar, v3d, ofs);
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index b1013140711..ed215a84dc7 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -5540,7 +5540,10 @@ static void set_trans_object_base_flags(TransInfo *t)
Main *bmain = G.main;
SceneLayer *sl = t->scene_layer;
Scene *scene = t->scene;
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl);
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl, false);
+
+ /* Transform tool is expected to be executed from an evaluated scene. */
+ BLI_assert(depsgraph != NULL);
/*
* if Base selected and has parent selected:
@@ -5641,9 +5644,12 @@ static int count_proportional_objects(TransInfo *t)
Main *bmain = G.main;
SceneLayer *sl = t->scene_layer;
Scene *scene = t->scene;
- Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl);
+ Depsgraph *depsgraph = BKE_scene_get_depsgraph(scene, sl, false);
Base *base;
+ /* Transform tool is expected to be executed from an evaluated scene. */
+ BLI_assert(depsgraph != NULL);
+
/* rotations around local centers are allowed to propagate, so we take all objects */
if (!((t->around == V3D_AROUND_LOCAL_ORIGINS) &&
(t->mode == TFM_ROTATION || t->mode == TFM_TRACKBALL)))