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>2019-05-03 13:39:12 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-03 13:42:05 +0300
commitb5eb6548d1e7f8c01d84e4949ce614c83c7174c8 (patch)
tree77e9c6a992ad86ec850a712cfd6f5b154ec40a54 /source/blender/editors/armature
parentec474291a7e388f9a37e5e5409f42d4353789478 (diff)
Depsgraph: Remove filtering API
This was an attempt to speed up motion path calculation, which didn't really work in real world animation files, where animators already hide and disable all the heavy collections. Filtering approach also doesn't allow to have multiple frames evaluated in multiple threads easily. Filtering also adds extra complexity on keeping the graph in a correct and consistent state. Fixes T64057: Blender crash when use motion paths
Diffstat (limited to 'source/blender/editors/armature')
-rw-r--r--source/blender/editors/armature/pose_edit.c34
1 files changed, 1 insertions, 33 deletions
diff --git a/source/blender/editors/armature/pose_edit.c b/source/blender/editors/armature/pose_edit.c
index cf64210ebdb..954beda7777 100644
--- a/source/blender/editors/armature/pose_edit.c
+++ b/source/blender/editors/armature/pose_edit.c
@@ -65,7 +65,7 @@
#include "armature_intern.h"
-#define DEBUG_TIME
+#undef DEBUG_TIME
#include "PIL_time.h"
#ifdef DEBUG_TIME
@@ -197,38 +197,6 @@ void ED_pose_recalculate_paths(bContext *C, Scene *scene, Object *ob, bool curre
ListBase targets = {NULL, NULL};
bool free_depsgraph = false;
- /* Override depsgraph with a filtered, simpler copy */
- if (!current_frame_only && G.debug_value != -1) {
- DEG_FilterQuery query = {{0}};
-
- DEG_FilterTarget *dft_ob = MEM_callocN(sizeof(DEG_FilterTarget), "DEG_FilterTarget");
- dft_ob->id = &ob->id;
- BLI_addtail(&query.targets, dft_ob);
-
-#ifdef DEBUG_TIME
- TIMEIT_START(filter_pose_depsgraph);
-#endif
-
- depsgraph = DEG_graph_filter(depsgraph, bmain, &query);
-
-#ifdef DEBUG_TIME
- TIMEIT_END(filter_pose_depsgraph);
-#endif
-
- free_depsgraph = true;
- MEM_freeN(dft_ob);
-
-#ifdef DEBUG_TIME
- TIMEIT_START(filter_pose_update);
-#endif
-
- BKE_scene_graph_update_tagged(depsgraph, bmain);
-
-#ifdef DEBUG_TIME
- TIMEIT_END(filter_pose_update);
-#endif
- }
-
/* set flag to force recalc, then grab the relevant bones to target */
ob->pose->avs.recalc |= ANIMVIZ_RECALC_PATHS;
animviz_get_object_motionpaths(ob, &targets);