20 months agoFix T54003: Particles - Size and random size not present in "physics" tab in Advanced...
Mai Lavelle [Tue, 6 Feb 2018 01:15:53 +0000 (20:15 -0500)]
Fix T54003: Particles - Size and random size not present in "physics" tab in Advanced mode

The check to see if `use_advanced_hair` was enabled was actually in two places
(render panel `draw` function and physics panel `poll` function). As these
properties are only in one place now the check in `draw` isn't needed anymore.

Related: T53513, a6c69ca57f661a8538

20 months agoFix T54001: AMD OpenCL fails with certain resolutions, after recent changes.
Brecht Van Lommel [Mon, 5 Feb 2018 21:13:08 +0000 (22:13 +0100)]
Fix T54001: AMD OpenCL fails with certain resolutions, after recent changes.

We should actually be using CL_DEVICE_MEM_BASE_ADDR_ALIGN for sub buffers,
previous change in this code was incorrect. Renamed the function now to
make the specific purpose of this alignment clear, it's not required for
data types in general.

20 months agoFix bevel profile=1 problems, see T39132, T38458, T40278, T51010,
Howard Trickey [Mon, 5 Feb 2018 19:21:43 +0000 (14:21 -0500)]
Fix bevel profile=1 problems, see T39132, T38458, T40278, T51010,

Before, profile=1 ("square outside") only worked well in a few cases
(some "pipes", cube corners). This makes it work well pretty much

20 months agoFix typo in struct name obejct to object.
Nathan Letwory [Mon, 5 Feb 2018 09:01:00 +0000 (11:01 +0200)]
Fix typo in struct name obejct to object.

Reviewers: sergey

Reviewed By: sergey

Differential Revision:

20 months agoMinor change to last commit
Campbell Barton [Mon, 5 Feb 2018 06:56:09 +0000 (17:56 +1100)]
Minor change to last commit

Keep mode checks simple, nest other checks in their body.

20 months agoFix T53986: Crash saving during sculpt stroke
Campbell Barton [Mon, 5 Feb 2018 06:53:30 +0000 (17:53 +1100)]
Fix T53986: Crash saving during sculpt stroke

Also remove unused struct member.

20 months agocycles: fix black render with cycles_cubin_cc.
Ray Molenkamp [Sun, 4 Feb 2018 22:12:35 +0000 (15:12 -0700)]
cycles: fix black render with cycles_cubin_cc.

I have honestly no idea how this got swapped..

20 months agocycles: fix cxx11 usage for cycles_cubin_cc
Ray Molenkamp [Sun, 4 Feb 2018 22:11:08 +0000 (15:11 -0700)]
cycles: fix cxx11 usage for cycles_cubin_cc

20 months agomsvc: Use source folder structure for project file.
Ray Molenkamp [Sat, 3 Feb 2018 23:38:27 +0000 (16:38 -0700)]
msvc: Use source folder structure for project file.

This patch changes the huge list of projects in visual studio into a nice tree matching the source folder structure. see D2823 for details.

Differential Revision:

20 months agocycles: Add an nvrtc based cubin cli compiler.
Ray Molenkamp [Sat, 3 Feb 2018 17:59:09 +0000 (10:59 -0700)]
cycles: Add an nvrtc based cubin cli compiler.

nvcc is very picky regarding compiler versions, severely limiting the compiler we can use, this commit adds a nvrtc based compiler that'll allow us to build the cubins even if the host compiler is unsupported. for details see D2913.

Differential Revision:

20 months agoFix more Cycles incorrect principled BSDF mixing due to missing initialization.
Brecht Van Lommel [Sat, 3 Feb 2018 12:29:44 +0000 (13:29 +0100)]
Fix more Cycles incorrect principled BSDF mixing due to missing initialization.

Spotted by Ha Hyung-jin, thanks!

20 months agoFix build error with CUDA 9.1 and compute capability 2.x.
Brecht Van Lommel [Sat, 3 Feb 2018 12:14:05 +0000 (13:14 +0100)]
Fix build error with CUDA 9.1 and compute capability 2.x.

20 months agoCycles: make displacement a supported feature.
Brecht Van Lommel [Thu, 25 Jan 2018 14:38:46 +0000 (15:38 +0100)]
Cycles: make displacement a supported feature.

