3 years agoCycles: Cleanup, split 2D interpolation function
Sergey Sharybin [Thu, 7 Dec 2017 16:45:37 +0000 (17:45 +0100)]
Cycles: Cleanup, split 2D interpolation function

3 years agobl_app_override: support empty UI layout items
Campbell Barton [Fri, 8 Dec 2017 01:48:12 +0000 (12:48 +1100)]
bl_app_override: support empty UI layout items

Returning None from ui_ignore functions creates empty labels,
allows removing items without breaking layout in some cases.

3 years agoFix Collada building
Dalai Felinto [Thu, 7 Dec 2017 13:44:05 +0000 (11:44 -0200)]
Fix Collada building

Bug introduced in cc811d1fd634.

3 years agoFix T53419: Masking "Add" menu is not present in Image editor, but shortcut is
Sebastian Koenig [Thu, 7 Dec 2017 13:44:10 +0000 (14:44 +0100)]
Fix T53419: Masking "Add" menu is not present in Image editor, but shortcut is

3 years agoDPX/Cineon: Report orientation when running with --debug
Sergey Sharybin [Thu, 7 Dec 2017 13:37:59 +0000 (14:37 +0100)]
DPX/Cineon: Report orientation when running with --debug

3 years agoCMake: GREATER_EQUAL is from v3.7, use GREATER
Campbell Barton [Thu, 7 Dec 2017 13:19:35 +0000 (00:19 +1100)]
CMake: GREATER_EQUAL is from v3.7, use GREATER

3 years agoFix T53499: Cannot load DPX files
Sergey Sharybin [Thu, 7 Dec 2017 13:07:57 +0000 (14:07 +0100)]
Fix T53499: Cannot load DPX files

The issue was caused by unspecified color transfer. New behavior gives same
result as other viewers here, so likely is fine :)

3 years agoDPX: Fix wrong flag being checked for debug
Sergey Sharybin [Thu, 7 Dec 2017 13:04:12 +0000 (14:04 +0100)]
DPX: Fix wrong flag being checked for debug

3 years agoCleanup: Use BKE_colorband prefix
Campbell Barton [Thu, 7 Dec 2017 04:52:59 +0000 (15:52 +1100)]
Cleanup: Use BKE_colorband prefix

3 years agoCleanup: extract BKE_colorband from BKE_texture
Campbell Barton [Thu, 7 Dec 2017 04:36:26 +0000 (15:36 +1100)]
Cleanup: extract BKE_colorband from BKE_texture

3 years agoArray Modifier: option to offset UV's
Campbell Barton [Wed, 6 Dec 2017 17:33:52 +0000 (04:33 +1100)]
Array Modifier: option to offset UV's

D2912 by @Zuorion

3 years agoProposed fix for T53263 -- Blender crashes when rendering with Stabilizer 2D node...
Daniel Silva [Wed, 6 Dec 2017 13:53:21 +0000 (14:53 +0100)]
Proposed fix for T53263 -- Blender crashes when rendering with Stabilizer 2D node without movie selected

The program won't crash anymore, but a warning won't be displayed. Anyway, this gives the user the chance to save the project.

Reviewers: lukastoenne

Differential Revision:

3 years agoLibrary: Add flag top keep ID library pointer around
Sergey Sharybin [Wed, 6 Dec 2017 11:59:00 +0000 (12:59 +0100)]
Library: Add flag top keep ID library pointer around

This only applies to ID being copied outside of bmain. Handy for cases when it
is important to check if the copy corresponds to a data block coming from

Example of that is proxy evaluation with copy on write.

Thanks Bastien for review!

3 years agoDepsgraph: Cleanup, use less geenric data type
Sergey Sharybin [Wed, 6 Dec 2017 11:26:10 +0000 (12:26 +0100)]
Depsgraph: Cleanup, use less geenric data type

3 years agoDepsgraph: Forgot this in previous commit
Sergey Sharybin [Wed, 6 Dec 2017 10:57:57 +0000 (11:57 +0100)]
Depsgraph: Forgot this in previous commit

3 years agoDepsgraph: Ignore text datablocks from nodes
Sergey Sharybin [Wed, 6 Dec 2017 10:54:52 +0000 (11:54 +0100)]
Depsgraph: Ignore text datablocks from nodes

