2 years agoTests: Compare vectors with epsilon
Sergey Sharybin [Fri, 7 Apr 2017 16:26:39 +0000 (18:26 +0200)]
Tests: Compare vectors with epsilon

SOlves the test false-positively failing in 32 bit environment.

2 years ago[Cycles/msvc] Get cycles_kernel compile time under control.
lazydodo [Fri, 7 Apr 2017 16:25:54 +0000 (10:25 -0600)]
[Cycles/msvc] Get cycles_kernel compile time under control.

Ever since we merged the extra texture types (half etc) and spit kernel the compile time for cycles_kernel has been going out of control.

It's currently sitting at a cool 1295.762 seconds with our standard compiler (2013/x64/release)

I'm not entirely sure why msvc gets upset with it, but the inlining of matrix near the bottom of the tri-cubic 3d interpolator is the source of the issue, this patch excludes it from being inlined.

This patch bring it back down to a manageable 186 seconds. (7x faster!!)

with the attached bzzt.blend that @sergey  kindly provided i got the following results with builds with identical hashes

58:51.73 buildbot
58:04.23 Patched

it's really close, the slight speedup could be explained by the switch instead of having multiple if's (switches do generate more optimal code than a chain of if/else/if/else statements) but in all honesty it might just have been pure luck (dev box,very polluted, bad for benchmarks) regardless, this patch doesn't seem to slow down anything with my limited testing.



Reviewers: brecht, lukasstockner97, juicyfruit, dingto, sergey

Reviewed By: brecht, dingto, sergey

Subscribers: InsigMathK, sergey

Tags: #cycles

Differential Revision:

2 years agoLibmv: Correction to previous commit
Sergey Sharybin [Fri, 7 Apr 2017 15:57:48 +0000 (17:57 +0200)]
Libmv: Correction to previous commit

We do need to make a copy of the values.

2 years agoLibmv: Fix crash of keyframe selection on 32bit linux
Sergey Sharybin [Fri, 7 Apr 2017 15:10:44 +0000 (17:10 +0200)]
Libmv: Fix crash of keyframe selection on 32bit linux

2 years agoBuildbot: List freetype for OIIO libraries
Sergey Sharybin [Fri, 7 Apr 2017 15:01:07 +0000 (17:01 +0200)]
Buildbot: List freetype for OIIO libraries

OIIO in release environment is compiled with Freetype support.

This fixes compilation error of static unit tests.

2 years agoBuildbot: Link statically against freetype
Sergey Sharybin [Fri, 7 Apr 2017 15:00:43 +0000 (17:00 +0200)]
Buildbot: Link statically against freetype

2 years agoCMake: Fix detection of idiff program
Sergey Sharybin [Fri, 7 Apr 2017 15:00:06 +0000 (17:00 +0200)]
CMake: Fix detection of idiff program

2 years agoTests: Fix compilation error with static OpenMP
Sergey Sharybin [Fri, 7 Apr 2017 14:06:05 +0000 (16:06 +0200)]
Tests: Fix compilation error with static OpenMP

2 years agoAlembic import: prevent crash when cancelling import.
Sybren A. Stüvel [Fri, 7 Apr 2017 14:03:16 +0000 (16:03 +0200)]
Alembic import: prevent crash when cancelling import.

It's possible that cancellation occured between the creation of the reader
and the creation of the Blender object, in which case reader->object()
returns a NULL pointer.

2 years agoAlembic import: prevent double user decrement when cancelling import.
Sybren A. Stüvel [Fri, 7 Apr 2017 14:02:51 +0000 (16:02 +0200)]
Alembic import: prevent double user decrement when cancelling import.

BKE_libblock_free_us() was called on the object data, which decrements
its user count, after which the same function was called on the object,
which decrements the user count of the object data again. This double
decrement was too much.

2 years agoCycles: Fix access of NULL pointer as array
Sergey Sharybin [Fri, 7 Apr 2017 13:07:25 +0000 (15:07 +0200)]
Cycles: Fix access of NULL pointer as array

Was confusing guarded allocator for some reason.

2 years agoAlembic: synced gather_objects_paths with visit_objects
Sybren A. Stüvel [Fri, 7 Apr 2017 11:40:38 +0000 (13:40 +0200)]
Alembic: synced gather_objects_paths with visit_objects

