blender.git
2 years agoFix T57620: display custom normals in Edit Mode.
Alexander Gavrilov [Tue, 4 Dec 2018 16:52:30 +0000 (19:52 +0300)]
Fix T57620: display custom normals in Edit Mode.

Since it seems that CD_ORIGINDEX is not available for loops,
the only choice is to simply use the loop normals already
computed by depsgraph after evaluating modifiers.

This revealed a bug where the Auto Smooth settings would be lost
from the mesh after complex modifiers, or after edit mesh to mesh
conversion, so restoring them is needed to get correct results.

2 years agoFix T58609 Subdivision Surface modifier, "Optimal Display" not working
Clément Foucault [Tue, 4 Dec 2018 16:52:16 +0000 (17:52 +0100)]
Fix T58609 Subdivision Surface modifier, "Optimal Display" not working

I tried to make it progressive using the wireframe slide but it did not
work well.

So taking the most straight forward way.

2 years agoWireframe: Optimization: Only draw triangles that have edges
Clément Foucault [Tue, 4 Dec 2018 14:39:30 +0000 (15:39 +0100)]
Wireframe: Optimization: Only draw triangles that have edges

This only happens after a certain wireframe threshold.

We sort triangles into 2 bins (start and end of the buffer) based on a
threshold and just draw the first bin if the wireframe slider is low enough.

This optimization is disabled for deformed meshes when playback is active.
This optimization is only implemented for meshes object for now.

This should help resolve (to some extent) T58188.

2 years agoWireframe: Optimization: Only draw triangles that have edges
Clément Foucault [Tue, 4 Dec 2018 00:30:07 +0000 (01:30 +0100)]
Wireframe: Optimization: Only draw triangles that have edges

This only happens after a certain threshold.

We sort triangles into 2 bins (start and end of the buffer) based on a
threshold and just draw the start bin if the wireframe slider is low enough.

This optimization is disabled for deformed meshes.

This should help resolve (to some extent) T58188.

2 years agoWireframe: Optimization: Output degenerate triangles if no edges
Clément Foucault [Tue, 4 Dec 2018 00:16:13 +0000 (01:16 +0100)]
Wireframe: Optimization: Output degenerate triangles if no edges

2 years agoFix T58700: Modifier error msgs not showing.
Bastien Montagne [Tue, 4 Dec 2018 16:07:47 +0000 (17:07 +0100)]
Fix T58700: Modifier error msgs not showing.

We need to copy those back from evaluated modifierdata to orig one (as
part of `BKE_object_synchronize_to_original()`).

2 years agoCleanup: typo in comments.
Bastien Montagne [Tue, 4 Dec 2018 14:21:36 +0000 (15:21 +0100)]
Cleanup: typo in comments.

2 years agoFix T55774: Crash when reloading clip during prefetch
Sergey Sharybin [Tue, 4 Dec 2018 15:39:21 +0000 (16:39 +0100)]
Fix T55774: Crash when reloading clip during prefetch

Simply kill prefetch jobs when reloading. Not sure what else
we can do here..

2 years agoMerge branch 'master' into blender2.8
Brecht Van Lommel [Tue, 4 Dec 2018 15:35:16 +0000 (16:35 +0100)]
Merge branch 'master' into blender2.8

2 years agoFix T58118: Make duplicates real does nothing
Sergey Sharybin [Tue, 4 Dec 2018 15:04:10 +0000 (16:04 +0100)]
Fix T58118: Make duplicates real does nothing

The issue was caused by transflag set in geometry evaluation
never copied back top original object.

Now we have a dedicated operation which does all sort copy
back to original object, so we don't have to worry about
atomic assignments or what gets set where.

Still need to move boundbox to the same function, but it
needs some careful doublechecking first.

2 years agoBuildbot: enable support for NVIDIA Turing cards in Cycles (like GTX 20xx).
Brecht Van Lommel [Tue, 4 Dec 2018 10:49:57 +0000 (11:49 +0100)]
Buildbot: enable support for NVIDIA Turing cards in Cycles (like GTX 20xx).

We currently only build the sm_7x kernels with CUDA 10.0, older cards still
use 9.1 until rendering errors are solved for them.

