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
AgeCommit message (Collapse)Author
2018-02-23Cleanup: header guards & styleCampbell Barton
2018-02-22Depsgraph: Fix mistake in previous refactor commitSergey Sharybin
2018-02-22Depsgraph: Remove unused bmain from modifiers relations update contextSergey Sharybin
2018-02-22Depsgraph: Wrap all arguments foe modifiers relations update into a structSergey Sharybin
Makes it easier to add or remove fields needed to update relations.
2018-02-22Depsgraph: Replace LIB_TAG_DOIT with hash lookupSergey Sharybin
This allows us to: - Not mock around with tags stored in a global space, and not to iterate over all datablocks in the database to clear the tags. - Properly deal with datablocks which might not be in main database. While it sounds crazy, it might be handy when dealing with preview, or some partial scene updates, such as motion paths. - Avoids majority of places where depsgraph construction needed bmain. This is something what could help in blender2.8 branch. From tests with production file here did not see any measurable slowdown. Hopefully, there is no functional changes :)
2018-02-22Depsgraph: Add utility class to keep track of handled ID datablocksSergey Sharybin
Currently unused, actual logic change will come in the next commit.
2018-02-22Depsgraph: Use proper debug print flags checkSergey Sharybin
Was printing some tagging/evaluation prints when only building messages were requested.
2018-02-22Depsgraph: Report graph construction time when run with --debug-depsgraph-buildSergey Sharybin
2018-02-22Depsgraph: Cleanup, reduce indentation levelSergey Sharybin
2018-02-21Depsgraph: Fix fake dependency cycle with chained IK solvers with tip excludedSergey Sharybin
Not sure why we need a relation from solver to a tip local transform, this will be handled via parent relation. Fixes remaining dependency cycles reported in T54083.
2018-02-21Depsgraph: Fix dependency when constraint influence drives some other constraintSergey Sharybin
It is not possible to address transform at particular position of constraint stack, and when constraint is being addressed is usually from driver variable. This fixes some of dependency cycles reported in T54083.
2018-02-21Depsgraph: Split debug flagsSergey Sharybin
Now it's possible to have debug messages for following things: - Graph construction - Graph evaluation - Graph tagging
2018-02-21Depsgraph: Report overall number of cycles detectedSergey Sharybin
Handy to quickly see if a fix fixed any of the cycles in a real rig, or whether it's introduced new ones.
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-02-15Cleanup: Remove BLI_ prefix from listbase macroSergey Sharybin
This is kind of doesn't matter where macro itself is defined. We should stick to the following: - If some macro is actually more an inline function, follow regular function name conventions. - If macro is a macro, type it in capitals. Use module prefix if that helps readability or it if helps avoiding accidents.
2018-02-08Depsgraph: Fix missing camera animation after visibility changesSergey Sharybin
Synchronize code in on_visible_update with depsgraph building. Need to update all cameras, since they might be hooked up to marker.
2018-02-07Cleanup: add _types.h suffix to DNA headersCampbell Barton
2018-02-06Depsgraph: Correction to previous particle fixSergey Sharybin
The reason it appeared working was due to left-over debug code to force time dependency. Real fix seems to include force tagging objects used by duplication, similar to what we do for some other modifiers already.
2018-02-02Fix missing group duplicated by hair in renderSergey Sharybin
Was happening when viewport visibility on the particle system is disabled. This became an issue after c45afcf, but the actual issue goes a bit deeper and the following aspects were involved: - Relations builder for particle system was ignoring particle system if it's visibility is not enabled for viewport. This is something what shouldn't have been done -- depsgraph relations are supposed to be the same no matter if it's viewport or render. - Relation builder was only dealing with duplication set to object, but was ignoring group duplication. This is technically a regression in 2.79a-RC as well, so would need to backport this fix to the branch after extra testing is done here in the studio.
2018-01-29Depsgraph: Correction for previous fixSergey Sharybin
Original fix only worked when there is one custom property.
2018-01-29Depsgraph: Fix missing update when property from proxy rig drives somethingSergey Sharybin
2018-01-29Depsgraph: Disable labels on relationsSergey Sharybin
This code was disable a while back and got re-enabled by some previous debug process. Having relation names in dot file helps understanding what's going on in one cases, but makes things spread too far away in others.
2018-01-29Depsgraph: Cleanup, line wrapsSergey Sharybin
2018-01-29Fix T53614: New Depsgraph ignores NLA stripsJoshua Leung
The new depsgraph was only considering the active action when attaching relations from the AnimData component/operation to the properties that are affected by the animation data. As a result, only properties animated by the active action were working, while those animated by NLA strips did not change when playing back/scrubbing the timeline. This commit fixes this introducing a recursive method to properly visit all NLA strips, and calling DepsRelBuilder::build_animdata_curves_targets() on each of those strips.
2018-01-19Cleanup: reaname LINKLIST_FOREACH -> LISTBASECampbell Barton
LinkList's are a different API, no need to confuse things.
2018-01-17Depsgraph: Fix for fake dependency cycle being created for shape key driversSergey Sharybin
One thing i'm not fully happy with is all this is_same_* functions. Need to get rid of this by probably adding explicit entry/init/whatever nodes and maybe making node criteria aware of whether key will be used as "from" or as "to" node.
2018-01-16Depsgraph: Fix fake cyclic dependencies for node tree driversSergey Sharybin
There was a fake cyclic dependency happening when node of node tree is driving another node of the same tree. This is related to T53794, but more fixes is needed here.
2018-01-16Depsgraph: Better relations nameSergey Sharybin
2018-01-16Depsgraph: Check for ID match when checking if operations corresponds to the ↵Sergey Sharybin
same bone
2018-01-16Depsgraph: Cleanup, indentationSergey Sharybin
2018-01-16Depsgraph: Cleanup, brace placement\Sergey Sharybin
2018-01-11Depsgraph: Make eval initialization more friendly for threadingSergey Sharybin
Helps in cases of not very complex scenes and lots of system threads available. A bit hard to measure change on it's own, it works best with the upcoming changes and gives measurable improvements.
2018-01-10Task scheduler: Use const qualifier in callbacks for parallel rangeSergey Sharybin
2018-01-10Task scheduler: Use restrict pointer qualifierSergey Sharybin
Those pointers are never to be aliased, so let's be explicit about this and hope compiler does save some CPU ticks.
2018-01-09Task scheduler: Use single parallel range function with more flexible functionSergey Sharybin
Now all the fine-tuning is happening using parallel range settings structure, which avoid passing long lists of arguments, allows extend fine-tuning further, avoid having lots of various functions which basically does the same thing.
2018-01-09Task scheduler: Get rid of extended version of parallel range callbackSergey Sharybin
Wrap all arguments into TLS type of argument. Avoids some branching and also makes it easier to extend things in the future.
2017-12-23Cleanup - Various style/typo fixesJoshua Leung
2017-12-21Depsgraph: Sort and clam number of statistics entriesSergey Sharybin
Makes log easier to read.
2017-12-21Depsgraph: Bring timing statistics to the new dependency graphSergey Sharybin
This statistics is only collected when debug_value is different from 0. Stored in depsgraph node itself, so we can always have access to average data and other stats which requires persistent storage. This way we also don't waste time trying to find stats from a separately stored hash map.
2017-12-21Depsgraph: Make it more clear that we dump relations into graphvizSergey Sharybin
We might implement other things to dump into graphviz, so better to start having explicit names.
2017-12-21Depsgraph: Simplify some functions in evaluaitonSergey Sharybin
2017-12-21Depsgraph: Simplify evaluation functionSergey Sharybin
2017-12-21Depsgraph: Fix mistake in previous commitSergey Sharybin
2017-12-21Depsgraph: Remove confusing declaration of node methodSergey Sharybin
it is only to be implemented for operation node.
2017-12-21Depsgraph: Remove one of temporary tags in the nodeSergey Sharybin
No real reason to have that, better to free up space for something much more awesome!
2017-12-21Depsgraph: Cleanup, move implementation away from headerSergey Sharybin
2017-12-21Depsgraph: Remove evaluation priority completelySergey Sharybin
2017-12-21Depsgraph: Remove eval priority from debuggerSergey Sharybin
This needs to be redone anyway, to correspond to possibly new priorities calculated for evaluaiton.
2017-12-21Depsgraph: Remove unused component context functionsSergey Sharybin
2017-12-20Depsgraph: Remove node class stored in both type info and nodeSergey Sharybin
This is something deliver form node type, there is no reason to try cache it anywhere, especially since it's not used in any performance critical code. Lighter weight dependency graph is what we want.