blender.git
2 years agoSome more cleanup, get rid of hack to protect against NULL RNA pointerprops. datablock_idprops
Bastien Montagne [Tue, 4 Apr 2017 14:13:55 +0000 (16:13 +0200)]
Some more cleanup, get rid of hack to protect against NULL RNA pointerprops.

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Tue, 4 Apr 2017 14:04:35 +0000 (16:04 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoFix missing protection of `RNA_pointer_as_string()` against NULL pointers.
Bastien Montagne [Tue, 4 Apr 2017 13:57:45 +0000 (15:57 +0200)]
Fix missing protection of `RNA_pointer_as_string()` against NULL pointers.

Odd that issue was never reached before? Looks like it hit in
datablock_idprops branch though...

2 years agoCycles: Tag shaders for update after the threading part is over
Sergey Sharybin [Tue, 4 Apr 2017 11:36:58 +0000 (13:36 +0200)]
Cycles: Tag shaders for update after the threading part is over

This avoids write access happening in non-atomic manner in
Shader::tag_update which modifies the global managers. Even
for 1 byte data types it's quite dangerous.

2 years agoDepsgraph: Use atomic operation to tag the changed ID
Sergey Sharybin [Tue, 4 Apr 2017 11:38:43 +0000 (13:38 +0200)]
Depsgraph: Use atomic operation to tag the changed ID

2 years agoCycles: Fix uninitialized memory access when comparing curve mapping nodes
Sergey Sharybin [Tue, 4 Apr 2017 11:47:18 +0000 (13:47 +0200)]
Cycles: Fix uninitialized memory access when comparing curve mapping nodes

The issue is coming from the fact that float3 is actually 16 bytes aligned
data type and the "padding" was not initialized. This caused memcmp() to
access non-initialized memory.

2 years ago Some minor cleanup.
Bastien Montagne [Tue, 4 Apr 2017 13:41:39 +0000 (15:41 +0200)]
 Some minor cleanup.

2 years agoinstall_deps: removed leftover compile_HDF5 command
Sybren A. Stüvel [Tue, 4 Apr 2017 12:50:36 +0000 (14:50 +0200)]
install_deps: removed leftover compile_HDF5 command

It was a leftover from when Alembic with HDF5 was still officially
supported.

2 years agoBumped Alembic library version to 1.7.1
Sybren A. Stüvel [Tue, 4 Apr 2017 10:55:38 +0000 (12:55 +0200)]
Bumped Alembic library version to 1.7.1

This provides us with a clearer API (so I don't have to use const_cast<>
in upcoming code). It also allows layering of different Alembic files,
so you can have a base file and load a separate file containing overrides.

Verbally approved by Dr. Sergey.

2 years agoBuildbot: Update master config
Sergey Sharybin [Tue, 4 Apr 2017 10:52:37 +0000 (12:52 +0200)]
Buildbot: Update master config

2 years agoAlembic: force ALEMBIC_LIB_USES_BOOST=ON when not using C++11
Sybren A. Stüvel [Thu, 16 Feb 2017 09:59:19 +0000 (10:59 +0100)]
Alembic: force ALEMBIC_LIB_USES_BOOST=ON when not using C++11

Alembic requires one of ALEMBIC_LIB_USES_BOOST, ALEMBIC_LIB_USES_TR1, or
C++11, and silently defaults to the latter if the former two are OFF.

Before this change, Alembic was only built without C++11 of OpenEXR
was built at the same time. This dependency was both unnecessary and
undocumented.

2 years agoTask: Remove non-atomic pool suspended flag assignment
Sergey Sharybin [Tue, 4 Apr 2017 10:32:15 +0000 (12:32 +0200)]
Task: Remove non-atomic pool suspended flag assignment

This was done some lines above by atomic fetch and and.

2 years agoBuildbot: Update master config
Sergey Sharybin [Tue, 4 Apr 2017 10:15:35 +0000 (12:15 +0200)]
Buildbot: Update master config

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Tue, 4 Apr 2017 08:38:21 +0000 (10:38 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoSome cleanup regarding STRUCT_CONTAINS_DATABLOCK_IDPROPERTIES.
Bastien Montagne [Tue, 4 Apr 2017 08:29:14 +0000 (10:29 +0200)]
Some cleanup regarding STRUCT_CONTAINS_DATABLOCK_IDPROPERTIES.

This whole system (how to prevent IDP_ID-forbidden structs to get
assigned IDP_ID-allowed IDProps) still seems somewhat brittle to me,
took me some time to wrap my head around it, but... could not find
any better way to do that so far.

2 years agoBuildbot: Some more twqeaks to master config
Sergey Sharybin [Mon, 3 Apr 2017 13:51:31 +0000 (15:51 +0200)]
Buildbot: Some more twqeaks to master config

2 years agoBuildbot: Update bundled vetrsion of server configuration
Sergey Sharybin [Mon, 3 Apr 2017 13:36:52 +0000 (15:36 +0200)]
Buildbot: Update bundled vetrsion of server configuration

2 years agoBuildbot: SPecial branch trickery for linux slaves
Sergey Sharybin [Mon, 3 Apr 2017 13:04:16 +0000 (15:04 +0200)]
Buildbot: SPecial branch trickery for linux slaves

2 years agoPoint all submodules to master branch
Sergey Sharybin [Mon, 3 Apr 2017 12:54:51 +0000 (14:54 +0200)]
Point all submodules to master branch

This way it should be safe to use `git submodule update --remote`.

2 years agoBuildbot: Some special tricks for Blender 2.8 slave
Sergey Sharybin [Mon, 3 Apr 2017 12:49:07 +0000 (14:49 +0200)]
Buildbot: Some special tricks for Blender 2.8 slave

2 years agoFix blender player
Sergey Sharybin [Mon, 3 Apr 2017 10:31:33 +0000 (12:31 +0200)]
Fix blender player

2 years agoFix T51115: Bump node is broken when the displacement socket is used
Sergey Sharybin [Mon, 3 Apr 2017 08:50:42 +0000 (10:50 +0200)]
Fix T51115: Bump node is broken when the displacement socket is used

2 years agoCollada - add flag to limit precision of exported data, mainly to simplify debugging
Gaia Clary [Mon, 3 Apr 2017 08:48:00 +0000 (10:48 +0200)]
Collada - add flag to limit precision of exported data, mainly to simplify debugging

2 years agofix: collada - do proper conversion from int to bool (as with other nearby parameters)
Gaia Clary [Mon, 3 Apr 2017 08:45:24 +0000 (10:45 +0200)]
fix: collada - do proper conversion from int to bool (as with other nearby parameters)

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Sun, 2 Apr 2017 16:08:48 +0000 (18:08 +0200)]
Merge branch 'master' into datablock_idprops

2 years agofix: T50412 - collada: Replaced precision local limit function by blender's own imple...
Gaia Clary [Sat, 1 Apr 2017 13:29:40 +0000 (15:29 +0200)]
fix: T50412 - collada: Replaced precision local limit function by blender's own implementation

2 years agoCleanup: style
Campbell Barton [Sat, 1 Apr 2017 01:09:17 +0000 (12:09 +1100)]
Cleanup: style

2 years agoCleanup: Some minor styling.
Bastien Montagne [Fri, 31 Mar 2017 21:56:18 +0000 (23:56 +0200)]
Cleanup: Some minor styling.

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Fri, 31 Mar 2017 17:41:09 +0000 (19:41 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoAdd missing handling of sequencer's strips IDProperties.
Bastien Montagne [Fri, 31 Mar 2017 17:40:12 +0000 (19:40 +0200)]
Add missing handling of sequencer's strips IDProperties.

2 years agoDepsgraph: Correction for the previous local view commit
Sergey Sharybin [Fri, 31 Mar 2017 15:07:44 +0000 (17:07 +0200)]
Depsgraph: Correction for the previous local view commit

Need to flush layers from components back to ID node.

2 years agoFix threading conflicts in multitex_ext_safe()
Sergey Sharybin [Fri, 31 Mar 2017 14:09:27 +0000 (16:09 +0200)]
Fix threading conflicts in multitex_ext_safe()

This function was modifying texture datablock, which makes the call
unsafe for call from multiple threads. Now we pass the argument that
we don't need nodes to the underlying functions.

There will be still race condition in noise texture, but that should
at least be free from crashes. Doesn't mean we shouldn't fix it tho.

2 years agoCycles: Solve threading conflict in shader synchronization
Sergey Sharybin [Fri, 31 Mar 2017 13:29:20 +0000 (15:29 +0200)]
Cycles: Solve threading conflict in shader synchronization

Update tag might access links (when checking for attributes) and
the links might be in the middle of rebuild in simplification
logic.

2 years agoFix unreported bug in Blender Render: using unnormalized normal in normal map node...
Alexander Romanov [Fri, 31 Mar 2017 14:53:55 +0000 (17:53 +0300)]
Fix unreported bug in Blender Render: using unnormalized normal in normal map node in the same way as in baking

2 years agoCleanup: simpler to define 'no datablock idprop' flag in RNA struct definitions.
Bastien Montagne [Fri, 31 Mar 2017 13:27:56 +0000 (15:27 +0200)]
Cleanup: simpler to define 'no datablock idprop' flag in RNA struct definitions.

That's cleaner & easier to read than to do it for every child class in
register functions...

2 years agoWM: Previous commit broke common-case loading new file
Campbell Barton [Fri, 31 Mar 2017 12:42:44 +0000 (23:42 +1100)]
WM: Previous commit broke common-case loading new file

Handle this in the operator

2 years agoKeep current app-template when selecting 'New File'
Campbell Barton [Fri, 31 Mar 2017 11:06:36 +0000 (22:06 +1100)]
Keep current app-template when selecting 'New File'

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Fri, 31 Mar 2017 10:19:30 +0000 (12:19 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoUI cleanup: simplify Icon handling of uiDefAutoButR for PROP_POINTER.
Bastien Montagne [Fri, 31 Mar 2017 10:13:34 +0000 (12:13 +0200)]
UI cleanup: simplify Icon handling of uiDefAutoButR for PROP_POINTER.

Comes from D113, but really not related to the patch's topic!

2 years agoMore cleanup anf fixes!
Bastien Montagne [Fri, 31 Mar 2017 08:57:01 +0000 (10:57 +0200)]
More cleanup anf fixes!

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Fri, 31 Mar 2017 08:44:55 +0000 (10:44 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoFix bunch of missing/incorrect handling of IDProps.
Bastien Montagne [Fri, 31 Mar 2017 08:25:38 +0000 (10:25 +0200)]
Fix bunch of missing/incorrect handling of IDProps.

Mainly in readfile.c and library_query.c.
Plus some other minor fixes and cleanup.

2 years agoCycles: More fixes after include changes
Mai Lavelle [Fri, 31 Mar 2017 08:12:13 +0000 (10:12 +0200)]
Cycles: More fixes after include changes

2 years agoFix T51072: The reference of a pyobject may be being overwritten in `bm_mesh_remap_cd...
Germano Cavalcante [Fri, 31 Mar 2017 04:01:16 +0000 (01:01 -0300)]
Fix T51072: The reference of a pyobject may be being overwritten in `bm_mesh_remap_cd_update`

In this case the Pyobject gets lost from pybm, and bm.free() does not invalidate the PyElem.
This will cause the destructor of python to read invalid memory and crash.

The solution is to make a copy of the pyobjects pointers before overwriting.

2 years agoCorrect string formatting (error in recent change)
Campbell Barton [Thu, 30 Mar 2017 22:45:25 +0000 (09:45 +1100)]
Correct string formatting (error in recent change)

2 years agoCleanup: warnings
Campbell Barton [Thu, 30 Mar 2017 22:48:38 +0000 (09:48 +1100)]
Cleanup: warnings

2 years agoGrr, fix stupid typo in previous commit...
Bastien Montagne [Thu, 30 Mar 2017 21:06:38 +0000 (23:06 +0200)]
Grr, fix stupid typo in previous commit...

Always build before committing :|

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Thu, 30 Mar 2017 21:00:12 +0000 (23:00 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoCleanup/fix bad code in IDP_SetIndexArray()
Bastien Montagne [Thu, 30 Mar 2017 20:52:12 +0000 (22:52 +0200)]
Cleanup/fix bad code in IDP_SetIndexArray()

Mainly, using index before checking for its validity...

2 years agoCleanup - resync with master, this needs to be fixed in master first!
Bastien Montagne [Thu, 30 Mar 2017 19:19:17 +0000 (21:19 +0200)]
Cleanup - resync with master, this needs to be fixed in master first!

2 years agoFix another case of bad logic in recurrent function handling IDProps.
Bastien Montagne [Thu, 30 Mar 2017 19:18:04 +0000 (21:18 +0200)]
Fix another case of bad logic in recurrent function handling IDProps.

And some generic cleanup/styling/etc.

2 years agoRedraw parent popup when the child popup is closed
raa [Thu, 30 Mar 2017 13:48:18 +0000 (16:48 +0300)]
Redraw parent popup when the child popup is closed

2 years agoDepsgraph: Fix missing updates when in local view
Sergey Sharybin [Thu, 30 Mar 2017 12:38:25 +0000 (14:38 +0200)]
Depsgraph: Fix missing updates when in local view

This area is a subject of reconsideration, so for now used simplest
way possible -- ensure depsgraph's nodes have proper layer flags
when going in and out of local mode.

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Thu, 30 Mar 2017 10:56:31 +0000 (12:56 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoFix always-unlinking in ID free function.
Bastien Montagne [Thu, 30 Mar 2017 10:52:07 +0000 (12:52 +0200)]
Fix always-unlinking in ID free function.

Since IDProps now handle ID usages, makes sense to pass do_id_user flag
to some new IDP_FreeProperty_ex() as well...

2 years agoCycles: Fix missing kernel re-compilation after recent changes
Sergey Sharybin [Thu, 30 Mar 2017 09:42:23 +0000 (11:42 +0200)]
Cycles: Fix missing kernel re-compilation after recent changes

Reported by Mai in IRC, thanks!

2 years agoFix T51051: Incorrect render on 32bit Linux
Sergey Sharybin [Thu, 30 Mar 2017 09:23:26 +0000 (11:23 +0200)]
Fix T51051: Incorrect render on 32bit Linux

The issue was apparently caused by -fno-finite-math-only added to kernel.cpp
CFLAGS. For now just removed this flag from the kernel (we don't really want
it there at this point, and we don't have it for SSE/AVX optimized kernels).

But surely more investigation is needed here.

2 years agoCycles: Cleanup, rename RegularBVH to BinaryBVH
Sergey Sharybin [Tue, 28 Mar 2017 16:58:51 +0000 (18:58 +0200)]
Cycles: Cleanup, rename RegularBVH to BinaryBVH

Makes it more explicit what the structure is from it's name.

2 years agoMirror Modifier: Add offsets for mirrored UVs
Campbell Barton [Thu, 30 Mar 2017 01:39:51 +0000 (12:39 +1100)]
Mirror Modifier: Add offsets for mirrored UVs

The mirror modifier now has two fields that specify a -1 to 1 offset for
the U and V axes when mirroring their coordinates.

D1844 by @circuitfox

2 years agoCycles: Fix compilation error of app after the include directories change
Sergey Sharybin [Wed, 29 Mar 2017 14:53:46 +0000 (16:53 +0200)]
Cycles: Fix compilation error of app after the include directories change

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Wed, 29 Mar 2017 14:25:09 +0000 (16:25 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoCycles: Attempt to work around compilation errors of CUDA on sm_2x
Sergey Sharybin [Wed, 29 Mar 2017 14:22:51 +0000 (16:22 +0200)]
Cycles: Attempt to work around compilation errors of CUDA on sm_2x

2 years agoCleanup, minor fixes and serious simplification of idprops.c
Bastien Montagne [Wed, 29 Mar 2017 14:21:40 +0000 (16:21 +0200)]
Cleanup, minor fixes and serious simplification of idprops.c

Mostly, get rid of id_(un)register, we can just use mere id_us_plus/min
as anywhere else in code now. Also, unlink function was not actually
used.

2 years agoFix missing handling of IDProps of nodetree's IO sockets.
Bastien Montagne [Wed, 29 Mar 2017 14:19:00 +0000 (16:19 +0200)]
Fix missing handling of IDProps of nodetree's IO sockets.

2 years agoCycles: Cleanup, indentation
Sergey Sharybin [Wed, 29 Mar 2017 13:41:56 +0000 (15:41 +0200)]
Cycles: Cleanup, indentation

2 years agoCycles: Remove toolkit-specific workaround from kernel
Sergey Sharybin [Wed, 29 Mar 2017 13:07:53 +0000 (15:07 +0200)]
Cycles: Remove toolkit-specific workaround from kernel

2 years agoCycles: Only use CUDA 8.0 as officially supported one
Sergey Sharybin [Wed, 29 Mar 2017 13:06:47 +0000 (15:06 +0200)]
Cycles: Only use CUDA 8.0 as officially supported one

This deprecates CUDA 7.5.

2 years agoCycles: Cleanup, don't use m_ prefix for public properties
Sergey Sharybin [Wed, 29 Mar 2017 12:30:39 +0000 (14:30 +0200)]
Cycles: Cleanup, don't use m_ prefix for public properties

2 years agoCycles: Fix compilation error with visibility flag disabled
Sergey Sharybin [Wed, 29 Mar 2017 12:28:45 +0000 (14:28 +0200)]
Cycles: Fix compilation error with visibility flag disabled

2 years agoCycles: Make all #include statements relative to cycles source directory
Sergey Sharybin [Tue, 28 Mar 2017 18:39:14 +0000 (20:39 +0200)]
Cycles: Make all #include statements relative to cycles source directory

The idea is to make include statements more explicit and obvious where the
file is coming from, additionally reducing chance of wrong header being
picked up.

For example, it was not obvious whether bvh.h was refferring to builder
or traversal, whenter node.h is a generic graph node or a shader node
and cases like that.

Surely this might look obvious for the active developers, but after some
time of not touching the code it becomes less obvious where file is coming
from.

This was briefly mentioned in T50824 and seems @brecht is fine with such
explicitness, but need to agree with all active developers before committing
this.

Please note that this patch is lacking changes related on GPU/OpenCL
support. This will be solved if/when we all agree this is a good idea to move
forward.

Reviewers: brecht, lukasstockner97, maiself, nirved, dingto, juicyfruit, swerner

Reviewed By: lukasstockner97, maiself, nirved, dingto

Subscribers: brecht

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

2 years agoCycles: Attempt to workaround compilation error on new CUDA toolkit and sm_2x
Sergey Sharybin [Wed, 29 Mar 2017 09:49:50 +0000 (11:49 +0200)]
Cycles: Attempt to workaround compilation error on new CUDA toolkit and sm_2x

2 years agoRemove non-bmesh case from test
Campbell Barton [Wed, 29 Mar 2017 09:10:46 +0000 (20:10 +1100)]
Remove non-bmesh case from test

2 years agoFix skin mark operator
Campbell Barton [Wed, 29 Mar 2017 08:32:57 +0000 (19:32 +1100)]
Fix skin mark operator

Accessed custom-data layer offset before creating.

2 years agoFix crash closing window in background mode
Campbell Barton [Wed, 29 Mar 2017 08:25:34 +0000 (19:25 +1100)]
Fix crash closing window in background mode

2 years agoFix missing NULL check in gpencil poll
Campbell Barton [Wed, 29 Mar 2017 08:19:25 +0000 (19:19 +1100)]
Fix missing NULL check in gpencil poll

Also de-duplicate poll functions

2 years agoUse 'empty' option for clearing factory settings
Campbell Barton [Wed, 29 Mar 2017 08:18:09 +0000 (19:18 +1100)]
Use 'empty' option for clearing factory settings

2 years agoOption to load startup file with empty-data
Campbell Barton [Wed, 29 Mar 2017 08:07:21 +0000 (19:07 +1100)]
Option to load startup file with empty-data

Useful for batch conversion and tests.

2 years agoBuildbot: Revert previous change, older toolkit has same exact behavior
Sergey Sharybin [Wed, 29 Mar 2017 08:46:53 +0000 (10:46 +0200)]
Buildbot: Revert previous change, older toolkit has same exact behavior

2 years agoBuildbot: Use older NVCC on 32bit linux
Sergey Sharybin [Wed, 29 Mar 2017 08:21:17 +0000 (10:21 +0200)]
Buildbot: Use older NVCC on 32bit linux

Newer toolkit has some weird issue with cross0-compiling 32bit kernels
from 64bit environment.

2 years agoBuildbot: Remove global hardcoded NVCC path
Sergey Sharybin [Wed, 29 Mar 2017 08:16:41 +0000 (10:16 +0200)]
Buildbot: Remove global hardcoded NVCC path

This was initially needed for heterogeneous setup of two toolkits which
we no longer need.

2 years agoCycles: Bring back preview AA samples when using BPT
Sergey Sharybin [Wed, 29 Mar 2017 07:12:26 +0000 (09:12 +0200)]
Cycles: Bring back preview AA samples when using BPT

This was removed in 93426cb. Please be more accurate when
changing interface.

2 years agoFix mistake with last master merge...
Bastien Montagne [Wed, 29 Mar 2017 06:41:42 +0000 (08:41 +0200)]
Fix mistake with last master merge...

2 years agoPyAPI: minor path init simplification
Campbell Barton [Wed, 29 Mar 2017 04:07:41 +0000 (15:07 +1100)]
PyAPI: minor path init simplification

2 years agoFix 'bl_app_override' wrapping multiple times.
Campbell Barton [Wed, 29 Mar 2017 03:29:18 +0000 (14:29 +1100)]
Fix 'bl_app_override' wrapping multiple times.

Calling `SomeClass.draw(self, context)` instead of `self.draw()`
would try to wrap the argument `self` multiple times, causing an error.

2 years agoFix memory leak re-registering operators
Campbell Barton [Wed, 29 Mar 2017 02:26:34 +0000 (13:26 +1100)]
Fix memory leak re-registering operators

Re-registering an operator used by the keymap would lead memory.
Reload scripts for eg leaked over ~1600 blocks.

2 years agoPyAPI: check modules are registered before unregister
Campbell Barton [Wed, 29 Mar 2017 01:35:00 +0000 (12:35 +1100)]
PyAPI: check modules are registered before unregister

Needed since templates may unregister classes.

Also replace old modules on reloading.

2 years agoFix T51068: Place props in their own row
Aaron Carlisle [Tue, 28 Mar 2017 20:29:20 +0000 (16:29 -0400)]
Fix T51068: Place props in their own row

This allows the props to extend into the blank space that is to the right.

2 years agoCycles: Switch to reformulated Pluecker ray/triangle intersection
Sergey Sharybin [Mon, 27 Mar 2017 15:06:37 +0000 (17:06 +0200)]
Cycles: Switch to reformulated Pluecker ray/triangle intersection

The intention of this commit it to address issues mentioned in the
reports T43865,T50164 and T50452.

The code is based on Embree code with some extra vectorization
to speed up single ray to single triangle intersection.

Unfortunately, such a fix is not coming for free. There is some
slowdown for AVX2 processors, mainly due to different vectorization
code, which caused different number of instructions to be executed
and different instructions-per-cycle counters. But on another hand
this commit makes pre-AVX2 platforms such as AVX and SSE4.1 a bit
faster. The prerformance goes as following:

              2.78c AVX2   2.78c AVX   Patch AVX2         Patch AVX
BMW            05:21.09     06:05.34    05:32.97 (+3.5%)   05:34.97 (-8.5%)
Classroom      16:55.36     18:24.51    17:10.41 (+1.4%)   17:15.87 (-6.3%)
Fishy Cat      08:08.49     08:36.26    08:09.19 (+0.2%)   08:12.25 (-4.7%
Koro           11:22.54     11:45.24    11:13.25 (-1.5%)   11:43.81 (-0.3%)
Barcelone      14:18.32     16:09.46    14:15.20 (-0.4%)   14:25.15 (-10.8%)

On GPU the performance is about 1.5-2% slower in my tests on GTX1080
but afraid we can't do much as a part of this chaneg here and
consider it a price to pay for more proper intersection check.

Made in collaboration with Maxym Dmytrychenko, big thanks to him!

Reviewers: brecht, juicyfruit, lukasstockner97, dingto

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

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Tue, 28 Mar 2017 13:51:14 +0000 (15:51 +0200)]
Merge branch 'master' into datablock_idprops

2 years agoForgot those IDP_LibLinkProperty call on node sockets IDProps in previous commit...
Bastien Montagne [Tue, 28 Mar 2017 12:37:18 +0000 (14:37 +0200)]
Forgot those IDP_LibLinkProperty call on node sockets IDProps in previous commit...

2 years agoMerge branch 'master' into datablock_idprops
Bastien Montagne [Tue, 28 Mar 2017 12:35:18 +0000 (14:35 +0200)]
Merge branch 'master' into datablock_idprops

Conflicts:
source/blender/blenloader/intern/readfile.c

2 years agoFix: Icon offset for pie buttons
raa [Tue, 28 Mar 2017 10:44:02 +0000 (13:44 +0300)]
Fix: Icon offset for pie buttons

2 years agoCycles: Pass m128 vectors by const reference
Sergey Sharybin [Tue, 28 Mar 2017 09:01:11 +0000 (11:01 +0200)]
Cycles: Pass m128 vectors by const reference

2 years agoFix lib_link_cachefile.
Bastien Montagne [Tue, 28 Mar 2017 08:15:52 +0000 (10:15 +0200)]
Fix lib_link_cachefile.

That one was:
* Resetting non-ID pointers (lib_link_xxx funcs should only affect ID
  pointers, everything else shall be done in direct_link_xxx func).
* Even worse, always calling lib_link_animdata, even when
  LIB_TAG_NEED_LINK tag was unset...

2 years agoBring back `lib_link_mesh()` in 'order' with other libdata liblink functions.
Bastien Montagne [Tue, 28 Mar 2017 08:10:15 +0000 (10:10 +0200)]
Bring back `lib_link_mesh()` in 'order' with other libdata liblink functions.

We do not need any special handling anymore for usercount of images used
by faces/polygons (tpage stuff), since we have the 'real_user' handling,
which will gracefully cope with all possible situations.

So better not keep that ugly confusing useless special case.

2 years agoreadfile.c: Cleanup lib_link code a bit.
Bastien Montagne [Tue, 28 Mar 2017 08:03:59 +0000 (10:03 +0200)]
readfile.c: Cleanup lib_link code a bit.

Mainly:
* Add missing `IDP_LibLinkProperty()` calls for many ID types
  (harmless currently, but better be consistent here!).
* Bring lib_link_xxx functions more in line with each other.
* Replace some long if/else by switch.

2 years agoCorrect splash size check
Campbell Barton [Tue, 28 Mar 2017 06:07:11 +0000 (17:07 +1100)]
Correct splash size check

2 years agoFix columns with fixed width
raa [Mon, 27 Mar 2017 21:07:31 +0000 (00:07 +0300)]
Fix columns with fixed width

2 years agoCleanup: Use upper case consistently in adaptive feature compile logging.
Thomas Dinges [Mon, 27 Mar 2017 20:52:33 +0000 (22:52 +0200)]
Cleanup: Use upper case consistently in adaptive feature compile logging.

2 years agoCleanup: Resolve todo in CUDA voxel image code.
Thomas Dinges [Mon, 27 Mar 2017 20:36:26 +0000 (22:36 +0200)]
Cleanup: Resolve todo in CUDA voxel image code.