Adaptive subdivision remains experimental, still needs more work.

20 months agoCycles: add Vector Displacement node and extend Displacement node.
Brecht Van Lommel [Sat, 20 Jan 2018 23:40:42 +0000 (00:40 +0100)]
Cycles: add Vector Displacement node and extend Displacement node.

This adds midlevel and object/world space for displacement, and a
vector displacement node with tangent/object/world space, midlevel
and scale.

Note that tangent space vector displacement still is not exactly
compatible with maps created by other software, this will require
changes to the tangent computation.

Differential Revision:

20 months agoFix missing group duplicated by hair in render
Sergey Sharybin [Fri, 2 Feb 2018 11:00:25 +0000 (12:00 +0100)]
Fix missing group duplicated by hair in render

Was happening when viewport visibility on the particle system is disabled.
This became an issue after c45afcf, but the actual issue goes a bit deeper
and the following aspects were involved:

- Relations builder for particle system was ignoring particle system if
  it's visibility is not enabled for viewport. This is something what
  shouldn't have been done -- depsgraph relations are supposed to be the
  same no matter if it's viewport or render.

- Relation builder was only dealing with duplication set to object, but
  was ignoring group duplication.

This is technically a regression in 2.79a-RC as well, so would need to
backport this fix to the branch after extra testing is done here in the

20 months agofix: silence warnings about unused local variable (thanks to dfelinto for the hint)
Gaia Clary [Fri, 2 Feb 2018 10:56:50 +0000 (11:56 +0100)]
fix: silence warnings about unused local variable (thanks to dfelinto for the hint)

20 months agoFix T53980: IK influencing REST POSE with New Depsgraph
Sergey Sharybin [Fri, 2 Feb 2018 09:37:06 +0000 (10:37 +0100)]
Fix T53980: IK influencing REST POSE with New Depsgraph

20 months agoCleanup: wrap function args
Campbell Barton [Fri, 2 Feb 2018 02:44:13 +0000 (13:44 +1100)]
Cleanup: wrap function args

20 months agoFix T53978: Bad memory access after recent fix to BSDF mixing
Mai Lavelle [Fri, 2 Feb 2018 00:59:22 +0000 (19:59 -0500)]
Fix T53978: Bad memory access after recent fix to BSDF mixing

Added proper checks after BSDF allocation and cleaned up existing
inline checks.

Was introduced in 7261d675e6aeb1b0dff

20 months agofix: unintentionally commented out collada animation export
Gaia Clary [Thu, 1 Feb 2018 23:49:32 +0000 (00:49 +0100)]
fix: unintentionally commented out collada animation export

20 months agoFix T53686: VSE Render crash when zooming timeline
Sergey Sharybin [Thu, 1 Feb 2018 15:24:25 +0000 (16:24 +0100)]
Fix T53686: VSE Render crash when zooming timeline

This is rather a workaround to avoid main thread freeing all glyph caches
at the same time as sequencer uses fonts to draw text sequences.

Ideally we need to either make cache more local, or user-counted or to make
somewhat more global locks. All this ends up in a bigger refactor which is
better for 2.8. For the meantime let's make Blender more stable with a tiny

Downside is that keeping zooming things up and down in interface during render
will increase memory usage by unused glyph caches. It's not too bad though,
all unused caches will be freed first time at area zoom after render.

Thanks Bastien for review!

20 months agoFix T53951: Copy ms runtime dlls using InstallRequiredSystemLibraries.cmake
Ray Molenkamp [Thu, 1 Feb 2018 15:26:14 +0000 (08:26 -0700)]
Fix T53951: Copy ms runtime dlls using InstallRequiredSystemLibraries.cmake

Differential Revision:

20 months agoFix: msvc build error with bli_fileops.h
Ray Molenkamp [Thu, 1 Feb 2018 14:58:06 +0000 (07:58 -0700)]
Fix: msvc build error with bli_fileops.h

bli_fileops.h was using uint64_t without including the proper header.

issue triggered by rBb0af44fa4d7a2e134b315c49a4fbdf573f781004

