Blender Git Loki
Git Commits -> Revision fc1f5bd
Revision fc1f5bd by Alexander Gavrilov (master) January 24, 2020, 17:48 (GMT) |
Depsgraph: fix false positive time dependencies for simple drivers. The dependency graph has to know whether a driver must be re-evaluated every frame due to a dependency on the current frame number. For python drivers it was using a heuristic based on searching for certain sub- strings in the expression, notably including '('. When the expression is actually evaluated using Python, this can't be easily improved; however if the Simple Expression evaluator is used, this check can be done precisely by accessing the parsed data. Differential Revision: https://developer.blender.org/D6624 |
Commit Details:
Full Hash: fc1f5bded46afbb9b16fffe9e4c7f7c212566255
Parent Commit: 300f937
Lines Changed: +96, -34
6 Modified Paths:
/source/blender/blenkernel/BKE_fcurve.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+61, -8) (Diff)
/source/blender/blenlib/BLI_expr_pylike_eval.h (+1, -0) (Diff)
/source/blender/blenlib/intern/expr_pylike_eval.c (+18, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+2, -26) (Diff)
/tests/gtests/blenlib/BLI_expr_pylike_eval_test.cc (+13, -0) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+61, -8) (Diff)
/source/blender/blenlib/BLI_expr_pylike_eval.h (+1, -0) (Diff)
/source/blender/blenlib/intern/expr_pylike_eval.c (+18, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+2, -26) (Diff)
/tests/gtests/blenlib/BLI_expr_pylike_eval_test.cc (+13, -0) (Diff)