December 18, 2014, 15:33 (GMT) |
Depsgraph: Move task callback to the depsgraph_eval file It's just more a hassle of having separate file and some public-ish API to pass all the data around. Easier just have single file with all evaluation. |
December 18, 2014, 15:22 (GMT) |
Depsgraph: Avoid having one global lock for all the graphs That's a bit crazy to have single global lock in the .cpp file which could be easily coupled into Depsgraph structure so it would never interfere if several threads traverses the graphs. |
December 18, 2014, 15:09 (GMT) |
Depsgraph: A bit more cleanup Hopefully it's only me who touches this areas atm. |
December 18, 2014, 15:02 (GMT) |
Depsgraph: Code cleanup, wrapping and whitespace |
December 18, 2014, 14:57 (GMT) |
Depsgraph: Fix one more use-after-free issue |
December 18, 2014, 14:27 (GMT) |
Depsgraph: Move using std::vector to depsgraph_types.h Such a generic types declarations shouldn't happen inbetween of declaration of own stuff. |
December 18, 2014, 14:26 (GMT) |
Depsgraph: Code cleanup |
December 18, 2014, 14:09 (GMT) |
Depsgraph: Fix order of depsgraph destroying First need to remove all the nodes and links, then free the root, otherwise it's possible to access freed data on relations destroy. This is actually much bigger can of worms i'm afraid, need to make sure no access to previously freed nodes happens when doing full depsgraph destroy. |
December 18, 2014, 14:02 (GMT) |
Depsgraph: Correction to previous commit, it's unsafe to cast nodes We shouldn't cast time source node to operation node and access the flag. |
December 18, 2014, 13:51 (GMT) |
Depsgraph: Adding/removing modifiers should tag relations for update |
December 18, 2014, 13:45 (GMT) |
Depsgraph: Fix assert failure in the parents counting Currently time source is allowed parent for modifiers which depends on time, so we can not expect parents to be operation nodes. |
December 18, 2014, 11:51 (GMT) |
Depsgraph: Compilation error fixes for the strict compiler rules |
December 18, 2014, 11:17 (GMT) |
Depsgraph Debugging: Rudimentary stats for depsgraph Added a method/operator which prints out how many operations, relations, and outer nodes we have in the graph at a time. This is mostly useful to check on the complexity of rig files (e.g. koro from caminandes). |
December 18, 2014, 10:22 (GMT) |
Code Cleanup: Style + Removing dead code |
December 18, 2014, 08:07 (GMT) |
Fix: Relationships to time source nodes were getting removed by reachability pruning |
December 18, 2014, 06:30 (GMT) |
Moved DepsRelations (i.e. inlinks/outlinks lists) back to DepsNode as originally intended Otherwise, it really doesn't make much sense that we're deriving all these different node types from DepsNode, when these can't represent relationships between different nodes. Also, this will be useful for some upcoming new node types for keeping track of other kinds of dependencies other than what's executable. |
December 18, 2014, 04:08 (GMT) |
Made debugging identifiers for nodes less "scary" looking |
December 18, 2014, 03:55 (GMT) |
Fixed logic for verify_entry_exit_ops() This was assuming that there were relationships between nodes when checking for inlinks and outlinks. However, since relationships are computed in a later pass, there are always none, and it ends up nearly always adding unncessary entry/exit noops (unless there's just a single op in the component). |
December 18, 2014, 03:42 (GMT) |
Fix: Some of the object transform relations weren't quite right * For now, we need to connect the parent to the component init, or else the parent matrix doesn't accumulate correctly for object parenting * Final transform op wasn't getting hooked in at all |
December 18, 2014, 03:25 (GMT) |
Object transform evaluation is now done in new-depsgraph-driven callbacks instead of ubereval * The ubereval is still lurking around for handling proxy cruft * I've implemented a stripped-down version of the parenting code for use here (notably, without the slow parenting, and originmat support). The old/full version did a bit too much for us to be able to keep the old code running while we worked on the new version too, without making the code too messy. Later on, when we work out the geometry handling a bit more, we may need to replace the parent-matrix finding code it uses too (i.e. to make it grab data from context instead - especially in cases where it hunts for this info itself currently). |
|