2 years agoTweaks to make it easier to update bone motion paths (without the active bone needing...
Joshua Leung [Sun, 19 Nov 2017 12:00:27 +0000 (01:00 +1300)]
Tweaks to make it easier to update bone motion paths (without the active bone needing to have any paths itself)

This commit introduces the following changes:
* Modified the poll callback on the "Update Paths" operator for bones
  so that it only checks if there are bones that have motion paths
  (instead of checking whether the active bone has paths).

  This makes it easier to update paths without having to first select one
  that has them - useful when the paths are all on hidden/hard-to-select bones.

* Add a readonly property, "has_motion_paths" to the animviz.motion_path
  RNA struct, providing easier access to the internal flag used above.
  This makes it possible for the UI to display the "Update" button without
  having to check various bones for motion paths.

* The flag being used in these changes already existed, and was only really
  intended for internal use. However, since it was already used in many places
  for determining if auto-update of all bone paths was needed (e.g. after certain
  editing ops), it should be safe to use here too.

* The update_paths operator currently bakes all paths when activated, so there's
  currently no loss of functionality with changing to not checking if the active
  bone has any paths (e.g. we couldn't only update the active bone only either).
  That is still listed as a todo in the code.

2 years agoPasting poses now updates motion paths
Joshua Leung [Sun, 19 Nov 2017 11:31:07 +0000 (00:31 +1300)]
Pasting poses now updates motion paths

2 years agoFix T53229: "Sample Keyframes" errors with multiple pairs of keyframes selected
Joshua Leung [Sun, 19 Nov 2017 11:28:03 +0000 (00:28 +1300)]
Fix T53229: "Sample Keyframes" errors with multiple pairs of keyframes selected

There were 2 issues here (first was the one reported):
1) Curve shape changes if multiple consecutive pairs of keyframes
   are selected. The problem is that after the first pair is handled,
   subsequent pairs get sampled on the basis of the modified curve.

2) With multiple separate "islands" selected, unselected points in between
   would get ignored, causing the entire curve to get sampled.

2 years agoSwap priority of system path overrides for dev builds
Julian Eisel [Sun, 19 Nov 2017 11:24:12 +0000 (12:24 +0100)]
Swap priority of system path overrides for dev builds

Suggested by Campbell, thanks!

Also moved the exception into own function and improved comments.

Fixes T53008.

2 years agoVertex Paint: missed removing settings from UI
Campbell Barton [Sun, 19 Nov 2017 06:00:56 +0000 (17:00 +1100)]
Vertex Paint: missed removing settings from UI

2 years agoFix T53347: Vertex paint crash on undo/exit
Campbell Barton [Sun, 19 Nov 2017 05:45:27 +0000 (16:45 +1100)]
Fix T53347: Vertex paint crash on undo/exit

2 years agoCMake: remove solaris path
Campbell Barton [Sat, 18 Nov 2017 16:46:50 +0000 (03:46 +1100)]
CMake: remove solaris path

2 years agoCleanup: outdated comment
Campbell Barton [Sat, 18 Nov 2017 16:25:52 +0000 (03:25 +1100)]
Cleanup: outdated comment

2 years agoCleanup: style
Campbell Barton [Sat, 18 Nov 2017 06:22:54 +0000 (17:22 +1100)]
Cleanup: style

2 years agoFix BGE sound actuator property access
Campbell Barton [Sat, 18 Nov 2017 06:16:25 +0000 (17:16 +1100)]
Fix BGE sound actuator property access

2 years agoAdd select similar custom bone shape
Campbell Barton [Sat, 18 Nov 2017 02:52:02 +0000 (13:52 +1100)]
Add select similar custom bone shape

D2820 by @col-one w/ edits

2 years agoMikktspace: Speed up the merging of identical vertices
Lukas Stockner [Sun, 4 Jun 2017 21:04:47 +0000 (23:04 +0200)]
Mikktspace: Speed up the merging of identical vertices

