Revision e4e2e3a by Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 9, 2018, 13:27 (GMT) |
Add an 'atomic cas' wrapper for pointers. Avoids having to repeat obfuscating castings everywhere... |
Revision 71e0894 by Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 9, 2018, 13:14 (GMT) |
Fix scalability issue in threaded code of Mesh normals computation. We tried to do as much as possible in a single threaded callback, which lead to using some nasty tricks like fake atomic-based spinlocks to perform some operations (like float addition, which has no atomic intrinsics). While OK with 'standard' low number of working threads (8-16), because collision were rather rare and implied memory barrier not *that* much overhead, this performed poorly with more powerful systems reaching the 100 of threads and beyond (like workstations or render farm hardware). There, both memory barrier overhead and more frequent collisions would have significant impact on performances. This was addressed by splitting further the process, we now have three loops, one over polys, loops and vertices, and we added an intermediate storage for weighted loop normals. This allows to avoid completely any atomic operation in body of threaded loops, which should fix scalability issues. This costs us slightly higher temp memory usage (something like 50Mb per million of polygons on average), but looks like acceptable tradeoff. Further more, tests showed that we could gain an additional ~7% of speed in computing normals of heavy meshes, by also parallelizing the last two loops (might be 1 or 2% on overall mesh update at best...). Note that further tweaking in this code should be possible once Sergey adds the 'minimum batch size' option to threaded foreach API, since very light loops like the one on loops (mere v3 addition) require much bigger batches than heavier code (like the one on polys) to keep optimal performances. |
Revision 72151f3 by Sergey Sharybin / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 9, 2018, 13:12 (GMT) |
Subsurf: Avoid possible use of partially initialized edge hash |
Revision 83b0603 by Sergey Sharybin / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 9, 2018, 13:11 (GMT) |
Subsurf: Avoid global lock for loops and orig index layers This is a bit annoying to have per-DM locking, but it's way better (as in, up to 4 times better) for playback speed when having lots of subsurf objects, |
Revision b01fe3b by Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:23 (GMT) |
install_deps: Fix OCIO always re-cloning its whole git repository. |
Revision 4c8aa61 by Sebastian Koenig / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:23 (GMT) |
No groping in Blender's Tracker! This a small cleanup of something which I think is just a typo anyway. With all the recent talks of harrassment and groping, I think we better avoid that within our source code! :) Reviewers: sergey Reviewed By: sergey Tags: #motion_tracking Differential Revision: https://developer.blender.org/D2979 |
Revision a1d05ac by Sergey Sharybin / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:23 (GMT) |
Fix T53612: Blender crashes on CleanTracks with 'DELETE_SEGMENTS' and a disabled marker Simple fix, which is totally safe for 2.79a! |
Revision 0c36547 by Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:23 (GMT) |
Fix T53509: Datablock ID Properties attached to bpy.types.Material are not loaded. Stupid mistake in material reading code, thanks to Simon Wendsche (@BYOB) for the investigation and fix! To be backported to 2.79a. |
Revision 010cf35 by Inês Almeida / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:21 (GMT) |
(Nodes) Display image name if any in the Image and Texture Image node title |
Revision 2a9abc0 by Philipp Oeser / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:21 (GMT) |
Fix T53650: remove hard limits on force field size and max distance. Differential Revision: https://developer.blender.org/D2987 |
Revision e4dce3b by Dalai Felinto / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:21 (GMT) |
Fix leak when rendering OpenGL animations We were duplicating rectf twice :/ Patch by Cl�ment Foucault. |
Revision 243b961 by Campbell Barton / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:21 (GMT) |
Fix T52953: Crash removing material |
Revision 42e207b by Campbell Barton / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:19 (GMT) |
Fix T53678: Smart Project UV margin ignores units |
Revision 32fb501 by Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:18 (GMT) |
nstall_deps: llvm downloads new website location Patch by Lucas Walter (@lucasw), thanks. Reviewers: mont29 Reviewed By: mont29 Subscribers: mont29 Differential Revision: https://developer.blender.org/D2983 |
Revision c70a450 by Dalai Felinto / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:17 (GMT) |
Fix T53513: Particle size showing in multiple places Technically this was introduced in 01b547f9931970050e when exposing size and randomness for particles. This "fixes" makes sure particle size and size randomness is always in the Render panel when it affects the particle system (i.e., always unless using advanced hair or hair that is not rendering groups/objects). |
Revision 8f7030e by Philipp Oeser / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:16 (GMT) |
Fix T53639: text sequence strips no stamped into render. Differential Revision: https://developer.blender.org/D2977 |
Revision 405874b by Antonio Vazquez / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:16 (GMT) |
Fix MSVSC2017 error The last compiler version needs this include |
Revision 6afe655 by Ray molenkamp / Bastien Montagne (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 16:15 (GMT) |
bpy_extras: add missing colorband keymap to keyconfig_utils.py fixes failing ctest script_load_keymap |
Revision c721f93 by Arto Kitula / Sergey Sharybin (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 15:49 (GMT) |
Fix missing SpinLock typedef on macOS |
Revision dfed7c4 by Sergey Sharybin (blender-v2.79a-release, blender-v2.79b-release, fracture_modifier, fracture_modifier-master, temp-fracture-modifier-2.8) January 8, 2018, 15:49 (GMT) |
Fix T53068: AMD Threadripper not working well with Blender The issue was caused by SpinLock implementation in old pthreads we ar eusing on Windows. Using newer one (2.10-rc) demonstrates same exact behavior. But likely using own atomics and memory barrier based implementation solves the issue. A bit annoying that we need to change such a core part of Blender just to make specific CPU happy, but it's better to have artists happy on all computers. There is no expected downsides of this change, but it is so called "works for me" category. Let's see how it all goes. |
|