Commit Graph

73432 Commits

Author SHA1 Message Date
6fea251e01 Use mutex for lock in image.c
Usage of spinlock during heavy IO gave reduced performance
see D6267 for details.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D6267
2019-11-19 07:37:16 -07:00
Dalai Felinto
12915aad65 Fix T69798: Pinning empty image objects
We have no dedicated image context tab, so for now making sure we don't
end up passing its ID as the pinned one.

If we ever get one, we then will need a different solution here, like
changing the ID that owns the data to be the object, instead of the
empty image datablock.

Differential Revision: https://developer.blender.org/D6273
2019-11-19 10:26:31 -03:00
08588d06e8 Fix T71554: 'Hide Unselected' not working for certain selections
rBc6cbcf83d015 caused to early out e.g when not all faces were selected
(but surrounding faces were, so implicitly all vertices were selected).
Now take (mixed also) selection mode into account.

Maniphest Tasks: T71554

Differential Revision: https://developer.blender.org/D6254
2019-11-19 09:51:06 +01:00
04272613a7 Python API: assume that a crashed Python operator returned FINISHED.
The CANCELLED return value from an operator is intended for
signaling that the operator aborted execution without changing
anything, and an Undo stack entry should not be created.

When a Python operator crashes, it is not safe to assume that
it did nothing, so it should interpret it as FINISHED instead.
Otherwise, the undo system behavior after an operator failure
feels broken.

Differential Revision: https://developer.blender.org/D6241
2019-11-18 22:03:40 +03:00
Alessio Monti di Sopra
64c27b9690 WM: remove view operators from the undo stack 2019-11-19 00:56:07 +11:00
71d65e881f Merge branch 'blender-v2.81-release' 2019-11-18 23:58:02 +11:00
115a5bf65a Correct error in last commit 2019-11-18 23:53:34 +11:00
995b98aee2 Merge branch 'blender-v2.81-release' 2019-11-18 23:36:16 +11:00
1cb07530a9 Fix T71564: Undo stroke lags after entering sculpt mode
Regression since 2.80, see: T71434
2019-11-18 23:35:25 +11:00
d124545013 Fix wrong name for QuadriFlow undo step 2019-11-18 22:43:30 +11:00
8d4460b6c4 GHOST: Only spam about X11 errors when using --debug-ghost
This commit adds a new command line argument --debug-ghost and
makes it so X11 errors happening during context initialization
are only printed when this new flag is sued.

There is no need to flood users with errors when their GPU is
not supporting latest OpenGL version. Or, at a very minimum,
the error must be more meaning full.

Differential Revision: https://developer.blender.org/D6057
2019-11-18 09:28:17 +01:00
dc8be23234 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:16 +11:00
dfc232f892 Merge branch 'blender-v2.81-release' 2019-11-18 16:39:01 +11:00
99640d0622 Fix building on NetBSD 2019-11-18 16:27:06 +11:00
321afe0cd6 Fix building on 32bit systems 2019-11-18 16:25:59 +11:00
6d9d24e3d4 msvc: Use debug versions of tbb malloc for debug builds
Using the release versions gave unpredictable results when
the msvc debugger was attached for some developers.
2019-11-17 14:26:29 -07:00
e5b788bad8 Fix T68191: Make-instances-real doesn't select the new instances
2.79 also did this [select the new instances] which was useful.
2.79 also kept the instancer selected [this patch deselects]

Reviewed By: mont29

Maniphest Tasks: T68191

Differential Revision: https://developer.blender.org/D6233
2019-11-15 21:45:52 +01:00
17cb32c7bc Merge branch 'blender-v2.81-release' 2019-11-16 03:34:19 +11:00
eba4a4bd73 Fix active bone flip not activating the wpaint vertex group 2019-11-16 03:32:23 +11:00
554321c6fb Merge branch 'blender-v2.81-release' 2019-11-16 02:49:45 +11:00
b266b1034f Cleanup: quiet warnings 2019-11-16 02:49:15 +11:00
4cf24c10e2 Merge branch 'blender-v2.81-release' 2019-11-16 02:42:07 +11:00
f64064e4b1 Docs: correct indent for to_swing_twist docstring 2019-11-16 02:39:51 +11:00
Dalai Felinto
ef71668ac5 Merge remote-tracking branch 'origin/blender-v2.81-release' 2019-11-15 12:10:55 -03:00
Dalai Felinto
49db3f6bf1 Fix: Filebrowser saving dialog size when maximized
Reviewed By: Severin

Differential Revision: https://developer.blender.org/D6260
2019-11-15 12:10:16 -03:00
f8354d492d Fix crash when freeing Blender after GTests
This only frees brush_rng and random_tex_array when they were actually
previously allocated.

In a unit test (see D6246) I want to be able to partially start Blender
so that I can load a blend file. To prevent memory leaks, I also want to
be able to release memory, which currently requires calling
`BKE_blender_free()`. This unconditionally calls `RE_texture_rng_exit()`
and `BKE_brush_system_exit()`, which now crash on freeing `NULL`. This
patch fixes that.

Allocation (`BKE_brush_system_init()`) and freeing
(`BKE_brush_system_exit()`) are done asymmetrically. The allocation
functions are called from `main()` in the creator module, but the
freeing is done by `BKE_blender_free()` the Window Manager. Ideally we
symmetrise this and initialise Blender from outside the window manager
(so that the initialisation can be done without WM and Python too), but
for now I'm happy when things don't crash.

