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
2017-07-21Fix T52134: New depsgraph crashes when evaluating several psys on from objectSergey Sharybin
2017-07-07Fix T51977: New depsgraph removes the grass in victor sceneSergey Sharybin
For now just make new depsgraph do similar updates to the old one. See bug report for more detailed information about what was going on.
2017-06-14Depsgraph: Cleanup, indentationSergey Sharybin
2017-06-14Depsgraph: Remove unused ID node removalSergey Sharybin
2017-06-13Depsgraph: Pass function bindings by const referenceSergey Sharybin
Avoids using copy-constructor invoked every time we pass function to the builder functions. Should lower number of CPU ticks spent during DEG construction.
2017-06-13Depsgraph: Remove root node conceptSergey Sharybin
Was rather weird and only used for time source. It is simpler to make depsgraph to keep track of time source directly. No need to introduce extra entitites without actual need.
2017-06-12Depsgraph: Remove residue from partial updates supportSergey Sharybin
2017-06-12Depsgraph: Add utility function to get depsgraph from node handleSergey Sharybin
The idea is to use this function for modifiers' updateDepsgraph functions instead of doing direct scene->depsgraph access.
2017-06-12Depsgraph: Remove outdated commentSergey Sharybin
2017-06-08Cleanup: cmake indentation, missing includeCampbell Barton
2017-06-07Depsgraph: Remove modifiers operation codeSergey Sharybin
Was internally a no-op operation, which only caused extra work to be done during depsgrpah traversal and evaluation, without making any measurable improvement.
2017-06-07Depsgraph: Remove unused operation codesSergey Sharybin
2017-06-07Depsgraph: Remove dead/unused operation codesSergey Sharybin
2017-06-06Depsgraph: Only use extern "C" when really neededSergey Sharybin
2017-06-02Cleanup: styleCampbell Barton
2017-06-01Depsgraph: Cleanup, line wraps after shortening APISergey Sharybin
2017-06-01Depsgraph: Remove operation types enumSergey Sharybin
Was only used to indicate entry/exit operation of component, which is now done explicitly. No reason to keep something which is unused and confusing.
2017-06-01Depsgraph: use explicit marking of component entry/exit operationsSergey Sharybin
This isn't used too often, and haivng such API will let us to skip specifying operation type for all oeprations.
2017-06-01Depsgraph: Cleanup, use DEG_NODE_CLASS prefix for node classesSergey Sharybin
2017-06-01Depsgraph: Cleanup, use DEG_NODE_TYPE prefix for depsgraph node typesSergey Sharybin
2017-06-01Depsgraph: Remove unused argument from time source querySergey Sharybin
2017-06-01Depsgraph: Remove subgraph nodesSergey Sharybin
Those were never finished nor used. Again, starting from clean state before we go into more complicated details.
2017-06-01Depsgraph: Remove dead codeSergey Sharybin
Was never used or worked on in ages, if any of this code is needed in the future it'll need to be redone anyway.
2017-06-01Depsgraph: Remove dead code from add_time_source()Sergey Sharybin
This was never finished or done or used, no reason to keep it. Better to simplify things before adding complexity of overrides and copy-on-write.
2017-06-01Depsgraph: Cleanup, get rid of relation typeSergey Sharybin
It was never actually used apart from being stored at a construciton time. This caused some redundancy and ncertanty about which relation type to use during construciton (often existing types were not close enough to particular use case).
2017-05-31Task scheduler: Optimize subsequent pushing bunch of tasksSergey Sharybin
The idea is to accumulate all new tasks in a thread local queue first without doing any thread synchronization (aka, locks and conditional variables) and move those tasks to a scheduler queue once they are all ready. This way we avoid per-task-pool lock and only have one lock per bunch of tasks. This is particularly handy when scheduling new dependency graph node children. Brings FPS of cached simulation from the linked below file from ~30 to ~50. See documentation for BLI_task_pool_delayed_push_{begin, end} and for TaskThreadLocalStorage::do_delayed_push. Fixes T50027: Rigidbody playback and simulation performance regression with new depsgraph Thanks Bastien for the review!
2017-05-30Depsgraph: Fix missing relations for objects which are indirectly linkedSergey Sharybin
This is a corresponding part of 7dda3cf.
2017-05-30Depsgraph: Remove extra modifiers callback loopSergey Sharybin
Seems to be a copy-paste error from code above.
2017-05-30Depsgraph: Fix object being tagged for data update when it shouldn'tSergey Sharybin
2017-05-30Move GHash/GSet/LinkList iterators to BLI filesSergey Sharybin
Those are not depsgraph or C++ specific and can be used by everyone.
2017-05-30Depsgraph: Use own implementation of stack rather than the one from STLSergey Sharybin
This way we always have predictable behavior, especially from the performance point of view. Additionally, if some bottleneck is found in stack implementation it'll be easier for us to address.
2017-05-30Move hash_combine utility function to a more generic placeSergey Sharybin
This way everyone can benefit from it, not only dependency graph.
2017-05-17Fix T49981: When camera is on inactive layer, it does not evaluate constraintsSergey Sharybin
Second round of fix, was broken by 843be91.
2017-05-11Depsgraph: Fix/workaround crahs when fcu->rna_path is NULLSergey Sharybin
2017-05-10Fix missing relation in new DEG between World and its NodeTree.Bastien Montagne
Was preventing update in 3DView etc. when changing something in the World's NodeTree, especially annoying in blender2.8 branch (since legacy depsgraph has been removed there), but also affecting master.
2017-05-02Revert "Depsgraph: Link from material to object shading"Sergey Sharybin
The change was initially needed for Blender 2.8 branch but the actual function was reverted in there. So no reason to keep dead unused placeholder in the dependency graph. This reverts commit fd69ba225540cde5e4c1fa651fb02df21ea0a143.
2017-04-18Depsgraph: Use proper scene to get frame from for pose constraints evaluaitonSergey Sharybin
Spotted by Luca, thanks!
2017-04-05Depsghraph: Remove unused functionSergey Sharybin
2017-03-31Depsgraph: Correction for the previous local view commitSergey Sharybin
Need to flush layers from components back to ID node.
2017-03-30Depsgraph: Fix missing updates when in local viewSergey Sharybin
This area is a subject of reconsideration, so for now used simplest way possible -- ensure depsgraph's nodes have proper layer flags when going in and out of local mode.
2017-03-24Ашч T50995: Wrong freestyle render with new depgraphSergey Sharybin
The iossue was caused by 0371ef1/
2017-03-16Depsgraph: Fixed crash with curve bevel indirect dupligroupsSergey Sharybin
Need to expand all object's dupli-groups, not only the dupli-groups of objects directly linked to the scene.
2017-03-16Depsgraph: Use string and vector in the DEG namespace onlySergey Sharybin
2017-03-16Depsgraph: Don't use explicit values in runtime only enumSergey Sharybin
Lower risk of forgetting to update some values here.
2017-03-15Fix strict compiler warning in the previous commitSergey Sharybin
2017-03-15Fix T50938: Cache not being reset when changing simulation settings with new ↵Sergey Sharybin
depsgraph The thing i'm really starting to hate is the requirement to specify both operation code and node type. Seems to be duplicated enums without real need for that.
2017-03-07Task scheduler: Add concept of suspended poolsSergey Sharybin
Suspended pools allows to push huge amount of initial tasks without any threading synchronization and hence overhead. This gives ~50% speedup of cached rigid body with file from T50027 and seems to have no negative affect in other scenes here.
2017-03-07Depsgraph: Remove workarounds from depsgraph for keeping threads aliveSergey Sharybin
This is something what should be done in the task scheduler instead with local thread queues so we handle this in a single place.
2017-03-07Task scheduler: Remove per-pool threads limitSergey Sharybin
This feature was adding extra complexity to task scheduling which required yet extra variables to be worried about to be modified in atomic manner, which resulted in following issues: - More complex code to maintain, which increases risks of something going wrong when we modify the code. - Extra barriers and/or locks during task scheduling, which causes extra threading overhead. - Unable to use some other implementation (such as TBB) even for the comparison tests. Notes about other changes. There are two places where we really had to use that limit. One of them is the single threaded dependency graph. This will now construct a single-threaded scheduler at evaluation time. This shouldn't be a problem because it only happens when using debugging command line arguments and the code simply don't run in regular Blender operation. The code seems a bit duplicated here across old and new depsgraph, but think it's OK since the old depsgraph is already gone in 2.8 branch and i don't see where else we might want to use such a single-threaded scheduler. When/if we'll want to do so, we can move it to a centralized single-threaded scheduler in threads.c. OpenGL render was a bit more tricky to port, but basically we are using conditional variables to wait background thread to do all the job.
2017-02-03Depsgraph: Add some extra debug prints on evalSergey Sharybin