blender.git
4 years agoCycles-Bake: Unset properties fallback only working for invoke
Dalai Felinto [Mon, 4 Jan 2016 14:13:52 +0000 (12:13 -0200)]
Cycles-Bake: Unset properties fallback only working for invoke

4 years agoFix T47076 part II
Dalai Felinto [Mon, 4 Jan 2016 15:19:08 +0000 (13:19 -0200)]
Fix T47076 part II

We still got unfreed memory after b909dfda

4 years agoCleanup
Campbell Barton [Mon, 4 Jan 2016 14:37:03 +0000 (01:37 +1100)]
Cleanup

4 years agoLibmv: Solve some strict compiler warnings
Sergey Sharybin [Mon, 4 Jan 2016 13:28:12 +0000 (18:28 +0500)]
Libmv: Solve some strict compiler warnings

4 years agoMove Libmv from extern/ to intern/
Sergey Sharybin [Mon, 4 Jan 2016 13:22:27 +0000 (18:22 +0500)]
Move Libmv from extern/ to intern/

Logically it is intern library since being mainly developed by 1.5 blender guys.

4 years agoMove Ceres to extern/
Sergey Sharybin [Mon, 4 Jan 2016 13:11:12 +0000 (18:11 +0500)]
Move Ceres to extern/

Even tho it's currently only used by Libmv we might use it for something
else in the future. Plus, it's actually where it logically belongs to.

4 years agoMove GLog/GFlags to extern/
Sergey Sharybin [Mon, 4 Jan 2016 11:47:36 +0000 (16:47 +0500)]
Move GLog/GFlags to extern/

This is where the libraries belongs to actually, they are not only used by
Libmv now, but also by tests and Cycles.

4 years agoRe-organize structure of GLog/GFlags CMake libraries
Sergey Sharybin [Sun, 3 Jan 2016 10:07:30 +0000 (15:07 +0500)]
Re-organize structure of GLog/GFlags CMake libraries

The idea is to split them into two separate targets and have dedicated include
directories list for each of them in order to avoid some annoying include header
modifications in comparison with upstream.

Reviewers: campbellbarton, juicyfruit

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

4 years agoadded new "Fake User" option for appending objects, this sets a fake user on each...
Martin Felke [Mon, 4 Jan 2016 13:02:05 +0000 (14:02 +0100)]
added new "Fake User" option for appending objects, this sets a fake user on each newly appended item except Groups and Objects.

4 years agoCycles: Fix access uninitialized SVM stack caused by recent optimization
Sergey Sharybin [Mon, 4 Jan 2016 12:11:52 +0000 (17:11 +0500)]
Cycles: Fix access uninitialized SVM stack caused by recent optimization

4 years agoFix T47038: Particles in Particle Edit Mode get added in completely wrong location.
Bastien Montagne [Mon, 4 Jan 2016 11:19:45 +0000 (12:19 +0100)]
Fix T47038: Particles in Particle Edit Mode get added in completely wrong location.

It also fixes another issue (crash) related to symmetric editing.

Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index
as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time...

This patch mostly fixes particle editing mode:
  - Adding/removing particles when using generative modifiers (like subsurf) should now work.
  - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work.
  - X-axis-mirror-editing particles over ngons does not really work, not sure why currently.
  - All this in both 'modes' (with or without using modifier stack for particles).

Tech side:
  - Store a deformed-only DM in particle modifier data.
  - Rename existing DM to make it clear it's a final one.
  - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches.
  - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM
    when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface
    from an final DM tessface index).

Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway),
it's more like some urgency bandage. Whole crap needs complete rewrite anyway,
BMesh's polygons make it really hard to work with current system (and looptri would not help much here).

Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too.

Reviewers: psy-fi

Subscribers: dfelinto, eyecandy

Maniphest Tasks: T47038

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

4 years agoRemove unused datatoc script
Campbell Barton [Mon, 4 Jan 2016 10:29:52 +0000 (21:29 +1100)]
Remove unused datatoc script

4 years agoFix T47109: Expose sound data-block selector
Campbell Barton [Mon, 4 Jan 2016 10:08:14 +0000 (21:08 +1100)]
Fix T47109: Expose sound data-block selector