2 years agoCycles: add initial CUDA 10.0 support, but only recommend use for Turing cards.
Brecht Van Lommel [Tue, 4 Dec 2018 11:34:59 +0000 (12:34 +0100)]
Cycles: add initial CUDA 10.0 support, but only recommend use for Turing cards.

There may still be rendering errors when used for older graphics cards.

2 years agoFix T58227: Subdivision Surface Type Simple messes up UVs
Sergey Sharybin [Tue, 4 Dec 2018 14:15:14 +0000 (15:15 +0100)]
Fix T58227: Subdivision Surface Type Simple messes up UVs

This seems to be a bug in OpenSubdiv. For now simply use Catmark
subdivision scheme with infinitely sharp edges.

Later on it's either gets fixed in OpenSubdiv or we do bilinear
subdivision on our side.

2 years agoRemove the Draw Curve operator from the Add menu
Philipp Oeser [Tue, 4 Dec 2018 13:42:08 +0000 (14:42 +0100)]
Remove the Draw Curve operator from the Add menu

this operator was only working in editmode and we now have a dedicated
tool for this.

Fixes T58495

thanx @billreynish for usability advice

2 years agoFix for assert failure in material preview
Sergey Sharybin [Tue, 4 Dec 2018 11:30:24 +0000 (12:30 +0100)]
Fix for assert failure in material preview

All localized datablocks are not supposed to have animation
data associated with them.

There was an easy way to reproduce assert failure: toggle
animation decorator for Viewport Display -> Color.

2 years agoFix T58117: Crash with keyframing, take two
Sergey Sharybin [Tue, 4 Dec 2018 11:11:25 +0000 (12:11 +0100)]
Fix T58117: Crash with keyframing, take two

More operators need to become aware of action possibly being gone.

2 years agoDepsgraph: execute all COPY_ON_WRITE nodes first as a separate stage.
Alexander Gavrilov [Tue, 4 Dec 2018 10:58:29 +0000 (13:58 +0300)]
Depsgraph: execute all COPY_ON_WRITE nodes first as a separate stage.

COW nodes in the graph are mostly connected via a relation type
that doesn't propagate the update flags. Unfortunately, due to
the scheduling implementation that means the relations don't
actually guarantee execution order for indirect dependencies.
Relations also don't guarantee order in case of cycles.

As mentioned in IRC, the simplest way to fix possible problems
is to execute all COW nodes as a separate execution stage. This
seems to fix crashes with Data Transfer modifier in a cycle.

Staging works by simply delaying actual scheduling of tasks for
non-COW nodes until the second run of schedule_graph.

Reviewers: sergey

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

2 years agoBLI_task: fix queue in work_and_wait, and support resetting.
Alexander Gavrilov [Mon, 3 Dec 2018 19:55:18 +0000 (22:55 +0300)]
BLI_task: fix queue in work_and_wait, and support resetting.

To make the pool more usable for running multiple stages of tasks,
fix local queue handling in BLI_task_pool_work_and_wait.

Specifically, after the wait loop the local queue should be empty,
or the wait part of the function contract isn't fulfilled. Instead,
check and run any tasks in queue before the wait loop.

Also, add a new function that resets the suspended state of the pool.

2 years agoFix (IRC reported) missing update for RNA Object's matrix_local property.
Bastien Montagne [Tue, 4 Dec 2018 11:04:27 +0000 (12:04 +0100)]
Fix (IRC reported) missing update for RNA Object's matrix_local property.

