4 years agoFix T48550: Imperfections when Bake displacement map to plane if camera is not in...
Sergey Sharybin [Mon, 6 Jun 2016 11:53:36 +0000 (13:53 +0200)]
Fix T48550: Imperfections when Bake displacement map to plane if camera is not in front

The issue was caused by non-watertight nature of intersection, which is now addressed.

Hopefully it doesn't cause any regression caused by uninitialized precalculated storage.

4 years agoCycles: Fix compilation error on OSX
Sergey Sharybin [Mon, 6 Jun 2016 11:52:57 +0000 (13:52 +0200)]
Cycles: Fix compilation error on OSX

4 years agoDepsgraph: Russian electric tape bodge to have multiple proxies work
Sergey Sharybin [Mon, 6 Jun 2016 10:08:06 +0000 (12:08 +0200)]
Depsgraph: Russian electric tape bodge to have multiple proxies work

Makes behavior of proxy_from backlink working similar to the old dependency graph.

it's nasty, but needed here in the studio to get proxies fixes ASAP.

4 years agoreadfile: add assert to check libmap isn't sorted
Campbell Barton [Mon, 6 Jun 2016 09:09:46 +0000 (19:09 +1000)]
readfile: add assert to check libmap isn't sorted

4 years agoreadfile: minor optimization, no need to count flags
Campbell Barton [Mon, 6 Jun 2016 09:03:09 +0000 (19:03 +1000)]
readfile: minor optimization, no need to count flags

in this case we only need to check if any id's need to be read.

4 years agoCleanup: use const for old member in OldNew struct
Campbell Barton [Mon, 6 Jun 2016 08:03:45 +0000 (18:03 +1000)]
Cleanup: use const for old member in OldNew struct

4 years agoCleanup: rename flag -> tag
Campbell Barton [Mon, 6 Jun 2016 07:55:22 +0000 (17:55 +1000)]
Cleanup: rename flag -> tag

ID's have a flag member too, best avoid confusion here.

4 years agoCycles: Ignore zero size instances in BVH
Sergey Sharybin [Mon, 6 Jun 2016 07:15:34 +0000 (09:15 +0200)]
Cycles: Ignore zero size instances in BVH

In certain types of animation it's possible to have some objects
scaling to zero. In this case we can save render times by avoid
traversing such instances.

Better to do ti ahead of a time, so traversal stays simple.

Reviewers: lukasstockner97, dingto, brecht

Reviewed By: brecht

Differential Revision:

4 years agoCycles: Add support of processor groups
Sergey Sharybin [Fri, 3 Jun 2016 23:29:13 +0000 (01:29 +0200)]
Cycles: Add support of processor groups

Currently for windows only, this is an initial commit towards native
support of NUMA.

Current commit makes it so Cycles will use all logical processors on
Windows running on system with more than 64 threads.

Reviewers: juicyfruit, dingto, lukasstockner97, maiself, brecht

Subscribers: LazyDodo

Differential Revision:

4 years agoRNA: disable animating object dimensions
Campbell Barton [Mon, 6 Jun 2016 02:54:55 +0000 (12:54 +1000)]
RNA: disable animating object dimensions

4 years agoFix T48579: RNA shadows new custom properties
Campbell Barton [Mon, 6 Jun 2016 02:19:58 +0000 (12:19 +1000)]
Fix T48579: RNA shadows new custom properties

4 years agoFix T48580: path / branched path UI grayed out with OpenCL device that is not used.
Brecht Van Lommel [Sat, 4 Jun 2016 21:20:43 +0000 (23:20 +0200)]
Fix T48580: path / branched path UI grayed out with OpenCL device that is not used.

4 years agoFix T48587, constant fold should only be done for Mix Type.
Thomas Dinges [Sat, 4 Jun 2016 19:39:07 +0000 (21:39 +0200)]
Fix T48587, constant fold should only be done for Mix Type.

4 years agobuildbot work around cuda / msvc compatibility issues attempt 2/ passing a string...
Martijn Berger [Sat, 4 Jun 2016 15:41:11 +0000 (17:41 +0200)]
buildbot work around cuda / msvc compatibility issues attempt 2/ passing a string from python to cmake to nvcc is harder then it looks

4 years agobuildbot work around cuda / msvc compatibility issues
Martijn Berger [Sat, 4 Jun 2016 10:36:21 +0000 (12:36 +0200)]
buildbot work around cuda / msvc compatibility issues