4 years agoFix crash sequencer drawing with no sound
Campbell Barton [Mon, 4 Jan 2016 08:41:26 +0000 (19:41 +1100)]
Fix crash sequencer drawing with no sound

4 years agoMinor edits to sync make.bat & makefile
Campbell Barton [Mon, 4 Jan 2016 09:38:27 +0000 (20:38 +1100)]
Minor edits to sync make.bat & makefile

4 years agoRemove outdated and unmaintained script which was supposed to configure a release...
Sergey Sharybin [Mon, 4 Jan 2016 09:30:48 +0000 (14:30 +0500)]
Remove outdated and unmaintained script which was supposed to configure a release environment

It was not updated in ages and in fact, it's easier to wrap release environment
into Docker or VirtualBox image.

4 years agoRemove SCons building system
Sergey Sharybin [Mon, 4 Jan 2016 09:20:48 +0000 (14:20 +0500)]
Remove SCons building system

While SCons building system was serving us really good for ages it's no longer
having much attention by the developers and started to become quite a difficult
task to maintain.

What's even worse -- there started to be quite serious divergence between SCons
and CMake which was only accumulating over the releases now. The fact that none
of the active developers are really using SCons and that our main studio is also
using CMake spotting bugs in the SCons builds became quite a difficult task and
we aren't always spotting them in time.

Meanwhile CMake became really mature building system which is available on every
platform we support and arguably it's also easier and more robust to use.

This commit includes:

- Removal of actual SCons building system
- Removal of SCons git submodule
- Removal of documentation which is stored in the sources and covers SCons
- Tweaks to the buildbot master to stop using SCons submodule
  (this change requires deploying to the server)
- Tweaks to the install dependencies script to skip installing or mentioning
  SCons building system
- Tweaks to various helper scripts to avoid mention of SCons folders/files
  as well

Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit

Reviewed By: campbellbarton, juicyfruit

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

4 years agominor cleanup
Mike Erwin [Mon, 4 Jan 2016 06:37:55 +0000 (01:37 -0500)]
minor cleanup

4 years agoOpenGL: image drawing tweaks
Mike Erwin [Sun, 27 Dec 2015 03:23:12 +0000 (22:23 -0500)]
OpenGL: image drawing tweaks

- no need to allocate client memory up front
- delete unneeded GL calls
- set default alpha test function on exit

4 years agominor cleanup: typos
Mike Erwin [Mon, 4 Jan 2016 06:25:52 +0000 (01:25 -0500)]
minor cleanup: typos

no functional change

4 years agoOpenGL: GPU_legacy_support workaround for nVidia
Mike Erwin [Mon, 4 Jan 2016 06:03:47 +0000 (01:03 -0500)]
OpenGL: GPU_legacy_support workaround for nVidia

nVidia Linux driver reports GL_CONTEXT_PROFILE_MASK = 0, which is a bug.
In that case check for the ARB_compatibility extension.

Non-buggy drivers will continue to use
GL_CONTEXT_COMPATIBILITY_PROFILE_BIT.

Thx to Dr Hackerman for reporting.

4 years agoRemove select-next-loop operator
Campbell Barton [Mon, 4 Jan 2016 04:03:18 +0000 (15:03 +1100)]
Remove select-next-loop operator

Taken from original bmesh-branch but doesn't give useful results
(misses selection flushing).

4 years agoSculpt: OMP -> BLI_task, step II.
Bastien Montagne [Sun, 3 Jan 2016 22:54:44 +0000 (23:54 +0100)]
Sculpt: OMP -> BLI_task, step II.

This time, all tools' code itself.

Not much to say, except that we can also get rid of that OMP caching pre-process ugly stuff
for multires smoothing.

Together with previous commit, we have about 5% average speedup on stroke execution
(though this vary a lot, up to 30% speedup in rare cases, and in even rarer cases some
odd massive slowdowns...).

Tech note: we may want to add 'guided'-similar feature to our BLI_task threaded loop,
I suspect this could explain random massive slowdowns of new code (very rare, but annoying...).

4 years agoFix T47100: OpenCL compilation warnings due to missing space in the argument list
Sergey Sharybin [Sun, 3 Jan 2016 18:10:57 +0000 (23:10 +0500)]
Fix T47100: OpenCL compilation warnings due to missing space in the argument list