20 months agoFix T53686: VSE Render crash when zooming timeline.
Bastien Montagne [Thu, 1 Feb 2018 14:53:49 +0000 (15:53 +0100)]
Fix T53686: VSE Render crash when zooming timeline.

Epic fail from recent 'security' fixes (rBe04d7c49dca9). ;)

To be backported to 2.79a!

20 months agoCycles: Attempt to fix 32 bit linux compilation
Sergey Sharybin [Thu, 1 Feb 2018 14:13:54 +0000 (15:13 +0100)]
Cycles: Attempt to fix 32 bit linux compilation

20 months agoCycles: Fix for non-vectorized version of bitscan()
Sergey Sharybin [Thu, 1 Feb 2018 14:11:17 +0000 (15:11 +0100)]
Cycles: Fix for non-vectorized version of bitscan()

It was doing bit search in an opposite direction comparing to a
vectorized version.

20 months agoCleanup: pass userdef to write_userdef, const args
Campbell Barton [Thu, 1 Feb 2018 04:16:36 +0000 (15:16 +1100)]
Cleanup: pass userdef to write_userdef, const args

20 months agoError in last commit
Campbell Barton [Thu, 1 Feb 2018 04:15:57 +0000 (15:15 +1100)]
Error in last commit

20 months agoCleanup: Python code-style
Campbell Barton [Thu, 1 Feb 2018 03:58:05 +0000 (14:58 +1100)]
Cleanup: Python code-style

20 months agoCleanup: Python code-style (addons, wm)
Campbell Barton [Thu, 1 Feb 2018 02:58:44 +0000 (13:58 +1100)]
Cleanup: Python code-style (addons, wm)

20 months agoCleanup: rename BLI_*_empty() -> clear()
Campbell Barton [Thu, 1 Feb 2018 01:06:57 +0000 (12:06 +1100)]
Cleanup: rename BLI_*_empty() -> clear()

Consistent with other BLI API's

20 months agoRevert "tmp"
Germano [Thu, 1 Feb 2018 00:35:46 +0000 (22:35 -0200)]
Revert "tmp"

This reverts commit ea31f0ac3b877eb0df4c47d0c908d11d1bff33e4.

20 months agogpu_shader_material: Correct incorrect glsl texture of Voronoi, Noise, and Musgrave...
Germano [Thu, 1 Feb 2018 00:31:08 +0000 (22:31 -0200)]
gpu_shader_material: Correct incorrect glsl texture of Voronoi, Noise, and Musgrave on some Intel GPUs

20 months agotmp
Germano [Thu, 1 Feb 2018 00:11:01 +0000 (22:11 -0200)]

20 months agofix T50198: The OpenCollada error handler must return true after detecting uncritical...
Gaia Clary [Wed, 31 Jan 2018 23:41:04 +0000 (00:41 +0100)]
fix T50198: The OpenCollada error handler must return true after detecting uncritical errors.

20 months agoI18n disambiguation: IRIS is both a file format and a VSE wipe effect...
Bastien Montagne [Wed, 31 Jan 2018 15:43:04 +0000 (16:43 +0100)]
I18n disambiguation: IRIS is both a file format and a VSE wipe effect...

At some point, we could probably think about removing IRIS file format
support, don't think there are much of those around anymore. But for
now, let's add a translation context to wipe effect. :)

Reported in T43295 by @blend-it, thanks.

20 months agoFix possible concurency issue in mesh normals computation.
Bastien Montagne [Wed, 31 Jan 2018 11:30:39 +0000 (12:30 +0100)]
Fix possible concurency issue in mesh normals computation.

Failure in own code from last December, thanks @sergey for finding it.

To be backported to 2.79a.

20 months agoWM: correct comment, variable name for addons
Campbell Barton [Wed, 31 Jan 2018 08:02:43 +0000 (19:02 +1100)]
WM: correct comment, variable name for addons

20 months agoFix blender player (tm)
Sergey Sharybin [Tue, 30 Jan 2018 15:11:58 +0000 (16:11 +0100)]
Fix blender player (tm)

20 months agoFix Cycles incorrect principled BSDF mixing with some parameter variatons.
Brecht Van Lommel [Tue, 30 Jan 2018 11:40:05 +0000 (12:40 +0100)]
Fix Cycles incorrect principled BSDF mixing with some parameter variatons.

