2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Wed, 18 Oct 2017 05:40:31 +0000 (16:40 +1100)]
Merge branch 'master' into blender2.8

2 years agoFix T53098, T53079: OpenCL world texture errors after recent changes.
Brecht Van Lommel [Wed, 18 Oct 2017 01:11:03 +0000 (03:11 +0200)]
Fix T53098, T53079: OpenCL world texture errors after recent changes.

2 years agoFollow up to engine in workspaces, using clay as default
Dalai Felinto [Tue, 17 Oct 2017 22:34:15 +0000 (20:34 -0200)]
Follow up to engine in workspaces, using clay as default

It would be too slow to use Eevee for files that were not prepared for it.
And at the moment since this is not set, it was falling back to BI.

2 years agoFix crash when Making Duplicates Real for groups
Dalai Felinto [Tue, 17 Oct 2017 22:13:51 +0000 (20:13 -0200)]
Fix crash when Making Duplicates Real for groups

2 years agoLayers: Fix selected lamp and dupli count for info stats
Dalai Felinto [Tue, 17 Oct 2017 21:50:26 +0000 (19:50 -0200)]
Layers: Fix selected lamp and dupli count for info stats

2 years agoMake auto handle placement aware of cyclic extrapolation.
Alexander Gavrilov [Tue, 17 Oct 2017 16:39:10 +0000 (19:39 +0300)]
Make auto handle placement aware of cyclic extrapolation.

Cyclic extrapolation is implemented as an f-curve modifier, so this
technically violates abstraction separation and is something of a hack.
However without such behavior achieving smooth looping with cyclic
extrapolation is extremely cumbersome.

The new behavior is applied when the first modifier is Cyclic
extrapolation in Repeat or Repeat with Offset mode without
using influence, repeat count or range restrictions.

This change in behavior means that curve handles have to be updated
when the modifier is added, removed or its options change. Due to the
way code is structured, it seems it requires a helper link to the
containing curve from the modifier object.

Reviewers: aligorith

Differential Revision:

2 years agoFix T52959: Local view looses clip range on exit
Campbell Barton [Tue, 17 Oct 2017 14:40:01 +0000 (01:40 +1100)]
Fix T52959: Local view looses clip range on exit

2 years agoFix T53074: Use the pybuffer->itemsize to get the corresponding GLtype
Germano [Tue, 17 Oct 2017 14:06:52 +0000 (12:06 -0200)]
Fix T53074: Use the pybuffer->itemsize to get the corresponding GLtype

It seems that `typestr` does not always define the final size of the element. And it varies by operating system.

Then use the `typestr` only to know the itemtype is `float` type or not.

2 years agoFix T53007: OpenSubdiv + transparency = artefact/crashes
Sergey Sharybin [Tue, 17 Oct 2017 10:12:15 +0000 (12:12 +0200)]
Fix T53007: OpenSubdiv + transparency = artefact/crashes

2 years agoGPU: Report number of compressed texture formats to help nailing crahs down in the...
Sergey Sharybin [Tue, 17 Oct 2017 09:53:15 +0000 (11:53 +0200)]
GPU: Report number of compressed texture formats to help nailing crahs down in the future

2 years agoGPU: Fix memory corruption in GPU_debug on GTX1080
Sergey Sharybin [Tue, 17 Oct 2017 09:51:05 +0000 (11:51 +0200)]
GPU: Fix memory corruption in GPU_debug on GTX1080

Number of texture formats is 51, which is greater than allowed size of 32.

2 years agoAdded alpha channel check to Alembic unit test
Sybren A. Stüvel [Tue, 17 Oct 2017 08:59:02 +0000 (10:59 +0200)]
Added alpha channel check to Alembic unit test

It was broken due to 823bcf1689a3dbd44dd77b2c8ea46b9b54073c46, which added
alpha information and thus changed tuple size from 3 to 4 items.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 17 Oct 2017 04:18:12 +0000 (15:18 +1100)]
Merge branch 'master' into blender2.8

2 years agoWM: move gesture operator callbacks into own file
Campbell Barton [Tue, 17 Oct 2017 04:09:29 +0000 (15:09 +1100)]
WM: move gesture operator callbacks into own file