Reported by @zeffii, thanks!

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Tue, 4 Dec 2018 10:45:22 +0000 (11:45 +0100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: Spelling
Sergey Sharybin [Tue, 4 Dec 2018 10:43:53 +0000 (11:43 +0100)]
Cleanup: Spelling

2 years agoFix T58117: Crash with keyframing
Sergey Sharybin [Tue, 4 Dec 2018 10:28:23 +0000 (11:28 +0100)]
Fix T58117: Crash with keyframing

2 years agoFix T58220: EdgeSplit at Split Angle: 0 doesn't split flat faces.
Bastien Montagne [Tue, 4 Dec 2018 09:48:48 +0000 (10:48 +0100)]
Fix T58220: EdgeSplit at Split Angle: 0 doesn't split flat faces.

Add special handling for both edge cases (:p):
* 180° is same as no splitting by angle;
* 0° is same as split on all edges unconditionnaly.

In both cases we can also avoid computing poly normals.

2 years agoFix T58481: "Make duplicates real" operator settings crashes
Sergey Sharybin [Tue, 4 Dec 2018 09:18:21 +0000 (10:18 +0100)]
Fix T58481: "Make duplicates real" operator settings crashes

2 years agoFix error reloading scripts
Campbell Barton [Tue, 4 Dec 2018 06:54:31 +0000 (17:54 +1100)]
Fix error reloading scripts

Operator.is_registered needs to use RNAMeta class.

2 years agoCleanup: remove unused brush set by index
Campbell Barton [Tue, 4 Dec 2018 06:33:47 +0000 (17:33 +1100)]
Cleanup: remove unused brush set by index

2 years agoShow tool title for favorites menu
Philipp Oeser [Tue, 4 Dec 2018 05:14:21 +0000 (16:14 +1100)]
Show tool title for favorites menu

2 years agoFix T57076: Remove property from favourites menu fails
Campbell Barton [Tue, 4 Dec 2018 04:11:26 +0000 (15:11 +1100)]
Fix T57076: Remove property from favourites menu fails

2 years agoEdit last commit
Campbell Barton [Tue, 4 Dec 2018 03:29:23 +0000 (14:29 +1100)]
Edit last commit

Split out ensure-tool check into its own function.

2 years agoFix T58256: error message w/ missing Select Box tool
Campbell Barton [Tue, 4 Dec 2018 02:34:11 +0000 (13:34 +1100)]
Fix T58256: error message w/ missing Select Box tool

Support space modes not having tools.

2 years agoFix T58670: Spin tool crashes w/o gizmo overlay
Campbell Barton [Tue, 4 Dec 2018 02:00:10 +0000 (13:00 +1100)]
Fix T58670: Spin tool crashes w/o gizmo overlay

2 years agoCleanup: unused args
Campbell Barton [Mon, 3 Dec 2018 23:39:03 +0000 (10:39 +1100)]
Cleanup: unused args

2 years agoFix T58474: Gizmo Operator template fails on rerun
Campbell Barton [Mon, 3 Dec 2018 23:15:02 +0000 (10:15 +1100)]
Fix T58474: Gizmo Operator template fails on rerun

2 years agoGP: Draw Mode: Add Arc Primitive
Charlie Jolly [Mon, 3 Dec 2018 14:55:57 +0000 (14:55 +0000)]
GP: Draw Mode: Add Arc Primitive

This adds an elliptical arc primitive.
Press CKEY for toggling closed/open arc.
Press FKEY key for flipping arc.

Additional changes to gpencil primitives.
Increases default edges of circle to 64.
Keymap changes to allow primitives to be drawn with Shift or Alt key.
Allow Plus/Minus key to adjust number of edges.

Missing: Toolbar icon

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

2 years agoFix T58636: repeat image in UV editor not working.
Brecht Van Lommel [Mon, 3 Dec 2018 19:06:10 +0000 (20:06 +0100)]
Fix T58636: repeat image in UV editor not working.

A little too much code got removed in fb24813.

2 years agoFix T58635: 2.8 - "3D Markers to Mesh" error.
Bastien Montagne [Mon, 3 Dec 2018 19:06:35 +0000 (20:06 +0100)]
Fix T58635: 2.8 - "3D Markers to Mesh" error.

2 years agoDepsgraph: immediately free object's derived caches in the COW step.
Alexander Gavrilov [Mon, 3 Dec 2018 17:48:36 +0000 (20:48 +0300)]
Depsgraph: immediately free object's derived caches in the COW step.

After update of the mesh some of that data is so broken that using
it would crash. To reduce the risk of crashes in case of dependency
cycles, clean it up immediately.

2 years agoFix T58448: Cloth presets fails to load due to missing attribute structural_stiffness.
Bastien Montagne [Mon, 3 Dec 2018 16:45:17 +0000 (17:45 +0100)]
Fix T58448: Cloth presets fails to load due to missing attribute structural_stiffness.

Presets were not updated when parameter were changed in rBe3d31b8dfbdc.

Note that will also check on generating more resistent py code for that
kind of presets, since that will also affect any custom preset made by
users...

2 years agoFix T58280: Blender 2.8 hangs when the LookDev mode is enabled
Clément Foucault [Mon, 3 Dec 2018 16:19:04 +0000 (17:19 +0100)]
Fix T58280: Blender 2.8 hangs when the LookDev mode is enabled

The hang was due to the nodes being "evaluated" for every incomming link.

Solution: only evaluate once per nodetree.

Also merge the tagging of SSS and SSR into one traversal only.

2 years agoDRW: Make default debug mode a bit more silent
Clément Foucault [Mon, 3 Dec 2018 14:24:21 +0000 (15:24 +0100)]
DRW: Make default debug mode a bit more silent

Use --debug-gpu for debugging non found uniforms

2 years agoWorkbench: Encode Roughness and metallic into 8bits
Clément Foucault [Mon, 3 Dec 2018 13:51:30 +0000 (14:51 +0100)]
Workbench: Encode Roughness and metallic into 8bits

This reduces the bandwidth + vram usage of workbench even further.

2 years agoWorkbench: Make object ID pass optionnal
Clément Foucault [Mon, 3 Dec 2018 01:42:23 +0000 (02:42 +0100)]
Workbench: Make object ID pass optionnal

We separate the background and foreground shading passes to be able to make
the object id pass optionnal if we don't need it.

This saves a bit more memory. Also not clearing all rendertargets saves
some GPU time too.

2 years agoDRW: Make fullscreen quad in the background
Clément Foucault [Mon, 3 Dec 2018 01:36:13 +0000 (02:36 +0100)]
DRW: Make fullscreen quad in the background

This is to be able to only draw the background pixels by using a depth
test EQUAL.

2 years agoWorkbench: Cleanup: Remove Spherical harmonic evaluation
Clément Foucault [Mon, 3 Dec 2018 01:33:27 +0000 (02:33 +0100)]
Workbench: Cleanup: Remove Spherical harmonic evaluation

It is not used anymore

2 years agoView3D: Grid: Don't make the Zaxis produce any fragment is not needed
Clément Foucault [Sun, 2 Dec 2018 23:38:29 +0000 (00:38 +0100)]
View3D: Grid: Don't make the Zaxis produce any fragment is not needed

This was a bug that was making the grid drawing even more slower than it
is.

2 years agoWorkbench: Reduce VRAM usage depending on mode
Clément Foucault [Sun, 2 Dec 2018 23:36:54 +0000 (00:36 +0100)]
Workbench: Reduce VRAM usage depending on mode

We exploit the fact that we are using the metallic workflow for material
and pass the metallic parameter instead of the specular color.

Pack the front facing bit in the color buffer only for matcap display.

Change buffer formats to use less bytes as possible.

Also don't request buffers that we won't use.

Saved 40MB on 2K screen on StudioLight + Shadows + Specular Lighting.

Includes several cleanups.

2 years agoSubdiv: Set edge render flags according to Optimal Display
Sergey Sharybin [Mon, 3 Dec 2018 15:59:11 +0000 (16:59 +0100)]
Subdiv: Set edge render flags according to Optimal Display

This is a part of T58609, but work is still needed to properly
support this flag in the draw manager.

2 years agoDepsgraph: completely move customdata_mask to the ID node.
Alexander Gavrilov [Mon, 3 Dec 2018 15:09:45 +0000 (18:09 +0300)]
Depsgraph: completely move customdata_mask to the ID node.

Move all mask-related fields from Object and OperationDepsNode
to Object_Runtime and IDDepsNode. Auto-apply DEG_TAG_GEOMETRY
if the mask changes after DEG rebuild. Update DEG API and all
code that uses it.

This fixes "source mesh data is not ready" errors from Data
Transfer modifier when parameters are changed in the UI after
the recent mesh_get_eval_final fix.

Reviewers: sergey

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

2 years agoT58338 Edit Mode rotation doesn't work if object is far away from world origin
Antonioya [Mon, 3 Dec 2018 15:26:31 +0000 (16:26 +0100)]
T58338 Edit Mode rotation doesn't work if object is far away from world origin

The fix code was done by Brecht Van Lommel, I only tested that the solution works.

2 years agoFix T57858: Add validation callback to CustomData layers.
Bastien Montagne [Mon, 3 Dec 2018 15:19:08 +0000 (16:19 +0100)]
Fix T57858: Add validation callback to CustomData layers.

Our mesh validation was only checking cd layout so far, not their actual
data. While this might only be needed for a few types, this is a
required addition for things like imported UVs, else we have no way to
avoid nasty things like NANs & co.

Note that more layer types may need that callback, time will say. For
now added it to some obvious missing cases...

2 years agoCleanup: Use BLI's is_finite_v helpers instead of manualy checking each item.
Bastien Montagne [Mon, 3 Dec 2018 13:42:22 +0000 (14:42 +0100)]
Cleanup: Use BLI's is_finite_v helpers instead of manualy checking each item.

2 years agoDepsgraph: Add missing cache file handling in build_id()
Sergey Sharybin [Mon, 3 Dec 2018 15:05:17 +0000 (16:05 +0100)]
Depsgraph: Add missing cache file handling in build_id()

2 years agoFix T58600: update OSL scripts to work with OSL 1.10.x.
Shane Ambler [Mon, 3 Dec 2018 11:16:30 +0000 (12:16 +0100)]
Fix T58600: update OSL scripts to work with OSL 1.10.x.

2 years agoData Transfer Modifier: fix mesh_get_eval_final usage.
Alexander Gavrilov [Mon, 3 Dec 2018 13:56:11 +0000 (16:56 +0300)]
Data Transfer Modifier: fix mesh_get_eval_final usage.

It can't be used during modifier evaluation, and rna
enum code should access the evaluated objects.

2 years agoDepsgraph: assert that mesh_get_eval_final/deform aren't used in eval.
Alexander Gavrilov [Mon, 3 Dec 2018 12:22:19 +0000 (15:22 +0300)]
Depsgraph: assert that mesh_get_eval_final/deform aren't used in eval.

Using those functions during multithreaded evaluation is a sure
way to have a race condition and crash.

2 years agoFix T58258: Select Objects in Collection not working
Philipp Oeser [Mon, 3 Dec 2018 11:55:12 +0000 (12:55 +0100)]
Fix T58258: Select Objects in Collection not working

Maniphest Tasks: T58258

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

2 years ago3D View: remove non tool-system ruler
Campbell Barton [Mon, 3 Dec 2018 10:20:05 +0000 (21:20 +1100)]
3D View: remove non tool-system ruler

There was duplicate code for the ruler being accessed
as a tool and an operator.

Remove the modal operator code in favor of tool access.

2 years agoFix T58556: Some remaining 'dupli_types' in pycode after renaming.
Bastien Montagne [Mon, 3 Dec 2018 09:38:46 +0000 (10:38 +0100)]
Fix T58556: Some remaining 'dupli_types' in pycode after renaming.

2 years agoFix T58594: Modal circle select can't select & de-select
Campbell Barton [Mon, 3 Dec 2018 08:29:06 +0000 (19:29 +1100)]
Fix T58594: Modal circle select can't select & de-select

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 3 Dec 2018 08:31:54 +0000 (19:31 +1100)]
Merge branch 'master' into blender2.8

