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
2019-01-04Depsgraph: Fix missing relation from node tree to lightSergey Sharybin
Was only happening when lamp had driver on the Light datablock. Reported by Dalai Felinto in T60137.
2019-01-03Fix T59072: Text extrusion cannot be animatedSergey Sharybin
2018-12-28Cycles: restore old sample and material override settings for view layers.Brecht Van Lommel
Since there will be no view layer overrides in 2.80, this is needed still.
2018-12-27Cleanup: styleCampbell Barton
2018-12-21Fix T59734: cyclic dependency with drivers on PoseBone.bbone_*.Alexander Gavrilov
Allow more flexible use of drivers on B-Bone properties by connecting the dependencies to the actual operation node that uses the values, instead of the whole component.
2018-12-21Fix inconsistent/broken Cycles object visibility for instances.Brecht Van Lommel
Object visibility is now handled by the depsgraph iterator, but this API was incomplete as it made no distinction for visibility of the object itself, particles and generated instances. The depsgraph iterator API now includes information about which part of the object is visible, and this is used by Cycles to replace the old custom logic. Cycles and EEVEE visibility should now be consistent, which unfortunately does means some subtle compatibility breakage for both. Fixes T58956, T58202, T59284. Differential Revision: https://developer.blender.org/D4109
2018-12-19Fixes for particle system and physicsSergey Sharybin
- Silence harmless error print about relation. Object with particle system which doesn't use physics will not have point cache component. - Tag relations for update when particle system physics type change. This ensures correct state of point cache component. This is all part of T59258.
2018-12-19Fix T59237: Instancing on a path doesn't do anythingSergey Sharybin
This commit makes it so curve path parent solving accepts an explicit arguments for both time and curve speed flag, making it so we don't have to mock around with scene's frame. One unfortunate issue still is that if the instancing object is used for something else, we might be running into a threading conflict. Possible solution would be to create a temp copy of an object, but then it will be an issue of preventing drivers from modifying other datablocks. At least the original issue is fixed now, and things behave same as in older Blender version. Additionally, the global variable which was defining curve speed flag behavior is gone now!
2018-12-13Fix force fields not affecting rigid bodiesSergej Reich
This fixes part of T58991. Still need to add proper relations so that point cache is marked as outdated when effectors are modified.
2018-12-11Fix T59174: Missing particles updateSergey Sharybin
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.