4 years agoFix text wrapping off-by-one error w/ string width
Campbell Barton [Sun, 3 Jan 2016 14:41:00 +0000 (01:41 +1100)]
Fix text wrapping off-by-one error w/ string width

Caused odd white space error in tooltip enum values.

4 years agoFix T47008: OSL Memory Corruption (Use after free)
Sergey Sharybin [Sun, 3 Jan 2016 13:28:33 +0000 (18:28 +0500)]
Fix T47008: OSL Memory Corruption (Use after free)

The issue was caused by OSL using TLS which is required to be freed before the
Cycles session is freed. This is quite tricky to do in Cycles because different
render session are sharing the same task scheduler, so when one session is being
freed TLS might need to be active still.

In order to solve this, we are now doing JIT optimization ahead of the time
which ensures either TLS of JIT is freed before the render on multi-core system
or freed on OSLRenderSession destroy on single-core system.

This might increase synchronization time due to JIT of unused function, but
that we can solve later with some smart idea,

4 years agoImprove system info tip
Campbell Barton [Sun, 3 Jan 2016 12:21:44 +0000 (23:21 +1100)]
Improve system info tip

4 years agoGet rid of yet another instance of DM_DRAW_OPTION_NO_MCOL
Antony Riakiotakis [Sat, 2 Jan 2016 23:26:28 +0000 (00:26 +0100)]
Get rid of yet another instance of DM_DRAW_OPTION_NO_MCOL

Logic here is weird. Generally, textured drawing overrides
material color unless material uses object color instead?
It doesn't make sense, material color is a material color
whatever the circumstance.

Repeating: idea as always is to push all those options out of per-
polygon callbacks and make decisions such as color enable in the higher
level functions.

4 years agoGet rid of three needless instances of DM_DRAW_OPTION_NO_MCOL.
Antony Riakiotakis [Sat, 2 Jan 2016 22:22:22 +0000 (23:22 +0100)]
Get rid of three needless instances of DM_DRAW_OPTION_NO_MCOL.

It would be good to get rid of this entirely, ideally decision
about mcols can be taken at material level and not done per face. More
work needs to be done for that to work though.

4 years agoGPU buffers: Add update functionality for existing buffers.
Antony Riakiotakis [Sat, 2 Jan 2016 18:55:15 +0000 (19:55 +0100)]
GPU buffers: Add update functionality for existing buffers.

Only used for color for now, but we need this for any kind of buffer
updates actually.

This should get rid of some allocation/deallocation, making
vertex painting a bit faster.

4 years agoFix compilation error on Windows
Sergey Sharybin [Sat, 2 Jan 2016 08:17:39 +0000 (13:17 +0500)]
Fix compilation error on Windows

4 years agoCycles: Force bottom-to-top tile order for viewport rendering
Lukas Stockner [Fri, 1 Jan 2016 22:52:37 +0000 (23:52 +0100)]
Cycles: Force bottom-to-top tile order for viewport rendering

This commit overrides the user's choice of tile order in the case of viewport rendering and always uses bottom-to-top instead.
This was already done until the TileManager redesign, but since it removed the distinction between viewport and regular rendering
in the manager, the viewport was now also using the selected order. Since this requires sorting of the generated tiles,
it slows down rendering a bit. With the forced bottom-to-top order, this sorting step can now be avoided again.

Since the tile order is invisible anyways for viewport rendering, this commit won't have any impact on users (apart from a slight speedup).

4 years agoCycles: Add Saw option to the wave texture
Lukas Stockner [Tue, 29 Dec 2015 13:42:49 +0000 (14:42 +0100)]
Cycles: Add Saw option to the wave texture

This commit adds "Bands Saw" and "Rings Saw" to the options for the Wave texture node in Cycles, behaving similar to the Saw option in BI textures.
Requested by @cekuhnen on BA.

Reviewers: dingto, sergey

Subscribers: cekuhnen

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

4 years agoSculpt: OMP -> BLI_task, step I.
Bastien Montagne [Fri, 1 Jan 2016 20:18:23 +0000 (21:18 +0100)]
Sculpt: OMP -> BLI_task, step I.