Previously, Mikktspace just bucketed the vertices based on one spatial coordinate and then ran full pairwise comparisons inside each bucket.
However, since models are three-dimensional, the bucketing has a massive false-positive rate, and since pairwise comparison is O(n^2), the merging process is very slow.

But, since we only care about exactly identical vertices, there is a much more efficient approach - we can just hash all values belonging to each vertex and form buckets based on the hash.
Since the hash has 32 bits and considers all values, false-positives are very unlikely - and since both hashing and the radixsort that's used for bucketing are O(n), both asymptotical and
real-world performance (as well as code complexity) are significantly improved.

2 years agoCycles: Add per-tile render time debug pass
Lukas Stockner [Fri, 17 Nov 2017 13:23:48 +0000 (14:23 +0100)]
Cycles: Add per-tile render time debug pass

Reviewers: sergey, brecht

Differential Revision:

2 years agoCycles: Add Volume Direct and Volume Indirect passes for volume-scattered light
Lukas Stockner [Tue, 14 Nov 2017 06:21:07 +0000 (07:21 +0100)]
Cycles: Add Volume Direct and Volume Indirect passes for volume-scattered light

No color pass because it's hard to define what to use as color in a volume.

Reviewers: sergey, brecht

Differential Revision:

2 years agoCycles: Refactor PassType from bitflag to index in order to allow for more passes
Lukas Stockner [Tue, 14 Nov 2017 06:20:02 +0000 (07:20 +0100)]
Cycles: Refactor PassType from bitflag to index in order to allow for more passes

2 years agoDepsgraph: Add missing checks from previous commit
Sergey Sharybin [Fri, 17 Nov 2017 14:27:02 +0000 (15:27 +0100)]
Depsgraph: Add missing checks from previous commit

2 years agoDepsgraph: Don't make non-dynamic hair dependent on time
Sergey Sharybin [Fri, 17 Nov 2017 13:56:51 +0000 (14:56 +0100)]
Depsgraph: Don't make non-dynamic hair dependent on time

This way hair system used for static forest does not make playblack slow.

A bit dangerous, but let's see how far we can go!

2 years agoFix UV Projection Center Calculation
Campbell Barton [Fri, 17 Nov 2017 11:30:28 +0000 (22:30 +1100)]
Fix UV Projection Center Calculation

UV project mixed up global/local space,
3D cursor offset didn't take object scale into account.

Minor improvements:

- Match Cube Project 'center' behavior w/ sphere & cylinder.
- Add active-element center.
- Wrap UV's in Cube Project based on center instead of first vertex.

2 years agoBLI listbase: add bytes finding helpers.
Bastien Montagne [Thu, 16 Nov 2017 11:49:31 +0000 (12:49 +0100)]
BLI listbase: add bytes finding helpers.

Quite similar to string ones actually, except more generic. Used in
id_override_static branch currently.

2 years agoCycles: Fix crash with split branched path tracing
Mai Lavelle [Thu, 16 Nov 2017 08:32:02 +0000 (03:32 -0500)]
Cycles: Fix crash with split branched path tracing

ShaderData memory was getting clobbered in the branched path code paths.

Was caused by 087331c495b04ebd37903c0dc0e46262354cf026

2 years agoBLI_utildefines: sync w/ 2.8
Campbell Barton [Wed, 15 Nov 2017 12:06:34 +0000 (23:06 +1100)]
BLI_utildefines: sync w/ 2.8

2 years agoCleanup: use 'uint'
Campbell Barton [Wed, 15 Nov 2017 11:50:25 +0000 (22:50 +1100)]
Cleanup: use 'uint'

2 years agoGSet: utils to access data stored outside the set
Campbell Barton [Wed, 15 Nov 2017 11:45:37 +0000 (22:45 +1100)]
GSet: utils to access data stored outside the set

