3 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Fri, 7 Dec 2018 14:00:48 +0000 (15:00 +0100)]
Merge branch 'master' into blender2.8

3 years agoUpdate BVHTree.FromObject API, remove render argument
Dalai Felinto [Fri, 7 Dec 2018 13:54:24 +0000 (11:54 -0200)]
Update BVHTree.FromObject API, remove render argument

This information should come from the depsgraph.

3 years agoCycles: Do more user-friendly indication that GPU devices are not found
Sergey Sharybin [Fri, 7 Dec 2018 13:47:35 +0000 (14:47 +0100)]
Cycles: Do more user-friendly indication that GPU devices are not found

3 years agoCycles: Disable OpenCL on macOS
Sergey Sharybin [Fri, 7 Dec 2018 13:37:47 +0000 (14:37 +0100)]
Cycles: Disable OpenCL on macOS

This is unfortunate, but the number of bugs in this configuration
keeps growing, and almost all of them are caused by bug in OpenCL

The compiler is not likely to be fixed, since Apple declared OpenCL

This evil commit is aimed to keep officially supported features
of Blender in a good working and stable state.

3 years agoFix T58902: error getting tools for Image Editor (modes Paint and Mask)
Philipp Oeser [Fri, 7 Dec 2018 10:24:09 +0000 (11:24 +0100)]
Fix T58902: error getting tools for Image Editor (modes Paint and Mask)

Maniphest Tasks: T58902

Differential Revision:

3 years agoFix T57640: UV unwrap packing not working without sync selection.
Brecht Van Lommel [Fri, 7 Dec 2018 12:52:14 +0000 (13:52 +0100)]
Fix T57640: UV unwrap packing not working without sync selection.

3 years agoPartial fix to T58917 - No valid cage
Dalai Felinto [Fri, 7 Dec 2018 12:41:57 +0000 (10:41 -0200)]
Partial fix to T58917 - No valid cage

The fix itself simply is to store the cage object as a pointer instead
of a string/name.

That said baking with or without cage is yielding very different results
than in 2.7.

3 years agoGP: Refactor coordinates to float
Charlie Jolly [Wed, 5 Dec 2018 18:48:27 +0000 (18:48 +0000)]
GP: Refactor coordinates to float

See: D4030

Differential Revision:

3 years agoFix/workaround crash opening almost any Spring file
Sergey Sharybin [Fri, 7 Dec 2018 11:41:46 +0000 (12:41 +0100)]
Fix/workaround crash opening almost any Spring file

The issue was caused mpoly array urequired by the cache filling,
but the pointer was never set when preparing render data.

Seems this change is safe enough, in terms it shouldn't be
causing slowdown, since the assignment of mpoly is cheap, but
hard to tell if there is anything else affected by thing underneath.

3 years agoDepsgraph: Make data allocation dependency more robust
Sergey Sharybin [Fri, 7 Dec 2018 10:17:34 +0000 (11:17 +0100)]
Depsgraph: Make data allocation dependency more robust

This fix aims to fix crash/assert failure related on wrong
evaluation order which happens when there is a cyclic
dependency involved.

The rationality of this change is that we can allow use
of uninitialized scalar value, but memory is better be

This might not be ideal still, but worth a try.

3 years agoDepsgraph: Use shorter relation name
Sergey Sharybin [Fri, 7 Dec 2018 10:10:08 +0000 (11:10 +0100)]
Depsgraph: Use shorter relation name

It is clear enough already that it goes From to To.

3 years agoDepsgraph: Cleanup, line length
Sergey Sharybin [Fri, 7 Dec 2018 10:06:09 +0000 (11:06 +0100)]
Depsgraph: Cleanup, line length

3 years agoDepsgraph: Remove duplicated sets of recalc/update flags
Sergey Sharybin [Thu, 6 Dec 2018 16:52:37 +0000 (17:52 +0100)]
Depsgraph: Remove duplicated sets of recalc/update flags

There were at least three copies of those:

- OB_RECALC* family of flags, which are rudiment of an old
  dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
  as a separate set since the graph itself did not handle
  particle systems.