4 years agoCMake, minor changes to make Visual studio 2015 use a compatible numpy and
Martijn Berger [Sat, 4 Jun 2016 09:42:48 +0000 (11:42 +0200)]
CMake, minor changes to make Visual studio 2015 use a compatible numpy and
the standard cmake CUDA/NVCC arguments flag allowing 2015 build to use
msvc 2013 for cuda

4 years agoCleanup: avoid temp string edit
Campbell Barton [Sat, 4 Jun 2016 00:51:34 +0000 (10:51 +1000)]
Cleanup: avoid temp string edit

4 years agochanged use_connect from bool to a 3 state value (-1,0,1)
Gaia Clary [Fri, 3 Jun 2016 16:26:12 +0000 (18:26 +0200)]
changed use_connect from bool to a 3 state value (-1,0,1)

4 years agofix T48389 (wip) added warning for loops that define holes (polygons with holes not...
Gaia Clary [Fri, 3 Jun 2016 16:22:56 +0000 (18:22 +0200)]
fix T48389 (wip) added warning for loops that define holes (polygons with holes not supported)

4 years agoWorkaround MSVC error
Campbell Barton [Fri, 3 Jun 2016 15:00:40 +0000 (01:00 +1000)]
Workaround MSVC error

4 years agoFix T48234: Glitch w/ action constraints sharing an action
Campbell Barton [Fri, 3 Jun 2016 14:54:28 +0000 (00:54 +1000)]
Fix T48234: Glitch w/ action constraints sharing an action

FCurve evaluation depended on FCurve.curval, which isn't threadsafe.
Now only use this value for debug display,
and pass the value instead of storing in the FCurve for all but debug-display.

4 years agoFix Playercompile
Jens Verwiebe [Fri, 3 Jun 2016 10:03:53 +0000 (12:03 +0200)]
Fix Playercompile

4 years agoCycles: Mark which CUDA device is used for display
Sergey Sharybin [Fri, 3 Jun 2016 09:52:08 +0000 (11:52 +0200)]
Cycles: Mark which CUDA device is used for display

It is really handy to know which one is display when having two cards of
same type in the machine.

4 years agoMake playback invoked form animation editors more usable
Sergey Sharybin [Fri, 3 Jun 2016 09:46:57 +0000 (11:46 +0200)]
Make playback invoked form animation editors more usable

This covers the following workflow. Animator will disable Update All 3D views
in order to get quick playback in a particular 3D editor. However, it also
handy to see playback in all editors and image editors to see comparison of
animation and reference footage.

So the idea here is to refresh reasonable editors when playback is invoked
from animation editors.

Commit to make Hjalti happy.

4 years agoCycles: Simplify check for degenerated faces on GPU
Sergey Sharybin [Fri, 3 Jun 2016 08:34:21 +0000 (10:34 +0200)]
Cycles: Simplify check for degenerated faces on GPU

Still not sure how to properly solve the issue, needs some trickery to get
actual optimized values from intersection function (using printf() avoids
some optimization and makes stuff render correct).

For the time being let's just simplify check.

4 years agoCleanup & simplify snapping functions
Germano Cavalcante [Fri, 3 Jun 2016 06:54:58 +0000 (16:54 +1000)]
Cleanup & simplify snapping functions

- the name of the enumerator `SNAP_NOT_OBEDIT` was changed to `SNAP_NOT_ACTIVE`.
- the parameter `snap_to_flag` was moved to outside `SnapObjectParams`.
- the member `use_object_edit` was renamed to `use_object_edit_cage`.
- added the arg `params` in `ED_transform_snap_object_project_ray`.
- simplifications in the loop of the function `snapObjectsRay`.

4 years agoFix possible uninitialized variable in snapping
Germano Cavalcante [Fri, 3 Jun 2016 06:26:27 +0000 (16:26 +1000)]
Fix possible uninitialized variable in snapping

Introduced in 0b5a0d84, thanks to Brecht for spotting.

4 years agoFix T48111: Auto-run fails w/ empty paths
Campbell Barton [Fri, 3 Jun 2016 05:28:32 +0000 (15:28 +1000)]
Fix T48111: Auto-run fails w/ empty paths

Enabling auto-run, then excluding a path but leaving it set to a blank value would ignore all paths.

4 years agoFix T48575: Particle crash using 'Parting' setting
Campbell Barton [Fri, 3 Jun 2016 05:11:56 +0000 (15:11 +1000)]
Fix T48575: Particle crash using 'Parting' setting

4 years agoAdd upstream information to wcwidth library
Campbell Barton [Thu, 2 Jun 2016 16:43:04 +0000 (02:43 +1000)]
Add upstream information to wcwidth library

4 years agoTheme: 2.4x, correct graph region color
Campbell Barton [Thu, 2 Jun 2016 15:57:34 +0000 (01:57 +1000)]
Theme: 2.4x, correct graph region color

4 years agoFix T48456: 2x pixel size clamps min brush size
Campbell Barton [Thu, 2 Jun 2016 15:07:29 +0000 (01:07 +1000)]
Fix T48456: 2x pixel size clamps min brush size

Using double pixel size prevented 1px brushes

D2044 by @jeske

4 years agoFix T47637: Multiple multires objects in Sculpt mode make blender crash.
Bastien Montagne [Thu, 2 Jun 2016 13:57:58 +0000 (15:57 +0200)]
Fix T47637: Multiple multires objects in Sculpt mode make blender crash.

That was a nice and funny hunt, albeit rather time consumming!

To summarize, so far code was using a static global gpu_buffer for pbvh vbo drawing
of 'grid' types (multires mostly?).

There were two issues here:
1) Global gpu buffer was assigned to GPU_PBVH_Buffers->index_buf, but then nearly no
check was done when freeing that buffer, to ensure we were not freeing the global one
(not totally sure this one was actually causing any issue, but was bad and unsafe anyway).
Was solved by adding a flag to GPU_PBVH_Buffers to indicate when we are using some
'common' buffer here, which freeing is handled separately.