This gives usual nice boost in parallelized sections themselves, on global sculpting stroke
it's a bit hard to say, seems like we have an average 5% speedup, but it varies a lot...

Note that this area is only parallelized when you have a big brush over dense geometry, otherwise
there's no change at all.

As a side note, this commit also factorizes code here, three times nearly the same code, tst...

4 years agomake.bat: only configure once
Campbell Barton [Fri, 1 Jan 2016 19:30:19 +0000 (06:30 +1100)]
make.bat: only configure once

4 years agoFix OSL compilation, cannot assign vector to color.
Thomas Dinges [Fri, 1 Jan 2016 17:05:34 +0000 (18:05 +0100)]
Fix OSL compilation, cannot assign vector to color.

4 years agomake.bat: add 'clean' command
Campbell Barton [Fri, 1 Jan 2016 15:30:02 +0000 (02:30 +1100)]
make.bat: add 'clean' command

4 years agomake.bat: detect MSVC location
Campbell Barton [Fri, 1 Jan 2016 14:42:43 +0000 (01:42 +1100)]
make.bat: detect MSVC location

Now this can run from any command line (without having to be launched from MSVC Command Prompt)

4 years agomake.bat: sanity checks w/ useful error messages
Campbell Barton [Fri, 1 Jan 2016 10:26:27 +0000 (21:26 +1100)]
make.bat: sanity checks w/ useful error messages

4 years agomake.bat correct name for cycles target
Campbell Barton [Fri, 1 Jan 2016 07:47:30 +0000 (18:47 +1100)]
make.bat correct name for cycles target

4 years agoFix for make.bat
Campbell Barton [Fri, 1 Jan 2016 05:04:21 +0000 (16:04 +1100)]
Fix for make.bat

Build install target and config path was wrong.

Also use less verbose output and enable multiprocess builds.

4 years agoAdd helper make.bat file for ms-windows builders
Campbell Barton [Thu, 31 Dec 2015 18:14:49 +0000 (05:14 +1100)]
Add helper make.bat file for ms-windows builders

See --help for options (currently still quite basic)

4 years agoCycles: Implement rolling shutter effect
Sergey Sharybin [Fri, 20 Nov 2015 09:42:34 +0000 (14:42 +0500)]
Cycles: Implement rolling shutter effect

This is an attempt to emulate real CMOS cameras which reads sensor by scanlines
and hence different scanlines are sampled at a different moment in time, which
causes so called rolling shutter effect. This effect will, for example, make
vertical straight lines being curved when doing horizontal camera pan.

This is controlled by the Shutter Type option in the Motion Blur panel.

Additionally, since scanline sampling is not instantaneous it's possible to have
motion blur on top of rolling shutter.

This is controlled by the Rolling Shutter Time slider which controls balance
between pure rolling shutter effect and pure motion blur effect.

Reviewers: brecht, juicyfruit, dingto, keir

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

4 years agoFix T46915: Non-intuitive behavior of Vector Curve Mapping node
Sergey Sharybin [Tue, 15 Dec 2015 11:23:33 +0000 (16:23 +0500)]
Fix T46915: Non-intuitive behavior of Vector Curve Mapping node

Vector mapping node was doing some weird mapping of both original and mapped
coordinates. Mapping of original coordinates was caused by the clamping nature
of the LUT generated from the node. Mapping of the mapped value again was quite
totally obscure -- one needed to constantly keep in mind that actual value will
be scaled up and moved down.

This commit makes it so values in the vector curve mapping are always absolute.
In fact, it is now behaving quite the same as RGB curve mapping node and the
code could be de-duplicated. Keeping the code duplicated for a bit so it's more
clear what exact parts of the node changed.

Reviewers: brecht

Subscribers: bassamk

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

4 years agoFix T47046: Exporting Max and Maya keymap throws RNA warnings in console.
Bastien Montagne [Thu, 31 Dec 2015 13:56:06 +0000 (14:56 +0100)]
Fix T47046: Exporting Max and Maya keymap throws RNA warnings in console.

Totally harmless, but let's silence this bpyrna warning in case enum_items
is a DummyRNA_NULL_items, which is by definition empty...

4 years agoFix wrong format used in the recent python exit code commit
Sergey Sharybin [Thu, 31 Dec 2015 13:02:54 +0000 (18:02 +0500)]
Fix wrong format used in the recent python exit code commit

