blender.git
3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 25 Oct 2017 09:48:20 +0000 (11:48 +0200)]
Merge branch 'master' into blender2.8

3 years agoDepsgraph: Add missing movie clip dopesheet invalidation
Sergey Sharybin [Wed, 25 Oct 2017 09:45:31 +0000 (11:45 +0200)]
Depsgraph: Add missing movie clip dopesheet invalidation

3 years agoDepsgraph: Use explicit opcode for shape key
Sergey Sharybin [Wed, 25 Oct 2017 09:37:24 +0000 (11:37 +0200)]
Depsgraph: Use explicit opcode for shape key

3 years agoDepsgraph: Cleanup, use explicit cloth modifier opcode
Sergey Sharybin [Wed, 25 Oct 2017 09:34:41 +0000 (11:34 +0200)]
Depsgraph: Cleanup, use explicit cloth modifier opcode

Avoids use of placeholder operation which also was involving some string
comparisons.

3 years agoDepsgraph: Cleanup, don't call explicit add_id()
Sergey Sharybin [Wed, 25 Oct 2017 09:31:22 +0000 (11:31 +0200)]
Depsgraph: Cleanup, don't call explicit add_id()

This is redundant, adding components will check for ID to exist.

3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 25 Oct 2017 09:26:53 +0000 (11:26 +0200)]
Merge branch 'master' into blender2.8

3 years agoDepsgraph: Use explicit parameters eval operation code
Sergey Sharybin [Tue, 18 Jul 2017 09:55:06 +0000 (11:55 +0200)]
Depsgraph: Use explicit parameters eval operation code

This replaces usage of generic PLACEHOLDEWR with string lookup with more
explicit opcode. This should make it faster to build dependency graph by
avoiding string comparisons when it's not needed.

There should be no user measurable different.

3 years agoDepsgraph: Cleanup, use proper style for macro loop
Sergey Sharybin [Wed, 25 Oct 2017 09:05:03 +0000 (11:05 +0200)]
Depsgraph: Cleanup, use proper style for macro loop

3 years agoDepsgraph: Remove unsued node flag
Sergey Sharybin [Tue, 25 Jul 2017 12:06:17 +0000 (14:06 +0200)]
Depsgraph: Remove unsued node flag

3 years agoDepsgraph: Make operation codes more obvious
Sergey Sharybin [Wed, 25 Oct 2017 08:58:33 +0000 (10:58 +0200)]
Depsgraph: Make operation codes more obvious

This synchronizes al lrelated changes from blender2.8 branch.

3 years agoDepsgraph: Remove bunch of debug code
Sergey Sharybin [Tue, 24 Oct 2017 14:00:50 +0000 (16:00 +0200)]
Depsgraph: Remove bunch of debug code

Was never actually used and implementation seems to be slow: we shouldn't be
doing per-node evaluation hash lookups, adds too much overhead. We can instead
store statistics in the node itself, and maybe even group them somehow.

Ideally such a statistics should be user-friendly so riggers and animators
can see exactly what's happening.

3 years agoFix T53004: XWayland ignores cursor-warp calls
Campbell Barton [Wed, 25 Oct 2017 09:12:12 +0000 (20:12 +1100)]
Fix T53004: XWayland ignores cursor-warp calls

There is currently a limitation in XWayland,
the cursor needs to be hidden during warp calls.

3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 25 Oct 2017 08:13:35 +0000 (10:13 +0200)]
Merge branch 'master' into blender2.8

3 years agoEevee: Fix T53095: Black cube on start and no material updates
Clément Foucault [Wed, 25 Oct 2017 08:31:29 +0000 (10:31 +0200)]
Eevee: Fix T53095: Black cube on start and no material updates

This was caused by a not bound unused texture. Removing the texture usage fixes the problem.

3 years agoFix one more assert being triggered due to recent changes.
Brecht Van Lommel [Tue, 24 Oct 2017 23:22:16 +0000 (01:22 +0200)]
Fix one more assert being triggered due to recent changes.