`wm_operators.c` is near 5k LOC with lots of mixed functionality,
extract gesture callbacks since they aren't closely related.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 17 Oct 2017 03:06:49 +0000 (14:06 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use 'e' prefix for enum typedefs
Campbell Barton [Tue, 17 Oct 2017 02:43:10 +0000 (13:43 +1100)]
Cleanup: use 'e' prefix for enum typedefs

Convention was only followed loosely,
apply to DNA where changes aren't likely to conflict.

(Skipped ModifierType for eg).

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 17 Oct 2017 01:42:51 +0000 (12:42 +1100)]
Merge branch 'master' into blender2.8

2 years agoWM: immediate line-gesture activation on tweak
Campbell Barton [Tue, 17 Oct 2017 01:37:26 +0000 (12:37 +1100)]
WM: immediate line-gesture activation on tweak

Matches border-gesture behavior,
needed for binding bisect to tweak event.

2 years agoGPUFramebuffer: Fix recursive downsample exiting early.
Clément Foucault [Tue, 17 Oct 2017 01:06:04 +0000 (03:06 +0200)]
GPUFramebuffer: Fix recursive downsample exiting early.

I should really proof read my commits a bit more.

2 years agoKnife Tool: add wait_for_event option
Campbell Barton [Tue, 17 Oct 2017 00:50:59 +0000 (11:50 +1100)]
Knife Tool: add wait_for_event option

2 years agoGPU Extension: Fix AMD Vega + open source driver detection.
Clément Foucault [Mon, 16 Oct 2017 22:53:14 +0000 (00:53 +0200)]
GPU Extension: Fix AMD Vega + open source driver detection.

2 years agoDocs: Add comments on workspace removal functions
Julian Eisel [Mon, 16 Oct 2017 21:19:15 +0000 (23:19 +0200)]
Docs: Add comments on workspace removal functions

2 years agoFix warnings for notifier listeners
Julian Eisel [Mon, 16 Oct 2017 20:49:00 +0000 (22:49 +0200)]
Fix warnings for notifier listeners

2 years agoFix for objects trailing in viewport when using BI in scene+Eevee in workspace
Dalai Felinto [Mon, 16 Oct 2017 20:37:37 +0000 (18:37 -0200)]
Fix for objects trailing in viewport when using BI in scene+Eevee in workspace

Thanks for Clément Foucault for finding where to tackle.

2 years agoFixup for recent workspace changes: Python files
Dalai Felinto [Mon, 16 Oct 2017 19:59:09 +0000 (17:59 -0200)]
Fixup for recent workspace changes: Python files

I wrongly changed some of these files via sed, and apparently overdid
it in some false positives.

2 years agoSilence warning
Dalai Felinto [Mon, 16 Oct 2017 19:53:57 +0000 (17:53 -0200)]
Silence warning

2 years agoWorkspace: Call BKE_viewrender_free from the right place
Dalai Felinto [Mon, 16 Oct 2017 19:52:49 +0000 (17:52 -0200)]
Workspace: Call BKE_viewrender_free from the right place

We should call it when we free the workspace, not when removing it.
Patch by Julian Eisel.

2 years agoWorkspace: Move engines to workspace and Properties Editor cleanup
Dalai Felinto [Mon, 16 Oct 2017 19:15:03 +0000 (17:15 -0200)]
Workspace: Move engines to workspace and Properties Editor cleanup

Engine is not stored in WorkSpaces. That defines the "context" engine, which
is used for the entire UI.

The engine used for the poll of nodes (add node menu, new nodes when "Use Nodes")
is obtained from context.

Introduce a ViewRender struct for viewport settings that are defined for
workspaces and scene. This struct will be populated with the hand-picked
settings that can be defined per workspace as per the 2.8 design.

* use_scene_settings
* properties editor: workshop + organize context path

Use Scene Settings
For viewport drawing, Workspaces have an option to use the Scene render
settings (F12) instead of the viewport settings.

This way users can quickly preview the final render settings, engine and
View Layer. This will affect all the editors in that workspace, and it will be
clearly indicated in the top-bar.

Properties Editor: Add Workspace and organize context path

We now have the properties of:

Scene, Scene > Layer, Scene > World, Workspace

[Scene | Workspace] > Render Layer > Object
[Scene | Workspace] > Render Layer > Object > Data

Reviewers: Campbell Barton, Julian Eisel
Differential Revision:

2 years agoFix compatibility flag for nodetree
Dalai Felinto [Mon, 16 Oct 2017 18:36:44 +0000 (16:36 -0200)]
Fix compatibility flag for nodetree

NODE_NEWER_SHADING was introduced in e868b459bb8e however it should have been
added as a bitflag.

BKE_scene_uses_blender_eevee() was used in gpu_shader_output() as a workaround
for compatibility being poorly used.

Anyways this fixes this situation. This is necessary for an upcoming patch, even
though this is considered temporary - since the other NODE_*_SHADING values are
legacy from Blender Internal drawing.

2 years agoReplace freeing checks with MEM_SAFE_FREE
Joshua Leung [Mon, 16 Oct 2017 11:44:20 +0000 (00:44 +1300)]
Replace freeing checks with MEM_SAFE_FREE

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 16 Oct 2017 11:28:24 +0000 (22:28 +1100)]
Merge branch 'master' into blender2.8

2 years agoWM: refactor gestures for use as tools
Campbell Barton [Mon, 16 Oct 2017 10:58:51 +0000 (21:58 +1100)]
WM: refactor gestures for use as tools

Border and circle select wait for input by default.
This commit uses bool properties on the operators instead of
magic number (called "gesture_mode").

Keymaps that define 'deselect' for border/circle select
begin immediately, exiting when on button release.

2 years agoFix T53054: Parentless bone + IK crashes
Campbell Barton [Mon, 16 Oct 2017 11:20:34 +0000 (22:20 +1100)]
Fix T53054: Parentless bone + IK crashes

2 years agoCleanup: modal operator border callback names
Campbell Barton [Mon, 16 Oct 2017 06:01:28 +0000 (17:01 +1100)]
Cleanup: modal operator border callback names

Use same convention as all others.
Remove 'select' since these are used for zoom as well.

2 years agoWM: store modal operator last-properties
Campbell Barton [Mon, 16 Oct 2017 05:35:22 +0000 (16:35 +1100)]
WM: store modal operator last-properties

Avoids modal operators needing to explicitly store them.

2 years agoWM: Don't save mouse-paths to operator history
Campbell Barton [Mon, 16 Oct 2017 05:11:04 +0000 (16:11 +1100)]
WM: Don't save mouse-paths to operator history

In preparation for modal operators storing their properties,
no need to keep mouse-paths around.

Also use generic function for lasso properties.

2 years agoWM: remove hard-coded circle radius memory
Campbell Barton [Mon, 16 Oct 2017 04:32:09 +0000 (15:32 +1100)]
WM: remove hard-coded circle radius memory

Replace with operator type 'last_properties'.

Also use generic function for circle gesture properties.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 16 Oct 2017 03:31:19 +0000 (14:31 +1100)]
Merge branch 'master' into blender2.8

2 years agoEvent System: Prevent mouse motion in click events
Campbell Barton [Mon, 16 Oct 2017 03:19:03 +0000 (14:19 +1100)]
Event System: Prevent mouse motion in click events

Don't convert mouse button events to click if they include dragging.
Double-click events already checked for this.

2 years agoCleanup: simplify lasso reallocation
Campbell Barton [Mon, 16 Oct 2017 02:18:50 +0000 (13:18 +1100)]
Cleanup: simplify lasso reallocation

Remove unneeded define, double allocations when increasing.

2 years agoCleanup: rename gesture mode to is_active
Campbell Barton [Mon, 16 Oct 2017 02:01:09 +0000 (13:01 +1100)]
Cleanup: rename gesture mode to is_active

Wasn't obvious what this did at a glance.

2 years agoCode cleanup: deduplicate primitive refit code.
Brecht Van Lommel [Fri, 13 Oct 2017 17:36:10 +0000 (18:36 +0100)]
Code cleanup: deduplicate primitive refit code.

2 years agoFix bad 'poll' prop callback API doc.
Bastien Montagne [Sun, 15 Oct 2017 18:38:29 +0000 (20:38 +0200)]
Fix bad 'poll' prop callback API doc.

This was added to all prop types, when it is only available for Pointer ones.

2 years agoFix OpenCL performance regression after cubic interpolation.
Brecht Van Lommel [Sun, 15 Oct 2017 15:40:01 +0000 (17:40 +0200)]
Fix OpenCL performance regression after cubic interpolation.