2) Main issue: if several multires objects in sculpt mode with different grid size
were present simultaneously, the global gpu buffer had to be resized for each object draw
(i.e., freed and re-allocated), but then the pbvh nodes from other objects storing freed reference
to that global buffer had no way to know that it had been freed, which was causing the segfault & crash.
Was solved by getting rid of that global buffer, and instead allocating one 'grid_commmon_gpu_buffer' per pbvh.

Told ya baby, globals are *PURE EVIL*!

4 years agoFix for GLSL uniform being update from inside glBegin/glEnd
Sergey Sharybin [Thu, 2 Jun 2016 12:00:00 +0000 (14:00 +0200)]
Fix for GLSL uniform being update from inside glBegin/glEnd

This seems to be illegal and not productive anyway. Do it ahead of
a time now, which solves shading issues in edit mode and prevents
assert from happening.

4 years agoFix leak using UI_BTYPE_TEXT button w/o a callback
Julian Eisel [Thu, 2 Jun 2016 10:19:56 +0000 (20:19 +1000)]
Fix leak using UI_BTYPE_TEXT button w/o a callback

Moving ownership of the string to the button's 'rename_orig'
leaked when the button didn't have a uiAfterFunc.

4 years agoCleanup: warnings in previous commit
Campbell Barton [Thu, 2 Jun 2016 09:48:16 +0000 (19:48 +1000)]
Cleanup: warnings in previous commit

4 years agoMinor edits to last commit
Campbell Barton [Thu, 2 Jun 2016 08:42:09 +0000 (18:42 +1000)]
Minor edits to last commit

Failed with chunk merging disabled

4 years agoBLI_array_store: Move writing many chunks into a function
Campbell Barton [Thu, 2 Jun 2016 06:58:29 +0000 (16:58 +1000)]
BLI_array_store: Move writing many chunks into a function

Minor optimization, avoid some checks each iteration.

4 years agoBLI_array_store: store max size in BArrayInfo
Campbell Barton [Thu, 2 Jun 2016 08:01:03 +0000 (18:01 +1000)]
BLI_array_store: store max size in BArrayInfo

4 years agoAdd extra validation checks to array-store
Campbell Barton [Thu, 2 Jun 2016 06:41:41 +0000 (16:41 +1000)]
Add extra validation checks to array-store

4 years agoMinor changes to help text
Campbell Barton [Thu, 2 Jun 2016 05:22:33 +0000 (15:22 +1000)]
Minor changes to help text

D2040 by @Blendify, also move 'Experimental Features' above more general help text.

4 years agoShapeKey was missing lattice-flag
Campbell Barton [Thu, 2 Jun 2016 05:12:29 +0000 (15:12 +1000)]
ShapeKey was missing lattice-flag