2 years agoFix T53309: Remove default 'Clear loc/rot/scale delta transform' shortcuts.
Bastien Montagne [Tue, 14 Nov 2017 21:47:42 +0000 (22:47 +0100)]
Fix T53309: Remove default 'Clear loc/rot/scale delta transform' shortcuts.

The loc one (shift-alt-G) was same as 'remove selected from active group'
action... Clear delta transform is not a common operation, so we can
live without a default shortcut for it.

Note that using same key (G) in same space for two completely different
kind of operations is probably a rather bad thing, nice topic for future
keymap work. ;)

Probably nice to have in 2.79a.

2 years agoSmoke: Pass non-trivial arguments by const reference
Sergey Sharybin [Tue, 14 Nov 2017 16:11:25 +0000 (17:11 +0100)]
Smoke: Pass non-trivial arguments by const reference

2 years agoFix compilation error with clang-5
Sergey Sharybin [Tue, 14 Nov 2017 16:00:54 +0000 (17:00 +0100)]
Fix compilation error with clang-5

2 years agoAlembic: Fix mismatch in forward declaration with definition
Sergey Sharybin [Tue, 14 Nov 2017 15:50:19 +0000 (16:50 +0100)]
Alembic: Fix mismatch in forward declaration with definition

2 years agoFix missing SpinLock typedef on macOS
Arto Kitula [Tue, 14 Nov 2017 14:51:34 +0000 (16:51 +0200)]
Fix missing SpinLock typedef on macOS

2 years agoFix T53068: AMD Threadripper not working well with Blender
Sergey Sharybin [Tue, 14 Nov 2017 11:21:15 +0000 (12:21 +0100)]
Fix T53068: AMD Threadripper not working well with Blender

The issue was caused by SpinLock implementation in old pthreads we ar eusing on
Windows. Using newer one (2.10-rc) demonstrates same exact behavior. But likely
using own atomics and memory barrier based implementation solves the issue.

A bit annoying that we need to change such a core part of Blender just to make
specific CPU happy, but it's better to have artists happy on all computers.

There is no expected downsides of this change, but it is so called "works for
me" category. Let's see how it all goes.

2 years agoCleanup: order BLI before BKE headers
Campbell Barton [Tue, 14 Nov 2017 06:23:40 +0000 (17:23 +1100)]
Cleanup: order BLI before BKE headers

This was done nearly everywhere already

2 years agoBLI: sync changes from 2.8
Campbell Barton [Tue, 14 Nov 2017 05:10:48 +0000 (16:10 +1100)]
BLI: sync changes from 2.8

2 years agoCycles: Make per-object random value output also work for Lamps
Lukas Stockner [Sun, 5 Nov 2017 20:59:17 +0000 (21:59 +0100)]
Cycles: Make per-object random value output also work for Lamps

2 years agoCycles: Refactor closure roughness detection to fix a potential bug with Denoising...
Lukas Stockner [Sun, 5 Nov 2017 20:43:23 +0000 (21:43 +0100)]
Cycles: Refactor closure roughness detection to fix a potential bug with Denoising of specular shaders

2 years agoCleanup on depsgraph logic
Dalai Felinto [Mon, 13 Nov 2017 14:17:14 +0000 (12:17 -0200)]
Cleanup on depsgraph logic

2 years agoDepsgraph: Fix relations for metaballs
Sergey Sharybin [Mon, 13 Nov 2017 13:43:08 +0000 (14:43 +0100)]
Depsgraph: Fix relations for metaballs

Initially spotted and investigated by Dalai and Germano.

2 years agoCycles: Fix compilation error of standalone application
Sergey Sharybin [Mon, 13 Nov 2017 09:49:05 +0000 (10:49 +0100)]
Cycles: Fix compilation error of standalone application

2 years agoCycles: Fix compilation error with OIIO compiled against system PugiXML
Sergey Sharybin [Mon, 13 Nov 2017 09:40:19 +0000 (10:40 +0100)]
Cycles: Fix compilation error with OIIO compiled against system PugiXML