Spotted by Ha Hyung-jin, thanks!

20 months agoFix T52520: Metaballs in edit mode causes infinite Cycles viewport reset
Sergey Sharybin [Tue, 30 Jan 2018 13:14:26 +0000 (14:14 +0100)]
Fix T52520: Metaballs in edit mode causes infinite Cycles viewport reset

The issue was introduced by eb016eb as a fix for T41258, which added depsgraph
tagging with zero flag. The comment was saying that it's to make derived caches
to be updated, however bot sure how that could possibly work: tagging ID for
update with 0 flag only sets updated tags in bmain in old dependency graph.

In the new depsgraph, where object data is a part of depsgraph, doing such a
tag forces object to be updated, which re-triggers viewport rendering, which
is causing such an infinite viewport render rest.

Can not reproduce any crashes here, so maybe it's fine to move on with this

20 months agoCleanup: warning, spelling
Campbell Barton [Tue, 30 Jan 2018 10:02:27 +0000 (21:02 +1100)]
Cleanup: warning, spelling

20 months agoFix T53943: Weight paint crash in new scene
Campbell Barton [Tue, 30 Jan 2018 09:33:20 +0000 (20:33 +1100)]
Fix T53943: Weight paint crash in new scene

20 months agoFix T50630: Fluid fails on win32 w/ unicode paths
Campbell Barton [Tue, 30 Jan 2018 03:30:28 +0000 (14:30 +1100)]
Fix T50630: Fluid fails on win32 w/ unicode paths

Allow overriding gzip open w/ elbeem.

20 months agoFix Cycles viewport render not updating when tweaking displacement shader.
Brecht Van Lommel [Wed, 24 Jan 2018 19:19:48 +0000 (20:19 +0100)]
Fix Cycles viewport render not updating when tweaking displacement shader.

This was disabled to avoid updating the geometry every time when the
material includes displacement, because there was no way to distinguish
between surface shader and displacement updates.

As a solution, we now compute an MD5 hash of the nodes linked to the
displacement socket, and only update the mesh if that changes.

Differential Revision:

20 months agoFix Cycles allocating too much device memory, after recent memory refactoring.
Brecht Van Lommel [Mon, 29 Jan 2018 13:51:22 +0000 (14:51 +0100)]
Fix Cycles allocating too much device memory, after recent memory refactoring.

Spotted by Ha Hyung-jin, thanks!

20 months agoRevert "Fix T53914: Volumetric scattering now goes correctly through transparent...
Brecht Van Lommel [Mon, 29 Jan 2018 14:59:46 +0000 (15:59 +0100)]
Revert "Fix T53914: Volumetric scattering now goes correctly through transparent surfaces."

This reverts commit 3c852ba0741f794a697f95073b04921e9ff94039. This is breaking
the regression tests, and maybe requires some deeper changes to really fix.

20 months agoFix nan problem in previous bevel commit.
Howard Trickey [Mon, 29 Jan 2018 15:01:19 +0000 (10:01 -0500)]
Fix nan problem in previous bevel commit.

For chains, access to g_prod[0] was undefined.
And two minor style (whitespace) changes.

20 months agoDepsgraph: Correction for previous fix
Sergey Sharybin [Mon, 29 Jan 2018 14:06:44 +0000 (15:06 +0100)]
Depsgraph: Correction for previous fix

Original fix only worked when there is one custom property.

20 months agoDepsgraph: Fix missing update when property from proxy rig drives something
Sergey Sharybin [Mon, 29 Jan 2018 13:53:27 +0000 (14:53 +0100)]
Depsgraph: Fix missing update when property from proxy rig drives something

20 months agoDepsgraph: Disable labels on relations
Sergey Sharybin [Mon, 29 Jan 2018 13:45:45 +0000 (14:45 +0100)]
Depsgraph: Disable labels on relations

This code was disable a while back and got re-enabled by some previous debug
process. Having relation names in dot file helps understanding what's going
on in one cases, but makes things spread too far away in others.

20 months agoDepsgraph: Cleanup, line wraps
Sergey Sharybin [Mon, 29 Jan 2018 13:43:12 +0000 (14:43 +0100)]
Depsgraph: Cleanup, line wraps