4 years agoLibmv: Yet again update to the latest version
Sergey Sharybin [Thu, 31 Dec 2015 12:56:57 +0000 (17:56 +0500)]
Libmv: Yet again update to the latest version

Again brings some fixes for MSVC-2015 and keeps it easier to backport
the fixes into upstream.

4 years agoCycles: Fix viewport rendering with multiple GPU devices
Sergey Sharybin [Thu, 31 Dec 2015 12:48:38 +0000 (17:48 +0500)]
Cycles: Fix viewport rendering with multiple GPU devices

4 years agoCommand line argument to exit on Python errors
Campbell Barton [Thu, 31 Dec 2015 11:29:20 +0000 (22:29 +1100)]
Command line argument to exit on Python errors

eg:
  blender -b --python-exit-code 1 --python script.py --render-anim

This causes blender not to continue parsing command line arguments and exit if the script raises an exception.

4 years agoAdd parse_int_strict_range utility for command line input
Campbell Barton [Thu, 31 Dec 2015 10:49:00 +0000 (21:49 +1100)]
Add parse_int_strict_range utility for command line input

4 years agoLibmv: Update to latest upstream version
Sergey Sharybin [Thu, 31 Dec 2015 11:16:52 +0000 (16:16 +0500)]
Libmv: Update to latest upstream version

Brings some extra fixes for MSVC-2015

4 years agoUpdate CUDA wrangler to latest upstream
Sergey Sharybin [Thu, 31 Dec 2015 11:02:24 +0000 (16:02 +0500)]
Update CUDA wrangler to latest upstream

Brings support of NVRTC bindings and also makes it easier to tweak
libraries paths and use multiple alternative names for libraries.

4 years agoCycles: Experiment with use of runtime tag instead of set for SVM generation
Sergey Sharybin [Tue, 29 Dec 2015 15:42:20 +0000 (20:42 +0500)]
Cycles: Experiment with use of runtime tag instead of set for SVM generation

This gives about 2x speedup (3.2sec vs. 11.9sec with 32716 handled nodes) when
updating shader for the shader tree.

Reviewers: brecht, juicyfruit, dingto, lukasstockner97

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

4 years agoCleanup: Py API naming
Campbell Barton [Thu, 31 Dec 2015 10:15:29 +0000 (21:15 +1100)]
Cleanup: Py API naming

Use BPY_execute_* prefix for all Python execution commands

4 years agoFix T47076: Memory issues when closing Blendera after Cycles baking
Sergey Sharybin [Thu, 31 Dec 2015 09:49:58 +0000 (14:49 +0500)]
Fix T47076: Memory issues when closing Blendera after Cycles baking

4 years agoFix T47089: View rotate fails w/ auto depth+perspective
Campbell Barton [Thu, 31 Dec 2015 08:06:26 +0000 (19:06 +1100)]
Fix T47089: View rotate fails w/ auto depth+perspective

4 years agoMSVC 2015 fix: do not redefine snprintf, even MS is getting standards complient
Martijn Berger [Thu, 31 Dec 2015 07:53:06 +0000 (08:53 +0100)]
MSVC 2015 fix: do not redefine snprintf, even MS is getting standards complient

4 years agoFix T47094: Crash w/ sequencer white-balance
Campbell Barton [Thu, 31 Dec 2015 07:14:41 +0000 (18:14 +1100)]
Fix T47094: Crash w/ sequencer white-balance

4 years agoCleanup: warning
Campbell Barton [Thu, 31 Dec 2015 07:15:28 +0000 (18:15 +1100)]
Cleanup: warning

4 years agoUsual i18n/UI messages fixes...
Bastien Montagne [Wed, 30 Dec 2015 20:44:53 +0000 (21:44 +0100)]
Usual i18n/UI messages fixes...

4 years agoFix (unreported) memleak in mesh remapping auto-transform code.
Bastien Montagne [Wed, 30 Dec 2015 20:11:07 +0000 (21:11 +0100)]
Fix (unreported) memleak in mesh remapping auto-transform code.

4 years agoGrr, forgot those ones in previous commit...
Bastien Montagne [Wed, 30 Dec 2015 20:03:39 +0000 (21:03 +0100)]
Grr, forgot those ones in previous commit...