Those are not part of dependency graph, but still could be referenced from
the tree.

3 years agoDepsgraph: Add missing bone properties to proxy rigs
Sergey Sharybin [Tue, 5 Dec 2017 16:34:11 +0000 (17:34 +0100)]
Depsgraph: Add missing bone properties to proxy rigs

3 years agoDepsgraph: Add missing NULL pointer check
Sergey Sharybin [Tue, 5 Dec 2017 16:14:17 +0000 (17:14 +0100)]
Depsgraph: Add missing NULL pointer check

3 years agoDepsgraph: Cleanup, remove unused function
Sergey Sharybin [Tue, 5 Dec 2017 15:51:21 +0000 (16:51 +0100)]
Depsgraph: Cleanup, remove unused function

3 years agoDepsgraph: Remove workaround of parameters animation in node tree
Sergey Sharybin [Tue, 5 Dec 2017 15:47:20 +0000 (16:47 +0100)]
Depsgraph: Remove workaround of parameters animation in node tree

3 years agoDepsgraph: Remove workaround of parameters animation in lamp
Sergey Sharybin [Tue, 5 Dec 2017 15:43:27 +0000 (16:43 +0100)]
Depsgraph: Remove workaround of parameters animation in lamp

3 years agoDepsgraph: Remove workaround of parameters animation in camera
Sergey Sharybin [Tue, 5 Dec 2017 15:35:58 +0000 (16:35 +0100)]
Depsgraph: Remove workaround of parameters animation in camera

This is something what should be done by build_animation().

3 years agoDepsgraph: Remove workaround for animated geometry component
Sergey Sharybin [Tue, 5 Dec 2017 15:21:28 +0000 (16:21 +0100)]
Depsgraph: Remove workaround for animated geometry component

3 years agoDepsgraph: Remove workaround for animated modifiers
Sergey Sharybin [Tue, 5 Dec 2017 15:19:00 +0000 (16:19 +0100)]
Depsgraph: Remove workaround for animated modifiers

3 years agoDepsgraph: Leave armature animation relation to build_animation()
Sergey Sharybin [Tue, 5 Dec 2017 15:09:03 +0000 (16:09 +0100)]
Depsgraph: Leave armature animation relation to build_animation()

Needs some optimization trick to hook pose init function to animation
instead of a bone. This is how flush will work anyway.

3 years agoDepsgraph: Use default argument value for relations builder
Sergey Sharybin [Tue, 5 Dec 2017 14:59:48 +0000 (15:59 +0100)]
Depsgraph: Use default argument value for relations builder

Follows other function definitions.

3 years agoDepsgraph: Cleanup, line wrapping
Sergey Sharybin [Tue, 5 Dec 2017 12:02:36 +0000 (13:02 +0100)]
Depsgraph: Cleanup, line wrapping

3 years agoDepsgraph: Use build_animation() to build relations to animated properties
Sergey Sharybin [Tue, 5 Dec 2017 11:57:01 +0000 (12:57 +0100)]
Depsgraph: Use build_animation() to build relations to animated properties

Before that it was up to lots of other places to keep track on whether
something is to be dependent on time or not. Was annoying, and unreliable,
and fragile.

This commit avoids hacks in object builder. Other areas will be adopted

3 years agoDepsgraph: Add ability to check whether relation exists before adding it
Sergey Sharybin [Tue, 5 Dec 2017 11:52:17 +0000 (12:52 +0100)]
Depsgraph: Add ability to check whether relation exists before adding it

Currently not used, but this is aimed to be used when adding relations from
FCurve to property which is being animated.

3 years agoDepsgraph: Cleanup, line wrapping
Sergey Sharybin [Tue, 5 Dec 2017 10:37:27 +0000 (11:37 +0100)]
Depsgraph: Cleanup, line wrapping

3 years agoDepsgraph: Move implementation part of relations header to own file
Sergey Sharybin [Tue, 5 Dec 2017 10:35:28 +0000 (11:35 +0100)]
Depsgraph: Move implementation part of relations header to own file

3 years agoFix T53408: Updating Cycles Nodes via Drivers in Material View
Sergey Sharybin [Tue, 5 Dec 2017 09:14:12 +0000 (10:14 +0100)]
Fix T53408: Updating Cycles Nodes via Drivers in Material View