20 months agoFix T53614: New Depsgraph ignores NLA strips
Joshua Leung [Mon, 29 Jan 2018 06:01:44 +0000 (19:01 +1300)]
Fix T53614: New Depsgraph ignores NLA strips

The new depsgraph was only considering the active action
when attaching relations from the AnimData component/operation
to the properties that are affected by the animation data.
As a result, only properties animated by the active action
were working, while those animated by NLA strips did not change
when playing back/scrubbing the timeline.

This commit fixes this introducing a recursive method to properly
visit all NLA strips, and calling DepsRelBuilder::build_animdata_curves_targets()
on each of those strips.

20 months ago3D View: use_mouse_init for zoom & trackball orbit
Campbell Barton [Mon, 29 Jan 2018 05:17:47 +0000 (16:17 +1100)]
3D View: use_mouse_init for zoom & trackball orbit

20 months agoCleanup: move boolean options into flag
Campbell Barton [Mon, 29 Jan 2018 04:34:39 +0000 (15:34 +1100)]
Cleanup: move boolean options into flag

- Rename eViewOpsOrbit to eViewOpsFlag
  since VIEWOPS_ORBIT_DEPTH isn't just used for orbiting.
- Move use_ensure_persp & use_mouse_init into the flag.
- Remove viewops_data_create_ex.

20 months agoFix: Disable leftover debug prints from earlier work on the rna path renaming/fixing...
Joshua Leung [Mon, 29 Jan 2018 04:16:31 +0000 (17:16 +1300)]
Fix: Disable leftover debug prints from earlier work on the rna path renaming/fixing code

20 months agoFix T53909: Joining armatures did not remap names on merged action data
Joshua Leung [Mon, 29 Jan 2018 04:13:23 +0000 (17:13 +1300)]
Fix T53909: Joining armatures did not remap names on merged action data

Technically this was not a bug, as this functionality was not meant to
work. (Drivers were already handled though, as they are part of the rig)
It was assumed that there was little value in having this functionality
available, as in most pipelines, animation production only begins after
the rig has been locked down (see bug report comments for more details).

On reflection, in most common situations, there's probably no harm in
doing these rna path fixups. This commit takes advantage of some similar
code I recently put in place in the Grease Pencil branch (for joining GP
objects and their layers).

Important Note for Animators/Riggers/TD's:
Please be aware that after joining armatures, some of the animation may
still need to be redone (due to changes in the transform hierarchies/
transform spaces that the animation is applied in). We do not attempt
to correct for these problems, and it is unlikely that we will in future.

20 months agoApply Pose as Rest Pose: Bendy Bone support
Joshua Leung [Mon, 29 Jan 2018 01:46:03 +0000 (14:46 +1300)]
Apply Pose as Rest Pose: Bendy Bone support

The "Apply Pose as Rest Pose" operator now affects Bendy Bone settings
too, making it possible to use interactive posing tools (e.g. Pose Sculpting
brushes) to get the desired shape for the rest-pose shape of Bendy Bones.
When such posing tools are available, this change makes it easier to get
the desired Bendy Bone shapes, as you are no longer restricted to using
buttons to get the desired effects.

20 months agoCleanup: rename user preference flags
Campbell Barton [Mon, 29 Jan 2018 04:06:23 +0000 (15:06 +1100)]
Cleanup: rename user preference flags

The name didn't make sense since it's used for all view navigation.

Also rename USER_ZBUF_CURSOR -> USER_DEPTH_CURSOR since zbuf
is an internal detail.

20 months agoCleanup: comments & whitespace
Campbell Barton [Mon, 29 Jan 2018 03:59:56 +0000 (14:59 +1100)]
Cleanup: comments & whitespace

20 months agoCleanup: ViewOpsData struct members
Campbell Barton [Mon, 29 Jan 2018 03:36:40 +0000 (14:36 +1100)]
Cleanup: ViewOpsData struct members

- Group initial/previous/current members
  Was using terms old/prev/last/orig in confusing way.
- Replace x,y variables with vectors.
- Remove unused members.

