blender.git
3 years agoFix T49818: Crash when rendering with motion blur
Sergey Sharybin [Mon, 24 Oct 2016 09:46:26 +0000 (11:46 +0200)]
Fix T49818: Crash when rendering with motion blur

It was possible to have non-initialized unaligned BVH split
to be used when regular BVH split SAH was inf. Now we ensure
that unaligned splitter is only used when it's really initialized.

It's a regression and should be in 2.78a.

3 years agoCycles: Cleanup, spaces
Sergey Sharybin [Mon, 24 Oct 2016 09:10:35 +0000 (11:10 +0200)]
Cycles: Cleanup, spaces

3 years agoFix unlikely uninitialized pointer usage.
Bastien Montagne [Mon, 24 Oct 2016 08:25:04 +0000 (10:25 +0200)]
Fix unlikely uninitialized pointer usage.

Reported by Coverity.

3 years agoFix T49827L Crash linking material while in Material viewport shading mode
Sergey Sharybin [Mon, 24 Oct 2016 08:09:13 +0000 (10:09 +0200)]
Fix T49827L Crash linking material while in Material viewport shading mode

Material linking might and does change the way how drawObject is calculated
but does not tag drawObject for recalculation in any way.

Now use dependency graph to tag draw object for reclaculation. Currently do
this using OB_RECALC_DATA taq since tagging is not very granular yet. In the
future we can introduce ore granular tagging in the new dependency graph
easily.

Simple and safe for 2.78a.

3 years agoFix mistake in BKE_mesh_new_from_object handling of materials in MetaBall case.
Bastien Montagne [Mon, 24 Oct 2016 08:06:00 +0000 (10:06 +0200)]
Fix mistake in BKE_mesh_new_from_object handling of materials in MetaBall case.

Typo, spoted by Coverity scan.

To be backported to 2.78a.

3 years agoAPI doc: enable 'split index' option.
Aaron Carlisle [Sun, 23 Oct 2016 15:47:56 +0000 (17:47 +0200)]
API doc: enable 'split index' option.

3 years agoDisplace modifier: add global/local space option for X/Y/Z/XYZ directions.
Quentin Wenger [Sun, 23 Oct 2016 12:04:27 +0000 (14:04 +0200)]
Displace modifier: add global/local space option for X/Y/Z/XYZ directions.

Reviewed By: brecht

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

3 years agoSystem info: make it more resiliant to errors.
Bastien Montagne [Sun, 23 Oct 2016 11:12:58 +0000 (13:12 +0200)]
System info: make it more resiliant to errors.

Using context manager for output file itself, and whole try/except block
to at least catch and print error in file.

Also some minor tweaks to previous 'list add-ons' commit.

3 years agoSystem info: also report enabled add-ons.
Bastien Montagne [Sun, 23 Oct 2016 11:05:47 +0000 (13:05 +0200)]
System info: also report enabled add-ons.

Based on idea & patch by @lijenstina over IRC (iirc :/ ).

3 years agoAdd a built-in sphinx extension to allow cross-linking to the blender manual.
Aaron Carlisle [Sun, 23 Oct 2016 09:14:48 +0000 (11:14 +0200)]
Add a built-in sphinx extension to allow cross-linking to the blender manual.