This is something what should be supported by the new dependency graph.

Fixed by making it so, build_animation() adds relation between Animation
component and whatever-is-being-animated. In fact, for now, only relations to
ID properties are added. Rest of the relations are kind of hacked in all over
the code and needs to be removed and verified with specific .blend files.

3 years agoDepsgraph: Cleanup, split build_animation
Sergey Sharybin [Mon, 4 Dec 2017 17:34:27 +0000 (18:34 +0100)]
Depsgraph: Cleanup, split build_animation

3 years agoDepsgraph: Correct fallback for the parameters calculation
Sergey Sharybin [Mon, 4 Dec 2017 17:24:38 +0000 (18:24 +0100)]
Depsgraph: Correct fallback for the parameters calculation

We can't use a single component here, sine it might consist of multiple
operations. So, for example, having driver operation will confuse targets
of another driver.

3 years agoDepsgraph: Cleanup, split driver builder function
Sergey Sharybin [Mon, 4 Dec 2017 17:11:43 +0000 (18:11 +0100)]
Depsgraph: Cleanup, split driver builder function

3 years agoDepsgraph: Cleanup, deduplicate as much as possible in build_driver
Sergey Sharybin [Mon, 4 Dec 2017 17:08:29 +0000 (18:08 +0100)]
Depsgraph: Cleanup, deduplicate as much as possible in build_driver

3 years agoDepsgraph: Remove old comments which are likely outdated
Sergey Sharybin [Mon, 4 Dec 2017 17:06:52 +0000 (18:06 +0100)]
Depsgraph: Remove old comments which are likely outdated

3 years agoDepsgraph: Replace last obvious part of driver builder with generic RNA code
Sergey Sharybin [Mon, 4 Dec 2017 17:06:13 +0000 (18:06 +0100)]
Depsgraph: Replace last obvious part of driver builder with generic RNA code

3 years agoDepsgraph: Add criteria for RNA_Key
Sergey Sharybin [Mon, 4 Dec 2017 17:06:02 +0000 (18:06 +0100)]
Depsgraph: Add criteria for RNA_Key

3 years agoDepsgraph: Remove confusing ID node criteria
Sergey Sharybin [Mon, 4 Dec 2017 17:00:24 +0000 (18:00 +0100)]
Depsgraph: Remove confusing ID node criteria

it sometimes overrides all possible other criteria, even tho we might want to
be very specific about what component we are looking for here.

3 years agoDepsgraph: Use generic function for shape key driver target
Sergey Sharybin [Mon, 4 Dec 2017 16:39:58 +0000 (17:39 +0100)]
Depsgraph: Use generic function for shape key driver target

There was a second place for shape keys.

3 years agoDepsgraph: Fix wrong relations built for drivers
Sergey Sharybin [Mon, 4 Dec 2017 16:37:21 +0000 (17:37 +0100)]
Depsgraph: Fix wrong relations built for drivers

When target was changed from bone to regular object, new dependency graph was
still trying to build relations as if driver was using bone.

3 years agoDepsgraph: Use generic function for shape key driver target
Sergey Sharybin [Mon, 4 Dec 2017 13:08:53 +0000 (14:08 +0100)]
Depsgraph: Use generic function for shape key driver target

3 years agoDepsgraph: Use generic function for modifiers driver target
Sergey Sharybin [Mon, 4 Dec 2017 12:59:17 +0000 (13:59 +0100)]
Depsgraph: Use generic function for modifiers driver target

3 years agoDepsgraph: Use existing utility function to get driver target node
Sergey Sharybin [Mon, 4 Dec 2017 12:49:13 +0000 (13:49 +0100)]
Depsgraph: Use existing utility function to get driver target node

Only done for pose bone for now, but the idea is to go case bu case in
build_driver and move all custom logic from there to find_node_from_pointer().

3 years agoDepsgraph: Cleanup, split build_driver function up
Sergey Sharybin [Mon, 4 Dec 2017 16:01:02 +0000 (17:01 +0100)]
Depsgraph: Cleanup, split build_driver function up