missed from 7a8bd2eae

4 years agoFix T48566: Render-border minor offset issue
Campbell Barton [Thu, 2 Jun 2016 02:51:36 +0000 (12:51 +1000)]
Fix T48566: Render-border minor offset issue

4 years agoUsual UI/i18n message cleanup (get rid of last remaining 'addon' too).
Bastien Montagne [Wed, 1 Jun 2016 18:38:30 +0000 (20:38 +0200)]
Usual UI/i18n message cleanup (get rid of last remaining 'addon' too).

4 years agoRevert "BLI_ghash: Fix initial over-allocation of mempool chunks."
Bastien Montagne [Wed, 1 Jun 2016 15:38:50 +0000 (17:38 +0200)]
Revert "BLI_ghash: Fix initial over-allocation of mempool chunks."

Useless change in fact, sorry for the noise.

This reverts commit b08473680e141ab6f28f99fc3b1dbbc4add89bed.

4 years agoFix T48466: Multiple passes starting with 'Diffuse' in EXR file breaks its loading...
Bastien Montagne [Wed, 1 Jun 2016 15:25:05 +0000 (17:25 +0200)]
Fix T48466: Multiple passes starting with 'Diffuse' in EXR file breaks its loading in Blender.

Issue here is that for Blender, any pass which name starts with 'Diffuse' is considered
a diffuse pass - and it does not really support several passes of the same type in renderresult.

So for now, passtype_from_name() is now checking whether a pass of same type already exists
in render layers, and return 0 (uknown passtype) in this case.

4 years agoOptimize mempool iteration
Campbell Barton [Wed, 1 Jun 2016 14:04:51 +0000 (00:04 +1000)]
Optimize mempool iteration

Around ~10% improvement in own tests.

4 years agoFix T48415: Segfault on opening .blend in which a 'surface' force object was saved...
Bastien Montagne [Wed, 1 Jun 2016 13:26:58 +0000 (15:26 +0200)]
Fix T48415: Segfault on opening .blend in which a 'surface' force object was saved in Edit mode.

In that case, surface modifier won't run (until surface object goes back to Object mode),
and its bvhtree remains NULL.

4 years agoRevert "Correct invalid pointer-pair compare check"
Campbell Barton [Wed, 1 Jun 2016 13:07:52 +0000 (23:07 +1000)]
Revert "Correct invalid pointer-pair compare check"

This reverts commit d5e0e681cea846facb4f2777921f6612be3ee193.

Tsk, these functions return false on a match.

4 years agoFix bug where corner boundary was straight when it should curve.
Howard Trickey [Wed, 1 Jun 2016 12:51:08 +0000 (08:51 -0400)]
Fix bug where corner boundary was straight when it should curve.

Some adjustments to how bevel edge 'profiles' are adjusted in some
cases. For the bug fix, wanted to handle cases of middle of three
coplanar beveled cases to make profile curve rather than linear
Also undid an earlier decision to make profile plane be perpendicular
to beveled edge i the non-coplanar case.

4 years agoBLI_ghash: Fix initial over-allocation of mempool chunks.
Bastien Montagne [Wed, 1 Jun 2016 10:58:59 +0000 (12:58 +0200)]
BLI_ghash: Fix initial over-allocation of mempool chunks.

Code intended to create only one pool by default here, but code in `mempool_maxchunks()` would make it two.

4 years agoFix wrong vertex colors in edit mode
Sergey Sharybin [Wed, 1 Jun 2016 09:52:31 +0000 (11:52 +0200)]
Fix wrong vertex colors in edit mode

4 years agoBI: fix counting of tangents, that was reset during recursion of init_render_nodetree
Alexander Romanov [Wed, 1 Jun 2016 09:28:48 +0000 (12:28 +0300)]
BI: fix counting of tangents, that was reset during recursion of init_render_nodetree

4 years agoGLSL: Attempt to fix errors in setting UV attributes
Sergey Sharybin [Wed, 1 Jun 2016 08:26:18 +0000 (10:26 +0200)]
GLSL: Attempt to fix errors in setting UV attributes

4 years agoDepsgraph: Fix missing updates when modifying armature
Sergey Sharybin [Wed, 1 Jun 2016 08:10:39 +0000 (10:10 +0200)]
Depsgraph: Fix missing updates when modifying armature

