19 months agoadd 'Control Points' and 'Segments' editmode menus for Surfaces
Philipp Oeser [Fri, 7 Dec 2018 13:57:54 +0000 (14:57 +0100)]
add 'Control Points' and 'Segments' editmode menus for Surfaces

Fixes T58922

Reviewers: brecht, billreynish

Maniphest Tasks: T58922

Differential Revision:

19 months 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

19 months 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.

19 months 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

19 months 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.

19 months 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:

19 months 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.

19 months 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.

19 months 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:

19 months 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.

19 months 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.

19 months 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.

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

19 months 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

19 months 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.

19 months 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

19 months 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.

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

19 months 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.

19 months 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

19 months 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

19 months 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

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

19 months 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

19 months 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

19 months 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.

19 months 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.

19 months 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

19 months 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).

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

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

19 months 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

19 months 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.

19 months 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.

19 months 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.

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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:

19 months 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.

19 months 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:

19 months 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:

19 months 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.

19 months 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

19 months 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.

19 months 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.

19 months 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.

19 months 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

19 months 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:

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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.

19 months 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

19 months 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:

19 months 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

19 months 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

19 months 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

19 months 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.

19 months 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.

19 months 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

19 months 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

19 months 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

19 months 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.

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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.

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

19 months 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

19 months 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

19 months 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

19 months 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:

19 months 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).

19 months 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

19 months 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

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

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

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

19 months 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.

19 months 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).

19 months 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).

19 months 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. :(

19 months 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.

19 months 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

19 months 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

19 months 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:

19 months 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:

19 months 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

19 months 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

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