3 years agoDepsgraph: Don't see reason to have special case for bone's RNA path
Sergey Sharybin [Mon, 4 Dec 2017 15:58:02 +0000 (16:58 +0100)]
Depsgraph: Don't see reason to have special case for bone's RNA path

3 years agoDepsgraph: SImplify chjecks in directly address bone
Sergey Sharybin [Mon, 4 Dec 2017 15:51:29 +0000 (16:51 +0100)]
Depsgraph: SImplify chjecks in directly address bone

3 years agoDepsgraph: begin use of RNAPathKey instead of re-implemented checks in driver variables
Sergey Sharybin [Mon, 4 Dec 2017 15:44:07 +0000 (16:44 +0100)]
Depsgraph: begin use of RNAPathKey instead of re-implemented checks in driver variables

3 years agoDepsgraph: Cleanup, don't use static qualifier inside of anonymous namespace
Sergey Sharybin [Mon, 4 Dec 2017 15:27:32 +0000 (16:27 +0100)]
Depsgraph: Cleanup, don't use static qualifier inside of anonymous namespace

3 years agoAdd utility function to compare PointerRNA with NULL
Sergey Sharybin [Mon, 4 Dec 2017 15:23:14 +0000 (16:23 +0100)]
Add utility function to compare PointerRNA with NULL

Thanks Campbell for review!

3 years agoDepsgraph: Correct RNA pointer criteria to deal with bone custom properties
Sergey Sharybin [Mon, 4 Dec 2017 15:02:09 +0000 (16:02 +0100)]
Depsgraph: Correct RNA pointer criteria to deal with bone custom properties

3 years agoFix T53441: Inset doesn't start at zero
Campbell Barton [Wed, 6 Dec 2017 05:45:51 +0000 (16:45 +1100)]
Fix T53441: Inset doesn't start at zero

3 years agoCleanup: line length
Campbell Barton [Wed, 6 Dec 2017 05:42:34 +0000 (16:42 +1100)]
Cleanup: line length

3 years agoCMake: remove git found message
Campbell Barton [Wed, 6 Dec 2017 05:37:50 +0000 (16:37 +1100)]
CMake: remove git found message

3 years agoCycles: Fix constness for load_kernels in device_cpu.cpp
Lukas Stockner [Tue, 5 Dec 2017 23:00:18 +0000 (00:00 +0100)]
Cycles: Fix constness for load_kernels in device_cpu.cpp

3 years agoFix T53476: File Browser: Selection Issue with 'fill' option.
Bastien Montagne [Tue, 5 Dec 2017 21:34:49 +0000 (22:34 +0100)]
Fix T53476: File Browser: Selection Issue with 'fill' option.

Fill-selection would only go upward in list of items to find an already
selected one and fill-select all items in-between. Now, in case upward
search fails, it will also intent to go downward, effectiviely allowing
to 'fill-select' from bottom to top.

Note that top-to-bottom keeps priority (i.e. if a top-to-bottom
fill-selection is possible, it will always happen, even if a
bottom-to-top one is also possible).

3 years agoFix T53430: Cut at the strip end fails w/ endstill
Campbell Barton [Tue, 5 Dec 2017 17:52:38 +0000 (04:52 +1100)]
Fix T53430: Cut at the strip end fails w/ endstill

3 years agoCMake: avoid checking each MSVC minor revision
Campbell Barton [Tue, 5 Dec 2017 16:38:44 +0000 (03:38 +1100)]
CMake: avoid checking each MSVC minor revision

3 years agoFix MSVS2017 compiler version
Antonioya [Tue, 5 Dec 2017 16:15:30 +0000 (17:15 +0100)]
Fix MSVS2017 compiler version

After last update to Visual Studio 2017 15.5.0 the compiler version changed

3 years agoTypes are to have explicit forward declaration
Sergey Sharybin [Tue, 5 Dec 2017 15:54:39 +0000 (16:54 +0100)]
Types are to have explicit forward declaration

3 years agoFix T53469: Make sure that edges are drawn in the backbuff whenever you are looking...
Germano [Tue, 5 Dec 2017 13:13:53 +0000 (11:13 -0200)]
Fix T53469: Make sure that edges are drawn in the backbuff whenever you are looking for the nearest edge

Caused by rB9f5bf19