4 years agoFix/Workaround T48560: Color picker V fail w/ user defined RNA
Campbell Barton [Wed, 1 Jun 2016 06:07:11 +0000 (16:07 +1000)]
Fix/Workaround T48560: Color picker V fail w/ user defined RNA

Set the maximum soft-max to 1.0 when its left at FLT_MAX.
Since this causes problems using the slider.

4 years agoIncrease range of Font object textboxs
Dalai Felinto [Tue, 31 May 2016 22:06:13 +0000 (19:06 -0300)]
Increase range of Font object textboxs

The current values were arbitrary. I'm keeping them as ui_range, but
internally there is no reason we can't use larger values.

4 years agoBLI_mempool: Use an 'odd' FREEWORD for big/little endian
Campbell Barton [Tue, 31 May 2016 16:52:05 +0000 (02:52 +1000)]
BLI_mempool: Use an 'odd' FREEWORD for big/little endian

This also changes freeword to an intptr_t to ensure
not only the first 4 bits of a pointer are tested on 64bit systems.

4 years agoFix T46207: Slow OpenCL GPU bake and blown out baking Cycles render
Sergey Sharybin [Tue, 31 May 2016 15:47:54 +0000 (17:47 +0200)]
Fix T46207: Slow OpenCL GPU bake and blown out baking Cycles render

4 years agoSmall API typo found while reading the API
Dalai Felinto [Tue, 31 May 2016 15:39:58 +0000 (12:39 -0300)]
Small API typo found while reading the API

4 years agoCleanup: unused defines
Campbell Barton [Tue, 31 May 2016 14:26:14 +0000 (00:26 +1000)]
Cleanup: unused defines

4 years agoCleanup: parenthesize defines
Campbell Barton [Tue, 31 May 2016 14:19:01 +0000 (00:19 +1000)]
Cleanup: parenthesize defines

4 years agoFix T48554: Absolute grid snap fails w/ cursor pivot
Campbell Barton [Tue, 31 May 2016 13:56:59 +0000 (23:56 +1000)]
Fix T48554: Absolute grid snap fails w/ cursor pivot

Use center of selection when using absolute grid snapping and cursor pivot.

4 years agoCycles: Fixes for recent refactor
Sergey Sharybin [Tue, 31 May 2016 13:32:31 +0000 (15:32 +0200)]
Cycles: Fixes for recent refactor

- add_vertex() can be called from split_vertex() which does not guarantee
  to have properly pre-allocate arrays.

- Need to check whether Cycles is compiled with OSL in XML reader.

4 years agoBuildbot: Attempt to fix buildbot after recent change
Sergey Sharybin [Tue, 31 May 2016 13:27:07 +0000 (15:27 +0200)]
Buildbot: Attempt to fix buildbot after recent change

4 years agoBuildbot: Use proper list management function
Sergey Sharybin [Tue, 31 May 2016 13:20:14 +0000 (15:20 +0200)]
Buildbot: Use proper list management function

Spotted by Campbell, thanks!

4 years agoBuildbot: Pass proper generator for MSVC 2015 builder
Sergey Sharybin [Tue, 31 May 2016 12:42:18 +0000 (14:42 +0200)]
Buildbot: Pass proper generator for MSVC 2015 builder

4 years agoProperly handle vertex color color space for Cycles GLSL
Sergey Sharybin [Tue, 31 May 2016 12:39:49 +0000 (14:39 +0200)]
Properly handle vertex color color space for Cycles GLSL

A bit tricky, need to pass additional information about what the attribute
is and how to deal with it.

BI path stays unchanged, just to make things simplier for now.

Fixes T48555: Cycles GLSL- Incorrect Vertex Color results from Attribute node

4 years agoCMake/ Visual Studio 14 2015, Use one library name for openal for both 2013 and 2015
Martijn Berger [Tue, 31 May 2016 12:16:29 +0000 (14:16 +0200)]
CMake/ Visual Studio 14 2015, Use one library name for openal for both 2013 and 2015

4 years agoCycles GLSL: Make it work with software opengl mode
Sergey Sharybin [Tue, 31 May 2016 10:30:56 +0000 (12:30 +0200)]
Cycles GLSL: Make it work with software opengl mode

4 years agoCycles: Add human readable sizes to debug output
Mai Lavelle [Sun, 29 May 2016 22:02:05 +0000 (18:02 -0400)]
Cycles: Add human readable sizes to debug output

Some of these values can get quite large and are hard to read, adding this
makes it easy to read them at a glance.