3 years agoCode refactor: remove MEM_WRITE_ONLY, always use MEM_READ_WRITE.
Brecht Van Lommel [Tue, 24 Oct 2017 21:23:16 +0000 (23:23 +0200)]
Code refactor: remove MEM_WRITE_ONLY, always use MEM_READ_WRITE.

It's unlikely the driver can do useful optimizations with this, and if
we sum multiple samples we are reading from the memory anyway.

3 years agoSilence warning in outliner_id_remap_exec
Dalai Felinto [Tue, 24 Oct 2017 18:00:26 +0000 (16:00 -0200)]
Silence warning in outliner_id_remap_exec

3 years agoFix crash changing settings of operator executed in different scene
Julian Eisel [Tue, 24 Oct 2017 16:22:42 +0000 (18:22 +0200)]
Fix crash changing settings of operator executed in different scene

Steps to reproduce were:
* Open Blender, create a new scene
* Go back to initial scene, transform object
* Switch back to newly created scene, change operator settings there
* Should cause a crash (at least with asan)

Should behave like 2.7 now, that is, switch scene back to where
operator was executed.

3 years agoFix Cycles gtests build on macOS.
Brecht Van Lommel [Tue, 24 Oct 2017 11:09:41 +0000 (13:09 +0200)]
Fix Cycles gtests build on macOS.

3 years agoFix T53146: incomplete multi GPU and CPU + GPU memory statistics.
Brecht Van Lommel [Tue, 24 Oct 2017 14:59:17 +0000 (16:59 +0200)]
Fix T53146: incomplete multi GPU and CPU + GPU memory statistics.

Part due to recent changes, part old bug.

3 years agoDepsgraph: Avoid explicit relations rebuild calls
Sergey Sharybin [Tue, 24 Oct 2017 14:47:34 +0000 (16:47 +0200)]
Depsgraph: Avoid explicit relations rebuild calls

We wouldn't know which dependency graphs needs/safe for reconstruction,
so rather use API which tells that relations are out of date. This way
graph evaluation will take care of the rest.

Committing to 2.8 only since it's where we can't reliably know the graph
and is probably not that safe to apply this in master.

3 years agoDepsgraph: Remove residue of motion path optimization
Sergey Sharybin [Tue, 24 Oct 2017 14:39:26 +0000 (16:39 +0200)]
Depsgraph: Remove residue of motion path optimization

This needs to be re-implemented in a new fashion, without touching global list
of bases and become compatible with the new dependency graph.

The idea to go here would be to create new dependency graph for motion path
evaluation, bring a single object in there (which will pull all dependencies
at a construction) and use that.

Needs working copy-on-write first tho.

3 years agoDepsgraph: Remove bunch of debug code
Sergey Sharybin [Tue, 24 Oct 2017 14:00:50 +0000 (16:00 +0200)]
Depsgraph: Remove bunch of debug code

Was never actually used and implementation seems to be slow: we shouldn't be
doing per-node evaluation hash lookups, adds too much overhead. We can instead
store statistics in the node itself, and maybe even group them somehow.

Ideally such a statistics should be user-friendly so riggers and animators
can see exactly what's happening.

3 years agoDepsgraph: Remove shortcut of freeing scene's depsgraph
Sergey Sharybin [Tue, 24 Oct 2017 13:32:30 +0000 (15:32 +0200)]
Depsgraph: Remove shortcut of freeing scene's depsgraph

It will not be possible to do that after depsgraph becomes more context
oriented. Which means, all code will need to explicitly tell which graph
to free,

3 years agoDepsgraph: Remove scene from refresh API
Sergey Sharybin [Tue, 24 Oct 2017 13:29:43 +0000 (15:29 +0200)]
Depsgraph: Remove scene from refresh API

Scene is already stored in the graph.

3 years agoDepsgraph: Cleanup, remove unused function declaration
Sergey Sharybin [Tue, 24 Oct 2017 13:28:06 +0000 (15:28 +0200)]
Depsgraph: Cleanup, remove unused function declaration