3 years agoFix for typo in previous commit
Joshua Leung [Tue, 5 Dec 2017 12:14:20 +0000 (01:14 +1300)]
Fix for typo in previous commit

3 years agoSimplify UI-names for B-Bone Ease In/Out settings
Joshua Leung [Tue, 5 Dec 2017 11:58:10 +0000 (00:58 +1300)]
Simplify UI-names for B-Bone Ease In/Out settings

For more consistency with the other settings, and increased readability
when the UI is cramped (and it isn't possible to see the whole names).

3 years agoVersion patching fixes for F-Curves (as required for fixes for T48988 and T52009)
Joshua Leung [Tue, 5 Dec 2017 11:54:39 +0000 (00:54 +1300)]
Version patching fixes for F-Curves (as required for fixes for T48988 and T52009)

* For the T48988 fix (i.e. separate Ease In/Out properties for Bendy Bones
  in Edit vs Pose modes), old animation data needed to be patched to use
  the new property names. This is needed to partially fix some of the
  issues in T53356 (though the Rigify code itself still needs to be patched).

* For the T52009 fix, old files needed to have the frame_start and frame_end
  properties on the FModifier (base-class) updated to match that of the
  FMod_Stepped type-specific class. This wasn't done in the earlier commit
  since it wasn't worth going through all animation data just for the sake
  of updating these relatively-rare settings, but since we're doing it anyway
  now, it makes sense to include this here.

3 years agoAdded BKE_fcurves_main_cb(), a wrapper around BKE_animdata_main_cb to make it easier...
Joshua Leung [Tue, 5 Dec 2017 04:16:05 +0000 (17:16 +1300)]
Added BKE_fcurves_main_cb(), a wrapper around BKE_animdata_main_cb to make it easier to apply fixes to all F-Curves in a file

3 years agoCleanup/Style Tweaks to fit rest of code
Joshua Leung [Tue, 5 Dec 2017 04:14:55 +0000 (17:14 +1300)]
Cleanup/Style Tweaks to fit rest of code

3 years agoFix T53463: Rotation numerical input shows instable behaviour.
Bastien Montagne [Mon, 4 Dec 2017 17:40:33 +0000 (18:40 +0100)]
Fix T53463: Rotation numerical input shows instable behaviour.

Inverting a number in radians when user is in degrees gives rather
unexpected results. ;)

3 years agoDepsgraph: Cleanup, indentation
Sergey Sharybin [Mon, 4 Dec 2017 14:50:06 +0000 (15:50 +0100)]
Depsgraph: Cleanup, indentation

3 years agoBetter bevel profile at extreme values of profile.
Howard Trickey [Mon, 4 Dec 2017 14:30:40 +0000 (09:30 -0500)]
Better bevel profile at extreme values of profile.

Patch from Richard Erhardt, with some additions & modifications.
Changes bevel profile shape parameter so that can get arbitrarily
near square profile as parameter -> 1.
Adds code to make profile=0 case work, at least for cube corners,
so changed hard min of profile parameter to 0 from 0.15.

3 years agoRNA: Use const qualifier for an utility function
Sergey Sharybin [Mon, 4 Dec 2017 14:26:43 +0000 (15:26 +0100)]
RNA: Use const qualifier for an utility function

3 years agoDepsgraph: Add parameters nodes for bone custom properties
Sergey Sharybin [Mon, 4 Dec 2017 13:50:14 +0000 (14:50 +0100)]
Depsgraph: Add parameters nodes for bone custom properties

Currently shouldn't make any difference, but this is something what needs to be
done to sanitize drivers relations )with the idea to re-use some generic code
to get operations for driver variables.

3 years agoEdit Mesh Selection: Draw the backbuff of edge selection only when requested
Germano [Mon, 4 Dec 2017 14:05:06 +0000 (12:05 -0200)]
Edit Mesh Selection: Draw the backbuff of edge selection only when requested

And make sure the width is 1

3 years agoDepsgraph: Cleanup, move RNA key constructor to it's file
Sergey Sharybin [Mon, 4 Dec 2017 11:59:44 +0000 (12:59 +0100)]
Depsgraph: Cleanup, move RNA key constructor to it's file