Never believe QTCreator when it comes to finding all usages of a func, kids... grep ftw!

4 years agoBLI_task: change BLI_task_parallel_range_ex() to just take a bool whether to use...
Bastien Montagne [Wed, 30 Dec 2015 19:39:56 +0000 (20:39 +0100)]
BLI_task: change BLI_task_parallel_range_ex() to just take a bool whether to use threading or not, instead of threshold.

From recent experience, turns out we often do want to use something else than basic
range of parallelized forloop as control parameter over threads usage, so now BLI func
only takes a boolean, and caller defines best check for its own case.

4 years agoFix OS X (with 10.11 SDK) glog build errors due to using deprecated code.
Brecht Van Lommel [Wed, 30 Dec 2015 18:48:45 +0000 (19:48 +0100)]
Fix OS X (with 10.11 SDK) glog build errors due to using deprecated code.

Some values are now restored to the ones from before the upgrade today.

4 years agoFix T47081: laplacian smooth edit mode tool crash.
Brecht Van Lommel [Wed, 30 Dec 2015 16:04:34 +0000 (17:04 +0100)]
Fix T47081: laplacian smooth edit mode tool crash.

4 years agoCycles: Code cleanup: use scoped timer to measure parts of SVM compiler
Sergey Sharybin [Wed, 30 Dec 2015 14:35:21 +0000 (19:35 +0500)]
Cycles: Code cleanup: use scoped timer to measure parts of SVM compiler

4 years agoCycles: Wrap SVM compiler state variables into a single struct
Sergey Sharybin [Wed, 30 Dec 2015 14:21:19 +0000 (19:21 +0500)]
Cycles: Wrap SVM compiler state variables into a single struct

This way it's easier to pass stuff around and also much easier to add more
state variables.

So far should be no functional changes for artists.

4 years agoCycles: Optionally output luminance from the shader evaluation kernel
Sergey Sharybin [Wed, 30 Dec 2015 14:04:01 +0000 (19:04 +0500)]
Cycles: Optionally output luminance from the shader evaluation kernel

This makes it possible to move some parts of evaluation from host to the device
and hopefully reduce memory usage by avoid having full RGBA buffer on the host.

Reviewers: juicyfruit, lukasstockner97, brecht

Reviewed By: lukasstockner97, brecht

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

4 years agoCycles: Don't install CPU-related kernel files
Sergey Sharybin [Wed, 30 Dec 2015 13:51:35 +0000 (18:51 +0500)]
Cycles: Don't install CPU-related kernel files

4 years agoCycles: Deduplicte CPU kernel declaration and definition code
Sergey Sharybin [Wed, 30 Dec 2015 12:54:02 +0000 (17:54 +0500)]
Cycles: Deduplicte CPU kernel declaration and definition code

Main goal is to make kernel signatures editing easier and less prone to the
errors caused by missing function signature update or so.

This will also make it easier to add new CPU architectures.

Reviewers: juicyfruit, dingto, lukasstockner97, brecht

Reviewed By: dingto, lukasstockner97, brecht

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

4 years agoBGE: Fix invalid operator< for microsoft compiler.
Porteries Tristan [Wed, 30 Dec 2015 12:27:30 +0000 (13:27 +0100)]
BGE: Fix invalid operator< for microsoft compiler.

It fixes the strict weak ordering assertion failure, see : https://support.microsoft.com/en-us/kb/949171.
sybren and youle are the author of this commit.

4 years agoGLog: Solve some compilation warnings
Sergey Sharybin [Wed, 30 Dec 2015 12:25:54 +0000 (17:25 +0500)]
GLog: Solve some compilation warnings

Those are actually sent to a pull-request, see

  https://github.com/google/glog/pull/81

4 years agoLibmv: Update to the latest upstream version
Sergey Sharybin [Wed, 30 Dec 2015 11:51:21 +0000 (16:51 +0500)]
Libmv: Update to the latest upstream version

Main reason is to bring up new Glog which should have MSVC 2015
support.

4 years agoFix Moto overflow warnings
Thomas Szepe [Wed, 30 Dec 2015 11:45:36 +0000 (12:45 +0100)]
Fix Moto overflow warnings