3 years agoDepsgraph: Switch to explicit graph specification for tag flush
Sergey Sharybin [Tue, 24 Oct 2017 13:25:41 +0000 (15:25 +0200)]
Depsgraph: Switch to explicit graph specification for tag flush

3 years agoDepsgraph: Begin bringing API to pass explicit graph
Sergey Sharybin [Tue, 24 Oct 2017 13:14:22 +0000 (15:14 +0200)]
Depsgraph: Begin bringing API to pass explicit graph

This is a first step towards an updated API where we pass explicit graph rather
than a scene. This is because we can no longer deduct which graph to use since
it will depend on a context.

Will happen in several steps, so bisecting will not be such a pain.

3 years agoDepsgraph: Cleanup, remove unused function
Sergey Sharybin [Tue, 24 Oct 2017 13:05:03 +0000 (15:05 +0200)]
Depsgraph: Cleanup, remove unused function

It's unlikely we will ever want to flush tags on all possible scenes or
dependency graphs. It wouldn't be thread safe at a best.

3 years agoDepsgraph: Cleanup, unused function declaration
Sergey Sharybin [Tue, 24 Oct 2017 13:03:08 +0000 (15:03 +0200)]
Depsgraph: Cleanup, unused function declaration

3 years agoFix non-instanced groups in no-collection file creating collections
Dalai Felinto [Tue, 24 Oct 2017 12:21:24 +0000 (10:21 -0200)]
Fix non-instanced groups in no-collection file creating collections

This is a corner-case, but one that is too easy to reproduce:

* Unlink all the collections of active view layer.
* Link a group without "Instancing" it.

3 years agorna_layer.c cleanup: remove uneeded includes
Dalai Felinto [Tue, 24 Oct 2017 11:18:35 +0000 (09:18 -0200)]
rna_layer.c cleanup: remove uneeded includes

I have cleaned up the ones before "#ifdef RNA_RUNTIME", and forgot about the ones after.

3 years agoDepsgraph: Initialize depsgraph as need for update
Sergey Sharybin [Tue, 24 Oct 2017 11:54:12 +0000 (13:54 +0200)]
Depsgraph: Initialize depsgraph as need for update

This way we can delay graph allocation and relations update.

3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 24 Oct 2017 10:19:48 +0000 (12:19 +0200)]
Merge branch 'master' into blender2.8

3 years agoCycles: Fix compilation in debug mode
Sergey Sharybin [Tue, 24 Oct 2017 10:09:02 +0000 (12:09 +0200)]
Cycles: Fix compilation in debug mode

Please check compilation before committing refactor changes!

3 years agoCycles: Fix compilation error without C++11
Sergey Sharybin [Tue, 24 Oct 2017 09:14:01 +0000 (11:14 +0200)]
Cycles: Fix compilation error without C++11

3 years agoCycles: Fix memory leak in test and simplify code
Sergey Sharybin [Tue, 24 Oct 2017 09:12:28 +0000 (11:12 +0200)]
Cycles: Fix memory leak in test and simplify code

3 years agoCycles: Fix test compilation failure after recent refactor
Sergey Sharybin [Tue, 24 Oct 2017 08:47:02 +0000 (10:47 +0200)]
Cycles: Fix test compilation failure after recent refactor

The test will leak CPU devices, but is all passing other than that.
Leak will be fixed shortly.

P.S. Committing code refactor without running regression tests, tsk ;)

3 years agoFix T53143: Knife Crash after Grid Fill
Campbell Barton [Tue, 24 Oct 2017 06:05:10 +0000 (17:05 +1100)]
Fix T53143: Knife Crash after Grid Fill

BM_ELEM_INTERNAL_TAG flag wasn't ensured to be cleared.

3 years agoFix BMesh PyAPI internal flag clearing logic
Campbell Barton [Tue, 24 Oct 2017 05:52:54 +0000 (16:52 +1100)]
Fix BMesh PyAPI internal flag clearing logic

Would leave the flag set on raising an exception.

3 years agoFix edge-split bmesh operator giving empty result
Campbell Barton [Tue, 24 Oct 2017 05:29:29 +0000 (16:29 +1100)]
Fix edge-split bmesh operator giving empty result