3 years agoDepsgraph: Cleanup, don't use bracers in relations names
Sergey Sharybin [Mon, 4 Dec 2017 11:48:16 +0000 (12:48 +0100)]
Depsgraph: Cleanup, don't use bracers in relations names

Those don't bring any information.

3 years agoDepsgraph: Cleanup, node from RNA pointer search
Sergey Sharybin [Mon, 4 Dec 2017 11:45:42 +0000 (12:45 +0100)]
Depsgraph: Cleanup, node from RNA pointer search

3 years agoDepsgraph: Remove unused property based update tags
Sergey Sharybin [Mon, 4 Dec 2017 11:34:25 +0000 (12:34 +0100)]
Depsgraph: Remove unused property based update tags

Those are unused, and not clear whether we will ever support this.

Seems to be better having more like "component" tags, would be less magic
involved to guess what exactly is to be tagged.

3 years agoCleanup: link/append: get rid of booleans in func parameters.
Bastien Montagne [Mon, 4 Dec 2017 12:09:13 +0000 (13:09 +0100)]
Cleanup: link/append: get rid of booleans in func parameters.

One or two are OK, but more make it rather unreadable, and future work
is likely to require more toggle specific behavior here. So switched to
bitflags, switching from short to int and using 16 upper bits for
'internal' ones defined in BLO_readfile.h, combined with 'public' ones
from user interaction, defined in DNA_space_types.h

3 years agoCleanup: wrap long function args in seqeffects
Campbell Barton [Mon, 4 Dec 2017 05:49:30 +0000 (16:49 +1100)]
Cleanup: wrap long function args in seqeffects

3 years agoCleanup: style
Campbell Barton [Mon, 4 Dec 2017 05:37:31 +0000 (16:37 +1100)]
Cleanup: style

3 years agoBLI_ghash: Description of GHash, GSet
Campbell Barton [Sat, 2 Dec 2017 16:35:45 +0000 (03:35 +1100)]
BLI_ghash: Description of GHash, GSet

Also some re-indenting.

3 years agoFix Cycles standalone crash when saving output, after recent refactoring.
Brecht Van Lommel [Sat, 2 Dec 2017 04:44:32 +0000 (05:44 +0100)]
Fix Cycles standalone crash when saving output, after recent refactoring.

3 years agoRemoving OMP: legacy ccgsubsurf.
Bastien Montagne [Thu, 30 Nov 2017 14:55:15 +0000 (15:55 +0100)]
Removing OMP: legacy ccgsubsurf.

Performances gain is rather low this time, about 5% on average (in whole
affected functions).

3 years agoTransform: Use single flag with more meaningful name to prevent snapping to a depende...
Sergey Sharybin [Thu, 30 Nov 2017 14:03:48 +0000 (15:03 +0100)]
Transform: Use single flag with more meaningful name to prevent snapping to a dependent object

The idea of this flag was to prevent snapping onto an object which depends on
currently modifying ones. Using single flag makes more sense here, and also
makes it possible to replace some ob->recalc based magic with depsgraph query
to set those flags.

3 years agoTransform: Remove some legacy code about snapping in particle edit mode
Sergey Sharybin [Thu, 30 Nov 2017 13:52:34 +0000 (14:52 +0100)]
Transform: Remove some legacy code about snapping in particle edit mode

It looks stupid to first force some flag being set and then have workaround
to ignore that flag in snapping code. Let's just not set the flag in the first

The only useful situation where such snapping was usable is to move roots of
disconnected hair, which still works just fine. However, there might be some
other hidden corner case where this workaround was needed.

3 years agoDepsgraph: More full explanation for previous commit
Sergey Sharybin [Thu, 30 Nov 2017 10:57:21 +0000 (11:57 +0100)]
Depsgraph: More full explanation for previous commit

3 years agoDepsgraph: Fix DEG_id_type_tag comment
Dalai Felinto [Thu, 30 Nov 2017 10:53:11 +0000 (08:53 -0200)]
Depsgraph: Fix DEG_id_type_tag comment

3 years agoHaiku OS Support
Campbell Barton [Thu, 30 Nov 2017 06:56:01 +0000 (17:56 +1100)]
Haiku OS Support

D2860 by @miqlas

Even though Haiku is a niche OS, only minor changes are needed.

