Commit Graph

17202 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
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
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
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
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
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
b09498700c Merge branch 'blender-v2.81-release' 2019-11-13 15:08:43 +11:00
d32520932f Fix sculpt + undo curve crash
PaintCurve data ID data wasn't being remapped.
Error in initial undo refactor.
2019-11-13 14:04:18 +11:00
Dalai Felinto
982bffa69f Merge branch 'blender-v2.81-release' 2019-11-11 11:26:24 -03:00
Dalai Felinto
3e4e346e59 Fix T71489: Video editor crash
Bug introduced on rBb77da65e8c4d.

Differential Revision: https://developer.blender.org/D6223
2019-11-11 10:56:07 -03:00
19c44ae087 Merge branch 'blender-v2.81-release' 2019-11-11 20:09:21 +11:00
c3dab45510 Fix lattice deform after undo and edit-mode exit
Follow up on T71414
2019-11-11 20:07:12 +11:00
dca32f2b4f Fluid Particles: fix threading crash with viscoelastic springs.
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
2019-11-09 13:44:43 +03:00
3ecb1056c9 Merge branch 'blender-v2.81-release' 2019-11-08 12:17:42 +11:00
e9d7fddeb4 Fix dyntopo sculpt not setting vertex indices dirty
This is an old bug exposed by new cursor drawing
which uses vertex indices.
2019-11-08 12:13:23 +11:00
72351aec72 Cleanup: clang-format 2019-11-08 11:50:16 +11:00
8d8c4562cc Merge branch 'blender-v2.81-release' 2019-11-08 11:45:39 +11:00
5c2670ca39 Cleanup: spelling 2019-11-08 11:44:23 +11:00
bda58b8a89 Cleanup: clang-format 2019-11-08 11:44:23 +11:00
23e1fb365b Merge branch 'blender-v2.81-release' 2019-11-07 21:36:23 +01:00
eefd806afc Fix in addition to T61432: Sampling Subframes not working 2.8
As mentioned in the discussion, emission from particles did not make use of subframes. This commit resolves this issue.
2019-11-07 21:33:56 +01:00
aadc90d0fc Stretch To: implement a mode similar to Damped Track for rotation.
Most of the time Stretch To is used in actual rigs, like BlenRig
or Rigify, in combination with Damped Track to handle rotation
before the stretch, because it produces rotations more appropriate
for organic deformation, and doesn't flip because of internal
gimbal lock.

The prevalence of this pattern suggests that Stretch To should
support that kind of rotation directly as an option.

Differential Revision: https://developer.blender.org/D6134
2019-11-07 19:03:03 +03:00
4e5768b2a7 Stretch To: clean up the math code in the implementation.
Combine computing `size` and normalizing the matrix, invert the
direction of `vec` to avoid negating it later, use `rescale_m4`
instead of matrix multiplication to scale the final result.

Differential Revision: https://developer.blender.org/D6134
2019-11-07 18:39:17 +03:00
50dc5648f5 Merge branch 'blender-v2.81-release' 2019-11-07 16:20:00 +01:00
74af698769 Fix T70875: Library Override: Clicking an Library Overriden Object crashes Blender.
We also need to rebuild the whole collection/viewlayer object cache
thing when we relink an objector collection in a collection (since it
might be part of a view layer).

Again, usual disclaimer about how inneficient this is currently, needs a
serious refactor to only tag caches as dirty, and actually rebuild the
whole thing on access.
2019-11-07 16:14:11 +01:00
322cec8e4d Merge branch 'blender-v2.81-release' 2019-11-07 17:02:09 +11:00
79b703bb63 Fix T69822: Switching sculpt objects breaks undo
This introduces object mode tagging for data which hasn't yet been
written back to the ID data.

Now when selecting other sculpt objects, the original objects data is
flushed back to the ID before writing a memfile undo step.
2019-11-07 16:56:21 +11:00
9243c77e43 Merge branch 'blender-v2.81-release' 2019-11-06 19:22:44 +01:00
265295e6a6 Fix Voxel Remesher preserve volume artifacts
Should Fix T70326

This implements the shrinkwrap options suggested in D5933. I did a few
test and it seems much more stable than the previous options.

Reviewed By: jbakker

Maniphest Tasks: T70326

Differential Revision: https://developer.blender.org/D6176
2019-11-06 19:21:43 +01:00
ee66059ac5 Merge branch 'blender-v2.81-release' 2019-11-06 19:15:48 +01:00
9b944e530e Clay Strips: Set default normal radius to 1.55
The previous default was 1.7, so the brush was more stable on surface
normal changes, but softer. I don't think users expect this brush to be
that stable, so by using 1.55 we make the brush a little bit stronger on
curved surfaces by default.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6187
2019-11-06 19:14:04 +01:00
7728bfd4c4 Constraints: remove special meaning of Local Space for parentless Objects.
In 2011 special handling was introduced, apparently for no other
reason than to address a complaint in T25707 that World and Local
space are equivalent for objects without parent. This causes issues
and confusion, as mentioned in rB599c8a2c8e4.

This special meaning of Local Space is not documented in the manual,
and is not known to experienced riggers, so removing it should not
be a problem.

Differential Revision: https://developer.blender.org/D6095
2019-11-06 15:36:05 +03:00
95a60fe84d Fix errors in fix for T68018 2019-11-05 09:14:47 +11:00
ece4515fc8 Fix T71250: ID user decrement error with ID properties in ViewLayer
Credit for the original patch goes to @scorpion81.
2019-11-04 15:02:03 +01:00
b5244cd5dc Fix errors in fix for T68018 2019-11-03 17:56:05 +11:00
7ddbc7b031 Merge branch 'blender-v2.81-release' 2019-11-02 21:53:14 -07:00
8ab6ef30ab Fix T68018: Crash on building movie proxy
Skip building proxy if directory can not be created.

Crash happens, when setting custom dir to location of source file itself.
This results in attempt to create directory with the same name as source file.

Differential Revision: https://developer.blender.org/D6148
Reviewed By: sergey
2019-11-02 20:57:11 -07:00
cca61a0fe2 Merge branch 'blender-v2.81-release' 2019-10-31 14:46:47 +01:00
cd827194f7 Paint: Option to disable antialiasing
You may want to disable antialiasing if you are working with pixel art
or low resolution textures. It is enabled by default.

Reviewed By: jbakker, campbellbarton

Differential Revision: https://developer.blender.org/D6044
2019-10-31 14:45:26 +01:00
51ac654b3f Merge branch 'blender-v2.81-release' 2019-10-29 19:30:24 +11:00
7cc489a2c8 Error in last commit 2019-10-29 19:29:38 +11:00
7d7bd02ea7 Cleanup: quiet TBB deprecation warning 2019-10-29 19:25:08 +11:00
d310cbfa0f Merge branch 'blender-v2.81-release' 2019-10-29 01:38:34 +11:00
312075e688 CMake: add missing headers, use space before comments 2019-10-29 01:33:44 +11:00
1aa1716924 Merge branch 'blender-v2.81-release' 2019-10-25 21:50:48 +11:00
7137d89daa Preferences: remove keymap items created with invalid data path
Before T65397 was fixed, invalid "(null)" data paths were being created.

Remove these keymap items from preferences.
2019-10-25 21:47:16 +11:00