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-05-09Cleanup: spellingCampbell Barton
2020-05-09Cleanup: double-spaces in commentsCampbell Barton
2020-05-08Cleanup: take includes out of 'extern "C"' blocksJacques Lucke
Surrounding includes with an 'extern "C"' block is not necessary anymore. Also that made it harder to add any C++ code to some headers, or include headers that have "optional" C++ code like `MEM_guardedalloc.h`. I tested compilation on linux and windows (and got help from @LazyDodo). If this still breaks compilation due to some linker error, the header containing the symbol in question is probably missing an 'extern "C"' block. Differential Revision: https://developer.blender.org/D7653
2020-05-08Windows: Include symbol file in module informationRay Molenkamp
When writing out the module information in a crashdump we did not include what symbol file was loaded and if that symbol file actually matches our executable. Given the backtraces may contain invalid information if the symbols are unmatched this is relevant to know. This diff adds the symbol file and an indication if unmatched symbols are used.
2020-05-08Windows: Improve private symbol detectionRay Molenkamp
To detect if private of public symbols were loaded we were relying on a strcmp with a known filename, which was not great, the symbol api has a field we can query which should be more flexible and reliable.
2020-05-08Windows: Fix BLI_assert backtrace.Ray Molenkamp
With the recent backtrace overhaul, the fact that BLI_assert calls BLI_system_backtrace slipped somehow trough the cracks, causing issues for debug builds. This change allows BLI_system_backtrace to run again without having an exception record. Also minor improvements to the comments.
2020-05-08Cleanup: clang-formatCampbell Barton
2020-05-08Fix typo in recent quadric cleanupCampbell Barton
2020-05-07BLI: improve linear allocator documentationJacques Lucke
2020-05-07Blenlib: Added explicit BLI_INLINE in perlin noise.Stefan Werner
A few tiny functions were not inlined even in some release configurations. Added BLI_INLINE as extra compiler hint in places that the profiler showed at hot spots when populating geometry with hair.
2020-05-06Cleanup: restore text alignment lost by clang-formatCampbell Barton
2020-05-05Tasks: support build with TBB version 2017Brecht Van Lommel
Make the task pool implementation compatible with older versions that are used by install_deps.sh.
2020-05-05Build: print TBB ON/OFF state on first configure, cleanup old TBB logicBrecht Van Lommel
2020-05-04Add StringMap.LookupOrAdd and StringMap.LookupOrAddDefaultJacques Lucke
2020-05-04Cleanup: rename mcords to mcoordsCampbell Barton
- 'coords' is an abbreviation for coordinates, not 'cords'. - Rename 'moves' to 'coords_len'.
2020-05-04BLI: simplify memory management in OpenAddressingArrayJacques Lucke
2020-05-03Windows: Replace BLI_File* calls with system calls in system_win32.cRay Molenkamp
Using BLI calls in this file triggered a condition where poorly modelled dependencies in cmake (ie bf_blenlib using zlib headers but not linking the libraries) leading to linker error in debug builds of some of the tests. This diff sidesteps the dependencies issue by using native calls rather than BLI calls to check if a file exists and what its size is. Effectively sweeping the issue right back under the rug where I found it. The best solution would be to audit all libraries and ensure they have proper link requirements set, but that requires significantly more time than I have available right now. (zlib in blenlib was one of them and would have been easy to fix, but there were others that required more work) The alternative is tests that fail to build which worse. I'll revisit this and fix it properly but for now this will have to do.
2020-05-03Cleanup: clang-formatCampbell Barton
2020-05-01Fix: Fix build error on windowsRay Molenkamp
Headers and implementation had slightly different signatures
2020-05-01Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-05-01Cleanup: improve readability for color assignmentCampbell Barton
2020-04-30Revert "Windows: Support backtraces on release builds."Ray Molenkamp
Issues with older cmake.
2020-04-30Windows: Support backtraces on release builds.Ray Molenkamp
This diff add supports for crash logs on windows for release builds. This can be toggled on/off with the `WITH_WINDOWS_PDB` cmake option. by default it is on. Things to take into consideration: Release builds are hightly optimized and the resulting backtraces can be wrong/misleading, take the backtrace as a general area where the problem resides rather than an exact location. By default we ship a minimized symbol file that can only resolve the function names. This was chosen to strike a balance between growth in size of the download vs functionality gained. If more detailed information is required such as source file + line number information a full pdb can be shipped by setting `WITH_WINDOWS_STRIPPED_PDB` to off. The Release in the title of this diff refers to the release build type, not the official blender releases. Initially this will only be enabled for nightly build bot versions of blender, official releases as of now will not ship with symbols. Differential Revision: https://developer.blender.org/D7520 Reviewed by: brecht
2020-04-30Cleanup: unused variable warningsCampbell Barton
2020-04-30Task: Use TBB as Task SchedulerBrecht Van Lommel
This patch enables TBB as the default task scheduler. TBB stands for Threading Building Blocks and is developed by Intel. The library contains several threading patters. This patch maps blenders BLI_task_* function to their counterpart. After this patch we can add more patterns. A promising one is TBB:graph that can be used for depsgraph, draw manager and compositor. Performance changes depends on the actual hardware. It was tested on different hardwares from laptops to workstations and we didn't detected any downgrade of the performance. * Linux Xeon E5-2699 v4 got FPS boost from 12 to 17 using Spring's 04_010_A.anim.blend. * AMD Ryzen Threadripper 2990WX 32-Core Animation playback goes from 9.5-10.5 FPS to 13.0-14.0 FPS on Agent 327 , 10_03_B.anim.blend. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D7475
2020-04-28BLI: add VectorSet.is_empty methodJacques Lucke
2020-04-28Cleanup: remove unnecessary includesJacques Lucke
2020-04-28BLI: rename Vector.empty to Vector.is_emptyJacques Lucke
2020-04-28BLI: add Set.clear methodJacques Lucke
2020-04-28BLI: add Set.is_empty methodJacques Lucke
2020-04-28BLI: add library to simplify writing dot graph exportersJacques Lucke
See D6799 for some examples on how to use the library. Reviewers: sergey Differential Revision: https://developer.blender.org/D6799
2020-04-28BLI: add Map.lookup_or_add_default methodJacques Lucke
2020-04-28Cleanup: Strict compiler warning in release modeSergey Sharybin
2020-04-28BLI: add Map.is_empty() methodJacques Lucke
2020-04-25BLI: add LinearAllocatorJacques Lucke
This allocator is useful when it is necessary to allocate many small elements.
2020-04-25BLI: improve StringRef.copyJacques Lucke
2020-04-25BLI: add DefaultHash specializations for StringRef and StringRefNullJacques Lucke
2020-04-24BLI: Implement StringMap.add and StringMap.add_or_modifyJacques Lucke
2020-04-23BLI: various data structure improvementsJacques Lucke
* Rename template parameter N to InlineBufferCapacity * Expose InlineBufferCapacity parameter for Set and Map * Add some comments * Fixed an error that I introduced recently
2020-04-23BLI: remove TaskParallelRangePoolBrecht Van Lommel
This is not currently used and will take some work to support with TBB, so remove it until we have a new implementation based on TBB. Fixes T76005, parallel range pool tests failing. Ref D7475
2020-04-23BLI: optimize VectorSet implementationJacques Lucke
Instead of building on top of `BLI::Vector`, just use a raw array and handle the growing in `BLI::VectorSet`. After this change, the existing `EdgeSet` can be reimplemented using `BLI::VectorSet` without performance regressions.
2020-04-22BLI: add ScopedTimerJacques Lucke
This adds a simple timer that can be used for performance measurements in C++. More sophisticated timers are possible (e.g. one that takes averages, logs the results, ...). However, I found that this simple timer is good enough for 99% of my use cases. To use it just write `SCOPED_TIMER("my timer name");` or more commonly `SCOPED_TIMER(__func__);` into some scope. Reviewers: sergey Differential Revision: https://developer.blender.org/D7491
2020-04-21BLI: simplify naming of listbase wrapperJacques Lucke
2020-04-21BLI: Use .hh extension for C++ headers in blenlibJacques Lucke
2020-04-21BLI: add float2, float3, float4x4, Color4f and Color4bJacques Lucke
Reviewers: brecht, campbellbarton, sergey Differential Revision: https://developer.blender.org/D7450
2020-04-21CleanUp: Remove thread_id from `TaskFreeFunction`Jeroen Bakker
It isn't used; cleanup related to {D7475}
2020-04-21CleanUp: Renamed `BLI_task_pool_userdata` to `BLI_task_pool_user_data`Jeroen Bakker
In preparation for {D7475}
2020-04-21Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-04-21Fix clang-format differences between version 6 and 9Brecht Van Lommel
Version 6 does not appear to respect clang-format off for header sorting.
2020-04-17Task: Separate Finalize into Reduce And FreeJeroen Bakker
In preparation of TBB we need to split the finalize function into reduce and free. Reduce is used to combine results and free for freeing any allocated memory. The reduce function is called to join user data chunk into another, to reduce the result to the original userdata_chunk memory. These functions should have no side effects so that they can be run on any thread. The free functions should free data created during execution (TaskParallelRangeFunc). Original patch by Brecht van Lommel {rB61f49db843cf5095203112226ae386f301be1e1a}. Reviewed By: Brecht van Lommel, Bastien Montagne Differential Revision: https://developer.blender.org/D7394