Age | Commit message (Collapse) | Author |
|
The `modifiers_getVirtualModifierList()` function previously took a non-
const `Object *ob` parameter, preventing it from being called from more
restrictive functions. Since the function doesn't modify the passed
object, it could easily be made const.
No functional changes.
|
|
The old comment was outdated and incorrect.
No functional changes.
|
|
|
|
Use closest quaternion instead of only checking w sign flipping,
which didn't catch all cases.
T
|
|
Was happening when there was an image assigned to the track.
Another pair programming session with Clement.
|
|
Pair programming with Clement.
|
|
This code allows to push a set of different operations all based on
iterations over a range of indices, and then process them all at once
over multiple threads.
This commit also adds unit tests for both old un-pooled, and new pooled
task_parallel_range family of functions, as well as some basic
performances tests.
This is mainly interesting for relatively low amount of individual
tasks, as expected.
E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to BLI_task_parallel_range():
| Num Items | Sequential | Pooled | Speed-up |
| --------- | ---------- | ------- | -------- |
| 10K | 365 us | 138 us | 2.5 x |
| 100K | 877 us | 530 us | 1.66 x |
| 1000K | 5521 us | 4625 us | 1.25 x |
Differential Revision: https://developer.blender.org/D6189
Note: Compared to previous commit yesterday, this reworks atomic handling in
parallel iter code, and fixes a dummy double-free bug.
Now we should only use the two critical values for synchronization from
atomic calls results, which is the proper way to do things.
Reading a value after an atomic operation does not guarantee you will
get the latest value in all cases (especially on Windows release builds
it seems).
|
|
By error, the original datablock was used while rendering. Actually, only while the user is drawing the original data must be used because when we tested, the time the system uses to copy the datablock created a very bad "lag" feeling while drawing. Maybe the lag was half second only, but it ruined the pencil feeling.
I talked some time ago with Sergey about that and we decided use this approach.
Now, only the original datablock is used while the user is "moving" the pen, but not in any other situation.
Thanks @sergey for help me with this bug and sorry for thinking it was a depsgraph issue.
|
|
The new Mapping node was missing versioning code for drivers.
This patch refactors existing code and add versioning for drivers.
Reviewed By: Sergey Sharybin, Bastien Montagne
Differential Revision: https://developer.blender.org/D6302
|
|
`CTX_data_active_object(C)` returns `NULL` when there is no active object,
and this was not tested for in the code.
|
|
Exposed by test file in T71718
|
|
Don't modify the Python reference when copying custom-data.
|
|
|
|
importing matrix animations
|
|
|
|
This reverts commit f9028a3be1f77c01edca44a68894e2ba9d9cfb14.
This is giving weird heisenbug crash on only Windows release builds...
Reverting until we understand to issue.
|
|
This reverts commit e0cada951982093453a91b80342ce20c4f421fc8.
|
|
Adds a `text` parameter to `bpy.types.uiLayout.template_ID()` which
causes a label to be added, as usual. Adding the label also makes the
template respect the `bpy.types.uiLayout.use_property_split` option.
Also fixes wrong layout being used in the template-ID, although I think
that didn't cause issues in practice.
Sergey requested this for usage in the Movie Clip Editor.
|
|
Adds a theme setting to specify color of widget text insertion cursor (caret).
Differential Revision: https://developer.blender.org/D6024
Reviewed by Campbell Barton
|
|
|
|
Thanks Bastien for code review!
|
|
|
|
This code allows to push a set of different operations all based on
iterations over a range of indices, and then process them all at once
over multiple threads.
This commit also adds unit tests for both old un-pooled, and new pooled
`task_parallel_range` family of functions, as well as some basic
performances tests.
This is mainly interesting for relatively low amount of individual
tasks, as expected.
E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to `BLI_task_parallel_range()`:
| Num Items | Sequential | Pooled | Speed-up |
| --------- | ---------- | ------- | -------- |
| 10K | 365 us | 138 us | 2.5 x |
| 100K | 877 us | 530 us | 1.66 x |
| 1000K | 5521 us | 4625 us | 1.25 x |
Differential Revision: https://developer.blender.org/D6189
|
|
When scrollbars were redesigned, the size of UI-List scrollbars wasn't
updated. Those were still huge.
This makes their size consistent with other scrollbars and frankly,
non-rediculous.
|
|
Missed in recent BKE_remesh renaming.
|
|
Resolve linking issues, warnings.
|
|
|
|
|
|
|
|
Also correct some outdated symbol references,
add missing 'name' commands.
|
|
|
|
|
|
Would have prevented T71612
|
|
Error in version patching.
|
|
This was meant to set the selection end instead of the cursor
however it hasn't been working for years and seems quite obscure.
|
|
|
|
Add smooth scrolling support for vertical scrolling.
This is only active while scrolling so we don't need to support
pixel-level offsets for operators, interactions.
|
|
TBBMalloc seems to have a race condition somewhere on shutdown
that seems to show up in debug builds only, ideally we find the
issue and send a patch upstream but due to its racy nature it
has eluded capture so far. This patch disables TBBMalloc for
debug builds so that developers that actually need to get some
work done can work without being bothered by this misbehaviour.
|
|
The calculation of pro_super_r rounded to a non-exact float,
so put in rounding code for the special cases.
|
|
This implements a 5th-order equation smoothstep, which produces a flat
surface at the brush center. Some users find that our current grab brush
is too sharp, so now we have both options.
This also improves the behavior of the new clay brushes.
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D6265
|
|
|
|
When introducing "drag-all-selected" support all over Blender, we
figured this wouldn't work well with the Graph Editor
selection/transform behavior.
Hence, William and I worked on the following changes, although we used
this chance to improve the behavior in general too.
For more info see T70634.
* Handles now always move with the key, regardless if they are selected
or not.
* Selecting the key doesn't select the handles anymore, their selection
is separate.
* Multiple keys and handles can now be dragged.
* Dragging a handle moves all selected handles **on the same side**.
* Tweak-dragging any handle can never affect any keyframe location,
only handles.
* G/R/S should behave as before.
* Changing the handle type with a key selected always applies the change
to both handles.
* Box selection with Ctrl+Drag now allows deselecting handles (used to
act on entire triple only).
* Box selection //Include Handles// option now only acts on visible
handles, wasn't the case with Only Selected Keyframes Handles enabled.
* Box selection //Include Handles// is now enabled by default in all
bundled keymaps.
The changes have been tested for some days by the animators here in the
Blender Animation Studio. Some changes are based on their feedback.
Also, this improves/adds comments for related code.
Differential Revision: https://developer.blender.org/D6235
Reviewed by: Sybren Stüvel, William Reynish
|
|
`BLI_strncpy_wchar_from_utf8` internally assumes `wchar_t` is 32 bits
which is not the case on windows.
The solution is to replace `wchar_t` with `char32_t`.
Thanks to @robbott for compatibility on macOS.
Differential Revision: https://developer.blender.org/D6198
|
|
The code changes for custom bevels did not recalculated profiles
in certain non-custom-profile cases after projection plane moves.
|
|
It is possible to have action which is not nullptr but which have no
f-curves in it (for example, animate cube's location, then delete all
f-curves).
Such situation should not add time dependency as it could slow down
scene evaluation on frame change.
|
|
Diffing on undo steps is a critical performance point of override
system, although not required for override itself, it gives user
immediate feedback ove what is overridden.
Profiling showed that rna path text search over overrides operations was
by far the most costly thing here, so now using a runtime temp ghash
mapping for this search instead.
Seems to give at least 5 times speedup on big production rig.
|
|
Thx @campbellbarton for the heads up!
Maniphest Tasks: T69332
Differential Revision: https://developer.blender.org/D6284
|
|
Only indent when there aren't characters before the cursor.
This resolves the conflict with Ctrl-Space for view maximize.
D6239 by @wbrbr for text editor, based console support on this.
|
|
|
|
Previously the only way to draw polygon shapes from buttons
was to use a polygon that included the circular outline
with negative space for the un-filled areas.
This didn't always have visibility, especially when the gizmo was
overlaying colors that didn't contrast much.
Support drawing a generic backdrop with a polygon shape over it.
|