20 months ago3D View: internal option not to use mouse location
Campbell Barton [Mon, 29 Jan 2018 02:46:18 +0000 (13:46 +1100)]
3D View: internal option not to use mouse location

When accessing view-port operators from widgets
we need the ability not to use auto-depth or zoom-to-mouse.

Trackball rotation still needs to be supported.

20 months agoCleanup: minor simplification for zoom/dolly
Campbell Barton [Mon, 29 Jan 2018 02:42:28 +0000 (13:42 +1100)]
Cleanup: minor simplification for zoom/dolly

Make args more consistent.

20 months agoCleanup: de-duplicate common 3D view properties
Campbell Barton [Sun, 28 Jan 2018 07:22:54 +0000 (18:22 +1100)]
Cleanup: de-duplicate common 3D view properties

20 months agoFix T53459, inconsistent bevel on identical edges.
Howard Trickey [Mon, 29 Jan 2018 00:19:02 +0000 (19:19 -0500)]
Fix T53459, inconsistent bevel on identical edges.

The old algorithm depended on vertex order.
The new one uses a global least squares solution on chains
and cycles of edges where loop slide induces a dependency.

in the "Consistent Widths for Even Bevels" for derivation of
the new algorithm.

20 months agoUsual i18n/UI messages fixes.
Bastien Montagne [Sun, 28 Jan 2018 16:27:53 +0000 (17:27 +0100)]
Usual i18n/UI messages fixes.

20 months agoCleanup: style, spelling
Campbell Barton [Sun, 28 Jan 2018 06:00:39 +0000 (17:00 +1100)]
Cleanup: style, spelling

20 months agoCleanup: use doxy sections for view3d_view.c
Campbell Barton [Sun, 28 Jan 2018 05:22:34 +0000 (16:22 +1100)]
Cleanup: use doxy sections for view3d_view.c

Also move ..._needs_opengl functions into view3d_utils.c

20 months agoUse factory startup for icon generation
Campbell Barton [Sun, 28 Jan 2018 05:03:32 +0000 (16:03 +1100)]
Use factory startup for icon generation

Avoids using local preferences.

20 months agoCleanup: move 3D view utilities into own file
Campbell Barton [Sun, 28 Jan 2018 03:44:42 +0000 (14:44 +1100)]
Cleanup: move 3D view utilities into own file

Operators and utility functions were getting too mixed up,
the files were also quite large.

20 months agoFix T53914: Volumetric scattering now goes correctly through transparent surfaces.
Stefan Werner [Sat, 27 Jan 2018 09:36:22 +0000 (10:36 +0100)]
Fix T53914: Volumetric scattering now goes correctly through transparent surfaces.

There was a check for volume bounces at every surface intersection. That could lead to a volume scattered path being terminated
when passing through a transparent surface. This check was superfluous, as the volume shader evaluation already checks the
number of volume bounces and once it passes the max, volume shaders will not return scatter events any more.

Reviewers: #cycles, brecht

Reviewed By: #cycles, brecht

Subscribers: brecht, #cycles

Tags: #cycles

Maniphest Tasks: T53914

Differential Revision:

20 months agoCode refactor: make mixed small/large BSSRDF radii more robust.
Brecht Van Lommel [Fri, 26 Jan 2018 21:11:28 +0000 (22:11 +0100)]
Code refactor: make mixed small/large BSSRDF radii more robust.

20 months agoFix mixed BSDF + BSSRDF sampling bug in path tracing, after 095a01a73a35.
Brecht Van Lommel [Fri, 26 Jan 2018 17:31:36 +0000 (18:31 +0100)]
Fix mixed BSDF + BSSRDF sampling bug in path tracing, after 095a01a73a35.

Spotted by Ha Hyung-jin, thanks!

20 months agoCode refactor: store RGB BSSRDF in a single closure.
Brecht Van Lommel [Fri, 26 Jan 2018 13:09:55 +0000 (14:09 +0100)]
Code refactor: store RGB BSSRDF in a single closure.

Previously we stored each color channel in a single closure, which was
convenient for sampling a closure and channel together. But this doesn't
work so well for algorithms where we want to render multiple color
channels together.