2 years agoFix T53289: CUDA missing textures not showing pink, after recent changes.
Brecht Van Lommel [Sun, 12 Nov 2017 19:43:40 +0000 (20:43 +0100)]
Fix T53289: CUDA missing textures not showing pink, after recent changes.

2 years agoFix T53273: render bake settings properties not showing correct Python path.
Brecht Van Lommel [Sun, 12 Nov 2017 19:04:56 +0000 (20:04 +0100)]
Fix T53273: render bake settings properties not showing correct Python path.

2 years agoFix T53294: crash
Campbell Barton [Sun, 12 Nov 2017 05:05:28 +0000 (16:05 +1100)]
Fix T53294: crash

2 years agoBMesh Py API: Expose color alpha
Campbell Barton [Sun, 12 Nov 2017 04:48:24 +0000 (15:48 +1100)]
BMesh Py API: Expose color alpha

2 years agoCycles: Set error if a split kernel fails to load
Mai Lavelle [Sat, 11 Nov 2017 05:57:59 +0000 (00:57 -0500)]
Cycles: Set error if a split kernel fails to load

To help catch cases where adding a new kernel is missed for one of the
device implementations.

2 years agomball_tessellate: Simplify face creation
Germano [Fri, 10 Nov 2017 14:58:34 +0000 (12:58 -0200)]
mball_tessellate: Simplify face creation

Faces that have the last two indices equal are considered triangles, and not those that the last index is 0
Improvement of 7% in performance of the `polygonize` function

2 years agoCycles: Fix compilation error with latest OIIO
Sergey Sharybin [Fri, 10 Nov 2017 09:04:33 +0000 (10:04 +0100)]
Cycles: Fix compilation error with latest OIIO

There was some changes about namespaces, which causes ambiguities.

Replaces using namespace with an explicit symbols we need. Is good idea to NOT
pull in the whole namespace anyway!

2 years agoCycles: better distance sampling for chromatic volume extinction.
Brecht Van Lommel [Thu, 9 Nov 2017 03:42:07 +0000 (04:42 +0100)]
Cycles: better distance sampling for chromatic volume extinction.

Previously we picked one of the RGB channels with equal probability, but this
works poorly in a dense volume after many bounces. Now we take into account
the throughput and single scattering albedo.

This makes it a little more practical to do brute force SSS with volumes, but
is still very inefficient because we do direct light sampling at every volume
bounce even when inside an opaque mesh. In theory there could be a light inside
the mesh so we can't automatically disable direct lighting.

2 years agoFix T53270: crash with multiscatter GGX after recent refactoring.
Brecht Van Lommel [Wed, 8 Nov 2017 20:58:17 +0000 (21:58 +0100)]
Fix T53270: crash with multiscatter GGX after recent refactoring.

In fact this was an existing issue when exceeding the number of available
closure, but it's more common now that we set the number to 0 for shadows
and emission

2 years agoFix (harmless) valgrind warning.
Brecht Van Lommel [Wed, 8 Nov 2017 20:58:09 +0000 (21:58 +0100)]
Fix (harmless) valgrind warning.

2 years agoCycles: avoid reallocating tile denoising memory many times during render.
Brecht Van Lommel [Wed, 8 Nov 2017 19:15:38 +0000 (20:15 +0100)]
Cycles: avoid reallocating tile denoising memory many times during render.

2 years agoMoved alignment attributes from my last commit to BLI_compiler_attrs.h for future...
Stefan Werner [Thu, 9 Nov 2017 13:59:31 +0000 (14:59 +0100)]
Moved alignment attributes from my last commit to BLI_compiler_attrs.h for future use.

2 years agoCompositor: Ensured 16 byte alignment for variables accessed by SSE instructions.
Stefan Werner [Thu, 9 Nov 2017 13:38:17 +0000 (14:38 +0100)]
Compositor: Ensured 16 byte alignment for variables accessed by SSE instructions.