Reviewed by: sergey via pair programming
2019-11-15 15:13:18 +01:00
8863fc65ca Cleanup: unused argument, variable warnings 2019-11-15 14:36:16 +11:00
Julian Eisel
96ce32dca6 Fix T71590: Closing file browser reopens previously closed render view
The render view window was never closed actually, just moved behind the
main window. It's properly closed now.

It should also behave more like expected when there already is a
temporary window open (e.g. Preferences).
2019-11-15 00:23:52 +01:00
YimingWu
91248876e5 GPencil MultiStroke modifier
This patch includes a modifiers that developed for NPR rendering.

- MultiStroke modifier that generates multiple strokes around the original ones.

Differential Revision: https://developer.blender.org/D5795
2019-11-14 19:24:49 +01:00
92953fdefd Merge branch 'blender-v2.81-release' 2019-11-14 19:53:26 +11:00
cdca094224 Merge branch 'blender-v2.81-release' 2019-11-14 19:52:52 +11:00
9fff74f144 Sculpt: disable undo from any UI elements in sculpt mode
Causes undo push in sculpt mode, see: T71434
2019-11-14 19:50:48 +11:00
bcff803712 Paint: disable undo when changing the brush or it's size
Causes undo push in sculpt mode, see: T71434
2019-11-14 19:48:08 +11:00
079fd1579c Merge branch 'blender-v2.81-release' 2019-11-14 17:34:56 +11:00
47da01a4db Fix T70211: Brush keybindings failed with non-brush tool active 2019-11-14 17:29:42 +11:00
9b6d31fa69 Merge branch 'blender-v2.81-release' 2019-11-13 17:27:18 +01:00
9bd0d8b550 Sculpt: Sculpt template defaults
This commit includes all changes listed in T71366 except for the 2 column toolbar layout.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6225
2019-11-13 17:25:49 +01:00
9462d911ea Merge branch 'blender-v2.81-release' 2019-11-13 17:20:18 +01:00
fe86375d1c Force sculpting on highest multires level
This is a workaround for T58473 to avoid likely event of ruining
sculpted data.

Differential Revision: https://developer.blender.org/D6244
2019-11-13 17:15:54 +01:00
d7b3b3b22f Merge branch 'blender-v2.81-release' 2019-11-14 00:59:44 +11:00
c7b7722254 Fix T71434: Sculpt lags changing brush size
Add a check to wm.radial_control so undo steps are only added
to properties that have undo enabled (as is done with number buttons).
2019-11-14 00:57:26 +11:00
5ff7827980 Cleanup: correct mul_v4_v4fl declaration 2019-11-14 00:09:39 +11:00
2179f314a6 Cleanup: use int for operator return argument 2019-11-14 00:08:02 +11:00
97d79ca844 Merge branch 'blender-v2.81-release' 2019-11-13 11:49:09 +01:00
ca1721270a Fix T71503: Wrap + displace + multires + Sculpt crash
The root of the issue goes to the discontinuity between the way how
mesh_calc_modifiers() and BKE_sculpt_multires_active() works.

At some point detection of original data usage by a modifier got
broken: the mesh_final based check is unreliable because deform-only
modifiers will create mesh_final for the connectivity information.

This made it so modifier stack evaluation would skip multires
evaluation, but the sculpt code will assume the multires is properly
applied.

This change makes it an explicit check about whether there are any
non-deform-only modifiers applied.

Pair programming and review together with Bastien, thanks!
2019-11-13 11:29:19 +01:00
5fde907fd3 Modifiers: Correct deform-only modifiers
There was a discontinuity between how deform-only modifiers are applied
for the case when result deform mesh is requested and when it is not.

Namely, the input mesh will always be guaranteed to present in the
former case, but not in the latter.

This change makes it so input mesh to deform-only modifiers is always
at consistent state.

Pair programming and review together with Bastien, thanks!
2019-11-13 11:29:00 +01:00
c73a99ef90 Initial implementation of code signing routines
This changes integrates code signing steps into a buildbot worker
process.

The configuration requires having a separate machine running with
a shared folder access between the signing machine and worker machine.

Actual signing is happening as a "POST-INSTALL" script run by CMake,
which allows to sign any binary which ends up in the final bundle.
Additionally, such way allows to avoid signing binaries in the build
folder (if we were signing as a built process, which iwas another
alternative).
Such complexity is needed on platforms which are using CPack to
generate final bundle: CPack runs INSTALL target into its own location,
so it is useless to run signing on a folder which is considered INSTALL
by the buildbot worker.

There is a signing script which can be used as a standalone tool,
making it possible to hook up signing for macOS's bundler.

There is a dummy Linux signer implementation, which can be activated
by returning True from mock_codesign in linux_code_signer.py.
Main purpose of this signer is to give an ability to develop the
scripts on Linux environment, without going to Windows VM.

The code is based on D6036 from Nathan Letwory.

Differential Revision: https://developer.blender.org/D6216
2019-11-13 09:24:41 +01:00
b09498700c Merge branch 'blender-v2.81-release' 2019-11-13 15:08:43 +11:00
c98b062f87 Merge branch 'blender-v2.81-release' 2019-11-13 15:08:29 +11:00
d60a60f0cb Add support for the TBB allocator on windows.
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
2019-11-12 20:55:39 -07:00