2 years agoFix T58535 Crash on Load
Antonioya [Mon, 3 Dec 2018 08:12:29 +0000 (09:12 +0100)]
Fix T58535 Crash on Load

The particles was not ready when the drawing cache try to use it.

2 years agoFix T54580: Pointer buttons skip undo push
Campbell Barton [Mon, 3 Dec 2018 07:43:33 +0000 (18:43 +1100)]
Fix T54580: Pointer buttons skip undo push

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 3 Dec 2018 07:01:19 +0000 (18:01 +1100)]
Merge branch 'master' into blender2.8

2 years agoUse scene active object for sculptmode enter/exit calls
Campbell Barton [Mon, 3 Dec 2018 07:00:20 +0000 (18:00 +1100)]
Use scene active object for sculptmode enter/exit calls

Match logic in previous commit.

2 years agoFix T56331: Undo crash w/ sculpt on hidden layer
Campbell Barton [Mon, 3 Dec 2018 06:42:26 +0000 (17:42 +1100)]
Fix T56331: Undo crash w/ sculpt on hidden layer

2 years agoFix T56642: 3D view gizmo orientation wont update
Campbell Barton [Mon, 3 Dec 2018 05:52:21 +0000 (16:52 +1100)]
Fix T56642: 3D view gizmo orientation wont update

