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-04-04Depsgraph: Cleanup, reduce indentation levelSergey Sharybin
2018-04-01Correct accidental changes by C Logging additionCampbell Barton
Error in 891c1cfc9a3
2018-03-30C Logging: use instead of printf for messagesCampbell Barton
- 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.
2018-03-29Merge remote-tracking branch 'origin/master' into blender2.8Dalai Felinto
Fix for T54437: Sequencer preview uses last updated scene The fix started in master, moving EvaluationContext initialization before we leave `deg_evaluate_on_refresh()`. Upon merging master we can fix the actual issue which was to set the EvaluationContext depsgraph even if the depsgraph was already updated.
2018-03-29Depsgraph: initialize EvaluationContext even if nothing to updateDalai Felinto
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.
2018-03-22Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-22Depsgraph: Report new depsgraph evaluation timeSergey Sharybin
Timing is printed to the console when running with --debug-depsgraph-time.
2018-03-15Depsgraph: Fix missing shader updates with copy on writeSergey Sharybin
Basically, don't do full in-place copy of node tree datablock if it's already expanded. Current way how node tree is evaluated is fully built around the idea that evaluation copies values from original to copied datablocks. Changing links is handled on another level.
2018-03-12Merge branch 'master' into blender2.8Sergey Sharybin
2018-03-12Depsgraph: Make timing profile a command line optionSergey Sharybin
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.
2018-02-28Depsgraph: Update tool settings when updating CoW sceneSergey Sharybin
2018-02-22Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-22Depsgraph: Use proper debug print flags checkSergey Sharybin
Was printing some tagging/evaluation prints when only building messages were requested.
2018-02-21Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-15Merge branch 'master' into blender2.8Sergey Sharybin
2018-02-15Cleanup: use '_len' instead of '_size' w/ BLI APICampbell Barton
- When returning the number of items in a collection use BLI_*_len() - Keep _size() for size in bytes. - Keep _count() for data structures that don't store length (hint this isn't a simple getter). See P611 to apply instead of manually resolving conflicts.
2018-02-14Object Mode: remove Scene.obeditCampbell Barton
This means we can support having the same scene in different windows with different edit-objects.
2018-02-08Object Mode: move to workspace structCampbell Barton
- Read-only access can often use EvaluationContext.object_mode - Write access to go to WorkSpace.object_mode. - Some TODO's remain (marked as "TODO/OBMODE") - Add-ons will need updating (context.active_object.mode -> context.workspace.object_mode) - There will be small/medium issues that still need resolving this does work on a basic level though. See D3037
2018-02-07Depsgraph: More fixes for shape keysSergey Sharybin
Made shape keys to work for meshes. Also added missing code for curves. Curves and lattices will not have shape keys visible, since modifiers support is still to be done for them.
2018-02-07Depsgraph: Fix crash with shape keys and latticesSergey Sharybin
Only crash is fixed, still need to do something about missing recalc or something like that.
2018-01-29Fix T53598: OpenGL Render Animation does not update shadowsSergey Sharybin
General idea of the fix: skip the whole draw manager callback madness which was used to tag object's engine specific data as dirty. Use generic recalc flag in ObjectEngineData structure instead. This gives us the following benefits; - Sovles mentioned bug report. - Avoids whole interface lookup for opened viewports for EVERY changed ID. - Fixes missing updates when viewport is temporarily invisible. Reviewers: dfelinto, fclem Differential Revision: https://developer.blender.org/D3028
2018-01-24Depsgraph: Add missing synchronize code to sceneSergey Sharybin
The issue here is that we can not duplicate the whole datablock since we use view layer pointers in depsgraph callbacks. Maybe this whole chunk of code belongs to somewhere else, or maybe we can find a smart solution to avoid need of CoW pointers passed to the evaluation functions. This fixes lack of viewport update when toggling collection enabled flag.
2018-01-16Depsgraph: pass depsgraph to editors update context structSergey Sharybin
This way callbacks will know which depsgraph is being changed, and where evaluated data is coming from.
2018-01-16Add dedicated pointer to an original ID datablockSergey Sharybin
Before we were re-using newid pointer inside of ID structure where we were storing pointer to an original datablock. It seems there is no way we can avoid requirement of having pointer to an original datablock, so let's stop obusing system which was only designed to be a runtime only thingie. Will be more safe this way, without need to worry about using any API which modifies newid.
2018-01-11Merge branch 'master' into blender2.8Sergey Sharybin
2018-01-11Depsgraph: Make eval initialization more friendly for threadingSergey Sharybin
Helps in cases of not very complex scenes and lots of system threads available. A bit hard to measure change on it's own, it works best with the upcoming changes and gives measurable improvements.
2018-01-10Merge branch 'master' into blender2.8Sergey Sharybin
2018-01-10Task scheduler: Use const qualifier in callbacks for parallel rangeSergey Sharybin
2018-01-10Task scheduler: Use restrict pointer qualifierSergey Sharybin
Those pointers are never to be aliased, so let's be explicit about this and hope compiler does save some CPU ticks.
2018-01-09Merge branch 'master' into blender2.8Sergey Sharybin
2018-01-09Task scheduler: Use single parallel range function with more flexible functionSergey Sharybin
Now all the fine-tuning is happening using parallel range settings structure, which avoid passing long lists of arguments, allows extend fine-tuning further, avoid having lots of various functions which basically does the same thing.
2018-01-09Task scheduler: Get rid of extended version of parallel range callbackSergey Sharybin
Wrap all arguments into TLS type of argument. Avoids some branching and also makes it easier to extend things in the future.
2017-12-21Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-21Depsgraph: Bring timing statistics to the new dependency graphSergey Sharybin
This statistics is only collected when debug_value is different from 0. Stored in depsgraph node itself, so we can always have access to average data and other stats which requires persistent storage. This way we also don't waste time trying to find stats from a separately stored hash map.
2017-12-21Depsgraph: Simplify some functions in evaluaitonSergey Sharybin
2017-12-21Depsgraph: Simplify evaluation functionSergey Sharybin
2017-12-20Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-20Depsgraph: Move ID node to own fileSergey Sharybin
2017-12-20Depsgraph: Move time source node to own fileSergey Sharybin
2017-12-20Depsgraph: Remove unused priority calculatorSergey Sharybin
While it sounds useful, in practice it was rather causing extra overhead and was slowing things down.
2017-12-20Depsgraph: Remove remaining parts of old removed debuggerSergey Sharybin
2017-12-19Depsgraph: Rework tagging and flushing routinesSergey Sharybin
The goal is: have id->recalc flags set to components which got changed. To make it possible for render engines to check on a more granular basis what changed in the object. For example, is it a transform which changed or is it just some ID property changed which has nothing to do with rendering. The tricky part is: we don't want duplicated logic in tagging and flushing. In order to avoid this duplication, we store ID recalc flag in the component node type information. That type information could easily be accessed by both tagging and flushing routines. Remaining part of the changes are related on changing the way how tagging works. The new idea here is to have utility function which maps update tag to a component. This way we can easily set ID recalc flags right away. Without any duplication of ID recalc flags set in multiple flag handler functions. With all this being said, there should be no user measurable difference for now, it's a gigantic basement for some upcoming work and fixes.
2017-12-18Depsgraph: Synchronize flushing with 2.8 branchSergey Sharybin
Not only this helps merges form master to the branch, but also: - Allows us to production-check changes as soon as possible. - Avoids some unnecessary editors update about ID changes. - Adds small optimization on queue size by always keeping one of the pointers outside of the queue.
2017-12-15Depsgraph: Add named constant with number of node typesSergey Sharybin
2017-12-15Depsgraph: Fix assignment to wrong flagsSergey Sharybin
2017-12-15Merge branch 'master' into blender2.8Sergey Sharybin
2017-12-15Move ID recalc flags into dedicated field in IDSergey Sharybin
Currently this is a no-visible-changes change, but the idea is to use this dedicated flag to tell which exact components of ID changed, make it more granular than just OBJECT and OBJECT_DATA. Allow setting this field based on what components new dependency graph flushed on evaluation.
2017-12-14Depsgraph: Cleanup, use more explicit way to fill in a structureSergey Sharybin
The possible issue with just listing arguments is that it might not be clear what particular value is used for. For example, is it a scene itself, or is it a parent scene? Not as if it's not very clear now, but better be explicit for the future, and me reading code in 10 years.
2017-12-13Depsgraph: Move data update tag to object->data itselfSergey Sharybin
2017-12-08Depsgraph: Groups are now covered by dependency graphSergey Sharybin