This was necessary, but was only mentioned at gather_object_paths (which
I didn't see earlier). That's now also fixed.

2 years agoCleanup: Unused function
Sergey Sharybin [Fri, 7 Apr 2017 10:55:04 +0000 (12:55 +0200)]
Cleanup: Unused function

2 years agoCycles: Fix corrupted mesh render when topology differs at the next frame
Sergey Sharybin [Fri, 7 Apr 2017 10:48:43 +0000 (12:48 +0200)]
Cycles: Fix corrupted mesh render when topology differs at the next frame

2 years agoCycles: Change work pool and global size of split CPU for easier debugging
Mai Lavelle [Thu, 6 Apr 2017 09:08:35 +0000 (05:08 -0400)]
Cycles: Change work pool and global size of split CPU for easier debugging

2 years agoCycles: Fix indentation
Mai Lavelle [Fri, 31 Mar 2017 06:38:07 +0000 (02:38 -0400)]
Cycles: Fix indentation

2 years agoCycles: Add missing flush
Mai Lavelle [Fri, 31 Mar 2017 06:00:27 +0000 (02:00 -0400)]
Cycles: Add missing flush

2 years agoCycles: Check ray state properly to avoid endless loop
Mai Lavelle [Tue, 28 Mar 2017 06:28:36 +0000 (02:28 -0400)]
Cycles: Check ray state properly to avoid endless loop

The state mask wasnt applied before comparison giving false results. It
shouldnt really happen that a ray state contains any flags that need to
be masked away, but if it does happen its better to not get stuck.

2 years agoAlembic: documented use of CacheReader struct
Sybren A. Stüvel [Thu, 23 Feb 2017 10:58:20 +0000 (11:58 +0100)]
Alembic: documented use of CacheReader struct

2 years agoAlembic: just pass NULL when we know mcmd->reader is NULL.
Sybren A. Stüvel [Thu, 23 Feb 2017 10:58:45 +0000 (11:58 +0100)]
Alembic: just pass NULL when we know mcmd->reader is NULL.

More explicit, easier to read & understand.

2 years agoFix building alembic gtest with buildinfo...
Bastien Montagne [Fri, 7 Apr 2017 08:44:13 +0000 (10:44 +0200)]
Fix building alembic gtest with buildinfo...

2 years agoFix T51137: Edge Rip Hangs
Campbell Barton [Fri, 7 Apr 2017 01:43:50 +0000 (11:43 +1000)]
Fix T51137: Edge Rip Hangs

2 years agoFix T51135: Cylinder primitive generated bad UVs
Germano Cavalcante [Thu, 6 Apr 2017 15:20:22 +0000 (12:20 -0300)]
Fix T51135: Cylinder primitive generated bad UVs

2 years agoAlembic: rewrapped some lines to fit within 80 chars.
Sybren A. Stüvel [Thu, 6 Apr 2017 13:08:35 +0000 (15:08 +0200)]
Alembic: rewrapped some lines to fit within 80 chars.

2 years agoAlembic import: compatibility with pre-C++11 compilers.
Sybren A. Stüvel [Thu, 6 Apr 2017 13:08:19 +0000 (15:08 +0200)]
Alembic import: compatibility with pre-C++11 compilers.

2 years agoAlembic import: restructured the importer w.g.t. parenthood
Sybren A. Stüvel [Thu, 6 Apr 2017 12:22:28 +0000 (14:22 +0200)]
Alembic import: restructured the importer w.g.t. parenthood

Previously, a GHash was used to store a flattened mapping of parent
information based on the Alembic hierarchy, and then that hash was used to
set parent pointers on Blender objects. This resulted in errors and
some duplicate objects. The new approach stores parent pointers while
traversing the Alembic hierarchy, which means that there is much more
information about the actual context of the Alembic object itself,
producing a more stable import.

2 years agoAlembic: rotation mode issue in copy_m44_axis_swap, and added unit tests.
Sybren A. Stüvel [Wed, 5 Apr 2017 15:07:24 +0000 (17:07 +0200)]
Alembic: rotation mode issue in copy_m44_axis_swap, and added unit tests.

2 years agoAdded float[][] comparison macros to testing.h
Sybren A. Stüvel [Wed, 5 Apr 2017 15:03:59 +0000 (17:03 +0200)]
Added float[][] comparison macros to testing.h

I've moved EXPECT_M3_NEAR from to testing.h, as that's
a more suitable location.

2 years agoAlembic: Renamed create_rotation_matrix to create_swapped_rotation_matrix and more:
Sybren A. Stüvel [Wed, 5 Apr 2017 13:05:24 +0000 (15:05 +0200)]
Alembic: Renamed create_rotation_matrix to create_swapped_rotation_matrix and more:

Also replaced the bool param "to_yup" with "AbcAxisSwapMode mode", so that
it's more explicit that axes are swapped.

Also added unittests for create_swapped_rotation_matrix.

2 years agoCMake: Fixed order of bf_alembic in SETUP_BLENDER_SORTED_LIBS
Sybren A. Stüvel [Wed, 5 Apr 2017 12:59:22 +0000 (14:59 +0200)]
CMake: Fixed order of bf_alembic in SETUP_BLENDER_SORTED_LIBS

bf_alembic depends on bf_bmesh, and should therefore be above it.

2 years agoAlembic import: fixed crash on more complex model
Sybren A. Stüvel [Tue, 4 Apr 2017 15:05:47 +0000 (17:05 +0200)]
Alembic import: fixed crash on more complex model

There was a problem with parent-child relations not getting set up
correctly when an Alembic object was both the transform for a mesh object
and the parent of other mesh objects.

2 years agoAlembic: comment typo/error fixes
Sybren A. Stüvel [Tue, 4 Apr 2017 15:06:05 +0000 (17:06 +0200)]
Alembic: comment typo/error fixes

2 years agoAlembic import: prevented unnecessary vector scaling
Sybren A. Stüvel [Thu, 2 Mar 2017 09:05:34 +0000 (10:05 +0100)]
Alembic import: prevented unnecessary vector scaling

2 years agoAlembic import: moved import-time scaling to different function
Sybren A. Stüvel [Thu, 2 Mar 2017 09:03:51 +0000 (10:03 +0100)]
Alembic import: moved import-time scaling to different function

convert_matrix() now only converts from Imath::M44d to float[4][4] (taking
different camera orientations into account). Import-time scaling is now
performed by the caller.

2 years agoAlembic: removed unnecessary matrix copy
Sybren A. Stüvel [Thu, 2 Mar 2017 09:02:48 +0000 (10:02 +0100)]
Alembic: removed unnecessary matrix copy

2 years agoAlembic: simplified AbcEmptyReader::readObjectData
Sybren A. Stüvel [Thu, 2 Mar 2017 08:57:12 +0000 (09:57 +0100)]
Alembic: simplified AbcEmptyReader::readObjectData

2 years agoAlembic: added some r_ prefixes for return parameters
Sybren A. Stüvel [Thu, 2 Mar 2017 08:56:57 +0000 (09:56 +0100)]
Alembic: added some r_ prefixes for return parameters

2 years agoAlembic: code style
Sybren A. Stüvel [Wed, 1 Mar 2017 13:27:25 +0000 (14:27 +0100)]
Alembic: code style

2 years agoAlembic: don't use m_shapes_type
Sybren A. Stüvel [Tue, 28 Feb 2017 15:53:48 +0000 (16:53 +0100)]
Alembic: don't use m_shapes_type

2 years agoAlembic: more lenient check on absence of sheer & homogeneous scaling
Sybren A. Stüvel [Tue, 28 Feb 2017 15:42:25 +0000 (16:42 +0100)]
Alembic: more lenient check on absence of sheer & homogeneous scaling

Checking precise values of floats is not a good idea.

2 years agoAlembic: simplified conditional statements
Sybren A. Stüvel [Thu, 23 Feb 2017 10:25:42 +0000 (11:25 +0100)]
Alembic: simplified conditional statements

2 years agoAlembic import: nicer progress updates
Sybren A. Stüvel [Thu, 23 Feb 2017 15:19:14 +0000 (16:19 +0100)]
Alembic import: nicer progress updates

2 years agoAlembic import: fixed bug where local matrix from Alembic was used as object matrix
Sybren A. Stüvel [Thu, 23 Feb 2017 15:00:06 +0000 (16:00 +0100)]
Alembic import: fixed bug where local matrix from Alembic was used as object matrix

Also renamed AbcObjectReader::readObjectMatrix to
setupObjectTransform, as it does more than just reading the object
matrix; it also sets up an object constraint if the Alembic Xform is

2 years agoAlembic import: separated reading matrix and getting the appropriate Xform object
Sybren A. Stüvel [Thu, 23 Feb 2017 14:58:36 +0000 (15:58 +0100)]
Alembic import: separated reading matrix and getting the appropriate Xform object

Also added a bit better error reporting, instead of silently ignoring
invalid Alembic data.

2 years agoAlembic import: be more lenient towards unknown object types.
Sybren A. Stüvel [Thu, 23 Feb 2017 14:54:46 +0000 (15:54 +0100)]
Alembic import: be more lenient towards unknown object types.

Alembic is an interchange and caching format, that can contain custom
object schemas. Blender shouldn't crash (because of failing asserts) just
because it doesn't know such an object type.

2 years agoAlembic: don't call object.getFullName() multiple times.
Sybren A. Stüvel [Thu, 23 Feb 2017 09:16:37 +0000 (10:16 +0100)]
Alembic: don't call object.getFullName() multiple times.

2 years agoAlembic: Renamed parent_map to reader_map
Sybren A. Stüvel [Thu, 23 Feb 2017 09:12:34 +0000 (10:12 +0100)]
Alembic: Renamed parent_map to reader_map

It's a mapping from full path of an Alembic object to an AbcObjectReader*.
The fact that at some point it is used to construct parent-child relations
doesn't matter.

2 years agoAlembic: use typedefs to make it easier to handle maps/vectors
Sybren A. Stüvel [Tue, 21 Feb 2017 14:02:17 +0000 (15:02 +0100)]
Alembic: use typedefs to make it easier to handle maps/vectors

2 years agoAlembic: more const-ness
Sybren A. Stüvel [Tue, 21 Feb 2017 14:00:27 +0000 (15:00 +0100)]
Alembic: more const-ness

2 years agoAlembic: fixed importer
Sybren A. Stüvel [Wed, 15 Feb 2017 16:29:26 +0000 (17:29 +0100)]
Alembic: fixed importer

The importer was guessing whether an Alembic IXform object was part of a
child object, or should be represented as an Empty in Blender. By reversing
the order in which objects are visited, the children can now claim their
parent as part of the same object (so IPolyMesh claims its parent IXform
as part of the same Blender object). This results in much less guesswork.

I've also removed similar guesswork from the code that sets parent pointers,
by simply searching for the parent in a hierarchical way, instead of trying
to predict (again) which IXforms were turned into empties.

Also, visit_object() now actually visits the object -- previously it only
visited its children, and assumed the object it was called on was already
handled by a previous call.

2 years agoAlembic: prevent a couple of unnecessary multiplications
Sybren A. Stüvel [Wed, 15 Feb 2017 14:22:49 +0000 (15:22 +0100)]
Alembic: prevent a couple of unnecessary multiplications

2 years agoAlembic: be more explicit in y-up versus z-up variables.
Sybren A. Stüvel [Wed, 15 Feb 2017 14:22:21 +0000 (15:22 +0100)]
Alembic: be more explicit in y-up versus z-up variables.

2 years agoAlembic: removed a lot of unnecessary & duplicate code from
Sybren A. Stüvel [Wed, 15 Feb 2017 14:20:23 +0000 (15:20 +0100)]
Alembic: removed a lot of unnecessary & duplicate code from

create_transform_matrix(float[4][4]) did mostly the same as
create_transform_matrix(Object *, float[4][4]), but more elegant.
However, the former has some inconsistencies with the latter (which
are now merged and made explicit, turned out one was for z-up→y-up
while the other was for y-up→z-up), and was renamed to
copy_m44_axis_swap(...) to convey its purpose more clearly.

Furthermore, "loc" has been renamed to "trans", as matrices don't
store locations but translations; and more variables now have a src_
or dst_ prefix to denote whether they contain a matrix/vector in the
source or destination axis orientation.

2 years agoAlembic: added note
Sybren A. Stüvel [Wed, 15 Feb 2017 14:40:33 +0000 (15:40 +0100)]
Alembic: added note

2 years agoAlembic: allow copy_{z,y}up_from_{y,z}up() to be called with yup=zup
Sybren A. Stüvel [Wed, 15 Feb 2017 14:13:24 +0000 (15:13 +0100)]
Alembic: allow copy_{z,y}up_from_{y,z}up() to be called with yup=zup

This allows in-place conversion between z-up and y-up, by passing the
same variable to both arguments.

2 years agoAlembic: import empties under their own name in Alembic, not their parent's
Sybren A. Stüvel [Wed, 15 Feb 2017 14:32:15 +0000 (15:32 +0100)]
Alembic: import empties under their own name in Alembic, not their parent's

Before this commit something strange happened, as the m_data_name of
an inherit data-less object was used.

2 years agoAlembic: Don't compute world matrix when it's not necessary.
Sybren A. Stüvel [Wed, 15 Feb 2017 14:30:34 +0000 (15:30 +0100)]
Alembic: Don't compute world matrix when it's not necessary.

2 years agoAlembic: cleaned up hack in AbcObjectReader::read_matrix()
Sybren A. Stüvel [Wed, 15 Feb 2017 14:29:41 +0000 (15:29 +0100)]
Alembic: cleaned up hack in AbcObjectReader::read_matrix()

2 years agoAlembic: added some clarification
Sybren A. Stüvel [Wed, 15 Feb 2017 14:26:33 +0000 (15:26 +0100)]
Alembic: added some clarification

2 years agoAlembic: added some getter functions to help debug prints etc.
Sybren A. Stüvel [Wed, 15 Feb 2017 14:26:00 +0000 (15:26 +0100)]
Alembic: added some getter functions to help debug prints etc.

2 years agoAlembic: do not presume to predict the parent name
Sybren A. Stüvel [Thu, 6 Apr 2017 13:35:57 +0000 (15:35 +0200)]
Alembic: do not presume to predict the parent name

AbcExporter::createTransformWriter() tries to predict the parent Xform
name, but if it cannot be found has multiple ways of creating it, possibly
under a different name than originally searched for.

2 years agoAlembic: Removed AbcTransformWriter::m_parent
Sybren A. Stüvel [Tue, 14 Feb 2017 16:32:55 +0000 (17:32 +0100)]
Alembic: Removed AbcTransformWriter::m_parent

It was set, but never read anywhere.

2 years agoBuildbot: Correct previous release
Sergey Sharybin [Thu, 6 Apr 2017 09:39:06 +0000 (11:39 +0200)]
Buildbot: Correct previous release

Seems CMake is not happy about changing compiler from script.

2 years agoBuildbot: Force build environment to use latest GCC
Sergey Sharybin [Thu, 6 Apr 2017 09:21:07 +0000 (11:21 +0200)]
Buildbot: Force build environment to use latest GCC

2 years agoCleanup: function naming for manipulator
Campbell Barton [Thu, 6 Apr 2017 02:23:39 +0000 (12:23 +1000)]
Cleanup: function naming for manipulator

Rename 'stats_*' to 'protectflag_to_drawflags_*' (was too vague).
Also remove NULL check from gimbal_axis

2 years agoCleanup: minor changes to transform-manipulator
Campbell Barton [Thu, 6 Apr 2017 02:00:14 +0000 (12:00 +1000)]
Cleanup: minor changes to transform-manipulator

Match stats_editbone & stats_pchan behavior to avoid confusion.

2 years agoFix alembic build error with MSVC
lazydodo [Wed, 5 Apr 2017 16:59:29 +0000 (10:59 -0600)]
Fix alembic build error with MSVC

2 years agoDepsghraph: Remove unused function
Sergey Sharybin [Wed, 5 Apr 2017 13:36:17 +0000 (15:36 +0200)]
Depsghraph: Remove unused function

2 years agoCycles: Fix race condition in attributes creation during SVM compilation
Sergey Sharybin [Wed, 5 Apr 2017 12:57:54 +0000 (14:57 +0200)]
Cycles: Fix race condition in attributes creation during SVM compilation

2 years agoCycles: Add utility class to simplify scoped spin locks
Sergey Sharybin [Wed, 5 Apr 2017 12:57:34 +0000 (14:57 +0200)]
Cycles: Add utility class to simplify scoped spin locks

2 years agoCycles: Guard global write access in SVM compilation code
Sergey Sharybin [Wed, 5 Apr 2017 12:21:49 +0000 (14:21 +0200)]
Cycles: Guard global write access in SVM compilation code

2 years agoLocales: Some optimization work
Sergey Sharybin [Wed, 5 Apr 2017 09:25:58 +0000 (11:25 +0200)]
Locales: Some optimization work

Mainly visible for MSVC debug builds and gives about 2x speedup.

2 years agoInstallDeps: Raise minimal & official version of OIIO to 1.7.13.
Bastien Montagne [Wed, 5 Apr 2017 07:26:41 +0000 (09:26 +0200)]
InstallDeps: Raise minimal & official version of OIIO to 1.7.13.

As requested by @sergey.

2 years agoAlembic: addition of a simple logging class.
Kévin Dietrich [Wed, 5 Apr 2017 02:56:38 +0000 (04:56 +0200)]
Alembic: addition of a simple logging class.

The idea is to have a system where we properly log error messages and
let the users know that errors occured redirecting them to the console
for explanations. This is only implemented for the exporter since the
importer already has similar functionalities; however they shall
ultimately be unified in some way.

Reviewers: sybren, dfelinto

Differential Revision:

2 years agoCleanup: redundant casts
Campbell Barton [Tue, 4 Apr 2017 14:55:51 +0000 (00:55 +1000)]
Cleanup: redundant casts

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 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

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

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 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 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 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

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