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-12-10Fix T58932: Impossible to influence the particle systemSergey Sharybin
2018-12-10Fix T57633: Particle texture update problemSergey Sharybin
Textures are now hooked up to the RESET operation of particle settings, which ensures particles being re-distributed when texture is changed. This is limited to a direct user modifications, which matches old behavior in 2.79.
2018-12-10Fix T58993: Duplicating after setting a rigid body world crashes Blender.Bastien Montagne
There is no guarantee that object in rigidbody collection already have a valid rgigidbody data when rebuilding deg relations, that is often generated on-the-fly by actual rigid body simulation. Note that this can be an issue when generating deg relations I guess... But at least it won't crash anymore.
2018-12-08Cleanup: styleCampbell Barton
2018-12-07Remove unused particle system recalc flagSergey Sharybin
2018-12-07Cleanup, typo in namingSergey Sharybin
\Something went wrong in the rename script..
2018-12-07Depsgraph: Make data allocation dependency more robustSergey Sharybin
This fix aims to fix crash/assert failure related on wrong evaluation order which happens when there is a cyclic dependency involved. The rationality of this change is that we can allow use of uninitialized scalar value, but memory is better be allocated. This might not be ideal still, but worth a try.
2018-12-07Depsgraph: Use shorter relation nameSergey Sharybin
It is clear enough already that it goes From to To.
2018-12-07Depsgraph: Cleanup, line lengthSergey Sharybin
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-07Fix T58325: Local view BugDalai Felinto
Aka all the thousand of reports duplicated here. I should have seen this coming, since I had to add a hack in the first place because things were "not working". I should have figured out earlier that COW handles base in a really special way, with its own special object_runtime_backup hack.
2018-12-05Fix T58679: Missing modifiers update on changes to textureSergey Sharybin
2018-12-05Depsgrapgh: Use more distinctive opcode for texture and image evaluationSergey Sharybin
2018-12-04Fix T58118: Make duplicates real does nothingSergey Sharybin
The issue was caused by transflag set in geometry evaluation never copied back top original object. Now we have a dedicated operation which does all sort copy back to original object, so we don't have to worry about atomic assignments or what gets set where. Still need to move boundbox to the same function, but it needs some careful doublechecking first.
2018-12-04Depsgraph: execute all COPY_ON_WRITE nodes first as a separate stage.Alexander Gavrilov
COW nodes in the graph are mostly connected via a relation type that doesn't propagate the update flags. Unfortunately, due to the scheduling implementation that means the relations don't actually guarantee execution order for indirect dependencies. Relations also don't guarantee order in case of cycles. As mentioned in IRC, the simplest way to fix possible problems is to execute all COW nodes as a separate execution stage. This seems to fix crashes with Data Transfer modifier in a cycle. Staging works by simply delaying actual scheduling of tasks for non-COW nodes until the second run of schedule_graph. Reviewers: sergey Differential Revision: https://developer.blender.org/D4027
2018-12-03Depsgraph: immediately free object's derived caches in the COW step.Alexander Gavrilov
After update of the mesh some of that data is so broken that using it would crash. To reduce the risk of crashes in case of dependency cycles, clean it up immediately.
2018-12-03Depsgraph: completely move customdata_mask to the ID node.Alexander Gavrilov
Move all mask-related fields from Object and OperationDepsNode to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY if the mask changes after DEG rebuild. Update DEG API and all code that uses it. This fixes "source mesh data is not ready" errors from Data Transfer modifier when parameters are changed in the UI after the recent mesh_get_eval_final fix. Reviewers: sergey Differential Revision: https://developer.blender.org/D4025
2018-12-03Depsgraph: Add missing cache file handling in build_id()Sergey Sharybin
2018-12-03Depsgraph: assert that mesh_get_eval_final/deform aren't used in eval.Alexander Gavrilov
Using those functions during multithreaded evaluation is a sure way to have a race condition and crash.
2018-12-02Merge branch 'master' into blender2.8Campbell Barton
2018-12-01Cleanup: styleCampbell Barton
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-30Fix T57981: Crash entering sculpt modeSergey Sharybin
2018-11-28Outliner/visibility: revert changes for now until we find better solutions.Brecht Van Lommel
See T57857 for discussion. This reverts: "Outliner: Do not gray out empty collections" 4521d3e7074d2e08ca813e1f4a2297f5000f335b. "Remove eye column from the outliner" fd16b359977c8932ada8db4ff0e43d0402fdc280. Fix/workaround issues in pose and edit mode" 6d2e2e30d50c40f302b62d3601b5742d7c7056c6. "Per view-layer collection visibility" 4de6a210c69fe254518ca8d6c860782c54f03749.
2018-11-28Per view-layer collection visibilityDalai Felinto
We still control this in the viewport collections visibility menu. But now we are actually changing the visibility of the collections, not of the objects. If a collection is indirectly invisible (because one of its parents are invisible) we gray it out. Also if you click directly in the collection names, it "isolates" the collection by hiding all collections, and showing the direct parents and all the children of the selected collection. Development Note: Right now I'm excluding the hidden collections from the depsgraph. Thus the need for tagging relations to update. If this proves to be too slow, we can change.
2018-11-27Cleanup: style, includesCampbell Barton
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-23Depsgraph: add a new operation node for computing B-Bone segments.Alexander Gavrilov
Computing the shape of a B-Bone is a quite expensive operation, and there are multiple constraints that can access this information in a variety of useful ways. This means computing the shape once per bone and saving it is good for performance. Since the shape may depend on the position of up to two other bones, often in a "cyclic" manner, this computation has to be a separate node with its own dependencies. Reviewers: sergey Differential Revision: https://developer.blender.org/D3975
2018-11-22Depsgraph: Ensure solver cleanup orderSergey Sharybin
Ensure that pose cleanup is never run before all IK solvers are finished.
2018-11-22Depsgraph: Cleanup, line wrappingSergey Sharybin
2018-11-22Depsgraph: Cleanup, make it easier to create relations with flagsSergey Sharybin
2018-11-21Depsgraph: Update commentSergey Sharybin
2018-11-21Depsgraph: Allow flush of CoW tag from ActionSergey Sharybin
This way we guarantee that action tagged for CoW will ensure order of updates with objects which are using it. Fixes T57870: Scaling keyframes in Graph Editor causes crash Fixes T57971: Moving keys in the Dopesheet crashes with Segfault 11 Fixes T57530: Moving keys on a rig, Crash Fixee T57491: Crash when trying to move keyframe in dope sheet
2018-11-21Depsgraph: Cleanup, use more clear nameSergey Sharybin
Five years later since the original commit, is probably not so bad timing on calling things by their clear name.
2018-11-20Speedup rigs with multiple objects deformed by bbonesSergey Sharybin
Previously each of the objects which has armature modifier will request deformation matricies from bbones. Thing is, all those deformations are the same and do not depend on object which is being modified. What's even worse is that this calculation is not cheap. This change makes it so bbones deformation is calculated once and stored in the armature object. After this armature modifiers simply use it. With a rigs we've got here dependency graph evaluation time goes down from 0.02 sec to 0.012 sec. Possible further optimization is to make bbone deformation calculated at the time when bone is calculated. This will avoid an extra threaded loop over all bones.
2018-11-20Depsgraph: Don't use derived meshSergey Sharybin
Ideally would need to make check based on evaluated mesh, but is now a good time to go away from derived mesh.
2018-11-19Fix T57889: Crashes on undo and redo while working with image or image emptySergey Sharybin
2018-11-17Cleanup: styleCampbell Barton
2018-11-16Fix T56673: Tara.blend from Blender cloud crashes on loadSergey Sharybin
The issue was caused by dependency cycle solver killing relation which was guaranteed various things: i.e. copy-on-write component orders and pose evaluation order (which must first run pose init function). Now it is possible to prevent such relations from being ignored. This is not a complete fix, but is enough to make this specific rig to work. Ideally, we also need to run copy-on-write operation prior to anything else.
2018-11-15Fix T57854: Disable viewport visibility crashSergey Sharybin
2018-11-15Depsgraph: Clear localization tag for CoW IDsSergey Sharybin
They are self-contained now, and should not cause any sync or free happening when freeing them.
2018-11-15Depsgraph: Build all type of IDs for modifiers and constraintsSergey Sharybin
It was missing handling of collections there, which caused collection used for smoke colliders to not be in the dependency graph.
2018-11-15Depsgraph: Make drivers builder less noisySergey Sharybin
Do early output when trying to add target relation with wrong rna_path. We can't do anything reliably in that case anyway, so hopefully it is a no-functional-change for artists, just avoids noisy error prints in the terminal.
2018-11-15Depsgraph: Save memory by ignoring invisible objectsSergey Sharybin
This finished old standing TODO which was attempting to ignore objects of all invisible collections. The difference here is that we remove invisible bases from view layers. This guarantees that the evaluated state is consistent and does not reference original objects.
2018-11-15Depsgraph: Fix/workaround crash after recent point cache changesSergey Sharybin
For some reason relations can not always be found. This is to be investigated, but doesn't hurt to be safe here. Also allows to unlock production.
2018-11-15Depsgraph: Use more human readable relation keys identifierSergey Sharybin
2018-11-15Cleanup: typo, whitespaceCampbell Barton
2018-11-14Depsgraph: suppress logs from add_relation on invalid driver variables.Alexander Gavrilov
Rig generators (e.g. rigify) use dummy drivers to attach extra ID references to rigs for Append/Link. These references use Single Property variables with empty path, which is intentionally invalid and shouldn't produce low-level error logs from depsgraph. The removed code would always print an error because RNAPathKey requires a valid path to produce a non-NULL reference.
2018-11-14Depsgraph: Remove meaningless evaluation modeSergey Sharybin
With the current implementation it only confuses logic around checks like vewport/render subdivision levels. If this mode is really needed for any decision making, implement this properly.