3 years agoFix T53130: NLA Tweak (moved) Tracks + Alt+RMB Select does not work in Graph Editor
Joshua Leung [Tue, 24 Oct 2017 03:27:21 +0000 (16:27 +1300)]
Fix T53130: NLA Tweak (moved) Tracks + Alt+RMB Select does not work in Graph Editor

3 years agoFix T53134: denoising with CPU + GPU render leaves some tiles noisy.
Brecht Van Lommel [Tue, 24 Oct 2017 02:07:24 +0000 (04:07 +0200)]
Fix T53134: denoising with CPU + GPU render leaves some tiles noisy.

3 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 24 Oct 2017 00:04:58 +0000 (02:04 +0200)]
Merge branch 'master' into blender2.8

3 years agoCode refactor: move more memory allocation logic into device API.
Brecht Van Lommel [Fri, 20 Oct 2017 23:09:59 +0000 (01:09 +0200)]
Code refactor: move more memory allocation logic into device API.

* Remove tex_* and pixels_* functions, replace by mem_*.
* Add MEM_TEXTURE and MEM_PIXELS as memory types recognized by devices.
* No longer create device_memory and call mem_* directly, always go
  through device_only_memory, device_vector and device_pixels.

3 years agoCode refactor: use device_only_memory and device_vector in more places.
Brecht Van Lommel [Mon, 23 Oct 2017 17:32:59 +0000 (19:32 +0200)]
Code refactor: use device_only_memory and device_vector in more places.

3 years agoCode refactor: store device/interp/extension/type in each device_memory.
Brecht Van Lommel [Fri, 20 Oct 2017 21:31:13 +0000 (23:31 +0200)]
Code refactor: store device/interp/extension/type in each device_memory.

3 years agoCode refactor: pass device to scene, check OSL with device info.
Brecht Van Lommel [Fri, 20 Oct 2017 03:08:26 +0000 (05:08 +0200)]
Code refactor: pass device to scene, check OSL with device info.

3 years agoFix T53141: Assert when using transformation in new 3D View editor
Julian Eisel [Mon, 23 Oct 2017 22:32:07 +0000 (00:32 +0200)]
Fix T53141: Assert when using transformation in new 3D View editor

Was actually possible to invoke this assert failure in two ways:
* Transforming in newly created 3D View (like described in the report).
* Transforming in newly appended workspace from default workspaces.blend. Issue was that default workspaces.blend was saved in 2.8.1, but in a branch state that didn't include the transform-orientation changes. So versioning code wouldn't run when needed.

Note that files saved with this bug will still cause the assert to
fail. Can be ignored then.

This is not related to manipulators (as suggested in the report).

3 years agoRefactor: Move rna_scene.c layer/collection to rna_layer.c
Dalai Felinto [Mon, 23 Oct 2017 19:46:35 +0000 (17:46 -0200)]
Refactor: Move rna_scene.c layer/collection to rna_layer.c

rna_scene.c was getting way too big with data that was related to
DNA_layer_types.h.

I tried doing it earlier, but failed. But now with the new changes I think it's
better to do this sooner than later.

3 years agoFix OpenGL extension report in system info operator.
Antony Riakiotakis [Mon, 23 Oct 2017 19:22:22 +0000 (22:22 +0300)]
Fix OpenGL extension report in system info operator.

3 years agoVSE: draw grid lines at every second
Campbell Barton [Mon, 23 Oct 2017 11:27:21 +0000 (22:27 +1100)]
VSE: draw grid lines at every second

Was hard-coded to 25 frames.

D2893 by @jooert

3 years agoDocs: improve bmesh exception message
Campbell Barton [Mon, 23 Oct 2017 10:57:32 +0000 (21:57 +1100)]
Docs: improve bmesh exception message

Suggested in T53131

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 23 Oct 2017 03:38:22 +0000 (14:38 +1100)]
Merge branch 'master' into blender2.8

3 years agoCorrect gtest error in recent beautify change
Campbell Barton [Mon, 23 Oct 2017 03:20:35 +0000 (14:20 +1100)]
Correct gtest error in recent beautify change