2 years agoCleanup: warning, style
Campbell Barton [Mon, 3 Dec 2018 05:50:50 +0000 (16:50 +1100)]
Cleanup: warning, style

2 years agoFix T58528: Assign material skips non-active
Campbell Barton [Mon, 3 Dec 2018 04:26:25 +0000 (15:26 +1100)]
Fix T58528: Assign material skips non-active

2 years agoFix/workaround T58368: Crash w/ mapped mesh + autosmooth
Campbell Barton [Mon, 3 Dec 2018 03:58:29 +0000 (14:58 +1100)]
Fix/workaround T58368: Crash w/ mapped mesh + autosmooth

2 years agoCleanup: remove flag from GizmoCommonData
Campbell Barton [Mon, 3 Dec 2018 02:01:04 +0000 (13:01 +1100)]
Cleanup: remove flag from GizmoCommonData

Use struct member instead,
there are already many gizmo flags to keep track of.

2 years agoFix T58573: Camera lens gizmo error on click
Campbell Barton [Mon, 3 Dec 2018 01:55:55 +0000 (12:55 +1100)]
Fix T58573: Camera lens gizmo error on click

2 years agoFix camera lens gizmo sensor comparison
Campbell Barton [Mon, 3 Dec 2018 00:26:03 +0000 (11:26 +1100)]
Fix camera lens gizmo sensor comparison