This fault (level 2, C4056) was introduced by changing Moto from double to float.

4 years agoSkip some more workarounds when using MSVC 2015
Martijn Berger [Wed, 30 Dec 2015 10:23:10 +0000 (11:23 +0100)]
Skip some more workarounds when using MSVC 2015

4 years agoMake cycles compile with MSVC 2015
Martijn Berger [Tue, 29 Dec 2015 17:59:23 +0000 (18:59 +0100)]
Make cycles compile with MSVC 2015

4 years agoCycles: Add timing information to the SVM compiler stats
Sergey Sharybin [Tue, 29 Dec 2015 16:20:10 +0000 (21:20 +0500)]
Cycles: Add timing information to the SVM compiler stats

4 years agoCycles: Optimize nodes deduplication routines
Sergey Sharybin [Tue, 29 Dec 2015 15:27:00 +0000 (20:27 +0500)]
Cycles: Optimize nodes deduplication routines

The idea is to have separate sets per node name in order to speed up the
comparison process. This will use a bit more memory and slow down simple
shaders, but this extra memory is not so much huge and time penalty is
not really measurable (at least from initial tests).

This saves orders of magnitude seconds when de-duplicating 17K nodes and
overall process now takes 0.01sec on my laptop,

4 years agoCycles: Remove assert which is no longer valid
Sergey Sharybin [Tue, 29 Dec 2015 14:15:59 +0000 (19:15 +0500)]
Cycles: Remove assert which is no longer valid

Was a left-over since 5b33115.

4 years agoMore from T47045: Add i18n translations to render status from compo.
Bastien Montagne [Tue, 29 Dec 2015 11:42:12 +0000 (12:42 +0100)]
More from T47045: Add i18n translations to render status from compo.

