Blender Git Loki

Blender Git "fracture_modifier" branch commits.

Page: 10 / 130

January 9, 2018, 13:27 (GMT)
Add an 'atomic cas' wrapper for pointers.

Avoids having to repeat obfuscating castings everywhere...
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.
January 9, 2018, 13:12 (GMT)
Subsurf: Avoid possible use of partially initialized edge hash
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,
January 8, 2018, 16:23 (GMT)
install_deps: Fix OCIO always re-cloning its whole git repository.
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
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!
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.
January 8, 2018, 16:21 (GMT)
(Nodes) Display image name if any in the Image and Texture Image node title
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
January 8, 2018, 16:21 (GMT)
Fix leak when rendering OpenGL animations

We were duplicating rectf twice :/

Patch by Cl�ment Foucault.
January 8, 2018, 16:21 (GMT)
Fix T52953: Crash removing material
January 8, 2018, 16:19 (GMT)
Fix T53678: Smart Project UV margin ignores units
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
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).
January 8, 2018, 16:16 (GMT)
Fix T53639: text sequence strips no stamped into render.

Differential Revision: https://developer.blender.org/D2977
January 8, 2018, 16:16 (GMT)
Fix MSVSC2017 error

The last compiler version needs this include
January 8, 2018, 16:15 (GMT)
bpy_extras: add missing colorband keymap to keyconfig_utils.py

fixes failing ctest script_load_keymap
January 8, 2018, 15:49 (GMT)
Fix missing SpinLock typedef on macOS
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.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021