The heap on windows is single threaded causing it to lag behind linux in performance in allocation heavy multithreaded scenarios, BVH building is a prime example.
See https://developer.blender.org/D6218 for benchmark results
for testing with the allocator enabled/disabled you can set the environment variable TBB_MALLOC_DISABLE_REPLACEMENT=1 to disable the TBB allocator.
Reviewed By: @sergey
Differential Revision: https://developer.blender.org/D6218
For `Particle Properties -> Viewport Display -> Display As` set to
circle/cross/axis, particle instances are associated with a single
resource handle (and, in particular, a single model matrix), so define
`IN_PLACE_INSTANCES` to get the right index for `ModelMatrix` and
`ModelInverseMatrix` in the shader.
Differential Revision: https://developer.blender.org/D6220
Open the file browser sidebar by default when adding Movie/Sound/Image Sequence Strips, to show the operator options.
Differential Revision: https://developer.blender.org/D6212
Reviewed by: William Reynish, Julian Eisel
As correctly pointed out by a comment in the code, adding
new springs wasn't thread safe, and caused crashes.
Fix by buffering new springs in intermediate thread-local
arrays, which are flushed on the main thread. This is valid
because the new springs are not used until the next sim step.
Differential Revision: https://developer.blender.org/D6133
Fixes alignment issues on Graph Editor menus used to insert keyframes.
Differential Revision: https://developer.blender.org/D6213
Reviewed by Campbell Barton
Very stupid mistake in own new generic ID lib_link function, that would try
to link ID pointers for all data-blocks, not only those actually needing it.
Usually Ctrl+C copies the operator name to the clipboard
["bpy.ops.material.new()", "bpy.ops.object.material_slot_remove()"]
Crash happens for all buttons of UI_BTYPE_BUT without associated
operator [some are defined with callbacks only, often these are created
with e.g uiDefIconBut (instead of e.g. uiDefIconButO)]
Other examples that crash with Ctrl+C:
- animation decorators next to animatable properties
- button to show a modifier texture in the texture tab
- ...
2.79 survived here (result in the clipboard was just not changed hitting
Ctrl+C on these buttons), this is what happens with this patch as well.
Maniphest Tasks: T71405
Differential Revision: https://developer.blender.org/D6208
'is_copy' was not set correctly on all uiButMultiState (it was done once
for uiHandleButtonData), resulting in 'delta' being used on some indices
of the array and not others in `ui_selectcontext_apply`.
Maniphest Tasks: T55632
Differential Revision: https://developer.blender.org/D6201
Experimental tab in User Preferences for experimental features.
The tab option is only visible when "Developer Extras" is on.
Included here is a (commented out) example panel to be used as a
template for the new experimental panels. Since these panels will come
and go it is nice to have a reference in the code.
Differential Revision: https://developer.blender.org/D6203