This works by downloading the objects.inv file (https://www.blender.org/manual/objects.inv)
and using it to resolve links with blender-manual: before them.

3 years agoCycles: OpenCL 3d textures support.
Hristo Gueorguiev [Sat, 22 Oct 2016 21:38:42 +0000 (23:38 +0200)]
Cycles: OpenCL 3d textures support.

Note that volume rendering is not supported yet, this is a step towards that.

Reviewed By: brecht

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

3 years agoFix Cycles address space OpenCL error after recent fix.
Brecht Van Lommel [Sat, 22 Oct 2016 21:25:39 +0000 (23:25 +0200)]
Fix Cycles address space OpenCL error after recent fix.

3 years agoGPencil: New option to lock strokes to axis
Antonioya [Sat, 22 Oct 2016 14:44:11 +0000 (16:44 +0200)]
GPencil: New option to lock strokes to axis

Now, the strokes can be locked to a plane set in the cursor location.
This option allow the artist to rotate the view and draw keeping the
strokes flat over the surface. This option is similar to surface option
but doesn't need a object.

The option is only valid for 3D view and strokes in CURSOR mode.

3 years agoFix T49750: Cycles wrong ray differentials for perspective and stereo cameras.
Brecht Van Lommel [Sat, 22 Oct 2016 13:59:23 +0000 (15:59 +0200)]
Fix T49750: Cycles wrong ray differentials for perspective and stereo cameras.

3 years agoFix T49656: Crash when starting playback while using JACK audio with A/V sync
Jörg Müller [Sat, 22 Oct 2016 13:00:32 +0000 (15:00 +0200)]
Fix T49656: Crash when starting playback while using JACK audio with A/V sync

When ED_screen_animation_play is called from wm_event_do_handlers,ScrArea *sa = CTX_wm_area(C); is NULL in ED_screen_animation_timer.
Informing the audio system in CTX_data_main_set, that a new Main has been set.

3 years agoFix T49657: Audio backend "Jack" should be named "JACK".
Jörg Müller [Sat, 22 Oct 2016 12:20:47 +0000 (14:20 +0200)]
Fix T49657: Audio backend "Jack" should be named "JACK".

3 years agoFix T49764: Audio strips crackle when animating the volume
Jörg Müller [Sat, 22 Oct 2016 11:38:41 +0000 (13:38 +0200)]
Fix T49764: Audio strips crackle when animating the volume

- Implemented linear interpolation for volume changes in the software
mixer.
- Using this in the software device.

3 years agoFix T49789: Compositor mix node interpolation bug
Sergey Sharybin [Fri, 21 Oct 2016 15:56:09 +0000 (17:56 +0200)]
Fix T49789: Compositor mix node interpolation bug

3 years agoFix T49804: Display grid Scale/Subdivision are sometimes disabled in View3D when...
Bastien Montagne [Fri, 21 Oct 2016 14:06:53 +0000 (16:06 +0200)]
Fix T49804: Display grid Scale/Subdivision are sometimes disabled in View3D when they should not.

Not really possible to precisely detect all cases in which they should or
should not be active, but at least now it won't show as disabled when it
actually has some effects.

3 years agoCycles: Fix another OpenCL logging issue
Lukas Stockner [Fri, 21 Oct 2016 00:49:00 +0000 (02:49 +0200)]
Cycles: Fix another OpenCL logging issue

Previously an error message would be printed whenever the OpenCL build produced output.
However, some frameworks seem to print extra information even if the build succeeded, so now the actual returned error is checked as well.
When --debug-cycles is activated, the build output will always be printed, otherwise it only gets printed if there was an error.

3 years agoAlembic: only export custom data (UVs, VCols) once, on the first frame.
Kévin Dietrich [Thu, 20 Oct 2016 17:43:22 +0000 (19:43 +0200)]
Alembic: only export custom data (UVs, VCols) once, on the first frame.

This would cause Alembic to throw an exception and fail exporting
animations because it was trying to recreate and overwrite the
attributes for each frame.

3 years agoFix T49797: Exception from scene update handler might leak external engine descriptors
Sergey Sharybin [Thu, 20 Oct 2016 11:32:52 +0000 (13:32 +0200)]
Fix T49797: Exception from scene update handler might leak external engine descriptors

This was causing memory leaks in Cycles.

Some more detailed information in the comment in the code.

Seems to be safe and nice enough for 2.78a.

3 years agoPython API: add full_path parameter for bpy.ops.ui.copy_data_path_button.
christian brinkmann [Wed, 19 Oct 2016 22:27:14 +0000 (00:27 +0200)]
Python API: add full_path parameter for bpy.ops.ui.copy_data_path_button.

Also use the operator as part of the UI keymap now, to deduplicate code and let
users configure a custom shortcut.

Reviewed By: brecht

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

3 years agoFix T49793 : Fix enabling SSE2 globally for msvc.
lazydodo [Wed, 19 Oct 2016 16:06:45 +0000 (10:06 -0600)]
Fix T49793 : Fix enabling SSE2 globally for msvc.

When feeding msvc both /arch:sse2 and /arch:sse it's not smart enough to pick the best option, just goes with the last option

3 years agoFix T49775: Appending data with internal dependency cycles prevents correct clearing...
Bastien Montagne [Wed, 19 Oct 2016 12:29:43 +0000 (14:29 +0200)]
Fix T49775: Appending data with internal dependency cycles prevents correct clearing of linked data-blocks.

This is not a simple fix, but imho still needs to be backported to 2.78a...

3 years ago[msvc] Minor cleanup in blenkernel.
lazydodo [Tue, 18 Oct 2016 15:25:14 +0000 (09:25 -0600)]
[msvc] Minor cleanup in blenkernel.

this patch resolves the following warnings;

```
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 764
Warning C4098 'attach_stabilization_baseline_data': 'void' function returning a value blenkernel\intern\tracking_stabilize.c 139
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\cachefile.c 148
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\paint.c 413
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\editderivedmesh.c 591
Warning C4028 formal parameter 3 different from declaration blenkernel\intern\library_remap.c 709
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 754
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 758
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 759
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 763
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 764
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 765
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 769
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\ocean.c 770
Warning C4028 formal parameter 1 different from declaration blenkernel\intern\DerivedMesh.c 3458
```

It's mostly things where the signature in the .h and the actual implementation in the .c do not match.  And a bunch functions who do not match the TaskRunFunction declaration cause they leave out the __restrict keyword.

Reviewers: brecht, juicyfruit, sergey

Reviewed By: sergey

Subscribers: Blendify

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

3 years ago[windows] Create A Blender Desktop Shortcut in the msi installer , fixes T49522
lazydodo [Tue, 18 Oct 2016 15:21:58 +0000 (09:21 -0600)]
[windows] Create A Blender Desktop Shortcut in the msi installer , fixes T49522

3 years agoFix: Append 'Object proxy' hack checking for local/linked usages before those flags...
Bastien Montagne [Tue, 18 Oct 2016 12:15:59 +0000 (14:15 +0200)]
Fix: Append 'Object proxy' hack checking for local/linked usages before those flags were set!

Dummy mistake, to be backported to 2.78a.

3 years agoClarified warning in EnumProperty
Sybren A. Stüvel [Tue, 18 Oct 2016 09:24:33 +0000 (11:24 +0200)]
Clarified warning in EnumProperty

Blender doesn't necessarily crash when Python doesn't keep references to
the returned strings. As a result, someone that implements this incorrectly
could be lulled into a false sense of correctness by Blender not crashing.

3 years agoFixup for doversion (rB8d573aa0 and rBa7e74791)
Dalai Felinto [Mon, 17 Oct 2016 19:43:35 +0000 (19:43 +0000)]
Fixup for doversion (rB8d573aa0 and rBa7e74791)

3 years agoFix T49722: Appending Bug (Groups).
Bastien Montagne [Mon, 17 Oct 2016 12:49:35 +0000 (14:49 +0200)]
Fix T49722: Appending Bug (Groups).

One day we'll have to reconsider why some many 'real' ID usages are not
refcounting... :(

To be backported to 2.78a.

3 years agoUV Editor: Add filter option to control what is visible when Draw Other Objects is...
Sergey Sharybin [Mon, 17 Oct 2016 12:28:16 +0000 (14:28 +0200)]
UV Editor: Add filter option to control what is visible when Draw Other Objects is enabled

Previously the editor will always try to only show UV faces with the same exact active
image or image texture, which is quite difficult to control on a production shaders, where
each material can have multiple objects assigned.

The idea of this commit is to bring option which allows to easily control what to display
when "Draw Other Objects" is enabled, so currently we can have old behavior ("Same Image")
or tell editor to show everything ("All"). In the future we can extend it with such filters
as "Same Material" and things like that.

Hopefully this will help @eyecandy's workflow of texturing.

3 years agoFix T49738: Hair Add Brush doesn't work
Sergey Sharybin [Mon, 17 Oct 2016 10:37:50 +0000 (12:37 +0200)]
Fix T49738: Hair Add Brush doesn't work

the issue was caused by wrong default value for brush particle count
which was clamped on display from 0 to 1. This is technically a regression
but how to port this to 2.78a?

3 years agoFix T49630: Cycles: Swapped shader and bake kernels
Lukas Stockner [Mon, 17 Oct 2016 10:28:01 +0000 (12:28 +0200)]
Fix T49630: Cycles: Swapped shader and bake kernels

The problem here was, as the title says, that the two kernels were swapped.
Since shader evaluation is only used for building the samling map when World MIS is enabled, rendering without it would still work fine, although baking also was broken.

3 years agoCycles: Improve OpenCL kernel compilation logging
Lukas Stockner [Mon, 17 Oct 2016 09:48:24 +0000 (11:48 +0200)]
Cycles: Improve OpenCL kernel compilation logging

The previous refactor changed the code to use a separate logging mechanism to support multithreaded compilation.
However, since that's not supported by any frameworks yes, it just resulted in bad logging behaviour.
So, this commit changes the logging to go diectly to stdout/stderr once again by default.

3 years agoFix T49746: crash loading user preferences with missing operators.
Brecht Van Lommel [Sun, 16 Oct 2016 19:19:52 +0000 (21:19 +0200)]
Fix T49746: crash loading user preferences with missing operators.

3 years agoMore fixes for keyframe theme options
Julian Eisel [Sun, 16 Oct 2016 18:30:51 +0000 (20:30 +0200)]
More fixes for keyframe theme options

Couple of issues here:
* Missing initialization for 3D view keyframe options for "Reset to Default Theme"
* Alpha values not reset correctly on "Reset to Default Theme"
* Alpha values of timeline keyframe options not reset correctly for old files
Also corrected old version patches even though they're overridden later, to avoid more issues in case people copy this code.

Corrections to d7af7a1e04c243 and 8d573aa0ecb61

3 years agoFix assert in the wrong place, should be moved earlier to do anything.
Chase Willden [Sun, 16 Oct 2016 13:50:53 +0000 (15:50 +0200)]
Fix assert in the wrong place, should be moved earlier to do anything.

Reviewed By: brecht

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

3 years agoCleanup: Unused parameters in Outliner
Julian Eisel [Sun, 16 Oct 2016 13:19:18 +0000 (15:19 +0200)]
Cleanup: Unused parameters in Outliner

These were only passed to own recursion calls.

3 years agoFix missing outliner redraw when adding VSE strip
Julian Eisel [Sun, 16 Oct 2016 12:39:06 +0000 (14:39 +0200)]
Fix missing outliner redraw when adding VSE strip

Needed for outliner "Sequence" display mode.

3 years agoCycles: use near clipping distance in panorama camera.
Scott Wu [Fri, 14 Oct 2016 22:11:42 +0000 (00:11 +0200)]
Cycles: use near clipping distance in panorama camera.

Reviewed By: sergey, brecht, dfelinto

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

3 years agoPrevent crash after OpenGL rendering animation to images.
Sybren A. Stüvel [Fri, 14 Oct 2016 16:45:49 +0000 (18:45 +0200)]
Prevent crash after OpenGL rendering animation to images.

3 years agoFix T49571: 2d stabilize keys not visible in the Graph Editor and Dope Sheet
Sergey Sharybin [Fri, 14 Oct 2016 15:22:57 +0000 (17:22 +0200)]
Fix T49571: 2d stabilize keys not visible in the Graph Editor and Dope Sheet

3 years agoCycles: Disable optimization of operator / for float3
Sergey Sharybin [Fri, 14 Oct 2016 11:51:59 +0000 (13:51 +0200)]
Cycles: Disable optimization of operator / for float3

This was giving some speedup but made intersection tests to fail
from watertight point of view.

Needs deeper investigation, but need to quickly get it fixed for
the studio.

3 years agoFix T49657: Audio backend "Jack" should be named "JACK".
Bastien Montagne [Fri, 14 Oct 2016 11:22:22 +0000 (13:22 +0200)]
Fix T49657: Audio backend "Jack" should be named "JACK".

3 years agoFix T49601: Material menu length problem.
Bastien Montagne [Fri, 14 Oct 2016 08:29:51 +0000 (10:29 +0200)]
Fix T49601: Material menu length problem.

Regression from rB69b66d549bcc8, was supposed to be non-functionnal
change, so not sure why search menu was reduced here? For now, restore
to 2.77 width.

3 years agoBPY Docs: Correct spelling (Addon --> Add-on)
Aaron Carlisle [Thu, 13 Oct 2016 23:23:29 +0000 (01:23 +0200)]
BPY Docs: Correct spelling (Addon --> Add-on)

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

3 years agoFix T49646: Switching from large to small image can get stuck zoom at max zoom distance.
Anthony Edlin [Thu, 13 Oct 2016 22:54:05 +0000 (00:54 +0200)]
Fix T49646: Switching from large to small image can get stuck zoom at max zoom distance.

Allow for zooming in at max zoom distance.

Reviewed By: Severin

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

3 years agoFix T49534: 2.78 Wrong texture scaling in material viewport
Sergey Sharybin [Thu, 13 Oct 2016 16:31:53 +0000 (18:31 +0200)]
Fix T49534: 2.78 Wrong texture scaling in material viewport

Seems to be a bug in original implementation of a830280: code was always
using tangent space instead of UV map because it had the same name. Now
prefer UVMap over tangent because this is how Cycles works. At least it's
closer to.

Not sure it the save+reload issue is still relevant after this fix, that
needs to be double-checked.

Thanks @dfelinto for looking into the report and simplifying the case.

Should be included into 2.78a.

3 years agoFix OLD pre-git links in the API, add missing factory-startup option to blender execu...
Aaron Carlisle [Thu, 13 Oct 2016 15:53:30 +0000 (17:53 +0200)]
Fix OLD pre-git links in the API, add missing factory-startup option to blender executions.

Reviewers: mont29

Reviewed By: mont29

Tags: #bf_blender, #python, #infrastructure:_websites

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

3 years agoPrevent problems when appending scene with referenced proxy
Sybren A. Stüvel [Thu, 13 Oct 2016 15:06:24 +0000 (17:06 +0200)]
Prevent problems when appending scene with referenced proxy

Such a "referenced proxy" could be a proxy that is used in a constraint on
another object. Brings back part of 1cdc54dc7db85766 but without the
memory leak.

3 years agoUsual UI/i18n tweaks & fixes.
Bastien Montagne [Thu, 13 Oct 2016 14:20:29 +0000 (16:20 +0200)]
Usual UI/i18n tweaks & fixes.

3 years agoFix: Grease Pencil palettes were missing a RNA path callback
Joshua Leung [Thu, 13 Oct 2016 12:18:53 +0000 (01:18 +1300)]
Fix: Grease Pencil palettes were missing a RNA path callback

3 years agoProxy appending: re-establish link to proxies when they are made local
Sybren A. Stüvel [Thu, 13 Oct 2016 11:32:08 +0000 (13:32 +0200)]
Proxy appending: re-establish link to proxies when they are made local

This allows appending of an entire scene from another blend file into this one,
even when that blend file contains proxified armatures.

This replaces the approach from commit 1cdc54dc7db85766.

Thanks @sergey for the help.

3 years agoFix T49635: column_flow Layout - last column is too small.
Bastien Montagne [Thu, 13 Oct 2016 08:21:38 +0000 (10:21 +0200)]
Fix T49635: column_flow Layout - last column is too small.

Column flow layout was abuse ui_item_fit in a weird way, which was
broken for last column items.

Now rather use own code, which basically spread available width as
equally as possible between all columns.

3 years agoCleanup: UI layout: remove unsed and confusing parameter.
Bastien Montagne [Wed, 12 Oct 2016 19:28:11 +0000 (21:28 +0200)]
Cleanup: UI layout: remove unsed and confusing parameter.

Things are complicated enough like that, no need to add useless noise on
top of it!

3 years agowrong alpha set for timeline theme (fixup for rBf329ebe3)
Dalai Felinto [Thu, 13 Oct 2016 00:28:07 +0000 (00:28 +0000)]
wrong alpha set for timeline theme (fixup for rBf329ebe3)

3 years agoFix T49631: radial control operators not using DPI properly.
Brecht Van Lommel [Wed, 12 Oct 2016 18:15:38 +0000 (20:15 +0200)]
Fix T49631: radial control operators not using DPI properly.

3 years agoFix T49640: Cycles constant folding incorrect for texture coordinates.
Brecht Van Lommel [Wed, 12 Oct 2016 16:36:41 +0000 (18:36 +0200)]
Fix T49640: Cycles constant folding incorrect for texture coordinates.

3 years agoFix build error with WITH_CYCLES_NATIVE_ONLY and recent AVX2 changes.
Brecht Van Lommel [Wed, 12 Oct 2016 15:35:03 +0000 (17:35 +0200)]
Fix build error with WITH_CYCLES_NATIVE_ONLY and recent AVX2 changes.

3 years agoFix T49636: material draw mode crash with displacement and missing group input node.
Brecht Van Lommel [Wed, 12 Oct 2016 11:10:09 +0000 (13:10 +0200)]
Fix T49636: material draw mode crash with displacement and missing group input node.

3 years agoFFmpeg: Fix off by one error in number of detected frames in matroska container
Sergey Sharybin [Wed, 12 Oct 2016 14:17:43 +0000 (16:17 +0200)]
FFmpeg: Fix off by one error in number of detected frames in matroska container

Seems to be rounding error. Hopefully new code handles the error fixed back in
SVN revision 28901 and still have proper frame number for Hjalti.

What could possibly go wrong here..

3 years agoCycles: Use const reference for register variables in non-OpenCL code
Sergey Sharybin [Wed, 12 Oct 2016 12:48:59 +0000 (14:48 +0200)]
Cycles: Use const reference for register variables in non-OpenCL code

This is something tested by @LazyDodo and suggested by Maxym to make
MSVC happier.

3 years agoCycles: Use more SSE intrinsics for float3 type
Sergey Sharybin [Wed, 12 Oct 2016 12:23:29 +0000 (14:23 +0200)]
Cycles: Use more SSE intrinsics for float3 type

This gives about 5% speedup on AVX2 kernels (other kernels still
have SSE disabled for math operations) and this solves the slowdown
of koro scene mention in the previous commit.

The title says it all actually. This commit also contains
changes to pass float3 as const reference in affected functions.

This should make MSVC happier without breaking OpenCL because it's
only done in areas which are ifdef-ed for non-OpenCL.

Another patch based on inspiration from Maxym Dmytrychenko, thanks!

3 years agoCycles: Implement AVX2 version of triangle_intersect
Sergey Sharybin [Wed, 12 Oct 2016 11:46:25 +0000 (13:46 +0200)]
Cycles: Implement AVX2 version of triangle_intersect

This commit basically vectorizes existing code using AVX2 instructions
(without modifying algorithm itself). This gives quite nice speedups:

  BMW:        -8%
  Classroom:  -5%
  Cat:        -5%
  Koro:       +1%
  Barcelona:  -8%

That's on Linux machine, reported performance improvement on Windows
goes up to 20%.

Not currently sure why Koro is somewhat slower because it mainly uses
curve intersection tests, could be a time noise? Or osmething with the
cache utilization perhaps? In any case speedup in other scenes makes
me thinking that current state is acceptable for initial implementation.

This is again inspired by Maxym Dmytrychenko.

3 years agoCycles: Add new avxf vectorized data type
Sergey Sharybin [Wed, 12 Oct 2016 11:03:15 +0000 (13:03 +0200)]
Cycles: Add new avxf vectorized data type

Based on existing ssef data type and to my knowledge it's also what happens in
Embree nowadays.

Inspired by Maxym Dmytrychenko and required for the upcoming triangle
intersection commit.

Hopefully the copyright message is correct.

3 years agoCycles: Enable SSE options of math module for AVX2 kernels
Sergey Sharybin [Wed, 12 Oct 2016 10:54:31 +0000 (12:54 +0200)]
Cycles: Enable SSE options of math module for AVX2 kernels

Currently this does not give measurable difference, but is required
ground work for some upcoming further optimization of AVX2 kernels.

3 years agoCycles: Get rid of ifdef-ed noinline policy
Sergey Sharybin [Wed, 12 Oct 2016 10:15:24 +0000 (12:15 +0200)]
Cycles: Get rid of ifdef-ed noinline policy

3 years agoCycles: Fix use of uninitialized variable in SSS
Sergey Sharybin [Wed, 12 Oct 2016 10:12:28 +0000 (12:12 +0200)]
Cycles: Fix use of uninitialized variable in SSS

When ray hits curve segment with SSS shader it was possible to have
uninitialized hit_P variable used for sampling.

Seems that was a reason of our headache of difference between AVX2
and SSE4 render results here, so now we can revert all the nasty
ifdef-ed inline policies.

3 years agoCycles: Cleanup, style
Sergey Sharybin [Wed, 12 Oct 2016 09:54:33 +0000 (11:54 +0200)]
Cycles: Cleanup, style

3 years agoFix T49622: Grease pencil not rendering out of VSE
Sergey Sharybin [Wed, 12 Oct 2016 08:01:30 +0000 (10:01 +0200)]
Fix T49622: Grease pencil not rendering out of VSE

3 years agoFix T49502: file browser on OS X not highlighting external drives.
Brecht Van Lommel [Tue, 11 Oct 2016 22:07:11 +0000 (00:07 +0200)]
Fix T49502: file browser on OS X not highlighting external drives.

3 years agoFix T49629: Graph editor normalize function doesn't work on f-curves with a constant...
Sergey Sharybin [Tue, 11 Oct 2016 15:08:00 +0000 (17:08 +0200)]
Fix T49629: Graph editor normalize function doesn't work on f-curves with a constant key value

Technically it is a regression in behavior and should be 2.78a.

3 years agoFix objects added via py being on the wrong layer when viewport is decoupled from...
Sergey Sharybin [Tue, 11 Oct 2016 13:35:14 +0000 (15:35 +0200)]
Fix objects added via py being on the wrong layer when viewport is decoupled from scene

3 years agoMake console message more clear for --scene argument
Sergey Sharybin [Tue, 11 Oct 2016 12:48:15 +0000 (14:48 +0200)]
Make console message more clear for --scene argument

3 years agoFix T49623: Immediately crash trying to render attached file in Cycles
Sergey Sharybin [Tue, 11 Oct 2016 09:54:04 +0000 (11:54 +0200)]
Fix T49623: Immediately crash trying to render attached file in Cycles

Original fix in this area was not really complete (but was the safest at
the release time). Now all the crazy configurations of slots going out
of sync should be handled here.

3 years agoinstall_deps.sh: remove libglewmx from deb for now, the package is broken in deb...
Bastien Montagne [Mon, 10 Oct 2016 17:29:04 +0000 (19:29 +0200)]
install_deps.sh: remove libglewmx from deb for now, the package is broken in deb testing...

3 years agoinstall_deps.sh: first attempt to support cxx11.
Bastien Montagne [Mon, 10 Oct 2016 17:17:43 +0000 (19:17 +0200)]
install_deps.sh: first attempt to support cxx11.

For now, we merely add an option that sets CXXFLAGS envvar with
'--std=c++11' option.

There is no check done to ensure compatibility with the system
libraries, mainly because:
  - It is all but trivial to get this information in a generic and
    reliable way.
  - Currently even cutting edge distributions may still distribute some c++98
    libraries.
  - With recent stdlibc++, both ABIs are supported together, which means
    that incompatibilities are rather unlikely.

To summarize: if your system is recent and built with gcc-5.1 or more,
you should not experience too much troubles with c++11.

3 years agoOpenGL animation: Fix stupid mistake form previous commit
Sergey Sharybin [Mon, 10 Oct 2016 13:52:10 +0000 (15:52 +0200)]
OpenGL animation: Fix stupid mistake form previous commit

Flagging of pool to cancel was done in the wrong place, making last
frames missing in the final video.

3 years agoFix viewport camera gets out of sync in certain cases
Sergey Sharybin [Mon, 10 Oct 2016 12:47:03 +0000 (14:47 +0200)]
Fix viewport camera gets out of sync in certain cases

It was possible to have two viewports opened and start using Ctrl-0
to make different objects an active camera for the viewport. This
worked fine for viewports which had decoupled camera from the scene,
but if viewport was locked to scene camera it was possible to run into
situation when two different viewports are locked to scene camera but
had different v3d->camera pointers.

3 years agoOpenGL render: Fix missing file output after pressing Esc
Sergey Sharybin [Mon, 10 Oct 2016 10:51:01 +0000 (12:51 +0200)]
OpenGL render: Fix missing file output after pressing Esc

Apparently, the whole G.is_break is not used by OpenGL render, meaning
this flag will not be clear before running the operator. This was
causing missing file output after pressing Esc once for the rest of
Blender session.

3 years agoOpenGL: remove GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:13:03 +0000 (01:13 -0400)]
OpenGL: remove GLSL support query (it's always supported)

3 years agoremove call to GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:28:02 +0000 (01:28 -0400)]
remove call to GLSL support query (it's always supported)

Reworked logic in the one place that still called this. Deleted the "GLSL not supported" fallback.

(equivalent to rB78abbdf26451 on blender2.8 branch)

3 years agoBGE: remove calls to GLSL support query (it's always supported)
Mike Erwin [Mon, 10 Oct 2016 05:08:49 +0000 (01:08 -0400)]
BGE: remove calls to GLSL support query (it's always supported)

Reworked logic in the few places that still called this. Deleted the "GLSL not supported" fallbacks.

Also removed some nearby checks for ARB_multitexture and OpenGL 1.1. Blender 2.77 removed checks like this, but game engine still has some.

3 years agoCycles: Split device_opencl.cpp into multiple files for easier maintenance
Lukas Stockner [Wed, 14 Sep 2016 21:47:54 +0000 (23:47 +0200)]
Cycles: Split device_opencl.cpp into multiple files for easier maintenance

There are no user-visible changes, just some internal restructuring.

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

3 years agoFix T49609: Point density textures: vertex colors are not properly averaged in BI
Daisuke Takahashi [Sun, 9 Oct 2016 11:16:19 +0000 (13:16 +0200)]
Fix T49609: Point density textures: vertex colors are not properly averaged in BI

Nice to have in 2.78a, though not a regression.

3 years agoCMake changes for new macOS target 10.9 / libc++ libraries.
Brecht Van Lommel [Wed, 14 Sep 2016 09:41:20 +0000 (11:41 +0200)]
CMake changes for new macOS target 10.9 / libc++ libraries.

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

3 years agoAmmend to rB00dc0666b3fe: forgot to fix boid->ground of first particle.
Bastien Montagne [Sat, 8 Oct 2016 17:13:50 +0000 (19:13 +0200)]
Ammend to rB00dc0666b3fe: forgot to fix boid->ground of first particle.

This code is confusing, such dirty details should not sneak out of
particles' own private code. :(

3 years agoFix T49608: runtime-only particle's boid->ground Object pointer was left dangling...
Bastien Montagne [Sat, 8 Oct 2016 13:18:35 +0000 (15:18 +0200)]
Fix T49608: runtime-only particle's boid->ground Object pointer was left dangling to invalid value in read code...

3 years agoFix a few compile errors with C++11 on macOS.
Brecht Van Lommel [Wed, 14 Sep 2016 09:41:20 +0000 (11:41 +0200)]
Fix a few compile errors with C++11 on macOS.

3 years agoBLI_task: fix case were some pool could work in more threads than allowed.
Bastien Montagne [Sat, 8 Oct 2016 12:46:01 +0000 (14:46 +0200)]
BLI_task: fix case were some pool could work in more threads than allowed.

We were checking for number of tasks from given pool already active, and
then atomically increasing it if allowed - this is not correct, number
could be increased by another thread between check and atomic op!

Atomic primitives are nice, but you must be very careful with *how* you
use them... Now we atomically increase counter, check result, and if we
end up over max value, abort and decrease counter again.

Spotted by Sergey, thanks!

3 years agoCollision: skip expensive BVH update if the collider doesn't move.
Alexander Gavrilov [Fri, 7 Oct 2016 10:27:11 +0000 (13:27 +0300)]
Collision: skip expensive BVH update if the collider doesn't move.

Since the collision modifier cannot be disabled, it causes a constant
hit on the viewport animation playback FPS. Most of this overhead can
be automatically removed in the case when the collider is static.

The updates are only skipped when the collider was stationary during
the preceding update as well, so the state is stored in a field.
Knowing that the collider is static can also be used to disable similar
BVH updates for substeps in the actual cloth simulation code.

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

3 years agoCycles: Fix OpenCL split kernel compilation after recent CUDA 8 performance fix
Lukas Stockner [Fri, 7 Oct 2016 16:50:43 +0000 (18:50 +0200)]
Cycles: Fix OpenCL split kernel compilation after recent CUDA 8 performance fix

3 years agoOpenGL render: Limit number of scheduled frames for write
Sergey Sharybin [Fri, 7 Oct 2016 15:46:13 +0000 (17:46 +0200)]
OpenGL render: Limit number of scheduled frames for write

Previously if the rendering is much faster than saving (for example,
when transcoding stuff via VSE) it was possible to have 100s of frames
in memory.

This isn't ideal because of limited amount of RAM, so need to have
some sort of limit. This is exactly what is implemented in this commit.

3 years agoOpenGL render: Fix non-deterministic order of frame writes for movies
Sergey Sharybin [Fri, 7 Oct 2016 15:12:27 +0000 (17:12 +0200)]
OpenGL render: Fix non-deterministic order of frame writes for movies

By the design of task scheduler it was possible that tasks from somewhere
in the middle of scheduled list will be handled first.

For example, one thread might be iterating over the scheduled list and
ignore tasks because there is other thread is working on task from the
same pool. However, if that other thread finishes task before iteration
is over current thread will pick up task from somewhere in in the middle
of the list.

This isn't a problem in general case, but for movie rendering we do need
to have strict order of frames.

3 years agoOpenGL: Don't write frames when rendering was canceled
Sergey Sharybin [Fri, 7 Oct 2016 14:51:19 +0000 (16:51 +0200)]
OpenGL: Don't write frames when rendering was canceled

3 years agoCleanup: Use more clear name for where allocation is coming from
Sergey Sharybin [Fri, 7 Oct 2016 14:06:24 +0000 (16:06 +0200)]
Cleanup: Use more clear name for where allocation is coming from

3 years agoOpenGL: Do not schedule new frames for write if error happens
Sergey Sharybin [Fri, 7 Oct 2016 14:05:51 +0000 (16:05 +0200)]
OpenGL: Do not schedule new frames for write if error happens

Also do not attempt to write any already scheduled frames.

3 years agoProxied → Proxified
Sybren A. Stüvel [Fri, 7 Oct 2016 11:33:43 +0000 (13:33 +0200)]
Proxied → Proxified

3 years agoRe-establish link to proxies when they are made local after appending.
Sybren A. Stüvel [Thu, 6 Oct 2016 14:52:13 +0000 (16:52 +0200)]
Re-establish link to proxies when they are made local after appending.

This allows appending of an entire scene from another blend file into
this one, even when that blend file contains proxified armatures.

Since the proxified object needs to be linked (not local), this will
only work when the "Localize all" checkbox is disabled. The appended
proxy object should also not be referenced from anything in a library
(for example in a constraint). Referencing it from the appended data
should be fine.

Fixes T49495.