Reviewed By: sergey

Differential Revision:

4 years agoFix T48556: Missing transparent shadows on AMD OpenCL
Sergey Sharybin [Tue, 31 May 2016 09:48:07 +0000 (11:48 +0200)]
Fix T48556: Missing transparent shadows on AMD OpenCL

We had transparent shadows disabled for some time because they were causing
drivers to crash. Can't reproduce that issue anymore with current drivers,
so will enable them and see how it goes.

4 years agoFix T48553: Cycles GLSL Box projection produces strong artifacts
Sergey Sharybin [Tue, 31 May 2016 07:49:27 +0000 (09:49 +0200)]
Fix T48553: Cycles GLSL Box projection produces strong artifacts

4 years agoFix T48552: Ctrl-D to add drivers shows disabled menu items
Campbell Barton [Tue, 31 May 2016 06:30:44 +0000 (16:30 +1000)]
Fix T48552: Ctrl-D to add drivers shows disabled menu items

4 years agoTheme: 2.4x disabled menu text wasn't greyed out
Campbell Barton [Tue, 31 May 2016 04:54:21 +0000 (14:54 +1000)]
Theme: 2.4x disabled menu text wasn't greyed out

4 years agoFix T48547: Shrinkwrap fails w/ auxiliary target
Campbell Barton [Tue, 31 May 2016 04:35:35 +0000 (14:35 +1000)]
Fix T48547: Shrinkwrap fails w/ auxiliary target

Error in 0b5a0d84

4 years agoFix broken Cycles curve motion radius after recent refactor, and fix warnings.
Brecht Van Lommel [Mon, 30 May 2016 20:44:17 +0000 (22:44 +0200)]
Fix broken Cycles curve motion radius after recent refactor, and fix warnings.

4 years agoAdd 'multi small' testcase to performance Ghash tests.
Bastien Montagne [Thu, 26 May 2016 19:44:57 +0000 (21:44 +0200)]
Add 'multi small' testcase to performance Ghash tests.

This new test simply inserts and lookup a lot of time on very small ghashes
(most are < 17 items).

4 years agoShrinkwrap: OMP->BLI_task.
Bastien Montagne [Mon, 30 May 2016 15:30:06 +0000 (17:30 +0200)]
Shrinkwrap: OMP->BLI_task.

Gives little to no speedup (a few percents at best).

4 years agoDepsgraph: Small optimization to update flushing
Sergey Sharybin [Mon, 30 May 2016 14:53:04 +0000 (16:53 +0200)]
Depsgraph: Small optimization to update flushing

Gives about 5% speedup in scene with lots of nodes (army_of_clones.blend)

4 years agoFix T48527: Maya keymap fails w/ knife snap
Campbell Barton [Mon, 30 May 2016 12:39:40 +0000 (22:39 +1000)]
Fix T48527: Maya keymap fails w/ knife snap

4 years agoDepsgraph: Fix compilation with new depsgraph disabled
Sergey Sharybin [Mon, 30 May 2016 12:44:56 +0000 (14:44 +0200)]
Depsgraph: Fix compilation with new depsgraph disabled

4 years agoCMake: Workaround to get Libmv compiled with latest Gcc
Sergey Sharybin [Mon, 30 May 2016 12:37:07 +0000 (14:37 +0200)]
CMake: Workaround to get Libmv compiled with latest Gcc

4 years agoFix: Add a hard upper limit for fontsize of Text Strip's text
Joshua Leung [Mon, 30 May 2016 11:45:19 +0000 (23:45 +1200)]
Fix: Add a hard upper limit for fontsize of Text Strip's text

Although there is a "UI limit", it's necessary to have the hard limit on the
property too. I noticed this bug first hand just now, when, after accidentally
setting the size to 8188 (due to a combination of typos and sluggish UI refresh)
my machine locked up completely when trying to jump to that frame. It got so bad
that I had to do a hard reset to fix it - so, it's possible that even 1000 or 2000
as used now are actually way too large still.

4 years agoGLSL: Fix voronoi texture giving different results form rendered
Sergey Sharybin [Mon, 30 May 2016 11:07:11 +0000 (13:07 +0200)]
GLSL: Fix voronoi texture giving different results form rendered

4 years agoDepsgraph: Fix wrong layers flush form children to parent
Sergey Sharybin [Mon, 30 May 2016 10:32:38 +0000 (12:32 +0200)]
Depsgraph: Fix wrong layers flush form children to parent