Reorganize code to reduce register pressure.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 14 Oct 2017 08:29:11 +0000 (19:29 +1100)]
Merge branch 'master' into blender2.8

2 years agoEdit Mesh/Curve: Median center for click extrude
Campbell Barton [Sat, 14 Oct 2017 08:22:44 +0000 (19:22 +1100)]
Edit Mesh/Curve: Median center for click extrude

Was using bound-box center which depends on rotation.

2 years agoAdd some basic 4K render presets.
Bastien Montagne [Sat, 14 Oct 2017 08:07:02 +0000 (10:07 +0200)]
Add some basic 4K render presets.

This difinition is becomming rather common now, time to add it to our
collection imho (requested in T53064).

2 years agoEdit Mesh: click extrude, ensure inverse matrix
Campbell Barton [Sat, 14 Oct 2017 07:43:02 +0000 (18:43 +1100)]
Edit Mesh: click extrude, ensure inverse matrix

Relied on this being set elsewhere which isn't assured.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 14 Oct 2017 06:58:29 +0000 (17:58 +1100)]
Merge branch 'master' into blender2.8

2 years agoCorrect bezier curve assert
Campbell Barton [Sat, 14 Oct 2017 06:54:43 +0000 (17:54 +1100)]
Correct bezier curve assert

Bezier curves should have v-points zero'd.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Sat, 14 Oct 2017 06:38:06 +0000 (17:38 +1100)]
Merge branch 'master' into blender2.8

2 years agoCleanup: use const for events
Campbell Barton [Sat, 14 Oct 2017 06:29:54 +0000 (17:29 +1100)]
Cleanup: use const for events

2 years agoHide "Confirm on Release" button from transfor redo options
Julian Eisel [Fri, 13 Oct 2017 23:07:31 +0000 (01:07 +0200)]
Hide "Confirm on Release" button from transfor redo options

Hide-flag wasn't set so option shows up in keymap editor. But seems like
that flag is ignored there by now anyway.

2 years agoEevee: Contact Shadows: Fix remaining artifacts.
Clément Foucault [Thu, 12 Oct 2017 15:35:59 +0000 (17:35 +0200)]
Eevee: Contact Shadows: Fix remaining artifacts.

