Lukas Stockner [Sat, 10 Jun 2017 23:44:06 +0000 (01:44 +0200)]
Cycles Denoising: Add more failsafes for invalid pixels
Now, when there is no usable neighboring pixel for denoising, the noisy value
is preserved instead of producing a NaN.
Also, negative results are clamped to zero.
Note that there are just workarounds that don't fix the underlying problems,
but these issues are very rare and I'm not sure if it's even possible to fix
the underlying problems without introducing a significant slowdown or quality
decrease in other situations.
Because of that and since 2.79 is happening very soon, I just went for these
workarounds for now.
Julian Eisel [Sat, 10 Jun 2017 14:41:58 +0000 (16:41 +0200)]
UI: Replace placeholder icons in object-add menu
Replaces the placeholder 'emtpy' icons of "Force Field" and "Group
Instance" entries in object-add menu with proper new ones.
Icons by @zlsa, thanks a lot!
Maniphest task T51291.
Sergey Sharybin [Fri, 9 Jun 2017 07:11:54 +0000 (03:11 -0400)]
Cycles: Selectively include denoising in kernel
Mai Lavelle [Thu, 11 May 2017 23:23:49 +0000 (19:23 -0400)]
Cycles: Pass all buffers to each kernel call for OpenCL
Technically not passing all buffers used by a kernel is undefined
behavior. We haven't had any issues with this so far on AMD or
Nvidia, but it's known to be a problem with Intel and we received
a report from AMD that this is a problem on newer hardware, so we
need to make this change at some point.
Unfortunately there a cost to being correct, about 5% for the
benchmark scenes. For low sample counts it's even worse, I've
seen up to 50% slowdown. For the latter case I think adjusting
tile updating logic can help, but not sure what that would look
like yet (it would be just a few lines change however).
Mai Lavelle [Tue, 30 May 2017 01:35:27 +0000 (21:35 -0400)]
Cycles: Faster split branched path tracing by sharing samples with inactive threads
Unlike regular path tracing, branched path tracing is usually used with lower
sample counts, at least for primary rays. This means that are less samples for
the GPU to work on in parallel and rendering is slower. As there is less work
overall there is also more inactive threads during rendering with BPT. This
patch makes use of those inactive rays to render branched samples in parallel
with other samples.
Each thread that is preparing for a branched sample will attempt to find an
inactive thread and if one is found the state for the sample is copied to that
thread. Potentially, if there are enough inactive threads, 100s of branched
samples could be generated from the same originating thread and ran in
parallel giving large speed ups.
Gives 70% faster render for pavillion midday scene. 20-60% faster on BMW
with car paint replaced with SSS/volumes.
Mai Lavelle [Tue, 30 May 2017 01:34:05 +0000 (21:34 -0400)]
Cycles: Modify path_radiance_accum_sample to use atomics for split kernel
Samples ran in parallel need a safe way to accumulate their results
with the results of other threads.
Mai Lavelle [Tue, 30 May 2017 01:33:27 +0000 (21:33 -0400)]
Cycles: Add function to dequeue a ray
Mai Lavelle [Tue, 30 May 2017 01:28:21 +0000 (21:28 -0400)]
Cycles: Add atomic decrement functions to util_atomic.h
Mai Lavelle [Tue, 30 May 2017 00:40:26 +0000 (20:40 -0400)]
Cycles: Add kernel to enqueue inactive rays
The queue will be used to make reuse of inactive threads to keep
the GPU more busy.
Hristo Gueorguiev [Thu, 8 Jun 2017 09:08:52 +0000 (05:08 -0400)]
Cycles: Blacklist unsupported OpenCL devices
Due to various driver issues with AMD GCN 1 cards we can no longer support
these GPUs. This patch makes them unavailable to select for Cycles rendering.
GCN cards 2 and higher are still supported. Please use the most recent
drivers available to ensure proper functionality.
See here for a list to check which GPUs are supported:
https://en.wikipedia.org/wiki/List_of_AMD_graphics_processing_units
Lukas Stockner [Fri, 9 Jun 2017 21:02:56 +0000 (23:02 +0200)]
Cycles: Fix denoising passes being written when they're not actually generated
Lukas Stockner [Fri, 9 Jun 2017 20:31:26 +0000 (22:31 +0200)]
Cleanup Cycles Denoising platform-specific defines
Lukas Stockner [Fri, 9 Jun 2017 20:27:49 +0000 (22:27 +0200)]
Cycles Denoising: Speedup reconstruction by skipping near-zero weights
Aaron Carlisle [Fri, 9 Jun 2017 19:23:44 +0000 (15:23 -0400)]
UI: Fix some small ui inconsistencies
- Use "..." to indicate non immediate action.
- First letter of words in labels should be capitalized.
Bastien Montagne [Fri, 9 Jun 2017 14:29:20 +0000 (16:29 +0200)]
Cleanup: get rid of some now unused animdata ID management custom functions.
That's the kind of commit that are nice to do - getting rid of
half-working custom pieces of code, now that we have generic tools
to do same thing. ;)
Bastien Montagne [Fri, 9 Jun 2017 13:58:32 +0000 (15:58 +0200)]
Fix crash when making local object+obdata with linked armature.
Reported by Andy Goralczyk (@eyecandy) over IRC, thanks!
Simply nuke all that poor broken custom one-by-one handling in
object_relations.c code, and use highly complex but powerful and
well-tested BKE_library_make_local() in all cases of MakeLocal!
ID management, especially related to linking, is very hairy matters,
better to have as few as possible core functions managing all the dirty
details. ;)
Campbell Barton [Fri, 9 Jun 2017 09:31:27 +0000 (19:31 +1000)]
Math Lib: Add mat3_from_axis_conversion_single
Single axis version of mat3_from_axis_conversion,
when the second axis isn't important (orienting an arrow for eg).
Sergey Sharybin [Fri, 9 Jun 2017 08:46:00 +0000 (10:46 +0200)]
Fix T51756: Fix crash when transforming vertices in edit mode
The issue was caused by under-allocation of UV islands calculation.
Luca Rood [Fri, 9 Jun 2017 07:56:19 +0000 (09:56 +0200)]
Fix T51648: Inconsistent edge collapse point depending on orientation
Edge collapse was using bounding box center as the point to collapse to.
When collapsing multiple adjacent edges together, this caused
inconsistencies in placement of the collapsed point, depending on the
orientation of the edges in relation to the space axis.
This makes edge collapse use the mean point instead.
Bastien Montagne [Fri, 9 Jun 2017 07:44:40 +0000 (09:44 +0200)]
install_depsh: update OpenCollada to 1.6.51, and OIIO to 1.7.15
Bastien Montagne [Fri, 9 Jun 2017 07:23:54 +0000 (09:23 +0200)]
Fix for fix for bplayer (c) :/
Bastien Montagne [Fri, 9 Jun 2017 07:13:54 +0000 (09:13 +0200)]
Fix bplayer building (c)
Lukas Stockner [Fri, 9 Jun 2017 00:30:06 +0000 (02:30 +0200)]
Cycles Denoising: Merge outlier heuristic and confidence interval test
The previous outlier heuristic only checked whether the pixel is more than
twice as bright compared to the 75% quantile of the 5x5 neighborhood.
While this detected fireflies robustly, it also incorrectly marked a lot of
legitimate small highlights as outliers and filtered them away.
This commit adds an additional condition for marking a pixel as a firefly:
In addition to being above the reference brightness, the lower end of the
3-sigma confidence interval has to be below it.
Since the lower end approximates how low the true value of the pixel might be,
this test separates pixels that are supposed to be very bright from pixels that
are very bright due to random fireflies.
Also, since there is now a reliable outlier filter as a preprocessing step,
the additional confidence interval test in the reconstruction kernel is no
longer needed.
Campbell Barton [Thu, 8 Jun 2017 21:13:35 +0000 (07:13 +1000)]
RNA: remove static strings from registration
* Static strings aren't needed anymore, use stack memory.
* Fix obscure leak on failed macro registration.
* Use prefix for wrappers exported from bpy module.
Campbell Barton [Thu, 8 Jun 2017 20:45:21 +0000 (06:45 +1000)]
Cleanup: cmake indentation, missing include
Bastien Montagne [Thu, 8 Jun 2017 12:02:49 +0000 (14:02 +0200)]
Fix T51733: 3d print toolbox checks report false positives.
Colinear vertices in a same face would not be handled correctly.
Sergey Sharybin [Thu, 8 Jun 2017 10:15:24 +0000 (12:15 +0200)]
Cycles: Don't leave multiple spaces in the device name
Sergey Sharybin [Thu, 8 Jun 2017 10:10:15 +0000 (12:10 +0200)]
Cycles: Display optional board name in system info
Sergey Sharybin [Thu, 8 Jun 2017 10:03:08 +0000 (12:03 +0200)]
Cycles: Cleanup, indentation
Bastien Montagne [Thu, 8 Jun 2017 07:17:08 +0000 (09:17 +0200)]
Simplify Array modifier 'relative offset' handling.
Was looping three times over the source mesh's vertices to get min/max
along all three axes... Nothing critical, but still!
Joshua Leung [Wed, 7 Jun 2017 15:07:57 +0000 (03:07 +1200)]
Fix: GP Clone brush was not correcting color references for pasted strokes either
Joshua Leung [Wed, 7 Jun 2017 14:42:04 +0000 (02:42 +1200)]
Fix: Pasting GP strokes files between files (or when the original colors were deleted) would crash
The problem was that the strokes in the copy-paste buffer could be keeping
dangling pointers to colors that were already freed. Therefore, this commit
makes it so that when copying the strokes, we now make copies of the colors
and put them in a hashtable beside the stroke buffer. This is convenient,
as it saves us having to look up what colours need to be copied over each
time when pasting.
Joshua Leung [Wed, 7 Jun 2017 07:07:57 +0000 (19:07 +1200)]
GP Copy/Paste Fix: Paste button doesn't update after copying strokes using Ctrl-C
Joshua Leung [Wed, 7 Jun 2017 07:07:21 +0000 (19:07 +1200)]
GPencil Copy/Paste Fix: Copying/Pasting strokes between datablocks would crash
The problem was that newly pasted strokes were still using colours from
the original datablock. As a result, you'd either get an immediate crash,
or if you managed to save the file before it crashed, each stroke would get
reloaded with a dummy colour.
This commit fixes makes it possible to copy/paste strokes between datablocks
again. However, there are still problems when trying to paste across file
boundaries (i.e. copy strokes in one file, paste in another), which the next
commit will address.
Howard Trickey [Wed, 7 Jun 2017 12:53:10 +0000 (08:53 -0400)]
Bevel Op (internal and API) now returns new edges and verts as well as
faces.
This was requested by script writers. Especially needed if beveling
wire edges with vertex_only.
Should be backward compatible as just adds two new keys to returned
dict in python ('edges' and 'verts').
Sergey Sharybin [Wed, 7 Jun 2017 12:08:11 +0000 (14:08 +0200)]
Depsgraph: Remove modifiers operation code
Was internally a no-op operation, which only caused extra work
to be done during depsgrpah traversal and evaluation, without
making any measurable improvement.
Sergey Sharybin [Wed, 7 Jun 2017 10:53:38 +0000 (12:53 +0200)]
Depsgraph: Remove unused operation codes
Sergey Sharybin [Wed, 7 Jun 2017 10:47:19 +0000 (12:47 +0200)]
Depsgraph: Remove dead/unused operation codes
Sergey Sharybin [Wed, 7 Jun 2017 10:16:48 +0000 (12:16 +0200)]
Report OpenSubdiv version Blender is compiled against
Sergey Sharybin [Wed, 7 Jun 2017 09:38:12 +0000 (11:38 +0200)]
Collada: Add search path which is used default by it's SCons build system
Dalai Felinto [Wed, 7 Jun 2017 09:37:28 +0000 (11:37 +0200)]
gcc5 has issues with Wconversion
This leads to a crash in 2.8, but commiting here.
Patch by Campbell Barton.
Sergey Sharybin [Tue, 6 Jun 2017 10:14:39 +0000 (12:14 +0200)]
Depsgraph: Only use extern "C" when really needed
Sergey Sharybin [Tue, 6 Jun 2017 10:13:45 +0000 (12:13 +0200)]
BLI: Use C++ guards for stack header
This is handy to have C++ guards for BLI functions so they
can be easily re-used in C++ code. This matches other headers
from this library as well.
Campbell Barton [Mon, 5 Jun 2017 06:05:36 +0000 (16:05 +1000)]
PyAPI: is_staticmethod used for classmethods's too
Add note to investigate this, don't change so close to release.
Campbell Barton [Mon, 5 Jun 2017 05:31:05 +0000 (15:31 +1000)]
PyAPI: correct exception, expect 'staticmethod'
Ray Molenkamp [Sun, 4 Jun 2017 23:05:59 +0000 (17:05 -0600)]
Fix alembic tests not running with debug build on windows
Lukas Stockner [Sat, 3 Jun 2017 22:58:38 +0000 (00:58 +0200)]
Fix T51587: Blender fails to interpret a specific layer in OpenEXR multilayer file
nBurn [Fri, 2 Jun 2017 21:22:44 +0000 (17:22 -0400)]
PyAPI: Cleanup "Python API Overview" doc
Reword to clean up some odd grammar (mostly dangling modifiers) and
improve readability.
Differential Revision: https://developer.blender.org/D2699
Campbell Barton [Fri, 2 Jun 2017 10:40:41 +0000 (20:40 +1000)]
Fix T51691: Shear cursor input scales w/ zoom
Use relative value from cursor movement.
Campbell Barton [Fri, 2 Jun 2017 05:38:04 +0000 (15:38 +1000)]
Cleanup: style
nBurn [Fri, 2 Jun 2017 01:59:51 +0000 (21:59 -0400)]
PyAPI: update to bpy.types.Operator.5.py
This is a minor update add more information on how Blender handles modal
operators. The existing docs provide a good overview, but might not be
as helpful to those unfamiliar with modal programming. This patch also
corrects a few small grammar issues.
Campbell Barton [Thu, 1 Jun 2017 15:10:34 +0000 (01:10 +1000)]
Remove comment (missed last commit)
Campbell Barton [Thu, 1 Jun 2017 15:04:11 +0000 (01:04 +1000)]
Fix T51651: translate w/ individual origins fails
Regression in fix for T46892
Sergey Sharybin [Thu, 1 Jun 2017 14:20:48 +0000 (16:20 +0200)]
Depsgraph: Cleanup, line wraps after shortening API
Sergey Sharybin [Thu, 1 Jun 2017 14:15:23 +0000 (16:15 +0200)]
Depsgraph: Remove operation types enum
Was only used to indicate entry/exit operation of component,
which is now done explicitly. No reason to keep something which
is unused and confusing.
Sergey Sharybin [Thu, 1 Jun 2017 14:04:35 +0000 (16:04 +0200)]
Depsgraph: use explicit marking of component entry/exit operations
This isn't used too often, and haivng such API will let us to skip
specifying operation type for all oeprations.
Sergey Sharybin [Thu, 1 Jun 2017 13:42:53 +0000 (15:42 +0200)]
Depsgraph: Cleanup, use DEG_NODE_CLASS prefix for node classes
Sergey Sharybin [Thu, 1 Jun 2017 13:40:02 +0000 (15:40 +0200)]
Depsgraph: Cleanup, use DEG_NODE_TYPE prefix for depsgraph node types
Sergey Sharybin [Thu, 1 Jun 2017 13:38:15 +0000 (15:38 +0200)]
Depsgraph: Remove unused argument from time source query
Sergey Sharybin [Thu, 1 Jun 2017 13:14:11 +0000 (15:14 +0200)]
Depsgraph: Remove subgraph nodes
Those were never finished nor used. Again, starting from clean
state before we go into more complicated details.
Sergey Sharybin [Thu, 1 Jun 2017 13:07:47 +0000 (15:07 +0200)]
Depsgraph: Remove dead code
Was never used or worked on in ages, if any of this code is
needed in the future it'll need to be redone anyway.
Sergey Sharybin [Thu, 1 Jun 2017 13:06:05 +0000 (15:06 +0200)]
Depsgraph: Remove dead code from add_time_source()
This was never finished or done or used, no reason to keep it.
Better to simplify things before adding complexity of overrides
and copy-on-write.
Sergey Sharybin [Thu, 1 Jun 2017 12:49:17 +0000 (14:49 +0200)]
Depsgraph: Cleanup, get rid of relation type
It was never actually used apart from being stored at a construciton time.
This caused some redundancy and ncertanty about which relation type to use
during construciton (often existing types were not close enough to particular
use case).
raa [Thu, 1 Jun 2017 13:38:32 +0000 (16:38 +0300)]
Cleanup: use row() sub-layout to expand enum properties horizontaly
Bastien Montagne [Thu, 1 Jun 2017 10:18:57 +0000 (12:18 +0200)]
Fix T51687: GPUmat evaluation of shader tree would crash uppon unknown/unsupported socket types.
Made this resilient to unknown types, for now. Supporting specific INT
sockets (through implicit conversion to GPU_FLOAT ones) is considered nice TODO.
Campbell Barton [Thu, 1 Jun 2017 05:04:22 +0000 (15:04 +1000)]
Fix bad index use drawing deformed face centers
Bastien Montagne [Wed, 31 May 2017 19:24:41 +0000 (21:24 +0200)]
Fix bad handling of 'extra' user for groups at their creation.
Was just keeping the default '1' user from `BKE_libblock_alloc()`,
instead of using correct way to handle extra virtual user needed when we
want to keep unused datablocks around...
Bastien Montagne [Wed, 31 May 2017 19:14:08 +0000 (21:14 +0200)]
Fix T51680: 'Delete Group' from Group view of Outliner does not work.
Do not call invoke ops from outliner's operations menus. Invoke op would
search again for item under mouse coordinates... when it is invoked!
Means often entry menu you would have clicked would not be over target
item, leading to either nothing or operation being applied to wrong item.
Note: about groups, there is another minor annoyance leading to some
assert - groups have an annoying virtual fake user which breaks
usercount, will see whether this is easily fixable. :|
Sergey Sharybin [Wed, 31 May 2017 13:24:09 +0000 (15:24 +0200)]
Task scheduler: Optimize subsequent pushing bunch of tasks
The idea is to accumulate all new tasks in a thread local queue
first without doing any thread synchronization (aka, locks and
conditional variables) and move those tasks to a scheduler queue
once they are all ready. This way we avoid per-task-pool lock
and only have one lock per bunch of tasks.
This is particularly handy when scheduling new dependency graph
node children. Brings FPS of cached simulation from the linked
below file from ~30 to ~50.
See documentation for BLI_task_pool_delayed_push_{begin, end}
and for TaskThreadLocalStorage::do_delayed_push.
Fixes T50027: Rigidbody playback and simulation performance regression with new depsgraph
Thanks Bastien for the review!
Sergey Sharybin [Wed, 31 May 2017 12:52:45 +0000 (14:52 +0200)]
Cleanup: Easier to read constant name
Sergey Sharybin [Wed, 31 May 2017 12:26:04 +0000 (14:26 +0200)]
Fix T51661: Swaping strips does not refresh sequencer
Sergey Sharybin [Wed, 31 May 2017 12:25:40 +0000 (14:25 +0200)]
Cleanup: Use more clear parenthesis
Sergey Sharybin [Wed, 31 May 2017 09:43:39 +0000 (11:43 +0200)]
Libmv: Re-bundle from upstream to ensure code base is perfectly in sync
Pascal Schoen [Wed, 31 May 2017 05:29:17 +0000 (07:29 +0200)]
Improve backscatter color of subsurface scattering in Principled BSDF
Differential Revision: https://developer.blender.org/D2685
Dalai Felinto [Tue, 30 May 2017 12:41:21 +0000 (14:41 +0200)]
Fix T49570: Cycles baking can't handle materials with no images
If users wanted to bake only a few of the mesh materials, they would
still need to create dummy textures for the other parts.
This commit report (as RPT_INFO) the materials with no texture, but move
on to bake the others materials.
Dalai Felinto [Tue, 30 May 2017 16:44:39 +0000 (18:44 +0200)]
Baking: Add logic to get material from API regardless of Mesh/Object ownership
Sergey Sharybin [Tue, 30 May 2017 15:42:04 +0000 (17:42 +0200)]
Depsgraph: Fix missing relations for objects which are indirectly linked
This is a corresponding part of
7dda3cf.
Sergey Sharybin [Tue, 30 May 2017 15:38:22 +0000 (17:38 +0200)]
Depsgraph: Remove extra modifiers callback loop
Seems to be a copy-paste error from code above.
Sergey Sharybin [Tue, 30 May 2017 13:40:14 +0000 (15:40 +0200)]
Displace modifier: Pre-fetch all possible images to image pool prior execution
This way we reduce amount of time wasted in spin-lock later on when all threads
are starting to sample texture.
Sergey Sharybin [Tue, 30 May 2017 13:24:38 +0000 (15:24 +0200)]
Image pool: Use memory pool for allocating elements
Reduces amount of system-wide allocation calls. Will be
mainly visible when using lots of images in texture nodes
or regular BI rendering.
Sergey Sharybin [Tue, 30 May 2017 12:34:42 +0000 (14:34 +0200)]
Depsgraph: Fix object being tagged for data update when it shouldn't
Sergey Sharybin [Tue, 30 May 2017 12:33:11 +0000 (14:33 +0200)]
Depsgraph: Add missing update tag clear for proxy objects
This was causing proxies updates on every frame, even if they
do not really change. Additionally, it was causing second round
of armature update when used from inside dupligroup (viewport
ensures all objects from dupligroup are up to date before draw).
Sybren A. Stüvel [Tue, 30 May 2017 11:41:30 +0000 (13:41 +0200)]
Alembic import: fixed bug interpolating between frames.
Sybren A. Stüvel [Tue, 30 May 2017 11:39:36 +0000 (13:39 +0200)]
Alembic: simplified sub-frame sampling
It's now less confusing (for example, using nr_of_samples directly,
instead of using 1 / 1 / nr_of_samples). Might also have fixed a bug.
Also added unittests.
Sybren A. Stüvel [Fri, 26 May 2017 12:02:50 +0000 (14:02 +0200)]
Alembic export: normalise the homogeneous component after scaling
The scale matrix must have its homogeneous 'w' (at mat[3][3]) set to the
scale in order to also scale the translations along with it. However, this
also scales the transform matrix's 'w' component, which is not supposed
to happen.
Sybren A. Stüvel [Fri, 26 May 2017 11:48:19 +0000 (13:48 +0200)]
Alembic export: make the start/end frame default values less reasonable
The old default values (start/end frame = 1) could have been an actually
desired setting (for example when exporting a non-animated model). To
make this worse, this was only interpreted as "start/end of the scene" by
the export operator when running interactively, but not when run from
Python.
By choosing INT_MIN as default it's highly unlikely that the interval
[start, end) was intended as actual export range.
Sybren A. Stüvel [Fri, 26 May 2017 10:56:27 +0000 (12:56 +0200)]
Alembic export: avoid create-and-reset of shared pointer
Constructing the shared pointer where the object is actually allocated
makes the code a bit clearer.
Sybren A. Stüvel [Fri, 26 May 2017 10:55:07 +0000 (12:55 +0200)]
Alembic export: prevent rounding error buildup in frame sample time
Sergey Sharybin [Tue, 30 May 2017 10:21:19 +0000 (12:21 +0200)]
Move GHash/GSet/LinkList iterators to BLI files
Those are not depsgraph or C++ specific and can be used by everyone.
Bastien Montagne [Tue, 30 May 2017 09:42:28 +0000 (11:42 +0200)]
Fix UI message (no points and no phrases in tooltips please!).
Sergey Sharybin [Tue, 30 May 2017 09:22:54 +0000 (11:22 +0200)]
Depsgraph: Use own implementation of stack rather than the one from STL
This way we always have predictable behavior, especially from the
performance point of view. Additionally, if some bottleneck is found
in stack implementation it'll be easier for us to address.
Bastien Montagne [Tue, 30 May 2017 09:40:51 +0000 (11:40 +0200)]
Tweak UI messgae checking macro, identifiers are not always available...
Bastien Montagne [Tue, 30 May 2017 09:35:09 +0000 (11:35 +0200)]
Silence warning in RNA when building without fluidsim.
Sergey Sharybin [Tue, 30 May 2017 09:09:44 +0000 (11:09 +0200)]
Move hash_combine utility function to a more generic place
This way everyone can benefit from it, not only dependency graph.
Sergey Sharybin [Tue, 30 May 2017 08:54:28 +0000 (10:54 +0200)]
Fix strict compiler warning in C++ RNA
Hopefully it is supported by all the compilers.
Sergey Sharybin [Tue, 30 May 2017 08:54:01 +0000 (10:54 +0200)]
ImBuf: Fix strict compiler warning in Cineon image IO
Sergey Sharybin [Tue, 30 May 2017 08:50:12 +0000 (10:50 +0200)]
Audaspace: Don't use strict flags
Sergey Sharybin [Tue, 30 May 2017 07:43:43 +0000 (09:43 +0200)]
Cycles: Cleanup, trailing whitespace
Bastien Montagne [Tue, 30 May 2017 07:46:53 +0000 (09:46 +0200)]
Fix T50775: Missing parenthesis on fluid bake button.
Yep, that got reported... Was slightly more involved than UI message
fixing though: RNA string length getter shall return exact lentgh of
string (same as strlen), not size of allocated buffer to contain it!
Otherwise, NULL final char leaks in and...
Lukas Stockner [Tue, 30 May 2017 04:34:53 +0000 (06:34 +0200)]
Fix T51652: Cycles - Persistant Images not storing images
Denoising was setting session parameters for every frame, which was detected as
a change and therefore caused a resync.
Since the parameter modification change is only needed for viewport rendering
(which doesn't support denoising anyways) and resyncing after a frame change
(which isn't affected by denoising settings), an easy fix is to just ignore
the denoising parameters like it's currently done with the samples.