It was possible to have issues in cases when several child dependencies
goes to IDs with different layers. In this case order of flushing was not
really well defined, which could lead to cases when indirect dependency
via invisible object wouldn't work.

Need some sort of barrier to prevent scheduling of parent nodes for until
all children are done, but that's becoming quite nasty thing to implement.

Added a temp field to component for now. maybe it's not so crazy actually
and we might use it for evaluation as well, so we wouldn't flush updates
to components which does not affect visible stuff.

4 years agoSupport all Cycles image texture projections in the GLSL viewport
Ralf Hölzemer [Mon, 30 May 2016 08:23:43 +0000 (10:23 +0200)]
Support all Cycles image texture projections in the GLSL viewport

This patch enables Tube, Sphere and Box projections in GLSL for the image texture node.

Reviewers: sergey

Projects: #nodes, #opengl_gfx

Differential Revision:

4 years agoGLSL: Fix magic colors being off
Sergey Sharybin [Mon, 30 May 2016 08:21:55 +0000 (10:21 +0200)]
GLSL: Fix magic colors being off

4 years agoGLSL: Brick texture uses bit operations, which seems to be a failure on some Intel...
Sergey Sharybin [Mon, 30 May 2016 08:17:55 +0000 (10:17 +0200)]
GLSL: Brick texture uses bit operations, which seems to be a failure on some Intel cards

4 years agoChange the hash-table to be 3x total items to hash
Campbell Barton [Mon, 30 May 2016 08:00:03 +0000 (18:00 +1000)]
Change the hash-table to be 3x total items to hash

4 years agoRemove accidental static var
Campbell Barton [Mon, 30 May 2016 07:27:06 +0000 (17:27 +1000)]
Remove accidental static var

4 years agoEditmesh undo memory optimization
Campbell Barton [Mon, 30 May 2016 05:31:31 +0000 (15:31 +1000)]
Editmesh undo memory optimization

Previously a whole mesh was stored between undo steps,
This commit uses BLI_array_store to de-duplicate memory use between undo steps.

Memory saving depends entirely on kinds of edits performed,
in own tests 5x-15x less memory use is common.

Compacting the memory does give some overhead however its done in a background thread
so its not blocking in most cases.

New behavior and threading can be ifdef'd out to check for regressions.

See D2026 for details.

4 years agoBLI_array_store tests
Campbell Barton [Mon, 30 May 2016 05:27:10 +0000 (15:27 +1000)]
BLI_array_store tests

Ensure the data is valid once expanded,
and that de-duplication is working as expected.

4 years agoAdd BLI_array_store copy-on-write API
Campbell Barton [Mon, 30 May 2016 05:25:36 +0000 (15:25 +1000)]
Add BLI_array_store copy-on-write API

This supported in-memory de-duplication,
useful to avoid in-efficient memory use when storing multiple, similar arrays.

4 years agoCode refactor: store ShaderNode enums as enum rather than ustring.
Brecht Van Lommel [Sun, 29 May 2016 14:13:14 +0000 (16:13 +0200)]
Code refactor: store ShaderNode enums as enum rather than ustring.

4 years agoCode refactor: centralize OSL node creation in shader manager.
Brecht Van Lommel [Sun, 29 May 2016 13:10:34 +0000 (15:10 +0200)]
Code refactor: centralize OSL node creation in shader manager.

4 years agoCode refactor: pass ShaderInput to constant_fold, so it supports arbitrary types.
Brecht Van Lommel [Sun, 29 May 2016 11:26:41 +0000 (13:26 +0200)]
Code refactor: pass ShaderInput to constant_fold, so it supports arbitrary types.

4 years agoCode refactor: add separate RGB to BW node and rename some sockets.
Brecht Van Lommel [Sun, 29 May 2016 10:24:47 +0000 (12:24 +0200)]
Code refactor: add separate RGB to BW node and rename some sockets.

4 years agoCode refactor: minor node and node type utility functions and changes.
Brecht Van Lommel [Sun, 29 May 2016 09:20:10 +0000 (11:20 +0200)]
Code refactor: minor node and node type utility functions and changes.

4 years agoFix debug mode assert in subd code after recent refactoring.
Brecht Van Lommel [Sun, 29 May 2016 09:16:27 +0000 (11:16 +0200)]
Fix debug mode assert in subd code after recent refactoring.