- DEG_TAG_* which was used to tag IDs.

Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.

Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.

Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did

Fixes T58632: Particle don't update rotation settings

3 years agoCleanup/refactor binding code for MeshDeform modifier.
Bastien Montagne [Fri, 7 Dec 2018 10:17:25 +0000 (11:17 +0100)]
Cleanup/refactor binding code for MeshDeform modifier.

We had two different ways of doing it, SurfaceDeform and LaplacianDeform
would do it through a special modifier stack evaluation triggered from
binding operator, while MeshDeform would do it through a regular
depsgraph update/eval (also triggered from its binding op).

This enforces the later to search back for orig modifier data inside
modifier code (to apply binding on that one, and not on useless CoW

Besides the question of safety about modifying orig data from threaded
despgraph (that was *probably* OK, but think it's bad idea in general),
it's much better to have a common way of doing that kind of things.

For now it remains rather dodgy, but at least it's reasonably consistent
and safe now.

This commit also fixes a potential memleak from binding process of
MeshDeform, and does some general cleanup a bit.

3 years agoFix T58046: Crash when changing Particle type, when Hair has dynamics
Philipp Oeser [Fri, 7 Dec 2018 08:49:28 +0000 (09:49 +0100)]
Fix T58046: Crash when changing Particle type, when Hair has dynamics

thx @sergey for checking

3 years agoCleanup: split mixed_bones_object_selectbuffer
Campbell Barton [Fri, 7 Dec 2018 09:49:11 +0000 (20:49 +1100)]
Cleanup: split mixed_bones_object_selectbuffer

Split basic object picking logic out into it's own function.

3 years agoCleanup: style
Campbell Barton [Fri, 7 Dec 2018 09:48:49 +0000 (20:48 +1100)]
Cleanup: style

3 years agoFix T58913 Won't focus on Grease Pencil
Antonioya [Fri, 7 Dec 2018 09:42:14 +0000 (10:42 +0100)]
Fix T58913 Won't focus on Grease Pencil

When the datablock was empty, the center was not calculated. Now it uses the object location.

3 years agoFix T58911: Picking objects fails in pose mode
Campbell Barton [Fri, 7 Dec 2018 08:10:08 +0000 (19:10 +1100)]
Fix T58911: Picking objects fails in pose mode

3 years agoFix T58811: Scale bezier handle uses tip as origin
Campbell Barton [Fri, 7 Dec 2018 06:26:25 +0000 (17:26 +1100)]
Fix T58811: Scale bezier handle uses tip as origin

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 7 Dec 2018 06:11:28 +0000 (17:11 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: redundant counter
Campbell Barton [Fri, 7 Dec 2018 06:06:21 +0000 (17:06 +1100)]
Cleanup: redundant counter

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Fri, 7 Dec 2018 04:54:17 +0000 (15:54 +1100)]
Merge branch 'master' into blender2.8

3 years agoFix error in Main cleanup
Campbell Barton [Fri, 7 Dec 2018 04:40:38 +0000 (15:40 +1100)]
Fix error in Main cleanup

See 481cdb08ed6f3

3 years agoDRW: Remove the use of GPUTexture buffers for edit wire rendering
Clément Foucault [Fri, 7 Dec 2018 04:32:59 +0000 (05:32 +0100)]
DRW: Remove the use of GPUTexture buffers for edit wire rendering

See previous commit for detail as why.

3 years agoDRW: Rework wireframe overlay implementation
Clément Foucault [Fri, 7 Dec 2018 04:03:01 +0000 (05:03 +0100)]
DRW: Rework wireframe overlay implementation

The shader is way simpler and run way faster on lower end hardware
(2x faster on intel HD5000) but did not notice any improvement on AMD Vega.

This also adds a few changes to the way the wireframes are drawn:
- the slider is more linearly progressive.
- optimize display shows all wires and progressively decrease "inner" wires
  intensity. This is subject to change in the future.
- text/surface/metaballs support is pretty rough. More work needs to be done.

This remove the optimization introduced in f1975a46390a5bf85bb7012375f9bc1e761fc516.
This also removes the GPU side "sharpness" calculation which means that
animated meshes with wireframe display will update slower.
The CPU sharpness calculation has still room for optimization. Also
it is not excluded that GPU calculation can be added back as a
separate preprocessing pass (saving the computation result [compute or

The goal here was to have more speed for static objects and remove
the dependency of having buffer textures with triangle count. This is
preparation work for multithreading the whole DRW manager.

3 years agoGPU: Remove EXT and add assert
Clément Foucault [Fri, 7 Dec 2018 03:07:56 +0000 (04:07 +0100)]
GPU: Remove EXT and add assert

Some drivers accept shaders with only vertex stage, but some just silently

3 years agoGPU: Add GPU_vertformat_triple_load to load next vertices attrib
Clément Foucault [Thu, 6 Dec 2018 23:58:17 +0000 (00:58 +0100)]
GPU: Add GPU_vertformat_triple_load to load next vertices attrib

Right now does not add padding at the end of the buffer.

This seems not necessary but may cause problem on some platform. If needed
we will add this padding (only 2 more vertices).

3 years agoDRW: Add Provoking vertex state.
Clément Foucault [Thu, 6 Dec 2018 22:18:18 +0000 (23:18 +0100)]
DRW: Add Provoking vertex state.

3 years agoFix crash recovering last session
Campbell Barton [Fri, 7 Dec 2018 04:04:57 +0000 (15:04 +1100)]
Fix crash recovering last session

3 years agoAdd license headers for app-templates
Campbell Barton [Fri, 7 Dec 2018 03:29:03 +0000 (14:29 +1100)]
Add license headers for app-templates

3 years agoFix T58897: Show folders in video editing template
Campbell Barton [Fri, 7 Dec 2018 03:27:22 +0000 (14:27 +1100)]
Fix T58897: Show folders in video editing template

Show folders and start in the users home.

3 years agoWM: alternate fix for T58904
Campbell Barton [Fri, 7 Dec 2018 03:07:05 +0000 (14:07 +1100)]
WM: alternate fix for T58904

Use messages instead of notifiers.

3 years agoRevert "Fix T58904: Side tabs disappear when creating new View Layer"
Campbell Barton [Fri, 7 Dec 2018 02:49:00 +0000 (13:49 +1100)]
Revert "Fix T58904: Side tabs disappear when creating new View Layer"

This reverts commit 892a104d2cc322cb042a687050dcce2403a971f3.

3 years agoFix T58905: Knife project redo fails
Campbell Barton [Fri, 7 Dec 2018 02:33:58 +0000 (13:33 +1100)]
Fix T58905: Knife project redo fails

3 years agoFix adding objects in local view
Campbell Barton [Fri, 7 Dec 2018 01:59:04 +0000 (12:59 +1100)]
Fix adding objects in local view

3 years agoFix T58871: New Scene Collection Does Not Create A New Collection
Dalai Felinto [Fri, 7 Dec 2018 01:54:42 +0000 (23:54 -0200)]
Fix T58871: New Scene Collection Does Not Create A New Collection

3 years agoFix T58904: Side tabs disappear when creating new View Layer
Dalai Felinto [Fri, 7 Dec 2018 01:35:17 +0000 (23:35 -0200)]
Fix T58904: Side tabs disappear when creating new View Layer

Using listener here, although I suspect we should be using message
subscriber only. That said, this mimics the behaviour of the buttons
main region.

As for the original bug report what was happening was that when
switching between viewlayers (or when creating one) we may not get the
same active object. So the context breadcrumbs are different.

And the bug itself was that we were missing a redraw on view layer

3 years agoFix T58750: missing fallof power tooltip.
Sebastian Parborg [Fri, 7 Dec 2018 00:13:59 +0000 (01:13 +0100)]
Fix T58750: missing fallof power tooltip.

Differential Revision:

3 years agoFix T58325: Local view Bug
Dalai Felinto [Fri, 7 Dec 2018 00:04:12 +0000 (22:04 -0200)]
Fix T58325: Local view Bug

Aka all the thousand of reports duplicated here.
I should have seen this coming, since I had to add a hack in the first
place because things were "not working".

I should have figured out earlier that COW handles base in a really
special way, with its own special object_runtime_backup hack.

3 years agoUI: add material settings in shader editor sidebar.
Lucas Boutrot [Thu, 6 Dec 2018 23:43:07 +0000 (00:43 +0100)]
UI: add material settings in shader editor sidebar.

Differential Revision:

3 years agoFix Alembic indexed UVs being merged for different vertices.
Brecht Van Lommel [Thu, 6 Dec 2018 23:02:56 +0000 (00:02 +0100)]
Fix Alembic indexed UVs being merged for different vertices.

Other software uses this to define UV islands, so we can't just merge
any UVs with the same coordinate. They have to share a vertex too.

Contributed by Maxime Robinot, with changes by me.

Differential Revision:

3 years agoFix T58898: Python error clicking in empty space in text edit mode.
Brecht Van Lommel [Thu, 6 Dec 2018 22:41:49 +0000 (23:41 +0100)]
Fix T58898: Python error clicking in empty space in text edit mode.

3 years ago3D View: hide pose bones w/o overlays
Campbell Barton [Thu, 6 Dec 2018 22:26:22 +0000 (09:26 +1100)]
3D View: hide pose bones w/o overlays

Part of T58690

3 years agoDocs: hint to why we have option to toggle bones
Campbell Barton [Thu, 6 Dec 2018 21:49:01 +0000 (08:49 +1100)]
Docs: hint to why we have option to toggle bones

Without this, it might seem redundant since there is an option
to toggle armature object display.

3 years agoFix T57963: Cycles crash using AO for displacement.
Brecht Van Lommel [Thu, 6 Dec 2018 18:50:05 +0000 (19:50 +0100)]
Fix T57963: Cycles crash using AO for displacement.

Note this is not supported, there exists no geometry at this point, but
it should not crash at least.

3 years agoFix T58223: curve tilt not working correct with left click select.
Brecht Van Lommel [Thu, 6 Dec 2018 18:26:39 +0000 (19:26 +0100)]
Fix T58223: curve tilt not working correct with left click select.

3 years agoFix T58863: 'Smooth/Flat Shading' to 'Shader Smoot/Flat' in context menu
Jacques Lucke [Thu, 6 Dec 2018 15:19:29 +0000 (16:19 +0100)]
Fix T58863: 'Smooth/Flat Shading' to 'Shader Smoot/Flat' in context menu

3 years agoSpeedup: optimize DNA_elem_array_size to speedup file loading
Jacques Lucke [Thu, 6 Dec 2018 14:50:01 +0000 (15:50 +0100)]
Speedup: optimize DNA_elem_array_size to speedup file loading

Reviewers: brecht

Differential Revision:

3 years agoGPU Framebuffer: simplify gpu_framebuffer_update_attachments_and_fill_empty_slots...
mano-wii [Thu, 6 Dec 2018 13:47:37 +0000 (11:47 -0200)]
GPU Framebuffer: simplify gpu_framebuffer_update_attachments_and_fill_empty_slots func

3 years agoFix T58310: Crash when removing multires modifier from sculpt object
Sergey Sharybin [Thu, 6 Dec 2018 14:20:16 +0000 (15:20 +0100)]
Fix T58310: Crash when removing multires modifier from sculpt object

3 years agoDRW: Mesh: Make uvs use the final mesh display
Clément Foucault [Thu, 6 Dec 2018 13:41:19 +0000 (14:41 +0100)]
DRW: Mesh: Make uvs use the final mesh display

3 years agoDRW: Fix Uvs not working in solid mode + edit mesh
Clément Foucault [Thu, 6 Dec 2018 13:34:29 +0000 (14:34 +0100)]
DRW: Fix Uvs not working in solid mode + edit mesh

3 years agoGPU Extensions: unused_fb_slot_workaround: Compare only the driver.
mano-wii [Thu, 6 Dec 2018 12:05:42 +0000 (10:05 -0200)]
GPU Extensions: unused_fb_slot_workaround: Compare only the driver.

Dozens of renderes are included.

3 years agoFix T58663: UV Align Auto does nothing
Philipp Oeser [Thu, 6 Dec 2018 12:17:04 +0000 (13:17 +0100)]
Fix T58663: UV Align Auto does nothing

one case was missing in cleanup commit rB8fc6609cc008

3 years agoFix T58659: absolute grid snapping wrong with custom grid scale.
Sebastian Parborg [Thu, 6 Dec 2018 12:04:34 +0000 (13:04 +0100)]
Fix T58659: absolute grid snapping wrong with custom grid scale.

Differential Revision:

3 years agoFix T58840: SHIFT+K in vertex paint doesn't update
Sergey Sharybin [Thu, 6 Dec 2018 12:00:31 +0000 (13:00 +0100)]
Fix T58840: SHIFT+K in vertex paint doesn't update

3 years agoDraw manager: Use render view transform as default
Sergey Sharybin [Thu, 6 Dec 2018 11:30:35 +0000 (12:30 +0100)]
Draw manager: Use render view transform as default

3 years agoColor management: Use default view with no extra transform when not specified
Sergey Sharybin [Thu, 6 Dec 2018 11:21:37 +0000 (12:21 +0100)]
Color management: Use default view with no extra transform when not specified

3 years agoColor management: Cleanup, make function name more clear
Sergey Sharybin [Thu, 6 Dec 2018 10:56:23 +0000 (11:56 +0100)]
Color management: Cleanup, make function name more clear

The idea is to reflect that the view settings are the best
for cases when one wants to see things as if they are a
render result.

3 years agoFix T58816: Color management Display Device other than sRGB crashes
Sergey Sharybin [Thu, 6 Dec 2018 09:55:31 +0000 (10:55 +0100)]
Fix T58816: Color management Display Device other than sRGB crashes

This fixes our workaround for until proper solution is accepted
in upstream.

Now, when default view behaves same as it was supposed to (and
as it behaves in OCIO-1.0.9) it is obvious that our configuration
violates own design -- default view  is used for cases when
images don't want to be displays using "render" settings.

3 years agoColor management: Fix issue when active views/displays are not specified
Sergey Sharybin [Thu, 6 Dec 2018 08:16:52 +0000 (09:16 +0100)]
Color management: Fix issue when active views/displays are not specified

3 years agoUpdate relations when modifier texture changes
Sergey Sharybin [Thu, 6 Dec 2018 08:09:07 +0000 (09:09 +0100)]
Update relations when modifier texture changes

3 years agoFix T58788: Apply Visual Geometry crash
Campbell Barton [Thu, 6 Dec 2018 07:28:32 +0000 (18:28 +1100)]
Fix T58788: Apply Visual Geometry crash

3 years agoFix multi-object edit state on load
Campbell Barton [Thu, 6 Dec 2018 06:52:21 +0000 (17:52 +1100)]
Fix multi-object edit state on load

Objects selected on save would enter edit-mode on file load.

3 years agoFix knife project, add to mesh menu
Campbell Barton [Thu, 6 Dec 2018 05:52:49 +0000 (16:52 +1100)]
Fix knife project, add to mesh menu

3 years agoFix T58837: "Tab for Pie Menu" lags leaving gpencil edit mode
Campbell Barton [Thu, 6 Dec 2018 05:23:01 +0000 (16:23 +1100)]
Fix T58837: "Tab for Pie Menu" lags leaving gpencil edit mode

3 years agoFix T58836: Shift-C doesn't update the view
Campbell Barton [Thu, 6 Dec 2018 04:52:12 +0000 (15:52 +1100)]
Fix T58836: Shift-C doesn't update the view

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 6 Dec 2018 04:08:42 +0000 (15:08 +1100)]
Merge branch 'master' into blender2.8

3 years agoFix T58832: Spin tool creates duplicate faces
Campbell Barton [Thu, 6 Dec 2018 03:50:25 +0000 (14:50 +1100)]
Fix T58832: Spin tool creates duplicate faces

3 years agoArmature: support select-linked deselection
Campbell Barton [Thu, 6 Dec 2018 03:00:07 +0000 (14:00 +1100)]
Armature: support select-linked deselection

Matches edit-mesh mode.

3 years agoFix crazyspace transform w/ armatures
Campbell Barton [Thu, 6 Dec 2018 01:53:58 +0000 (12:53 +1100)]
Fix crazyspace transform w/ armatures

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Thu, 6 Dec 2018 00:27:57 +0000 (11:27 +1100)]
Merge branch 'master' into blender2.8

3 years agoFix T58819: Weight paint gradient crash
Campbell Barton [Thu, 6 Dec 2018 00:19:18 +0000 (11:19 +1100)]
Fix T58819: Weight paint gradient crash

3 years agoFix T56362: sub surface scattering does not work on eevee on radeon hd 7600 series
mano-wii [Wed, 5 Dec 2018 23:22:12 +0000 (21:22 -0200)]
Fix T56362: sub surface scattering does not work on eevee on radeon hd 7600 series

3 years agoFix problem with unused color slot in framebuffer on some bugged AMD GPUs
mano-wii [Wed, 5 Dec 2018 22:59:22 +0000 (20:59 -0200)]
Fix problem with unused color slot in framebuffer on some bugged AMD GPUs

Differential Revision:

3 years agoKeymap: only use MMB workaround whe MMB is enabled
Campbell Barton [Wed, 5 Dec 2018 23:02:25 +0000 (10:02 +1100)]
Keymap: only use MMB workaround whe MMB is enabled

Using double-click with selection breaks selection cycling behavior
(making you have to wait to click again to cycle-select the next item).

3 years agoFix T57770: Edit-mesh wireframe cage select fails
Campbell Barton [Wed, 5 Dec 2018 22:38:08 +0000 (09:38 +1100)]
Fix T57770: Edit-mesh wireframe cage select fails

3 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 5 Dec 2018 21:48:43 +0000 (08:48 +1100)]
Merge branch 'master' into blender2.8

3 years agoCleanup: unused var, style
Campbell Barton [Wed, 5 Dec 2018 21:45:41 +0000 (08:45 +1100)]
Cleanup: unused var, style

3 years agoDRW: Optimize adjacency data creation a bit
Clément Foucault [Wed, 5 Dec 2018 21:38:02 +0000 (22:38 +0100)]
DRW: Optimize adjacency data creation a bit

This is a very small improvement and only concerns wireframe update.

My tests.
old 6fps > new 7fps > baseline (wireframe disabled) 10fps

3 years agoCleanup: no need to access final mesh
Campbell Barton [Wed, 5 Dec 2018 21:36:36 +0000 (08:36 +1100)]
Cleanup: no need to access final mesh

3 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Gaia Clary [Wed, 5 Dec 2018 21:05:19 +0000 (22:05 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

3 years agoFix (devtalk 4053): Collada build with older cmake versions broken
Gaia Clary [Wed, 5 Dec 2018 21:04:10 +0000 (22:04 +0100)]
Fix (devtalk 4053): Collada build with older cmake versions broken

3 years agoGHOST: WGL: Silence Errors when testing opengl context versions
Clément Foucault [Wed, 5 Dec 2018 20:57:35 +0000 (21:57 +0100)]
GHOST: WGL: Silence Errors when testing opengl context versions

3 years agoFix T58407: Wire frames are not showing with subdivision surfaces
Clément Foucault [Wed, 5 Dec 2018 19:33:28 +0000 (20:33 +0100)]
Fix T58407: Wire frames are not showing with subdivision surfaces

3 years agoCleanup: unused function
Campbell Barton [Wed, 5 Dec 2018 20:44:25 +0000 (07:44 +1100)]
Cleanup: unused function

3 years agoFix own mistake in recent rB74361eebe68c.
Bastien Montagne [Wed, 5 Dec 2018 19:52:47 +0000 (20:52 +0100)]
Fix own mistake in recent rB74361eebe68c.

One cannot assign to Class.__dict__, that is not a 'real' dictionnary...

Thanks to @JacquesLucke for noting the issue.

3 years agoFix (unreported, related to T58210) LaplacianDeform binding state incorrectly reporte...
Bastien Montagne [Wed, 5 Dec 2018 17:37:29 +0000 (18:37 +0100)]
Fix (unreported, related to T58210) LaplacianDeform binding state incorrectly reported by RNA.

LaplacianDeform binding handling is a catastrophee in CoW context,
because half of the binding (the laplacian solver cache thingy) is not
saved, and can be re-generated on the fly from stored vcos.

This means that binding is not only done when hitting 'bind' button, but
also at file load, and when some things change.

And this utterly breaks with CoW design, not sure how to fix, will add a
task about that.

But this also means that NULL laplacian solver cache pointer is not a
good check to know whether it is binded or not, only stored vcos are
relevant for that (and the binding flag, of course).

3 years agoFix T58210, Part II: Surface Deform modifier (un)binding is broken.
Bastien Montagne [Wed, 5 Dec 2018 17:33:31 +0000 (18:33 +0100)]
Fix T58210, Part II: Surface Deform modifier (un)binding is broken.

This fixes/clarifies Surface Deform evaluation code that does the
binding, since that part should only be called outside of depsgraph
evaluation, with orig data-blocks and not CoW ones.

Now we have a decent amount of asserts and checks to ensure eveything
works as expected.

Also had to add a special case to get target's mesh in binding case,
since often target's evaluated mesh is not available, in that case (and
in that case only), we can actually compute that mesh (because we are
out of depsgraph evaluation).

3 years agoFix T58210, part I: Surface Deform modifier (un)binding is broken.
Bastien Montagne [Wed, 5 Dec 2018 17:22:18 +0000 (18:22 +0100)]
Fix T58210, part I: Surface Deform modifier (un)binding is broken.

Binding and unbinding *has* to happen outside of 'normal' depsgraph
evaluation of modifiers now that we have CoW, otherwise persistent data
stored in modifier data are always lost!

Note that this is only first step of the fix, modifiers code needs also
some work. Surfacedeform one is in next commit, Laplacian case is much,
much more complicated to handle, given how it uses its cached data. :(

3 years agoMinor cleanup in Laplacian deform modifier DNA code.
Bastien Montagne [Wed, 5 Dec 2018 17:21:13 +0000 (18:21 +0100)]
Minor cleanup in Laplacian deform modifier DNA code.

3 years agoMerge remote-tracking branch 'origin/master' into blender2.8
Gaia Clary [Wed, 5 Dec 2018 19:30:46 +0000 (20:30 +0100)]
Merge remote-tracking branch 'origin/master' into blender2.8

3 years agofix: Collada: remove Class from method definition in header file
Gaia Clary [Wed, 5 Dec 2018 19:28:06 +0000 (20:28 +0100)]
fix: Collada: remove Class from method definition in header file

3 years agoUI: reduce area splitting action zone size.
Harley Acheson [Wed, 5 Dec 2018 15:01:45 +0000 (16:01 +0100)]
UI: reduce area splitting action zone size.

This would overlap with buttons in the header. It's smaller to hit, but
still wider than the outlines for resizing, so hopefully it's fine.

Differential Revision:

3 years agoFix T57939: animated values in compositing nodes not working.
Glenn Tester [Wed, 5 Dec 2018 16:44:29 +0000 (17:44 +0100)]
Fix T57939: animated values in compositing nodes not working.

For now this is not part of copy-on-write, and needs extra animation evaluation.

Differential Revision:

3 years agoFix T58679: Missing modifiers update on changes to texture
Sergey Sharybin [Wed, 5 Dec 2018 16:35:13 +0000 (17:35 +0100)]
Fix T58679: Missing modifiers update on changes to texture

3 years agoDepsgrapgh: Use more distinctive opcode for texture and image evaluation
Sergey Sharybin [Wed, 5 Dec 2018 16:13:26 +0000 (17:13 +0100)]
Depsgrapgh: Use more distinctive opcode for texture and image evaluation

3 years agoGP: Tag datablock after mode change
Antonioya [Wed, 5 Dec 2018 16:21:38 +0000 (17:21 +0100)]
GP: Tag datablock after mode change

3 years agoGP: Add icon for Arc primitive
Charlie Jolly [Wed, 5 Dec 2018 16:03:48 +0000 (16:03 +0000)]
GP: Add icon for Arc primitive