There was noise correlation between the rotation random number and the radius random number used in the contact shadow algo.
Hacking a new distribution from the old distribution (may not be ideal because it's discrepency may be high)
Also distribute samples evenly on the shadow disc. (add sqrt)

Fix the "bias floating shadows", was cause by the discarding of backfacing geom which makes no sense in this case.

2 years agoFix scene deletion code to match master's behavior.
Bastien Montagne [Thu, 12 Oct 2017 14:50:53 +0000 (16:50 +0200)]
Fix scene deletion code to match master's behavior.

Previous code, while more correct than old master one, could still lead
to invalid state in some corner cases (like linked scenes...).

2 years agoMerge branch 'master' into blender2.8
Bastien Montagne [Thu, 12 Oct 2017 14:40:35 +0000 (16:40 +0200)]
Merge branch 'master' into blender2.8


2 years agoFix T53052: ID decrement error when deleting a scene, either python or GUI.
Bastien Montagne [Thu, 12 Oct 2017 13:54:43 +0000 (15:54 +0200)]
Fix T53052: ID decrement error when deleting a scene, either python or GUI.

User count of scenes was inconsistant, screens only have 'user_one' kind
of owning over scenes, which means they shall never increment or
decrement their real user count. And usually, scenes have no real user
at all.

2 years agoFix T52999: floating (popup) panels/menus could jump around screen in some cases.
Bastien Montagne [Thu, 12 Oct 2017 12:43:45 +0000 (14:43 +0200)]
Fix T52999: floating (popup) panels/menus could jump around screen in some cases.

Would happen during panel's refresh drawing, if drawing code had to adjust
final panel position compared to the initial one computed based on the
mouse coordinates, and user had dragged the floating panel around.

Issue fixed by adjusting stored mouse coordinates once final panel
position is known, such that they would directly generate those
coordinates. that way, the basic offset applied to those stored mouse
coordinates during panel dragging is valid, and recreating panel based
on those won't make it jump in screen.

Note that panel will still jump in case user dragged it partially out of
view - we could prevent that, but imho it's better to keep that
behavior, since redraw can generate a popup of different size, which
could end up with a totally out-of-view one...

Hopefully this fix does not break anything else!

2 years agoDocs: add note for bmesh face_split_edgenet
Campbell Barton [Thu, 12 Oct 2017 11:46:04 +0000 (22:46 +1100)]
Docs: add note for bmesh face_split_edgenet

2 years agoObject Mode: Grid: Add a non-hard depth test.
Clément Foucault [Thu, 12 Oct 2017 02:03:42 +0000 (04:03 +0200)]
Object Mode: Grid: Add a non-hard depth test.

This adds a custom depth test that have the benefits to glitch less and be more visually pleasing.
Downside is that it let the grid pass trough the objects a little.

This effect is done in NDC space so that it counteract the logarithmic depth distribution imprecision (read as it's less visible near the camera but more present far away).

This patch also includes some cleanups.

2 years agoFix T53048: OSL Volume is broken in Blender 2.79
Sergey Sharybin [Wed, 11 Oct 2017 10:21:26 +0000 (15:21 +0500)]
Fix T53048: OSL Volume is broken in Blender 2.79

Was a mistake in optimization commit which was disconnecting closures and nodes
which does not make sense for volume output.

OSL script we can't ignore and can't currently know in advance if it's a proper
volume shader or not. So we never disconnect OSL nodes from volume output.

This is a good candidate for corrective release.

2 years agoCycles: Speedup up tangent space calculation
Sergey Sharybin [Fri, 25 Aug 2017 20:26:04 +0000 (22:26 +0200)]
Cycles: Speedup up tangent space calculation

This patch goes away form using C++ RNA during tangent space calculation which
avoids quite a bit of overhead. Now all calculation is done using data which
already exists in ccl::Mesh. This means, tangent space is now calculated from
triangles, which doesn't seem to be any different (at least as far as regression
tests are concerned).

One of the positive sides is that this change makes it possible to move tangent
space calculation from blender/ to render/ so we will have Cycles standalone
supporting tangent space.

Reviewers: brecht, lukasstockner97, campbellbarton

Differential Revision:

2 years agoCycles: Add utility function to calculate triangle's normal
Sergey Sharybin [Tue, 10 Oct 2017 08:12:06 +0000 (13:12 +0500)]
Cycles: Add utility function to calculate triangle's normal

2 years agoCycles: Add utility function to remove given attribute
Sergey Sharybin [Fri, 25 Aug 2017 20:51:44 +0000 (22:51 +0200)]
Cycles: Add utility function to remove given attribute

2 years agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 11 Oct 2017 08:14:16 +0000 (13:14 +0500)]
Merge branch 'master' into blender2.8

2 years agoCycles: Fix possible race condition when initializing devices list
Sergey Sharybin [Wed, 11 Oct 2017 07:48:19 +0000 (12:48 +0500)]
Cycles: Fix possible race condition when initializing devices list

2 years agoCycles tests: Don't proint braces for empty status
Sergey Sharybin [Tue, 10 Oct 2017 14:58:37 +0000 (19:58 +0500)]
Cycles tests: Don't proint braces for empty status

2 years agoGawain: Fix instancing messing next draw.
Clément Foucault [Wed, 11 Oct 2017 00:14:15 +0000 (02:14 +0200)]
Gawain: Fix instancing messing next draw.

Everything was fine if one batch is always used with instancing. But problem arise if the next drawcall for this batch is not using instancing as the attrib divisor stays set to 1 in th VAO.

As instancing is less used than normal drawing I prefer to reset the divisor after drawing as it is reset before drawing instances.

2 years agoEevee: Probe: Add Cubemap Resolution option.
Clément Foucault [Tue, 10 Oct 2017 19:56:11 +0000 (21:56 +0200)]
Eevee: Probe: Add Cubemap Resolution option.

2 years agoEevee: Fix light grid being rendered after delete.
Clément Foucault [Tue, 10 Oct 2017 17:21:32 +0000 (19:21 +0200)]
Eevee: Fix light grid being rendered after delete.

2 years agoEevee: Fix TAA color drifting.
Clément Foucault [Tue, 10 Oct 2017 16:32:05 +0000 (18:32 +0200)]
Eevee: Fix TAA color drifting.

This was caused by small float precision being insuficient. The blue component of R11F_G11F_B10F has lower precision than the other 2 components. This resulted in colors drifting towards a yellowish tone.