20 months agoIMB: Add asserts that returned fps and fps base are strictly positives.
Bastien Montagne [Fri, 26 Jan 2018 14:13:35 +0000 (15:13 +0100)]
IMB: Add asserts that returned fps and fps base are strictly positives.

Forgot to add that in previous commit, also related to T53003.

20 months agoRelated to T53003: tweak scene fps range.
Bastien Montagne [Fri, 26 Jan 2018 14:08:58 +0000 (15:08 +0100)]
Related to T53003: tweak scene fps range.

Move restricted 'reasonable' range to ui_range, and allow wider values
for manual settings.

20 months agoFix T53003: IMB: Invalid framerate handling due to short integer overflow.
Bastien Montagne [Fri, 26 Jan 2018 13:59:16 +0000 (14:59 +0100)]
Fix T53003: IMB: Invalid framerate handling due to short integer overflow.

FFMPEG uses int for the numerator, while Blender uses a short. So in
cases people gave weird exotic framerate values and we cannot reduce
enough the numerator, we'd get totally weird values (even negative frame
rates sometimes!)

Now we add checks for short overflow and approximate as best as possible
in that case (error should not matter unless you have shots of at least
several hundreds of hours ;) ).

20 months agoFix harmlness RNA warning in image texture node drawing.
Brecht Van Lommel [Fri, 26 Jan 2018 07:39:38 +0000 (08:39 +0100)]
Fix harmlness RNA warning in image texture node drawing.

20 months agoFix part of T53080: all material previews re-rendering after undo.
Brecht Van Lommel [Fri, 26 Jan 2018 06:54:09 +0000 (07:54 +0100)]
Fix part of T53080: all material previews re-rendering after undo.

This reverts commit dc2617130b2e1d7d2b9892fbd7c6e7b60caafb66, which disabled
writing of previews for undo. While this uses some memory, re-rendering all
previews is very expensive, especially if for example you have lots of materials
using high-res image textures.

20 months agoCode cleanup: simpler and faster detection of BVH refit.
Brecht Van Lommel [Thu, 25 Jan 2018 15:11:06 +0000 (16:11 +0100)]
Code cleanup: simpler and faster detection of BVH refit.

20 months agoFix navmesh creation w/ multiple objects
Campbell Barton [Fri, 26 Jan 2018 02:10:02 +0000 (13:10 +1100)]
Fix navmesh creation w/ multiple objects

D2976 by @dertom

20 months agomake_quickie: replace os.system w/
Campbell Barton [Fri, 26 Jan 2018 01:53:42 +0000 (12:53 +1100)]
make_quickie: replace os.system w/

20 months agoicon update: replace os.system w/ subprocess.check_call
Campbell Barton [Fri, 26 Jan 2018 01:46:10 +0000 (12:46 +1100)]
icon update: replace os.system w/ subprocess.check_call

20 months agoproject_info: replace os.system w/ subprocess.check_call
Campbell Barton [Fri, 26 Jan 2018 01:29:55 +0000 (12:29 +1100)]
project_info: replace os.system w/ subprocess.check_call

20 months agoTests: replace os.system w/
Campbell Barton [Fri, 26 Jan 2018 01:23:15 +0000 (12:23 +1100)]
Tests: replace os.system w/

Saves on process creation and avoids
being tripped up by command line parsing.

Based on D2967 by @ldo with edits.

20 months agoDocs: invoke_search_popup uses bl_property
Campbell Barton [Fri, 26 Jan 2018 00:52:01 +0000 (11:52 +1100)]
Docs: invoke_search_popup uses bl_property

Also add code example in docs.

20 months agoCycles: rename displacement methods, default to displace, tweak panel layout.
Brecht Van Lommel [Thu, 25 Jan 2018 13:08:56 +0000 (14:08 +0100)]
Cycles: rename displacement methods, default to displace, tweak panel layout.

Differential Revision:

20 months agoFix T53874: OpenGL render problem with OpenEXR in 2.8 with float buffers.
Brecht Van Lommel [Thu, 25 Jan 2018 13:07:51 +0000 (14:07 +0100)]
Fix T53874: OpenGL render problem with OpenEXR in 2.8 with float buffers.

20 months agoFix missing broken notifiers
Dalai Felinto [Thu, 25 Jan 2018 12:10:21 +0000 (10:10 -0200)]
Fix missing broken notifiers