2 years agoFix T58566: Blender 2.7x keymap not correct for select all toggle and spacebar.
Brecht Van Lommel [Sun, 2 Dec 2018 23:38:40 +0000 (00:38 +0100)]
Fix T58566: Blender 2.7x keymap not correct for select all toggle and spacebar.

2 years agoFix T56996: MacOS: Lagging when rotating the view
Clément Foucault [Sun, 2 Dec 2018 21:33:31 +0000 (22:33 +0100)]
Fix T56996: MacOS: Lagging when rotating the view

It happens on multiple configuration so we cannot isolate the fix to only
some config.

Thanks Hugo Lamarche for helping finding the fix.

2 years agoFix T58101 : Image empties are only rendering their border when using MSAA
Clément Foucault [Sun, 2 Dec 2018 19:11:23 +0000 (20:11 +0100)]
Fix T58101 : Image empties are only rendering their border when using MSAA

2 years agoTexture Paint: fix fast selection update to also work without modifiers.
Alexander Gavrilov [Sun, 2 Dec 2018 16:59:57 +0000 (19:59 +0300)]
Texture Paint: fix fast selection update to also work without modifiers.

If there are no (non-deform) modifiers, the evaluated mesh simply
shares arrays with the base COW copy instead of having CD_ORIGINDEX.

2 years agoGP: Fix line primitive when using to square behaviour
Charlie Jolly [Fri, 30 Nov 2018 12:06:04 +0000 (12:06 +0000)]
GP: Fix line primitive when using to square behaviour

Previously the shift key for line primitives only allowed diagonals.
This change allows the line to constrain to vertical and horizontal lines.

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

2 years agoFix texture previews not updating when parameters are changed.
Alexander Gavrilov [Sun, 2 Dec 2018 11:57:38 +0000 (14:57 +0300)]
Fix texture previews not updating when parameters are changed.

Maybe there is a more correct way, but this works for now.

2 years agoPartial fix for T58113 bevel harden normals bug.
Howard Trickey [Sun, 2 Dec 2018 11:29:58 +0000 (06:29 -0500)]
Partial fix for T58113 bevel harden normals bug.

This fixes the problem where not all faces got hardened properly
when using a hardening mode in the bevel modifier.