Also fix inconsistency for freestyle translation - we use IFACE_ everywhere
(TIP_ may be more suited, but let's be consistent first!).

4 years agoBuilding w/o OpenMP now works again
Campbell Barton [Mon, 28 Dec 2015 23:22:11 +0000 (10:22 +1100)]
Building w/o OpenMP now works again

rename define since its no longer OpenMP specific.

4 years agoFix invalid memory access in multiview code during render, reported on irc.
Brecht Van Lommel [Mon, 28 Dec 2015 23:24:41 +0000 (00:24 +0100)]
Fix invalid memory access in multiview code during render, reported on irc.

4 years agoOS X: remove code for OS X <= 10.5, which is already not supported since 2 years.
Brecht Van Lommel [Sun, 27 Dec 2015 17:54:14 +0000 (18:54 +0100)]
OS X: remove code for OS X <= 10.5, which is already not supported since 2 years.

4 years agoFix memleaks in our gtests.
Bastien Montagne [Mon, 28 Dec 2015 22:19:24 +0000 (23:19 +0100)]
Fix memleaks in our gtests.

4 years agoBLI_math_statistics: switch from OMP to BLI_task.
Bastien Montagne [Mon, 28 Dec 2015 21:57:55 +0000 (22:57 +0100)]
BLI_math_statistics: switch from OMP to BLI_task.

This time, with have over 300% speedup!

But no, this is not due to switch to BLI_task (which 'only' gives usal 15% speedup),
but to enhancement of the algorithm, flatten loop over covariance matrix items now allows
to compute (usually) all items in parallel, instead of having at most 3 or 4 working threads
(with unbalanced load even)...

4 years agoBLI_kdopbvh: switch from OMP to BLI_task.
Bastien Montagne [Mon, 28 Dec 2015 20:37:46 +0000 (21:37 +0100)]
BLI_kdopbvh: switch from OMP to BLI_task.

Gives the usual 10%-30% speedup on affected functions themselves (BLI_bvhtree_overlap() and
BLI_bvhtree_balance()), and about 2% speedup to overall cloth sim e.g. (measured from
main Cloth modifier func).

4 years agoFix opengl error when GLSL is on for basic shader: shader needs to be
Antony Riakiotakis [Mon, 28 Dec 2015 19:51:38 +0000 (20:51 +0100)]
Fix opengl error when GLSL is on for basic shader: shader needs to be
bound before setting uniforms

4 years agocdderivedmesh fix stippled faces not getting drawn at all
Antony Riakiotakis [Mon, 28 Dec 2015 16:54:45 +0000 (17:54 +0100)]
cdderivedmesh fix stippled faces not getting drawn at all

Also rearranged code here to not issue a draw call (explicit flush) per
face and not set shader per face either when stippled drawing is mixed
with regular drawing. Not good at all for performance.

4 years agoFix T47045: add some missing UI i18n translations to texture buttons and freestyle...
Bastien Montagne [Mon, 28 Dec 2015 16:46:48 +0000 (17:46 +0100)]
Fix T47045: add some missing UI i18n translations to texture buttons and freestyle render messages.

4 years agoMinor cleanup (paranoid checks) and fixes from coverity.
Bastien Montagne [Mon, 28 Dec 2015 15:48:35 +0000 (16:48 +0100)]
Minor cleanup (paranoid checks) and fixes from coverity.

4 years agoSome fixes from coverity (only one really nasty, in paint_proj).
Bastien Montagne [Mon, 28 Dec 2015 15:08:36 +0000 (16:08 +0100)]
Some fixes from coverity (only one really nasty, in paint_proj).

4 years agoCycles: Use different approach for SVM summary report
Sergey Sharybin [Mon, 28 Dec 2015 14:30:43 +0000 (19:30 +0500)]
Cycles: Use different approach for SVM summary report

Use Summary structure to collect all summary related on the shader compilation
process which then could be either simply reported to the log or be passed to
some user interface or so.

This is type of the summary / report which is most flexible and useful and
something we could use for other parts like shader optimization.

4 years agoCleanup: style, indentation
Campbell Barton [Mon, 28 Dec 2015 14:08:13 +0000 (01:08 +1100)]
Cleanup: style, indentation

4 years agoCorrect recent error passing NULL to fclose
Campbell Barton [Mon, 28 Dec 2015 14:00:25 +0000 (01:00 +1100)]
Correct recent error passing NULL to fclose

4 years agoCycles; Fix typo in the comment
Sergey Sharybin [Mon, 28 Dec 2015 14:01:26 +0000 (19:01 +0500)]
Cycles; Fix typo in the comment

4 years agoCycles: Log basic statistics of SVM compilation process
Sergey Sharybin [Mon, 28 Dec 2015 14:00:11 +0000 (19:00 +0500)]
Cycles: Log basic statistics of SVM compilation process

4 years agoCeres: Remove suitesparse related files
Sergey Sharybin [Sat, 26 Dec 2015 19:26:57 +0000 (00:26 +0500)]
Ceres: Remove suitesparse related files

It's quite small chance we'll be supporting suitesparse for Blender due to all
the complexity of 3rd party libraries, so removing implementation files which
are only needed when suitesparse is enabled.

4 years agoCycles: Implement node deduplication routines
Sergey Sharybin [Tue, 15 Dec 2015 16:56:27 +0000 (21:56 +0500)]
Cycles: Implement node deduplication routines

The idea of this commit is to merge nodes which has identical settings
and matching inputs into a single node in order to minimize number of
SVM instructions.

This is quite simple bottom-top graph traversal and the trickiest part
is how to compare node settings without too much trouble which seems to
be solved is quite clean way.

Still possibilities for further improvements:

- Support comparison of BSDF nodes
- Support comparison of volume nodes
- Support comparison of curve mapping/ramp nodes

Reviewers: brecht, juicyfruit, dingto

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

4 years agoWhite Balance modifier for the VSE
Thomas Beck [Mon, 28 Dec 2015 10:55:14 +0000 (11:55 +0100)]
White Balance modifier for the VSE

This snippet creates a white balance modifier for the video sequence editor. It is useful for everyone who likes to set a new white point in the video source (easily via the eyedropper). Just select a point in the source file where you know that it should be white. The algorithm will then shift the colors towards your new white point.

See attached the image for a quick demo.

{F270576}

Reviewers: psy-fi

Reviewed By: psy-fi

Subscribers: Blendify

Projects: #bf_blender

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

4 years agoFix for building ghost-tests
Campbell Barton [Mon, 28 Dec 2015 10:40:49 +0000 (21:40 +1100)]
Fix for building ghost-tests