We can't have more than one NOTE_SUBTYPE in the same notifier.
Instead of calling both subtypes the code end up not calling either.

20 months agoFix T50967: When you move an icon from the outliner area object doesn't show up
Dalai Felinto [Thu, 25 Jan 2018 11:45:13 +0000 (09:45 -0200)]
Fix T50967: When you move an icon from the outliner area object doesn't show up

We can't have more than one NOTE_SUBTYPE in the same notifier.

This is a partial revert of: cd4d5dcb468a. In particular to the part concerning
"Also fixed a missing notifier of the object instancing operator".

Not only this was mixed with the original reason for the commit for no reason,
but it actually introduced a bug. Bad, bad developers ;)

Note: Although this commit is not needed for master, blender2.8 requires it for
the forementioned bug report.

20 months agoWM: comments on wmTooltipState struct
Campbell Barton [Thu, 25 Jan 2018 10:49:31 +0000 (21:49 +1100)]
WM: comments on wmTooltipState struct

20 months agoWM: NULL check for recent tooltip change
Campbell Barton [Thu, 25 Jan 2018 10:39:04 +0000 (21:39 +1100)]
WM: NULL check for recent tooltip change

Caused crash dragging boolean buttons.

20 months agoFix T53363: Blender won't update mesh's usercount when deleting object datablocks...
Bastien Montagne [Thu, 25 Jan 2018 09:11:12 +0000 (10:11 +0100)]
Fix T53363: Blender won't update mesh's usercount when deleting object datablocks in Editmode.

Only do special handling of ob->data pointer in case we are remapping to
a valid (non-NULL) other obdata. Otherwise, handle it as any other
'remapping to NULL' case.

Hopefully not breaking anything else...

20 months agoUI: change tool-tips to be stored in the screen
Campbell Barton [Thu, 25 Jan 2018 05:17:25 +0000 (16:17 +1100)]
UI: change tool-tips to be stored in the screen

Move timer and tip out of button code,
now the only requests a tooltip,
passing a creation callback to run.

Needed for manipulators in 2.8,
also helps de-duplicate logic - since we never want
multiple tool-tips showing at once.

20 months agoCleanup: correct ATTR_NONNULL use
Campbell Barton [Wed, 24 Jan 2018 23:21:31 +0000 (10:21 +1100)]
Cleanup: correct ATTR_NONNULL use

20 months agoFix T53874: more cases of OpenGL render to OpenEXR not working after recent changes.
Brecht Van Lommel [Wed, 24 Jan 2018 14:55:54 +0000 (15:55 +0100)]
Fix T53874: more cases of OpenGL render to OpenEXR not working after recent changes.

20 months agoFix T53593: sculpt brush rake spacing bug after recent bugfix.
Brecht Van Lommel [Wed, 24 Jan 2018 13:25:59 +0000 (14:25 +0100)]
Fix T53593: sculpt brush rake spacing bug after recent bugfix.

20 months agoCleanup: MOD_wireframe: remove useless isDisabled callback.
Bastien Montagne [Wed, 24 Jan 2018 10:20:46 +0000 (11:20 +0100)]
Cleanup: MOD_wireframe: remove useless isDisabled callback.

20 months agoFix (unreported) missing feature in ccgdm pbvh generator.
Bastien Montagne [Wed, 24 Jan 2018 10:17:53 +0000 (11:17 +0100)]
Fix (unreported) missing feature in ccgdm pbvh generator.

Compared to usual cddm one, ccgdm one was not applying the
ob->derivedDeform deformation to the pbvh generated from the
original mesh geometry, when possible.

20 months agoFix T53551: Weight paint crash when subsurf modifier is not first (master not 2.79).
Bastien Montagne [Wed, 24 Jan 2018 10:13:49 +0000 (11:13 +0100)]
Fix T53551: Weight paint crash when subsurf modifier is not first (master not 2.79).

We can only support painting from subsurf DM in a limited subset of
cases, others (like multiple subsurf, or topology-modyfying ones,
break mapping to original geometry).

This is not the most ideal fix (ideally, we should always be able to get
a mapping to original geometry from any point in modifiers stack...).