3 years agoCycles: Improve denoising speed on GPUs with small tile sizes
Lukas Stockner [Fri, 10 Nov 2017 03:34:14 +0000 (04:34 +0100)]
Cycles: Improve denoising speed on GPUs with small tile sizes

Previously, the NLM kernels would be launched once per offset with one thread per pixel.
However, with the smaller tile sizes that are now feasible, there wasn't enough work to fully occupy GPUs which results in a significant slowdown.

Therefore, the kernels are now launched in a single call that handles all offsets at once.
This has two downsides: Memory accesses to accumulating buffers are now atomic, and more importantly, the temporary memory now has to be allocated for every shift at once, increasing the required memory.
On the other hand, of course, the smaller tiles significantly reduce the size of the memory.

The main bottleneck right now is the construction of the transformation - there is nothing to be parallelized there, one thread per pixel is the maximum.
I tried to parallelize the SVD implementation by storing the matrix in shared memory and launching one block per pixel, but that wasn't really going anywhere.

To make the new code somewhat readable, the handling of rectangular regions was cleaned up a bit and commented, it should be easier to understand what's going on now.
Also, some variables have been renamed to make the difference between buffer width and stride more apparent, in addition to some general style cleanup.

3 years agoFix T53410: 3D Text always recalculated
Campbell Barton [Thu, 30 Nov 2017 06:08:37 +0000 (17:08 +1100)]
Fix T53410: 3D Text always recalculated

3 years agoSelect similar for bones by group index
Campbell Barton [Thu, 30 Nov 2017 03:33:58 +0000 (14:33 +1100)]
Select similar for bones by group index

D2931 by @col-one

3 years agoFix T53420: Vertex Groups: The "-" button gets a hidden function
Bastien Montagne [Wed, 29 Nov 2017 19:19:07 +0000 (20:19 +0100)]
Fix T53420: Vertex Groups: The "-" button gets a hidden function

Guess 'remove all unlocked' is new-ish feature...

To be backported to 2.79a (I think).

3 years agoFix T53116: default texture coordinates for volume materials are blank.
José Luis Oliveira Cunha [Wed, 29 Nov 2017 18:18:04 +0000 (19:18 +0100)]
Fix T53116: default texture coordinates for volume materials are blank.

Differential Revision:

3 years agoCycles: add object level holdout property.
Brecht Van Lommel [Sat, 18 Nov 2017 05:06:27 +0000 (06:06 +0100)]
Cycles: add object level holdout property.

This works the same as the holdout shader and Z mask layer. Combined with
overrides in 2.8 this is intended to replace the Z mask layer bits.

3 years agoCycles: improve triangle intersection performance.
Maxym Dmytrychenko [Wed, 29 Nov 2017 01:02:17 +0000 (02:02 +0100)]
Cycles: improve triangle intersection performance.

Reduces render time by about 1-2% in benchmark scenes.

Differential Revision:

3 years agoSequencer: add many more color blend modes, and a new color mix strip.
Maikon Araujo [Mon, 27 Nov 2017 22:33:08 +0000 (23:33 +0100)]
Sequencer: add many more color blend modes, and a new color mix strip.

Differential Revision:

3 years agoFix paint float color blending bugs with alpha 1.0 and vivid light.
Brecht Van Lommel [Wed, 29 Nov 2017 01:13:37 +0000 (02:13 +0100)]
Fix paint float color blending bugs with alpha 1.0 and vivid light.

For some blend modes there would be no effect with factor 1.0, even if factor
0.999 would give a very different image. Now the result should have no

Differential Revision:

3 years agoDepsgraph: Cleanup, use explicit NULL pointer checks
Sergey Sharybin [Wed, 29 Nov 2017 16:55:28 +0000 (17:55 +0100)]
Depsgraph: Cleanup, use explicit NULL pointer checks

3 years agoCleanup: De-duplicate code in object update routines
Sergey Sharybin [Wed, 29 Nov 2017 15:26:16 +0000 (16:26 +0100)]
Cleanup: De-duplicate code in object update routines

3 years agoCleanup: Split depsgraph uber transform function callback
Sergey Sharybin [Wed, 29 Nov 2017 15:22:59 +0000 (16:22 +0100)]
Cleanup: Split depsgraph uber transform function callback