Using RGBA16F for the concerned buffer. This double the memory usage of the framebuffers and add subsequent bandwidth usage.

2 years agoEevee : Add a workaround for bug with AMD RX VEGA Linux + Mesa Driver
Clément Foucault [Tue, 10 Oct 2017 15:18:29 +0000 (17:18 +0200)]
Eevee : Add a workaround for bug with AMD RX VEGA Linux + Mesa Driver

This bug (explained here is breaking eevee beyond the point it's workable.

This patch workaround the issue by making sure every fbo have mipmaps that are strictly greater than 16px. This break the bloom visuals a bit but only for this setup.

2 years agoEevee: Fix hashed and alpha clip transparency.
Clément Foucault [Tue, 10 Oct 2017 14:41:13 +0000 (16:41 +0200)]
Eevee: Fix hashed and alpha clip transparency.

2 years agoEevee : SSR : Fix incorrect framebuffer issue.
Clément Foucault [Tue, 10 Oct 2017 14:40:30 +0000 (16:40 +0200)]
Eevee : SSR : Fix incorrect framebuffer issue.

It was cause by a texture without mipmap levels.

2 years agoFix T53040: Vertex paint, texure & symmetry fail
Campbell Barton [Tue, 10 Oct 2017 12:23:53 +0000 (23:23 +1100)]
Fix T53040: Vertex paint, texure & symmetry fail

Removed old logic for brush texture which was being applied twice.

2 years agoVertex Paint: add back missing VertProjHandle free
Campbell Barton [Tue, 10 Oct 2017 11:32:30 +0000 (22:32 +1100)]
Vertex Paint: add back missing VertProjHandle free

Also avoid passing large struct as value.

2 years agoCorrect logic for vertex paint smear
Campbell Barton [Tue, 10 Oct 2017 09:25:11 +0000 (20:25 +1100)]
Correct logic for vertex paint smear

Swapping gave values from the state before the last.
Thanks to @angavrilov for spotting.

2 years agoFix Sculpt 2D falloff, missing brush caused crash
Campbell Barton [Tue, 10 Oct 2017 08:49:31 +0000 (19:49 +1100)]
Fix Sculpt 2D falloff, missing brush caused crash

2 years agoCycles: Fix compilation of sm_20 and sm_21 kernels
Sergey Sharybin [Tue, 10 Oct 2017 07:26:02 +0000 (12:26 +0500)]
Cycles: Fix compilation of sm_20 and sm_21 kernels

Was broken since the bicubic commit for GPU support.

2 years agoManipulator: add cage3d scale widget
Campbell Barton [Mon, 9 Oct 2017 16:08:53 +0000 (03:08 +1100)]
Manipulator: add cage3d scale widget

For now only show this when scale manipulator is active.

2 years agoRecent check for navigation missed NULL check
Campbell Barton [Mon, 9 Oct 2017 15:43:56 +0000 (02:43 +1100)]
Recent check for navigation missed NULL check

2 years agoFix T53014: Cycles material preview not working
Dalai Felinto [Mon, 9 Oct 2017 14:41:14 +0000 (11:41 -0300)]
Fix T53014: Cycles material preview not working

This was introduced on 9ad2c0b6154 and partly mended on 8a1d787b89.

2 years agoMerge branch 'master' into blender2.8
Campbell Barton [Mon, 9 Oct 2017 14:36:36 +0000 (01:36 +1100)]
Merge branch 'master' into blender2.8

2 years agoUI: VSE strip menu reorganization
Aaron Carlisle [Mon, 9 Oct 2017 02:47:05 +0000 (13:47 +1100)]
UI: VSE strip menu reorganization

Add Inputs and Transform submenus.

2 years agoCycles: schedule more work for non-display and compute preemption CUDA cards.
Brecht Van Lommel [Sun, 8 Oct 2017 17:08:44 +0000 (19:08 +0200)]
Cycles: schedule more work for non-display and compute preemption CUDA cards.

This change affects CUDA GPUs not connected to a display or connected to a
display but supporting compute preemption so that the display does not
freeze. I couldn't find an official list, but compute preemption seems to be
only supported with GTX 1070+ and Linux (not GTX 1060- or Windows).

This helps improve small tile rendering performance further if there are
sufficient samples x number of pixels in a single tile to keep the GPU busy.

2 years agoFix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.
Mathieu Menuet [Sun, 8 Oct 2017 16:20:55 +0000 (18:20 +0200)]
Fix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.

Best guess is that cuInit() somehow interferes with the AMD graphics driver
on Windows, and switching the initialization order to do OpenCL first seems
to solve the issue.

2 years agoEevee: Fix bad defines for volumetric shadowing
Clément Foucault [Sun, 8 Oct 2017 16:23:45 +0000 (18:23 +0200)]
Eevee: Fix bad defines for volumetric shadowing

2 years agoFix potential string buffer overruns.
Bastien Montagne [Sun, 8 Oct 2017 14:08:00 +0000 (16:08 +0200)]
Fix potential string buffer overruns.

Note that our library path handling is still rather dodgy on this
regards, shall take some time at some point to seriously sanitize it...

2 years agoGawain: Make common uniforms become builtins
Clément Foucault [Sun, 8 Oct 2017 13:49:25 +0000 (15:49 +0200)]
Gawain: Make common uniforms become builtins

This improves eevee's cache performance by 13% in my test.

2 years agoCode refactor: use DeviceInfo to enable QBVH and decoupled volume shading.
Brecht Van Lommel [Sun, 8 Oct 2017 02:32:25 +0000 (04:32 +0200)]
Code refactor: use DeviceInfo to enable QBVH and decoupled volume shading.

2 years agoCleanup: --help text
Campbell Barton [Sun, 8 Oct 2017 07:46:26 +0000 (18:46 +1100)]
Cleanup: --help text

Sync with manual

2 years agoCMake: Re-order PYTHON_VERSION check
Campbell Barton [Sun, 8 Oct 2017 03:00:42 +0000 (14:00 +1100)]
CMake: Re-order PYTHON_VERSION check

Missing paths would error first.

2 years agoCycles: OpenCL bicubic and tricubic texture interpolation support.
Brecht Van Lommel [Sun, 8 Oct 2017 00:36:05 +0000 (02:36 +0200)]
Cycles: OpenCL bicubic and tricubic texture interpolation support.

2 years agoFix incorrect MIS with principled BSDF and specular roughness 0.
Brecht Van Lommel [Sat, 7 Oct 2017 19:43:36 +0000 (21:43 +0200)]
Fix incorrect MIS with principled BSDF and specular roughness 0.

2 years ago[cmake] Add minimum python version check to cmake to prevent later build errors.
Ray Molenkamp [Sat, 7 Oct 2017 13:57:19 +0000 (07:57 -0600)]
[cmake] Add minimum python version check to cmake to prevent later build errors.

2 years agoCode cleanup: simplify cmake kernel install.
Brecht Van Lommel [Sat, 7 Oct 2017 12:08:02 +0000 (14:08 +0200)]
Code cleanup: simplify cmake kernel install.

2 years agoCycles: CUDA bicubic and tricubic texture interpolation support.
Brecht Van Lommel [Sat, 7 Oct 2017 00:15:12 +0000 (02:15 +0200)]
Cycles: CUDA bicubic and tricubic texture interpolation support.

While cubic interpolation is quite expensive on the CPU compared to linear
interpolation, the difference on the GPU is quite small.

2 years agoCode refactor: make texture code more consistent between devices.
Brecht Van Lommel [Fri, 6 Oct 2017 19:47:41 +0000 (21:47 +0200)]
Code refactor: make texture code more consistent between devices.

* Use common TextureInfo struct for all devices, except CUDA fermi.
* Move image sampling code to kernels/*/kernel_*_image.h files.
* Use arrays for data textures on Fermi too, so device_vector<Struct> works.

2 years agoActually force accumulate mode for the Smear brush in weight/vertex paint.
Alexander Gavrilov [Sat, 7 Oct 2017 10:53:54 +0000 (13:53 +0300)]
Actually force accumulate mode for the Smear brush in weight/vertex paint.

Just removing the checkbox from UI isn't enough for proper behavior.

2 years agoMake weight paint blur thread safe, and fix smear ignoring mirror.
Alexander Gavrilov [Sat, 7 Oct 2017 09:45:21 +0000 (12:45 +0300)]
Make weight paint blur thread safe, and fix smear ignoring mirror.

Instead of trying to be clever with swaps and lazy updating the weight
data, simply recalculate one single array. To improve performance, use
threading for that.