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
2020-01-30Merge remote-tracking branch 'origin/blender-v2.82-release'Sybren A. Stüvel
2020-01-30Fix T73051: Multiple IK chains influencing the same bone don't workSybren A. Stüvel
This patch fixes {T73051}. The cause of the issue was the absence of relations in the depsgraph between IK solvers of overlapping IK chains. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D6700
2020-01-28Merge remote-tracking branch 'origin/blender-v2.82-release'Sybren A. Stüvel
2020-01-28Alembic depsgraph: explicitly add ANIMATION -> CACHE dependencySybren A. Stüvel
This dependency was removed in fd0bc7e002ced8ffd85e9aa3edcae173dbd13392, as there already were dependencies ANIMATION -> PARAMETERS and PARAMETERS -> CACHE, making ANIMATION -> CACHE unnecessary. Upon subsequent inspection, the ANIMATION -> PARAMETERS dependency was there due to the fallback behaviour in `RNANodeQuery::construct_node_identifier()`. Now this is no longer relied upon, and the required relation is made explicit again.
2020-01-28Fix T72143: editing image frame start/offset does not update in EeveeBrecht Van Lommel
2020-01-28Merge remote-tracking branch 'origin/blender-v2.82-release'Sybren A. Stüvel
2020-01-28Fix T72660: Alembic caches are not properly updated by driversSybren A. Stüvel
Drivers were not considered when building the dependency graph for `CacheFile` datablocks.
2020-01-28Cleanup: reformatted after NULL -> nullptr in depsgraph C++ codeSybren A. Stüvel
No functional changes.
2020-01-28Cleanup: changed NULL to nullptr in depsgraph C++ codeSybren A. Stüvel
No functional changes.
2020-01-27Cleanup: fix compiler warningBrecht Van Lommel
2020-01-25Cleanup: spellingCampbell Barton
2020-01-24Merge branch 'blender-v2.82-release'Alexander Gavrilov
2020-01-24Depsgraph: fix false positive time dependencies for simple drivers.Alexander Gavrilov
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
2020-01-24Depsgraph: Correct FPS debug printSergey Sharybin
It was printing "frame" time instead of FPS. Other interesting thing to get solved is to solve "drop" in FPS when there is an idle time in user input. Current usecase is limited to observing FPS when there is a continuous stream of events: for example, keep moving vertex in edit mode while watching debug prints.
2020-01-24Depsgraph: Report FPS when running with --debug-depsgraph-timeSergey Sharybin
The FPS here is measured based on a timestamp from when depsgraph was previously evaluated. Allows to ease investigating performance improvements/regressions which are not related on animation system but on modifications on a single frame (such as transforming vertex in edit mode).
2020-01-24Merge branch 'blender-v2.82-release'Sergey Sharybin
2020-01-24Depsgraph: Refactor, move debug struct to own fileSergey Sharybin
2020-01-24Depsgrapg: Refactor, move Relation to own fileSergey Sharybin
2020-01-24Depsgraph: Refactor, wrap debug fields into own structureSergey Sharybin
2020-01-24Fix T73001: Shader Node with driver not updating when animatedSybren A. Stüvel
When there are ID properties on an object, and these are animated and used by a driver, the depsgraph has proper connections between ACTION → ID PROPERTY → DRIVER. When these properties are defined on a mesh, however, the depsgraph relations are incorrectly created between GEOMETRY → PROPERTIES_EXIT → DRIVER (because it's assumed that 'source = ENTRY' implies 'geometry'). This patch solves this by first checking whether the targeted property is an ID property and handling it accordingly. This also made it possible to remove some special cases from pose bone relations. Maniphest Tasks: T73001 Reviewed By: sergey Differential Revision: https://developer.blender.org/D6571
2020-01-21Merge remote-tracking branch 'origin/blender-v2.82-release'Sybren A. Stüvel
2020-01-21Fix T72213: F-Curve animation does not update FreeStyle propertiesSybren A. Stüvel
FreeStyle line styles were not part of the dependency graph, and blacklisted from the Copy-on-Write system. As a result, animated FreeStyle properties would not be updated by the animation system, resulting in T72213. There was an explicit call to run the animation system on the original datablocks, but that was (for good reasons) removed in D5394. This commit adds the FreeStyleLineStyle datablocks to the dependency graph and allows them to be handled by the CoW system. As a result - the UI now updates properly when properties are animated, and - animated property values are actually used when rendering. This commit includes @Sergey's patch P1222, which unifies two bits of code that did the same thing: check whether datablock type is covered by copy-on-write. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D6609
2020-01-13Fix T73029: Crash transforming objectSergey Sharybin
Was caused by recent animation backup added to depsgraph as a part of another bugfix. This commit effectively disables the animation backup, restoring bug related on handlers, but makes it possible to interact with objects again. Will re-iterate over handlers+animated properties.
2020-01-13Depsgraph: Guarantee order of backup of action and ID using itSergey Sharybin
It was possible to have object copy-on-write happening during action's copy-on-write, which was causing access to a freed memory from animation backup. Solves crash reported in T73029.
2020-01-13Depsgraph: Fix wrong access to animated propertiesSergey Sharybin
Copy-on-write backuyp was trying to read float from an array property, which is wrong. This is part of T73029.
2020-01-10Fix T71908: Animated properties are lost after frame-post handlerSergey Sharybin
The issue was caused by special handling of animation update after manual edits in frame_post handler: to avid loss of manual edits done on top of animated property. This was done as a separate pass for non-animation update after frame_post did modifications. This caused some other side-effect: non-modified animated property was re-setting to the value which is used in the viewport. Idea of this solution is simple: preserve values which came from animation update through copy-on-write process. The actual process of this is a bit involved: need to decode RNA path and do it twice since f-curve might point to a sub-data which pointer will change. Since this is only done for non-active depsgraph (aka depsgraph used for render pipeline) this is probably fine since all this extra overhead is just a fraction of overall render process. Differential Revision: https://developer.blender.org/D6330
2020-01-08Fix T62311: Metaball animation playback crashSergey Sharybin
This commit restores old metaball workaround which was forcing their update from a single thread. The root of the issue comes to the fact that metaball evaluation needs to access metaballs from duplilists, so they are properly polygonized with corresponding motherball which is outside of duplilist. In a more ideal world this will be implemented in a way that will not require iterating over all duplilists, but only through the ones which actually contain metaballs for the given motherball. In practice this ends up in a huge refactor in both relations builder (which meeds to see whether there are metaballs in duplilists without actually creating duplilist as it can not be done prior scene is evaluated) and in metaballs area which need to use new relations information. Additionally, metaball evaluation must become thread-safe, which is currently not a case with dupli-object matrices. There might be issues deeper in polygonization code which I am not aware of. Having this forced single-thread evaluation is same as Blender 2.79 was doing. Think it's better to have slower but simpler solution than to invest time in refactoring area which requires deeper design changes. Reviewed By: dfelinto Differential Revision: https://developer.blender.org/D6539
2020-01-07Depsgraph: Revert unwillingly staged change from previous commitSergey Sharybin
One of those days, sorry for the spam.
2020-01-07Depsgraph: Cleanup spellingSergey Sharybin
For some reason got sneaked into previous commit.
2020-01-07Depsgraph: Refactor, make evaluation stages easier to extendSergey Sharybin
Currently should be no functional changes, but allows to extend it for experiments or for real fixes.
2020-01-07Depsgraph: Cleanup, move private functions to anonymous namespaceSergey Sharybin
Allows to have shorter definition lines.
2020-01-07BMesh: remove BMEditMesh.ob pointerCampbell Barton
Remove this pointer since it's linking Mesh data back to the object, where a single edit-mesh may have multiple object users, causing incorrect assumptions in the code. Resolves dangling pointer part of the T72667 crash, although there are other issues which still need to be fixed. In EDBM_op_finish and EDBM_update_generic, full Main lookups have been added which should be replaced with mesh argument or the update tagging moved elsewhere.
2020-01-06Depsgraph: Fix wrong ID filteringSergey Sharybin
Was only using first ID instead of all of them. Might have been causing issues when updating motion paths of multiple objects. Spotted by Jack C, thanks!
2020-01-02Fix T72820: Linked objects jumping around during renderSergey Sharybin
Was caused by 6183688c3560 (thanks ronsn for nailing it down!). The issue is that order of copy-on-write operations is not defined, so can not use flags set by that operation to make decision.
2019-12-17Cleanup: sort struct declarationsCampbell Barton
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-12-11Depsgraph: add missing #include to DEG_depsgraph_query.hSybren A. Stüvel
The `DEG_depsgraph_query.h` file uses the `ITER_BEGIN` and `ITER_END` macros defined in `BLI_iterator.h` without including that header. No functional changes.
2019-11-29Depsgraph: Refactor, split runtime backup into smaller filesSergey Sharybin
It started to be a long code of all various cases in a single file, which started to be really confusing.
2019-11-27Cleanup: spelling, clang-formatCampbell Barton
2019-11-24Cleanup: spelling, repeated wordsCampbell Barton
2019-11-22Depsgraph: Ignore action time dependency if it's not neededSergey Sharybin
It is possible to have action which is not nullptr but which have no f-curves in it (for example, animate cube's location, then delete all f-curves). Such situation should not add time dependency as it could slow down scene evaluation on frame change.
2019-11-06Fix crash when adding Scene variable to a driverSybren A. Stüvel
When a Scene variable is added to a driver, and the RNA path is still NULL, it no longer crashes Blender.
2019-10-30Fix T71212: Drivers using scene.frame_current don't refresh on playbackSergey Sharybin
Need to make such drivers explicitly dependent on time.
2019-10-30Depsgraph: Cleanup, use anonymous nsamespaceSergey Sharybin
Jeeps overall line lengths with function definition shorter.
2019-10-18Fix T70919: Proxies crash after building motion pathSergey Sharybin
Was cause by recent fix for T65134 which assigned original object's proxy_from to an evaluated pointer. This is because motion path depsgraph does not include proxies, so the pointer in an evaluated object was kept pointing to an original object.
2019-10-15Fix T70771: Texture nodes in Compositor causes infinite updateSergey Sharybin
2019-10-11Depsgraph: Inform when update or tag happens during evaluationSergey Sharybin
It is not allowed to do tagging or updates while dependency graph is in the middle of evaluation. This is something what is simple to violate from python code. This change adds some sanity checks. The request to update view layer or dependency graph will raise an exception in Python now, so it's easy for scripters to notice. Tagging for update will do silent return unless running with debug command line argument. This is because it's a bit tricky to know which exact dependency graph corresponds to a context from which an update tag was triggered. Differential Revision: https://developer.blender.org/D6035
2019-10-11Depsgraph: Cleanup, promote is_evaluating querySergey Sharybin
This way it might be used for sanity checks in RNA API as well.
2019-10-11Depsgraph: Don't use push-from-thread when scheduling graphSergey Sharybin
This isn't guaranteed that graph is scheduled from main thread, so it is actually a miracle how it all worked.
2019-10-10Fix T65134: Duplicated proxies in several scenes don't workSergey Sharybin
This is something which worked in Blender 2.79. Need to do special trickery to ensure peoxy_from points to a proper object. Differential Revision: https://developer.blender.org/D6040