Before this patch, the XBlur/YBlur compositor nodes would crash for me when run in a MSVC 2015 debug build (test scene: BMW27_cpu). I added the compiler instructions to explicitly align the local variables that the SSE instructions are accessing.

2 years agoCycles: Silence warning when building without OSL
Dalai Felinto [Thu, 9 Nov 2017 10:39:30 +0000 (08:39 -0200)]
Cycles: Silence warning when building without OSL

2 years agoFix: unselectable objects can be selected via the NLA editor
Dalai Felinto [Thu, 9 Nov 2017 10:27:37 +0000 (08:27 -0200)]
Fix: unselectable objects can be selected via the NLA editor

This is not reported anywhere, but it's easy to reproduce. I ran into this
while updating this code for the blender2.8 branch.

2 years agoFix logic for pinning textures users from context
Dalai Felinto [Thu, 9 Nov 2017 10:17:35 +0000 (08:17 -0200)]
Fix logic for pinning textures users from context

This was wrong since it's concenption in 28ee0f9218.
The if statement was returning true when pinid was NULL, and false otherwise.

However when scene is pinned we also want to run this code.
Code snippet by Brecht Van Lommel.

2 years agoDepsgraph: Add missing handlers of node IDs
Sergey Sharybin [Thu, 9 Nov 2017 08:46:50 +0000 (09:46 +0100)]
Depsgraph: Add missing handlers of node IDs

Worst thing was that point density did not pull object into dependency graph,
which could lead to wrong render results.

2 years agoDepsgraph: Remove chains of scene being passed all over in relations builder
Sergey Sharybin [Thu, 9 Nov 2017 08:17:47 +0000 (09:17 +0100)]
Depsgraph: Remove chains of scene being passed all over in relations builder

2 years agoDepsgraph: Cleanup, remove scene being passed all over
Sergey Sharybin [Wed, 8 Nov 2017 17:06:51 +0000 (18:06 +0100)]
Depsgraph: Cleanup, remove scene being passed all over

Use the state one instead.

2 years agoDepsgraph: Remove bmain from internal builder API
Sergey Sharybin [Wed, 8 Nov 2017 16:47:00 +0000 (17:47 +0100)]
Depsgraph: Remove bmain from internal builder API

Use the one from state.

2 years agoDepsgraph: Make bmain part of builder state and remove bmain from public API
Sergey Sharybin [Wed, 8 Nov 2017 16:43:53 +0000 (17:43 +0100)]
Depsgraph: Make bmain part of builder state and remove bmain from public API

2 years agoDepsgraph: Cleanup, use google style for private members
Sergey Sharybin [Wed, 8 Nov 2017 16:38:42 +0000 (17:38 +0100)]
Depsgraph: Cleanup, use google style for private members

2 years agoDepsgraph: Synchronize nodes and relations builders
Sergey Sharybin [Wed, 8 Nov 2017 16:34:19 +0000 (17:34 +0100)]
Depsgraph: Synchronize nodes and relations builders

2 years agoDepsgraph: Fix wrong ID type being compared
Sergey Sharybin [Wed, 8 Nov 2017 16:33:46 +0000 (17:33 +0100)]
Depsgraph: Fix wrong ID type being compared

2 years agoDepsgraph: Cleanup, reduce indentation level
Sergey Sharybin [Wed, 8 Nov 2017 16:32:03 +0000 (17:32 +0100)]
Depsgraph: Cleanup, reduce indentation level

2 years agoDepsgraph: Assert when node uses unhandled ID type
Sergey Sharybin [Wed, 8 Nov 2017 16:30:28 +0000 (17:30 +0100)]
Depsgraph: Assert when node uses unhandled ID type

