Age | Commit message (Collapse) | Author |
|
Differential Revision: https://developer.blender.org/D3719
|
|
|
|
|
|
This is in preparation of upgrading our library dependencies, some of which
need C++11. We already use C++11 in blender2.8 and for Windows and macOS, so
this just affects Linux.
On many distributions this will not require any changes, on some
install_deps.sh will need to be run again to rebuild libraries.
Differential Revision: https://developer.blender.org/D3568
|
|
|
|
This commit actually adds some G.main... but at much, much higher level
than the ones it removes, so should still be better ;)
|
|
Strip unindented comment blocks - mainly headers to avoid conflicts.
|
|
|
|
|
|
This way we can avoid re-evaluation of certain parts of datablock
when something unrelated has changed.
|
|
|
|
|
|
Was possible to miss some relations from being built
when parent object is linked to the scene graph indirectly.
|
|
This statement is only relevant in 2.8, but causes confusion in master.
I kept the 'default' label to prevent compiler warnings about unhandled
cases. The break is needed because there should be at least one statement
after 'default'.
|
|
|
|
This is similar to previous fix for missing ID nodes, just the original
fix missed this part of change because it looked like it is already
happening.
|
|
Makes it more reliable to see what was updating last when
crash happens.
|
|
Was missing ID looper for pchan constraint.
|
|
|
|
|
|
This was fixed in 2.8 branch but not in master.
|
|
This is a part of copy-on-write sanitization, to avoid all the checks
which were attempting to keep sub-data pointers intact.
Point is: ID pointers never change for CoW datablocks, but nested
data pointers might change when updating existing copy.
Solution: Only bind ID data pointers and index of sub-data.
This will make CoW datablock 7update function was easier in 2.8.
In master we were only using pose channel pointers in callbacks,
this is exactly what this commit addresses. A linear lookup array
is created on pose evaluation init and is thrown away afterwards.
One thing we might consider doing is to keep indexed array of
poses, similar to chanhash.
Reviewers: campbellbarton
Reviewed By: campbellbarton
Subscribers: dfelinto
Differential Revision: https://developer.blender.org/D3124
|
|
Error in 891c1cfc9a3
|
|
- See `--log` help message for usage.
- Supports enabling categories.
- Color severity.
- Optionally logs to a file.
- Currently use to replace printf calls in wm module.
See D3120 for details.
|
|
This is required to T54437 (sequencer preview uses last updated scene).
Although the fix itself needs to be in 2.8, for the 2.8 specific
initialization code.
|
|
msvc's function.hpp does not like NULL for function pointers. disabled support for this platform.
|
|
Timing is printed to the console when running with --debug-depsgraph-time.
|
|
Empties were missing Parameters component.
|
|
MSVC still defines __cplusplus as 199711L until it's in full conformance with the newer c++ standards, however the things we need from the standard are fully supported, hence a check for the msvc version was needed.
|
|
Enabled with --debug-depsgraph-pretty, only works with ANSI terminals.
Thanks Bastien for review!
|
|
This way we can easily control format and keep it consistent.
And also possibly do other trickery, like coloring addresses!
|
|
This way we can add even more statistics, even one which will be print
to the console.
Would be nice if we also have verbosity level control.
|
|
Introduced explicit ID property node for driers in depsgraph,
so it is clear what is the input for driver, and what is the
output.
This also solved relations builder throwing lots of errors
due to ID property not being found.
|
|
Those were happening for drivers which points to invalid drivers, and those
drivers will have their own dedicated error prints.
|
|
|
|
Driver build result was never used, so no reason to return operation.
|
|
It was possible to have relations like A -> B -> C -> A (import thing is
that no other operations points into this cluster) which were not detected
or reported by dependency cycle solver.
Now this is solved by ensuring we don't leave unvisited nodes behind.
|
|
|
|
|
|
|
|
|
|
|
|
Makes it easier to add or remove fields needed to update relations.
|
|
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 :)
|
|
Currently unused, actual logic change will come in the next commit.
|
|
Was printing some tagging/evaluation prints when only building
messages were requested.
|
|
|
|
|
|
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.
|
|
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.
|