3 years agoCleanup: Remove unused function declaration
Julian Eisel [Mon, 23 Oct 2017 00:11:45 +0000 (02:11 +0200)]
Cleanup: Remove unused function declaration

3 years agoMerge branch 'master' into blender2.8
Julian Eisel [Sun, 22 Oct 2017 22:04:20 +0000 (00:04 +0200)]
Merge branch 'master' into blender2.8

3 years agoPolyfill Beautify: half-edge optimization
Campbell Barton [Sun, 22 Oct 2017 14:15:26 +0000 (01:15 +1100)]
Polyfill Beautify: half-edge optimization

Was using an edge hash for triangle -> edge lookups,
updating triangle indices for each edge-rotation.

Replace this with half-edge which can rotate edges much more simply,
writing triangles back once the solution has been calculated.

Gives ~33% speedup in own tests.

3 years agoCode refactor: avoid some unnecessary device memory copying.
Brecht Van Lommel [Fri, 20 Oct 2017 02:32:29 +0000 (04:32 +0200)]
Code refactor: avoid some unnecessary device memory copying.

3 years agoCode refactor: simplify image device memory allocation.
Brecht Van Lommel [Fri, 20 Oct 2017 02:20:37 +0000 (04:20 +0200)]
Code refactor: simplify image device memory allocation.

3 years agoFix issue with resumable rendering in recent changes.
Brecht Van Lommel [Sat, 21 Oct 2017 18:57:31 +0000 (20:57 +0200)]
Fix issue with resumable rendering in recent changes.

3 years agoCycles: disable progressive refine if denoising or save buffers is used.
Brecht Van Lommel [Tue, 10 Oct 2017 00:28:23 +0000 (02:28 +0200)]
Cycles: disable progressive refine if denoising or save buffers is used.

Progressive refine undoes memory saving from save buffers, so enabling
both does not make much sense. Previously enabling progressive refine
would disable denoising, but it should be the other way around since
denoise actually affects the render result.

Includes some code refactor for progressive refine render buffers, and
avoids recomputing tiles for each progressive sample.

3 years agoCycles: combined CPU + GPU rendering support.
Brecht Van Lommel [Sat, 21 Oct 2017 16:58:59 +0000 (18:58 +0200)]
Cycles: combined CPU + GPU rendering support.

CPU rendering will be restricted to a BVH2, which is not ideal for raytracing
performance but can be shared with the GPU. Decoupled volume shading will be
disabled to match GPU volume sampling.

The number of CPU rendering threads is reduced to leave one core dedicated to
each GPU. Viewport rendering will also only use GPU rendering still. So along
with the BVH2 usage, perfect scaling should not be expected.

Go to User Preferences > System to enable the CPU to render alongside the GPU.

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

3 years agoMove & rename uiLayoutOperatorButs to interface_templates.c
Julian Eisel [Sat, 21 Oct 2017 14:47:25 +0000 (16:47 +0200)]
Move & rename uiLayoutOperatorButs to interface_templates.c

3 years agoManipulator: name remove func's 'unlink_delayed'
Campbell Barton [Sat, 21 Oct 2017 13:17:47 +0000 (00:17 +1100)]
Manipulator: name remove func's 'unlink_delayed'

Name wasn't right since this only unlinks from manipulator maps.

3 years agoManipulator: move 'Scale Cage' to its own tool
Campbell Barton [Sat, 21 Oct 2017 11:47:55 +0000 (22:47 +1100)]
Manipulator: move 'Scale Cage' to its own tool

Was activated with the regular scale manipulator,
move to own tool since they are different ways to access scale.

3 years agoWM: Initial Tool System
Campbell Barton [Sat, 21 Oct 2017 05:19:48 +0000 (16:19 +1100)]
WM: Initial Tool System

The tool-system it's self is primitive and may be changed.

Adding to 2.8 to develop operators and manipulators as tools.

Currently this is exposed in the toolbar, collapsed by default.
Work-flow remains unchanged if you don't change the active tool.