2 years agoKeymap: fix error in recent enum-menu support
Campbell Barton [Sun, 2 Dec 2018 04:09:15 +0000 (15:09 +1100)]
Keymap: fix error in recent enum-menu support

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 2 Dec 2018 03:32:31 +0000 (14:32 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: BKE b-bone API naming
Campbell Barton [Sun, 2 Dec 2018 03:29:54 +0000 (14:29 +1100)]
Cleanup: BKE b-bone API naming

Use BKE_pchan_bbone prefix.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sun, 2 Dec 2018 03:15:43 +0000 (14:15 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: BKE_effect.h naming
Campbell Barton [Sun, 2 Dec 2018 03:14:51 +0000 (14:14 +1100)]
Cleanup: BKE_effect.h naming

2 years agoKeymap: use strict format for keymap definitions
Campbell Barton [Sun, 2 Dec 2018 02:58:52 +0000 (13:58 +1100)]
Keymap: use strict format for keymap definitions

Ensure we use lists for keymap items and item properties.

This means scripts can access keymap definitions from other layouts,
manipulating them without sometimes encountering a tuple that needs
to be converted into a list.

2 years agoCleanup: simplify poll function
Campbell Barton [Sun, 2 Dec 2018 02:59:43 +0000 (13:59 +1100)]
Cleanup: simplify poll function

2 years agoFix T57455: Fix faulty gpu detection
Clément Foucault [Sun, 2 Dec 2018 02:49:26 +0000 (03:49 +0100)]
Fix T57455: Fix faulty gpu detection

2 years agoCleanup: de-duplicate gpencil material UI
Campbell Barton [Sun, 2 Dec 2018 02:26:10 +0000 (13:26 +1100)]
Cleanup: de-duplicate gpencil material UI

Top-bar and properties-editor were near duplicates.

2 years agoCleanup: remove redundant gpencil material checks
Campbell Barton [Sun, 2 Dec 2018 02:09:15 +0000 (13:09 +1100)]
Cleanup: remove redundant gpencil material checks

Poll checks for an object, no need to check for non-object
materials in the draw function.

2 years agoAdd missing include
Campbell Barton [Sun, 2 Dec 2018 02:11:47 +0000 (13:11 +1100)]
Add missing include

2 years agoFix T57455: Laggy, freezing UI with Linux and Intel UHD 620
Clément Foucault [Sun, 2 Dec 2018 00:57:22 +0000 (01:57 +0100)]
Fix T57455: Laggy, freezing UI with Linux and Intel UHD 620

Seems like a driver bug but doing glFlush() before these calls fixes it.

2 years agoOptimize ghash usage
Campbell Barton [Sat, 1 Dec 2018 21:13:31 +0000 (08:13 +1100)]
Optimize ghash usage

Avoid double hash calculation.

2 years agoFix button data access for python context menus
Campbell Barton [Sat, 1 Dec 2018 20:50:25 +0000 (07:50 +1100)]
Fix button data access for python context menus

D4016 by @raa

2 years agoFix T58460: Proportional edit icon disappears
Antonioya [Sat, 1 Dec 2018 23:05:01 +0000 (00:05 +0100)]
Fix T58460: Proportional edit icon disappears

2 years agoWorkbench: Don't use alpha channel if not doing render
Clément Foucault [Sat, 1 Dec 2018 19:38:30 +0000 (20:38 +0100)]
Workbench: Don't use alpha channel if not doing render

Lower Vram usage a bit

2 years agoWM: Optimization: Don't clear the window color buffer
Clément Foucault [Sat, 1 Dec 2018 19:15:23 +0000 (20:15 +0100)]
WM: Optimization: Don't clear the window color buffer

This is not needed and is rather costly.

Can be reverted if that causes problem.

2 years agoUI: Simplify the area border drawing
Clément Foucault [Sat, 1 Dec 2018 18:49:31 +0000 (19:49 +0100)]
UI: Simplify the area border drawing

Instead of doing a lot of alpha blended drawing with jittering, use the
fragment shader to do the masking using a circle mask.

This is much simpler and requires much less resources.

Hopefully this may solve the issue we have with the Intels UHD Graphics 620
on linux.

2 years agoFix T58433: Limit Distance constraint distance not auto-computed.
Alexander Gavrilov [Sat, 1 Dec 2018 17:02:14 +0000 (20:02 +0300)]
Fix T58433: Limit Distance constraint distance not auto-computed.

Another case of a value that needs to be written back to non-COW copy.

2 years agoFix T58412: in weight paint + pose mode certain armature operations crash.
Alexander Gavrilov [Sat, 1 Dec 2018 16:43:10 +0000 (19:43 +0300)]
Fix T58412: in weight paint + pose mode certain armature operations crash.

The cause is that FOREACH_OBJECT_IN_MODE_BEGIN assumed that the active
object is in the correct mode, which is wrong in this case. It also
only considered objects of the same type as active, which had to be
replaced with an explicit type parameter.

2 years agoFix more cases of evaluated mesh being built for non-COW objects.
Alexander Gavrilov [Sat, 1 Dec 2018 16:06:44 +0000 (19:06 +0300)]
Fix more cases of evaluated mesh being built for non-COW objects.