2 years agoCycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable
Mai Lavelle [Thu, 9 Nov 2017 05:49:15 +0000 (00:49 -0500)]
Cycles: Replace __MAX_CLOSURE__ build option with runtime integrator variable

Goal is to reduce OpenCL kernel recompilations.

Currently viewport renders are still set to use 64 closures as this seems to
be faster and we don't want to cause a performance regression there. Needs
to be investigated.

Reviewed By: brecht

Differential Revision:

2 years agoSilence warning from Collada
Dalai Felinto [Wed, 8 Nov 2017 20:33:17 +0000 (18:33 -0200)]
Silence warning from Collada

2 years agoI18n: add Hausa languages, since we now have a few messages translated. ;)
Bastien Montagne [Wed, 8 Nov 2017 09:10:42 +0000 (10:10 +0100)]
I18n: add Hausa languages, since we now have a few messages translated. ;)

2 years agoFix blender player build.
Brecht Van Lommel [Wed, 8 Nov 2017 00:10:49 +0000 (01:10 +0100)]
Fix blender player build.

2 years agoFix incorrect bevel shader in GLSL (should work as if there is no bevel node).
Brecht Van Lommel [Tue, 7 Nov 2017 23:19:24 +0000 (00:19 +0100)]
Fix incorrect bevel shader in GLSL (should work as if there is no bevel node).

2 years agoFix T53092: errors reading EXR files with different data/display window.
Brecht Van Lommel [Thu, 19 Oct 2017 01:55:11 +0000 (03:55 +0200)]
Fix T53092: errors reading EXR files with different data/display window.

Multilayer/multiview OpenEXRs did not read the full data window like single
layer, now it should be consistent.

2 years agoFix various issues with (multiview) OpenEXR file save/load.
Brecht Van Lommel [Fri, 20 Oct 2017 13:18:26 +0000 (15:18 +0200)]
Fix various issues with (multiview) OpenEXR file save/load.

* Fix saving a multiview render from the image editor giving invalid files.
* Fix failure to load multiview images with a single view per part.
* Fix loss of multiview metadata when saving/loading a single view.
* Fix Z-Buffer writing option for single layer EXR not being respected.

Multiview EXRs are now always handled as multilayer internally, significantly
reducing the amount of code.

Reviewed By: dfelinto

Differential Revision:

2 years agoFix EXR multilayer compositing result saving issues.
Brecht Van Lommel [Thu, 26 Oct 2017 12:23:18 +0000 (14:23 +0200)]
Fix EXR multilayer compositing result saving issues.

* It was saved as Combined.Combined instead of Composite.Combined.
* It was written even if no compositing was enabled.

2 years agoFix image editor showing pass name when there is only a combined pass.
Brecht Van Lommel [Thu, 26 Oct 2017 12:17:58 +0000 (14:17 +0200)]
Fix image editor showing pass name when there is only a combined pass.

2 years agoFix incorrect color management when saving JPG previews for EXR.
Brecht Van Lommel [Thu, 26 Oct 2017 12:14:12 +0000 (14:14 +0200)]
Fix incorrect color management when saving JPG previews for EXR.

2 years agoCycles: add bevel shader, for raytrace based rounded edges.
Brecht Van Lommel [Fri, 18 Aug 2017 16:37:05 +0000 (18:37 +0200)]
Cycles: add bevel shader, for raytrace based rounded edges.

The algorithm averages normals from nearby surfaces. It uses the same
sampling strategy as BSSRDFs, casting rays along the normal and two
orthogonal axes, and combining the samples with MIS.

The main concern here is that we are introducing raytracing inside
shader evaluation, which could be quite bad for GPU performance and
stack memory usage. In practice it doesn't seem so bad though.

Note that using this feature can easily slow down renders 20%, and
that if you care about performance then it's better to use a bevel
modifier. Mainly this is useful for baking, and for cases where the
mesh topology makes it difficult for the bevel modifier to work well.

Differential Revision:

2 years agoCode refactor: rename subsurface to local traversal, for reuse.
Brecht Van Lommel [Mon, 30 Oct 2017 19:25:08 +0000 (20:25 +0100)]
Code refactor: rename subsurface to local traversal, for reuse.

2 years agoCycles: antialias normal baking if the mesh has a bump map.
Brecht Van Lommel [Mon, 30 Oct 2017 16:19:37 +0000 (17:19 +0100)]
Cycles: antialias normal baking if the mesh has a bump map.

2 years agoCycles: add an extra CUDA synchronize before rendering.
Brecht Van Lommel [Tue, 7 Nov 2017 02:38:49 +0000 (03:38 +0100)]
Cycles: add an extra CUDA synchronize before rendering.

It should not be needed as far as I know, but just in case it fixes any
of the recent issues like T52572.

2 years agoFix incorrect MIS weights in Cycles with multiple lights.
Brecht Van Lommel [Tue, 7 Nov 2017 02:28:10 +0000 (03:28 +0100)]
Fix incorrect MIS weights in Cycles with multiple lights.

This causes some difference in the classroom scene, where ray visibility
tricks are used and break the MIS balance. Otherwise there doesn't seem
to be much effect, but better to use the right formulas. Problem originally
identified by Lukas.

2 years agoWindows: Add additional crash diagnostic information.
Ray Molenkamp [Tue, 7 Nov 2017 14:57:59 +0000 (07:57 -0700)]
Windows: Add additional crash diagnostic information.

To help diagnose issues like T53259, it is useful to know the module causing the issue (is it us, or some opengl icd, or python module?) and while we cannot do stackdumps on release builds on windows, it is possible to display the faulting module. This commit changes the exception handler to output the following information:

Error   : EXCEPTION_ACCESS_VIOLATION (Type of exception , this we had before)
Address : 0x0000000140193726 (Address of the exception, new)
Module  : k:\BlenderGit\build_windows_Full_noge_x64_vc15_Release\bin\Release\blender.exe (module of the exception, new)

2 years agoCycles: Cleanup, style
Sergey Sharybin [Tue, 7 Nov 2017 12:55:58 +0000 (13:55 +0100)]
Cycles: Cleanup, style

2 years agoFix T53129: Cycles missing update when changing image auto refresh.
Brecht Van Lommel [Tue, 7 Nov 2017 01:27:27 +0000 (02:27 +0100)]
Fix T53129: Cycles missing update when changing image auto refresh.

Previously auto refresh worked, but only if it was already enabled before
starting the viewport render.

2 years agomacOS: remove old OpenMP lib stuff from cmake
Arto Kitula [Mon, 6 Nov 2017 21:54:35 +0000 (23:54 +0200)]
macOS: remove old OpenMP lib stuff from cmake

Bastien Montagne [Mon, 6 Nov 2017 16:17:10 +0000 (17:17 +0100)]

This makes code closer to id_override/assent-engine ones, which
introduce a new type of linked data, and hence reserve
ID_IS_LINKED_DATABLOCK to real linked datablocks.

2 years agoFix T53250: Crash when linking/appending a scene to a blend when another linked scene...
Bastien Montagne [Mon, 6 Nov 2017 14:16:40 +0000 (15:16 +0100)]
Fix T53250: Crash when linking/appending a scene to a blend when another linked scene in this blend is currently open/active.

Inner DAG code would not check against NULL pointer, and in case of an
active linked scene, scene pointer will be NULL here, so we have to
check it ourself. ;)

2 years agoCycles: reduce closure memory usage for emission/shadow shader data.
Brecht Van Lommel [Wed, 1 Nov 2017 20:02:28 +0000 (21:02 +0100)]
Cycles: reduce closure memory usage for emission/shadow shader data.

With a Titan Xp, reduces path trace local memory from 1092MB to 840MB.
Benchmark performance was within 1% with both RX 480 and Titan Xp.