Placing the 3D cursor is now a Click instead of a Press event,
this allows tweak events to be mapped to tools such as border select,
keeping click for 3D cursor placement when selection tools are set.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 21 Oct 2017 01:43:17 +0000 (12:43 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: use relative imports in bl_ui
Campbell Barton [Sat, 21 Oct 2017 01:41:42 +0000 (12:41 +1100)]
Cleanup: use relative imports in bl_ui

3 years agoSilence warning on subsurf modifier
Dalai Felinto [Fri, 20 Oct 2017 20:16:34 +0000 (18:16 -0200)]
Silence warning on subsurf modifier

3 years agoDepsgraph: Reduce number of depsgraph_legacy usages outside of depsgraph
Sergey Sharybin [Fri, 20 Oct 2017 15:01:35 +0000 (17:01 +0200)]
Depsgraph: Reduce number of depsgraph_legacy usages outside of depsgraph

3 years agoDepsgraph: Make depsgraph a part of evaluation context
Sergey Sharybin [Fri, 20 Oct 2017 14:50:58 +0000 (16:50 +0200)]
Depsgraph: Make depsgraph a part of evaluation context

This way evaluation routines will know which exact depsgraph evaluation
is happening for.

Mainly needed to get evaluation flags associated with ID nodes.

3 years agoFix/workaround wrong dependency graph being constructed after creating a proxy
Sergey Sharybin [Fri, 20 Oct 2017 14:15:30 +0000 (16:15 +0200)]
Fix/workaround wrong dependency graph being constructed after creating a proxy

3 years agoFix T53109: denoising variance debug passes not working after recent changes.
Brecht Van Lommel [Fri, 20 Oct 2017 11:52:03 +0000 (13:52 +0200)]
Fix T53109: denoising variance debug passes not working after recent changes.

3 years agoFix compositor node links getting lost on file load for custom render passes.
Brecht Van Lommel [Fri, 20 Oct 2017 12:35:12 +0000 (14:35 +0200)]
Fix compositor node links getting lost on file load for custom render passes.

3 years agoDepsgraph: Introduce hash of dependency graphs in the scene level
Sergey Sharybin [Fri, 20 Oct 2017 10:28:25 +0000 (12:28 +0200)]
Depsgraph: Introduce hash of dependency graphs in the scene level

The idea is following: we do need to have multiple dependency graphs to denote
different scene layers (depsgraph should only contain objects from a specific
scene layer), and we also want to support same scene layer to be evaluated to
a different state in different windows. In order to achieve that we do need to
have a list or hash (for faster lookup presumably) somewhere. To keep things
easier for now, it will be a scene which owns that hash. This seems to make
sense anyway, since dependency graph only points to data which is owned by
scene.

This commit only introduces some basic API and hash itself stored in DNA, there
is no changes in behavior. See this as a first step towards getting rid of
scene-global dependency graph.

3 years agoDepsgraph: Remove redundant call of depsgraph free
Sergey Sharybin [Fri, 20 Oct 2017 10:10:29 +0000 (12:10 +0200)]
Depsgraph: Remove redundant call of depsgraph free

3 years agoRemove unused dependency graph flags from scene
Sergey Sharybin [Fri, 20 Oct 2017 09:30:39 +0000 (11:30 +0200)]
Remove unused dependency graph flags from scene

3 years agoRemove some residue of old legacy dependency graph
Sergey Sharybin [Fri, 20 Oct 2017 09:26:00 +0000 (11:26 +0200)]
Remove some residue of old legacy dependency graph

3 years agoFix T46163: NLA properties with drivers aren't displayed as having drivers
Joshua Leung [Fri, 20 Oct 2017 04:04:57 +0000 (17:04 +1300)]
Fix T46163: NLA properties with drivers aren't displayed as having drivers

While such drivers will generally get evaluated too late to be of much
use during animations, it can still be useful to allow using drivers to
control a whole bunch of NLA strip properties (i.e. syncing NLA strip
timings via a single property/control).

Keyframe insertion however is still not allowed on these properties
(and an error message will now be displayed when trying to do so,
instead of silently failing), as it is useless.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 20 Oct 2017 03:14:44 +0000 (14:14 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: redundant casts
Campbell Barton [Fri, 20 Oct 2017 03:03:22 +0000 (14:03 +1100)]
Cleanup: redundant casts

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 22:40:08 +0000 (09:40 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: replace gpencil tri vars w/ array
Campbell Barton [Thu, 19 Oct 2017 22:28:12 +0000 (09:28 +1100)]
Cleanup: replace gpencil tri vars w/ array

3 years agoFix/properly implement: "make group proxy"
Dalai Felinto [Thu, 19 Oct 2017 20:01:41 +0000 (18:01 -0200)]
Fix/properly implement: "make group proxy"

This was never correctly implemented. It now works as expected (ala 2.79 behaviour).
The proxy object is added to all the collections of the original empty.

Before not only this wasn't the case, but it would crash Blender.

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 13:29:04 +0000 (00:29 +1100)]
Merge branch 'master' into blender2.8

3 years agoCorrect last commit, use WM_exit
Campbell Barton [Thu, 19 Oct 2017 13:19:58 +0000 (00:19 +1100)]
Correct last commit, use WM_exit

Without this temp directory isn't removed.

3 years agoExit with invalid command line arguments
Campbell Barton [Thu, 19 Oct 2017 12:57:03 +0000 (23:57 +1100)]
Exit with invalid command line arguments

Loading blender with an unknown name would interpret it as a blend file.

This meant passing `--arg` arguments would end up creating new
blend files which could be confusing if you made a typo on a command
line argument.

Now check the string has a blend file extension,
exiting if it doesn't.

3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Thu, 19 Oct 2017 11:58:01 +0000 (13:58 +0200)]
Merge branch 'master' into blender2.8

3 years agoDepsgraph: Use new ID copy API to copy scenes
Sergey Sharybin [Thu, 19 Oct 2017 10:33:16 +0000 (12:33 +0200)]
Depsgraph: Use new ID copy API to copy scenes

Avoids temporary main and datablock memory from being allocated.

3 years agoAllow non-initialized memory to be passed to BKE_id_copy_ex
Sergey Sharybin [Thu, 19 Oct 2017 11:55:08 +0000 (13:55 +0200)]
Allow non-initialized memory to be passed to BKE_id_copy_ex

This only applies when LIB_ID_CREATE_NO_ALLOCATE flag is used and guarantees
that non-memset-zero memory can be used (or, that same memory chunk might be
used over and over again without need to clean it from the calleer).

3 years agoFix operators adding manipulators multiple times
Campbell Barton [Thu, 19 Oct 2017 11:44:51 +0000 (22:44 +1100)]
Fix operators adding manipulators multiple times

Running spin or bisect twice in a row added widget groups each time.

3 years agoAdd note about handling of root nodetree in ID copydata.
Bastien Montagne [Thu, 19 Oct 2017 10:31:58 +0000 (12:31 +0200)]
Add note about handling of root nodetree in ID copydata.

OUr beloved root nodetrees... Had to check again the code to undersand
why we copy them with bmain even though they are not in bmain, so this
is worth a comment. ;)

3 years agoCycles: Add extra logging in CUDA device detection code
Sergey Sharybin [Thu, 19 Oct 2017 09:26:10 +0000 (11:26 +0200)]
Cycles: Add extra logging in CUDA device detection code

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 06:05:38 +0000 (17:05 +1100)]
Merge branch 'master' into blender2.8

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 06:01:40 +0000 (17:01 +1100)]
Merge branch 'master' into blender2.8

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 05:58:30 +0000 (16:58 +1100)]
Merge branch 'master' into blender2.8

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 05:55:08 +0000 (16:55 +1100)]
Merge branch 'master' into blender2.8

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 19 Oct 2017 05:30:20 +0000 (16:30 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: redundant comments
Campbell Barton [Thu, 19 Oct 2017 05:19:07 +0000 (16:19 +1100)]
Cleanup: redundant comments

Class names are readable, no need for explanations of each one.