Blender Git Commits

Blender Git commits from all branches.

Page: 1083 / 2888

November 11, 2019, 17:05 (GMT)
BLI_task: Add new generic `BLI_task_parallel_iterator()`.

This new function is part of the 'parallel for loops' functions. It
takes an iterator callback to generate items to be processed, in
addition to the usual 'process' func callback.

This allows to use common code from BLI_task for a wide range of custom
iteratiors, whithout having to re-invent the wheel of the whole tasks &
data chuncks handling.

This supports all settings features from `BLI_task_parallel_range()`,
including dynamic and static (if total number of items is knwon)
scheduling, TLS data and its finalize callback, etc.

One question here is whether we should provide usercode with a spinlock
by default, or enforce it to always handle its own sync mechanism.
I kept it, since imho it will be needed very often, and generating one
is pretty cheap even if unused...

----------

Additionaly, this commit converts (currently unused)
`BLI_task_parallel_listbase()` to use that generic code. This was done
mostly as proof of concept, but performance-wise it shows some
interesting data, roughly:
- Very light processing (that should not be threaded anyway) is several
times slower, which is expected due to more overhead in loop management
code.
- Heavier processing can be up to 10% quicker (probably thanks to the
switch from dynamic to static scheduling, which reduces a lot locking
to fill-in the per-tasks chunks of data). Similar speed-up in
non-threaded case comes as a surprise though, not sure what can
explain that.

While this conversion is not really needed, imho we should keep it
(instead of existing code for that function), it's easier to have
complex handling logic in as few places as possible, for maintaining and
for improving it.

Note: That work was initially done to allow for D5372 to be possible... Unfortunately that one proved to be not better than orig code on performances point of view.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D5371
November 11, 2019, 17:05 (GMT)
UI: Add new toolbar icons for polyline & eyedropper

These are meant for use in Grease Pencil Draw mode.
November 11, 2019, 17:05 (GMT)
UI: Hover States

Hover (active) widget states now affecting more elements and in a more consistent way.

Differential Revision: https://developer.blender.org/D6098

Reviewed by Campbell Barton
November 11, 2019, 17:05 (GMT)
UI: Correct prvicons

Correct source, output, and formatting of prvicons - larger icons used for file browser.

Not Reviewed
November 11, 2019, 17:05 (GMT)
Cleanup: remove icon files committed by accident
November 11, 2019, 17:05 (GMT)
UI: Icons update.

Updated icon set from Andrzej Ambro?.

- Includes new icons for Top Bar, Status Bar, CD/DVD drives, Home, Documents, Temp, Memory, Options.
- Includes small tweaks to many icons throughout Blender
- Also adds a large CD/DVD drive icon for the file browser

This does not add the new icons in the interface yet.
November 11, 2019, 17:05 (GMT)
Cleanup: remove unused object_image_guess

This made sense when we had tex-face feature,
since it's removed & unused, remove this function too.

D6079 by @alm
November 11, 2019, 17:05 (GMT)
macOS: Allow NSView subclasses to accept first mouse event.

This brings the behavior in line with Windows and Linux. Going between
multiple windows now doesn't use the first click only to change focus
but also allows Blender to process those events.
November 11, 2019, 17:05 (GMT)
Keymap: use Alt, Spacebar to set the cursor tool

There were no shortcuts for setting the 3D cursor.
November 11, 2019, 17:05 (GMT)
PyAPI: change behavior of bpy.path.module_names

Instead of checking for names that contain ".", only skip files
that start with a "." (since they're used for ".git" & ".arcconfig").

While other path names may fail to import, it's not the purpose of this
function to validate the path, have the caller must raise an error
instead of silently skipping them.

See D6140.
November 11, 2019, 17:05 (GMT)
Tool System: Use tapping Alt as a leader key to switch tools

Now tapping Alt prompts for a second input to switch tools.

Initial implementation of T69992
November 11, 2019, 17:05 (GMT)
UI: use zero box-spacing when used in headers

Without this, boxes are unusable in header layouts as they
add vertical space which shifts the items out of the header.
November 11, 2019, 17:05 (GMT)
WM: add utility to lookup a keymap item from an event

Useful for modal operators to be able to match events
against regular keymaps.
November 11, 2019, 17:05 (GMT)
UI: add utility to show icons for the keymap item

This is useful for drawing keymap items into the header or status bar

While these icons are available directly,
mapping them from the keymap item isn't trivial.
November 11, 2019, 17:05 (GMT)
UI: Incorrect Cursor Used in Split Area Operator

Incorrect cursor shown for horizontal split when selected from edge context menu.

Differential Revision: https://developer.blender.org/D6124

Reviewed by Campbell Barton
November 11, 2019, 17:05 (GMT)
Fix T70439: Local view always including new objects

The same issue is valid for objects from a recently re-enabled
collection.
November 11, 2019, 17:05 (GMT)
Shrinkwrap: improve numerical stability of Target Normal Project.

* Add proper adjustment for scale in the solver epsilon computation.
* Run at least one full iteration of the solver, even if the initial
state meets the epsilon requirement.
* When applying offset, blend normal into the offset direction
as the initial point moves very close to the target mesh.

Also random improvements to debug trace output in the console.
November 11, 2019, 17:05 (GMT)
Cleanup: spelling

Also remove historic bftgl reference.
November 11, 2019, 17:05 (GMT)
PyAPI: use public API's for module & builtin access

D6038 by @Dormouse
November 11, 2019, 17:05 (GMT)
Cleanup: warnings
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021