Original patch was implemented by Sergey.

Differential Revision:

2 years agoCode refactor: sum transparent and absorption weights outside closures.
Brecht Van Lommel [Wed, 1 Nov 2017 20:07:15 +0000 (21:07 +0100)]
Code refactor: sum transparent and absorption weights outside closures.

2 years agoCode refactor: remove emission and background closures, sum directly.
Brecht Van Lommel [Wed, 1 Nov 2017 18:00:42 +0000 (19:00 +0100)]
Code refactor: remove emission and background closures, sum directly.

2 years agoCycles: fix inefficient attribute map storage, saves 615MB in victor scene.
Brecht Van Lommel [Sun, 5 Nov 2017 16:40:36 +0000 (17:40 +0100)]
Cycles: fix inefficient attribute map storage, saves 615MB in victor scene.

2 years agoCode refactor: device memory cleanups, preparing for mapped host memory.
Brecht Van Lommel [Sat, 4 Nov 2017 23:34:30 +0000 (00:34 +0100)]
Code refactor: device memory cleanups, preparing for mapped host memory.

2 years agoCycles: reserve CUDA local memory ahead of time.
Brecht Van Lommel [Sat, 4 Nov 2017 17:06:48 +0000 (18:06 +0100)]
Cycles: reserve CUDA local memory ahead of time.

This way we can log the amount of memory used, and it will be important
for host mapped memory support.

2 years agoCleanup: order buffer length after the buffer
Campbell Barton [Sun, 5 Nov 2017 13:04:46 +0000 (00:04 +1100)]
Cleanup: order buffer length after the buffer

2 years agoCleanup: remove paranoid NULL check
Campbell Barton [Sun, 5 Nov 2017 12:34:40 +0000 (23:34 +1100)]
Cleanup: remove paranoid NULL check

2 years agoCleanup: indentation, line wrapping
Campbell Barton [Sun, 5 Nov 2017 03:50:15 +0000 (14:50 +1100)]
Cleanup: indentation, line wrapping

2 years agoCleanup: spelling
Campbell Barton [Sun, 5 Nov 2017 03:33:18 +0000 (14:33 +1100)]
Cleanup: spelling

2 years agoUI: tool-tip refactor, don't hard code field types
Campbell Barton [Sat, 4 Nov 2017 08:24:43 +0000 (19:24 +1100)]
UI: tool-tip refactor, don't hard code field types

Allow other kinds of tips be created w/o exceeding hard limits.

2 years agoUI: correct flag re-use
Campbell Barton [Sat, 4 Nov 2017 03:10:04 +0000 (14:10 +1100)]
UI: correct flag re-use

Adding ability to show a button as pressed w/o UI_SELECT set caused
other flags to be cleared that shouldn't have been.

2 years agoCode refactor: replace CUDA array with linear memory for 1D and 2D textures.
Brecht Van Lommel [Fri, 3 Nov 2017 20:28:13 +0000 (21:28 +0100)]
Code refactor: replace CUDA array with linear memory for 1D and 2D textures.

This is a prequisite for getting host memory allocation to work. There appears
to be no support for 3D textures using host memory. The original version of
this code was written by Stefan Werner for D2056.

2 years agoFix T53247: mixed CPU + GPU render wrong texture limits.
Brecht Van Lommel [Fri, 3 Nov 2017 19:21:19 +0000 (20:21 +0100)]
Fix T53247: mixed CPU + GPU render wrong texture limits.

2 years agoScene RNA API: More global mains goes away
Sergey Sharybin [Fri, 3 Nov 2017 15:28:37 +0000 (16:28 +0100)]
Scene RNA API: More global mains goes away

2 years agoScene RNA API: Main from globals goes away
Sergey Sharybin [Fri, 3 Nov 2017 15:15:49 +0000 (16:15 +0100)]
Scene RNA API: Main from globals goes away

Bye bye..