5 years agoCMake: Ignore paranoid MSVC linker warnings
Sergey Sharybin [Sat, 20 Feb 2016 07:45:29 +0000 (12:45 +0500)]
CMake: Ignore paranoid MSVC linker warnings

5 years agoFix for NULL used instead of false
Sergey Sharybin [Sat, 20 Feb 2016 06:50:58 +0000 (11:50 +0500)]
Fix for NULL used instead of false

5 years agoCleanup, avoid passing const pointer to MEM_freeN()
Sergey Sharybin [Sat, 20 Feb 2016 06:47:51 +0000 (11:47 +0500)]
Cleanup, avoid passing const pointer to MEM_freeN()

This generates warnings with MSVC. Similar typecast was
already done in other cases, so think it's all fine.

5 years agoImBuf: Cleanup, don't use `using namespace`, it's a bad practice
Sergey Sharybin [Sat, 20 Feb 2016 06:42:16 +0000 (11:42 +0500)]
ImBuf: Cleanup, don't use `using namespace`, it's a bad practice

5 years agoImBuf: Solve re-definition warnings
Sergey Sharybin [Sat, 20 Feb 2016 06:40:25 +0000 (11:40 +0500)]
ImBuf: Solve re-definition warnings

The idea now is to have FFmpeg/OIIO headers listed after
the system ones. This is because FFmpeg/OIIO might define
some constants with the same name as the ones from math.h.

FFmpeg/OIIO has ifdef around defines, but math.h doesn't
check whether constants were already defined or not, which
causes some noisy warnings.

5 years agoCycles: Avoid re-definition of math cnstants with MSVC
Sergey Sharybin [Sat, 20 Feb 2016 06:37:24 +0000 (11:37 +0500)]
Cycles: Avoid re-definition of math cnstants with MSVC

5 years agoFix some warnings in GLog/GFlags when buildingwith MSVC2013
Sergey Sharybin [Sat, 20 Feb 2016 06:31:58 +0000 (11:31 +0500)]
Fix some warnings in GLog/GFlags when buildingwith MSVC2013

Those warnings were only addressed for MSVC2015 so far.

5 years agoCMake: Don't pass SSE2 flags in compositor for 64bit MSVC
Sergey Sharybin [Sat, 20 Feb 2016 05:51:27 +0000 (10:51 +0500)]
CMake: Don't pass SSE2 flags in compositor for 64bit MSVC

ALl 64 bit platforms supports SSE2, hence the flag is ignored
and warning was generated.

5 years agoFix (unreported) crash when ungrouping a nodegroup with some animated node.
Bastien Montagne [Sat, 20 Feb 2016 12:15:40 +0000 (13:15 +0100)]
Fix (unreported) crash when ungrouping a nodegroup with some animated node.

Was accessing already freed action in temp nodegroup animation data...

5 years agoFix T44453: Exporting Keying Sets referencing node tree properties generates invalid...
Joshua Leung [Sat, 20 Feb 2016 04:53:32 +0000 (17:53 +1300)]
Fix T44453: Exporting Keying Sets referencing node tree properties generates invalid Python code/paths

The problem is that node trees (such as the Material, Lamp, and Compositor node trees)
are stored as "nested node trees" on the affected datablocks. They are particularly
troublesome to deal with, as the are not easily identified, and also cannot be easily
mapped back to the ID's which actually own them. As a result, the usual automated
methods do not work when dealing with these!

5 years agoFix T47433: Driven shapekey values (from 2.4x) are not indicated as having drivers
Joshua Leung [Sat, 20 Feb 2016 04:25:04 +0000 (17:25 +1300)]
Fix T47433: Driven shapekey values (from 2.4x) are not indicated as having drivers

Only Driver FCurves with named shapekeys (instead of shapekey indices) was
getting picked up by the UI code for testing whether a property had drivers
or not. So, while this version patching code worked when it was initially
written for the 2.4x -> 2.5 transition, some subsequent changes ended up
breaking this. As this stuff is not used often, the breakage wasn't noticed.

5 years agoFix T47492: Name is not displayed for newly renamed FCurve, when the path was broken
Joshua Leung [Sat, 20 Feb 2016 04:01:27 +0000 (17:01 +1300)]
Fix T47492: Name is not displayed for newly renamed FCurve, when the path was broken

Thanks Alexander Romanov (a.romanov) for the fix!

5 years agoOnly use outlines around faces for surface objects
Campbell Barton [Sat, 20 Feb 2016 02:44:17 +0000 (13:44 +1100)]
Only use outlines around faces for surface objects

Was drawing wire when mixed with non-wire nurbs.

5 years agoFix nurbs surface drawing using material for lines
Campbell Barton [Sat, 20 Feb 2016 02:39:33 +0000 (13:39 +1100)]
Fix nurbs surface drawing using material for lines

Also reduce context switching

5 years agoMinor adjustments to keymap editor layouts
Julian Eisel [Fri, 19 Feb 2016 23:42:07 +0000 (00:42 +0100)]
Minor adjustments to keymap editor layouts

* Remove unnecessary big margins after triangle icons (esp. for keymap items they where waaay to big)
* Remove ugly margin after "Foo (Global)" entries
* Add little margin after expanded key maps

5 years agoFix wrong indentation of items in keymap editor
Julian Eisel [Fri, 19 Feb 2016 23:10:28 +0000 (00:10 +0100)]
Fix wrong indentation of items in keymap editor

Actually, 3 issues here:
* Keymap items of "Foo (Global)" maps weren't indented enough
* Items after a opened "Foo (Global)" map were indented too much (col was overridden then).

5 years agoFix compilation error with FFmpeg and Ubuntu Trusty
Sergey Sharybin [Fri, 19 Feb 2016 21:04:07 +0000 (22:04 +0100)]
Fix compilation error with FFmpeg and Ubuntu Trusty

Seems this is a confusion between Libav which was silently used
by Ubuntu instead of FFmpeg.

5 years agoSet line-width, point size when running callbacks
Campbell Barton [Fri, 19 Feb 2016 19:55:16 +0000 (06:55 +1100)]
Set line-width, point size when running callbacks

Since 2.76 Blender no longer resets these after use,
this may break add-ons, so reset before calling region callbacks.

5 years agoCleanup: remove unused environment files.
Campbell Barton [Fri, 19 Feb 2016 16:47:38 +0000 (03:47 +1100)]
Cleanup: remove unused environment files.

5 years agoFix implicit double to float conversion caused by use of double precision M_PI
Sergey Sharybin [Fri, 19 Feb 2016 16:40:45 +0000 (17:40 +0100)]
Fix implicit double to float conversion caused by use of double precision M_PI

5 years agofix T47484: replaced tempnam() by simple name 'untitled'
Gaia Clary [Fri, 19 Feb 2016 15:23:11 +0000 (16:23 +0100)]
fix T47484: replaced tempnam() by simple name 'untitled'

5 years agoFix T47472: Border select in the Action Editor does not respect NLA scaling on Summar...
Joshua Leung [Fri, 19 Feb 2016 13:53:08 +0000 (02:53 +1300)]
Fix T47472: Border select in the Action Editor does not respect NLA scaling on Summary Tracks

5 years agoMac OS X Openvdb, add blosc support.
Martijn Berger [Fri, 19 Feb 2016 10:24:07 +0000 (02:24 -0800)]
Mac OS X Openvdb, add blosc support.
even if WITH_OPENVDB_BLOSC is off openvdb still contains 1 reference to snappy so we link with it always

5 years agoCMake: New dependency graph requires either Boost or C++11
Sergey Sharybin [Fri, 19 Feb 2016 09:18:38 +0000 (10:18 +0100)]
CMake: New dependency graph requires either Boost or C++11

5 years agoFix T47454: Line width display error
Campbell Barton [Fri, 19 Feb 2016 01:45:01 +0000 (12:45 +1100)]
Fix T47454: Line width display error

Note, there are still cases where nurbs surfaces display double line width,
but this isn't a regression from previous releases.

5 years agoWorkaround for T47213: branched path sampling issues with CUDA 7.5.
Brecht Van Lommel [Thu, 18 Feb 2016 23:39:00 +0000 (00:39 +0100)]
Workaround for T47213: branched path sampling issues with CUDA 7.5.

5 years agoFix T47477: Transform allows 'inf' input
Campbell Barton [Thu, 18 Feb 2016 23:19:19 +0000 (10:19 +1100)]
Fix T47477: Transform allows 'inf' input

Numeric input wasn't checking numbers were finite,
could crash transforming with skin modifier.

5 years agoFix crash drawing fonts at size 1
Campbell Barton [Thu, 18 Feb 2016 22:40:26 +0000 (09:40 +1100)]
Fix crash drawing fonts at size 1

5 years agoFix frame node text ignoring blank lines
Campbell Barton [Thu, 18 Feb 2016 22:22:26 +0000 (09:22 +1100)]
Fix frame node text ignoring blank lines

5 years agoFix T47451: Blender internal not rendering meshes with zero vertices in the original...
Brecht Van Lommel [Thu, 18 Feb 2016 04:29:05 +0000 (05:29 +0100)]
Fix T47451: Blender internal not rendering meshes with zero vertices in the original mesh.

5 years agoFix T45343: incorrect Cycles baking of bump maps from selected to active.
Brecht Van Lommel [Thu, 18 Feb 2016 00:35:52 +0000 (01:35 +0100)]
Fix T45343: incorrect Cycles baking of bump maps from selected to active.

The differentials were incorrect, now they are properly transferred from the
low to the high poly mesh.

5 years agoFix related to T45343: UV unwrap giving poor results for some n-gons.
Brecht Van Lommel [Thu, 18 Feb 2016 03:16:19 +0000 (04:16 +0100)]
Fix related to T45343: UV unwrap giving poor results for some n-gons.

5 years agoCycles: Fix wrong sample all direct/indirect settings on sm_50 and higher
Sergey Sharybin [Thu, 18 Feb 2016 15:25:51 +0000 (16:25 +0100)]
Cycles: Fix wrong sample all direct/indirect settings on sm_50 and higher

Seems to be some compiler fault which leads to a wrong flag being used,
making it so wrong number of samples is used for the background.

This should in theory fix issue reported in T47213.

5 years agoBGE: Allow access to original texture openGL Bind code/Id/Number
Ulysse Martin [Thu, 18 Feb 2016 10:56:25 +0000 (11:56 +0100)]
BGE: Allow access to original texture openGL Bind code/Id/Number

This patch adds a python method to get openGL bind code of material's texture according to the texture slot.

import bge

cont = bge.logic.getCurrentController()
own = cont.owner

bindId = own.meshes[0].materials[0].getTextureBindcode(0)
Test file:

This can be used to play with texture in openGL, for example, remove mipmap on the texture or play with all wrapping or filtering options.
And this can be used to learn openGL with Blender.

Reviewers: TwisterGE, kupoman, moguri, panzergame

Reviewed By: TwisterGE, kupoman, moguri, panzergame

Projects: #game_engine

Differential Revision:

5 years agoActually only remove sqlite dll
Martijn Berger [Thu, 18 Feb 2016 09:53:45 +0000 (10:53 +0100)]
Actually only remove sqlite dll

5 years agoRevert "Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statical...
Martijn Berger [Thu, 18 Feb 2016 09:52:36 +0000 (10:52 +0100)]
Revert "Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into pythons _sqlite"

This reverts commit a8e6b633c9f54f0948a0b9a47534bc38ac95889f.

5 years agoCleanup: add missing struct qualifier
Campbell Barton [Thu, 18 Feb 2016 08:32:33 +0000 (19:32 +1100)]
Cleanup: add missing struct qualifier

5 years agoFix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into...
Martijn Berger [Thu, 18 Feb 2016 07:19:14 +0000 (08:19 +0100)]
Fix: T46526, Do not try to install sqlite3.dll anymore as we link it statically into pythons _sqlite

5 years agoFix T47461: Different results on CPU and GPU when using Branched Path Tracing
Lukas Stockner [Thu, 18 Feb 2016 00:13:07 +0000 (01:13 +0100)]
Fix T47461: Different results on CPU and GPU when using Branched Path Tracing

The issue here was actually somewhere else - the attached scene from the report used a light falloff node in a sunlamp (aka distant light).
However, since distant lamps set the ray length to FLT_MAX and the light falloff node squares this value, it overflows and produces a NaN
weight, which propagates and leads to a NaN intensity, which is then clamped to zero and produces the black pixels.

To fix that issue, the smoothing part of the light falloff is just ignored if the smoothing term isn't finite (which makes sense since
the term should converge to 1 as the distance increases).
The reason for the different results on CPUs and GPUs is not perfectly clear, but probably can be explained with different handling of
Inf/NaN edge cases.

Also, to notice issues like these faster in the future, kernel_asserts were added that evaluate as false as soon as a non-finite intensity is produced.

5 years agoFix crash on exit with Blender Internal baking and envmap render.
Brecht Van Lommel [Wed, 17 Feb 2016 21:18:45 +0000 (22:18 +0100)]
Fix crash on exit with Blender Internal baking and envmap render.

5 years agoFix armature relationship lines missing w/ hi-dpi
Campbell Barton [Wed, 17 Feb 2016 19:37:12 +0000 (06:37 +1100)]
Fix armature relationship lines missing w/ hi-dpi

5 years agoFix line width for armature w/ custom bones
Campbell Barton [Wed, 17 Feb 2016 18:46:14 +0000 (05:46 +1100)]
Fix line width for armature w/ custom bones

5 years agoFix T47452: Translate-node seams w/ subpixel offset
Campbell Barton [Wed, 17 Feb 2016 14:28:41 +0000 (01:28 +1100)]
Fix T47452: Translate-node seams w/ subpixel offset

5 years agoBuildbot: Remove CMake cache on all platforms
Sergey Sharybin [Wed, 17 Feb 2016 14:29:13 +0000 (15:29 +0100)]
Buildbot: Remove CMake cache on all platforms

This way we are always sure that we are using latest ever configuration
without need to manually poke buildbot after doing changes in the building

Also uncomment code back, was a left-over from some debug.

5 years agoCycles: Make CUDA 7.5 officially recommended
Sergey Sharybin [Wed, 17 Feb 2016 14:10:02 +0000 (15:10 +0100)]
Cycles: Make CUDA 7.5 officially recommended

This was a hard decision, because going newer CUDA toolkit makes
rendering up to 5% slower. But on another hand, it solves major
speed regressions (up to 30%) with branched path tracing on a
top level cards.

Neither of those regressions have a meaningful and sane workaround
from the code itself.

Toolkit 6.5 could still be used, but it's no longer recommended one.

5 years agoFix/workaround static object initialization in gflags
Sergey Sharybin [Wed, 17 Feb 2016 14:00:12 +0000 (15:00 +0100)]
Fix/workaround static object initialization in gflags

5 years agoinstall_deps: final CMake instructions: always update all libs controlled by this...
Bastien Montagne [Wed, 17 Feb 2016 13:47:49 +0000 (14:47 +0100)]
install_deps: final CMake instructions: always update all libs controlled by this script.

Otherwise, switch from local built to system installed libs (once a valid package becomes available)
would be missed...

5 years agoinstall_deps: OSD building: disable CUDA/OpenCL backends.
Bastien Montagne [Wed, 17 Feb 2016 13:14:41 +0000 (14:14 +0100)]
install_deps: OSD building: disable CUDA/OpenCL backends.

Those are can of worms to support properly (versions mismatch, etc.),
and not used in Blender currently anyway.

5 years agoCycles: Don't silence unused macro, remove the macro instead
Sergey Sharybin [Wed, 17 Feb 2016 11:40:56 +0000 (12:40 +0100)]
Cycles: Don't silence unused macro, remove the macro instead

It's not really handy to silence something unused hoping for it'll be
used in the future. We can end up with quite some silencing then.

Also made this flag which i find rather useless to NOT cause -Werror
in Cycles code.

5 years agoCleanup: unused define warning
Campbell Barton [Wed, 17 Feb 2016 10:37:44 +0000 (21:37 +1100)]
Cleanup: unused define warning

5 years agoCleanup: OSL style
Campbell Barton [Wed, 17 Feb 2016 10:36:54 +0000 (21:36 +1100)]
Cleanup: OSL style

5 years agoFix T47447: Cycles crash when reaching texture limit with 3D textures
Sergey Sharybin [Wed, 17 Feb 2016 10:43:03 +0000 (11:43 +0100)]
Fix T47447: Cycles crash when reaching texture limit with 3D textures

5 years agoSome more tweaks to make linking to a shared FFmpeg-3.0 happy
Sergey Sharybin [Wed, 17 Feb 2016 08:25:26 +0000 (09:25 +0100)]
Some more tweaks to make linking to a shared FFmpeg-3.0 happy

5 years agoAdd missing glLineWidth call
Campbell Barton [Wed, 17 Feb 2016 09:35:47 +0000 (20:35 +1100)]
Add missing glLineWidth call

5 years agoUse high precision for scene scale
Campbell Barton [Wed, 17 Feb 2016 09:31:11 +0000 (20:31 +1100)]
Use high precision for scene scale

Without this its possible to accidentally truncate the value.

5 years agoFix T47411: Cycles portals luminance artifacts
Lukas Stockner [Tue, 16 Feb 2016 23:29:21 +0000 (00:29 +0100)]
Fix T47411: Cycles portals luminance artifacts

When using multiple portals, scene areas behind one of the portals were rendered darker than they should.
The reason for that is a pretty stupid mistake: Since portals are only used at positions that aren't behind them,
only portals that are used should be accounted for in the PDF calculation. That was actually the case, but the final
divide incorrectly divided by the total amount of portals, not the amount of visible ones.

Another issue with areas behind portals was the PDF evaluation function.
The new evaluation code is shorter, simpler and fixes this issue.

Also, the threshold for the distance check was increased to avoid artifacts where portals touch a surface.

5 years agoFix OpenCL kernel build errors after recent 3D texture changes.
Brecht Van Lommel [Wed, 17 Feb 2016 00:20:46 +0000 (01:20 +0100)]
Fix OpenCL kernel build errors after recent 3D texture changes.

5 years agoFix (harmless) assert in BVH spatial splits with Visual Studio debug builds.
Brecht Van Lommel [Tue, 16 Feb 2016 21:35:18 +0000 (22:35 +0100)]
Fix (harmless) assert in BVH spatial splits with Visual Studio debug builds.

5 years agoFix broken ghash performance gtest.
Bastien Montagne [Tue, 16 Feb 2016 21:18:49 +0000 (22:18 +0100)]
Fix broken ghash performance gtest.

Regression from rB2dba2b3d71d9781bce45. Do not understand why MSVC needs this convoluted
allocation (looks like broken compiler crap?), but at least let's do it correctly!

5 years agoCleanup: avoid -Wnarrowing warning
Campbell Barton [Tue, 16 Feb 2016 18:17:03 +0000 (05:17 +1100)]
Cleanup: avoid -Wnarrowing warning

5 years agoCycles: Remove back some tweaks for inline policies
Sergey Sharybin [Tue, 16 Feb 2016 16:25:58 +0000 (17:25 +0100)]
Cycles: Remove back some tweaks for inline policies

While kernel compiles fine, it seems generated binary is not really correct.

5 years agoMake game engine ready for FFmpeg-3.0 as well
Sergey Sharybin [Tue, 16 Feb 2016 15:29:47 +0000 (16:29 +0100)]
Make game engine ready for FFmpeg-3.0 as well

5 years agoCorrect label for simple deform modifier
Campbell Barton [Tue, 16 Feb 2016 14:55:40 +0000 (01:55 +1100)]
Correct label for simple deform modifier

5 years agoCycles: Some cleanup, should be no functional changes
Sergey Sharybin [Tue, 16 Feb 2016 14:32:26 +0000 (15:32 +0100)]
Cycles: Some cleanup, should be no functional changes

Addressing meaningful feedback from coverity.

5 years agoFix items in mode pie changing position by supporting more than 8 items in operator...
Julian Eisel [Tue, 16 Feb 2016 13:50:26 +0000 (14:50 +0100)]
Fix items in mode pie changing position by supporting more than 8 items in operator-enum pies

Now a 'More' item is added to the pie when there are too many items. It opens a sub-pie that contains the remaining items.
Note that this only touches operator-enum pies (like the object mode pie is), it is not a complete support for pies with more than 8 items. For this further design and code work would be needed, but this is too urgent to wait for that.

This is a better fix for T46973, should definitely be applied for 2.77 release.

Patch D1800 by myself with some edits by @campbellbarton, thanks!

5 years agoAdd missing line-width for curve widget
Campbell Barton [Tue, 16 Feb 2016 12:45:12 +0000 (23:45 +1100)]
Add missing line-width for curve widget

5 years agoFix T47427: Crash caused by OSL
Sergey Sharybin [Tue, 16 Feb 2016 12:37:05 +0000 (13:37 +0100)]
Fix T47427: Crash caused by OSL

5 years agoSet line-width for sequencer borders
Campbell Barton [Tue, 16 Feb 2016 12:23:40 +0000 (23:23 +1100)]
Set line-width for sequencer borders

5 years agoFix sample mis-match w/ OpenGL full-sample render
Campbell Barton [Tue, 16 Feb 2016 12:11:29 +0000 (23:11 +1100)]
Fix sample mis-match w/ OpenGL full-sample render

5 years agoCleanup: Typo.
Thomas Dinges [Tue, 16 Feb 2016 12:00:44 +0000 (13:00 +0100)]
Cleanup: Typo.

5 years agoAmend T47425 fix, use scene setting
Campbell Barton [Tue, 16 Feb 2016 11:29:54 +0000 (22:29 +1100)]
Amend T47425 fix, use scene setting

There are times when the preview background is important.

5 years agoCycles: Fix crash when trying to render after re-enabling the addon
Sergey Sharybin [Tue, 16 Feb 2016 11:47:12 +0000 (12:47 +0100)]
Cycles: Fix crash when trying to render after re-enabling the addon

5 years agoMake Blender compilable with FFmpeg-3.0
Sergey Sharybin [Tue, 16 Feb 2016 11:32:42 +0000 (12:32 +0100)]
Make Blender compilable with FFmpeg-3.0

While it's not something we'll be using for the official release,
it's nice to support new libraries at least on "it compiles" level,
so it's not that many frustrated developers around.

Nexyon, please have a look into Audaspace changes :)

5 years agoSequencer: GL preview, use transparent background
Campbell Barton [Tue, 16 Feb 2016 10:12:10 +0000 (21:12 +1100)]
Sequencer: GL preview, use transparent background

Fixes T47425, match 2.76 and non-preview behavior

5 years agoFix T47422: Factory startup loads too many fonts
Campbell Barton [Mon, 15 Feb 2016 20:50:40 +0000 (07:50 +1100)]
Fix T47422: Factory startup loads too many fonts

5 years agoCycles: Initial support of 3D textures for CUDA rendering
Sergey Sharybin [Mon, 15 Feb 2016 14:40:39 +0000 (15:40 +0100)]
Cycles: Initial support of 3D textures for CUDA rendering

Supports both smoke/fire and point density textures now.

Reduces number of textures available for sm_20 and sm_21, but you have
to compromise somewhere on such a limited hardware.

Currently limited to linear interpolation only, and decoupled ray
marching is not supported yet. Think those could be considered just a
further improvement.

Some quick example:

Code is minimal and we can fully consider it a fix for missing
support of 3D textures with CUDA.

Reviewers: lukasstockner97, brecht, juicyfruit, dingto

Reviewed By: brecht, juicyfruit, dingto

Subscribers: mib2berlin

Differential Revision:

5 years agoMake cycles standalone link again
Martijn Berger [Mon, 15 Feb 2016 20:00:25 +0000 (21:00 +0100)]
Make cycles standalone link again

5 years agoUsual i18n tweaks...
Bastien Montagne [Mon, 15 Feb 2016 19:09:10 +0000 (20:09 +0100)]
Usual i18n tweaks...

5 years agoCleanup: reorganize BKE ID tagging functions.
Bastien Montagne [Mon, 15 Feb 2016 18:35:35 +0000 (19:35 +0100)]
Cleanup: reorganize BKE ID tagging functions.

BKE_main_id_tag_/BKE_main_id_flag_ were horrible naming now that we split those
into flags (for presistent one) and tags (for runtime ones).

Got rid of previous 'tag_' functions behavior (those who were dedicated shortcuts
to set/clear LIB_TAG_DOIT), so now '_tag_' functions affect tags, and '_flag_'
functions affect flags.

5 years agoCleanup: rna_main_api: use macro to define tag() and is_updated rna functions.
Bastien Montagne [Mon, 15 Feb 2016 18:33:34 +0000 (19:33 +0100)]
Cleanup: rna_main_api: use macro to define tag() and is_updated rna functions.

5 years agoBuildbot: Support CUDA kernels cross-compile and enable it for 32bit platforms
Sergey Sharybin [Mon, 15 Feb 2016 18:12:46 +0000 (19:12 +0100)]
Buildbot: Support CUDA kernels cross-compile and enable it for 32bit platforms

5 years agoCycles: Tweaks for 32bit CUDA binaries
Sergey Sharybin [Mon, 15 Feb 2016 18:11:02 +0000 (19:11 +0100)]
Cycles: Tweaks for 32bit CUDA binaries

Tweak some inline policies. Not totally crazy yet, and in fact we now
have one less ifdef statement now.

5 years agoCycles: Use CUDA_64_BIT_DEVICE_CODE to detect which CUDA architecture to use
Sergey Sharybin [Mon, 15 Feb 2016 18:08:36 +0000 (19:08 +0100)]
Cycles: Use CUDA_64_BIT_DEVICE_CODE to detect which CUDA architecture to use

It is initialized based on size of pointer, which matches our previous
behavior, but using it in Cycles side allows to cross-compile CUDA

5 years agoCycles: Make guarded allocator compatible with MSVC2015
Sergey Sharybin [Mon, 15 Feb 2016 13:31:13 +0000 (18:31 +0500)]
Cycles: Make guarded allocator compatible with MSVC2015

5 years agoFix white balance, was doing unnecessary linear conversions
Campbell Barton [Mon, 15 Feb 2016 13:05:44 +0000 (00:05 +1100)]
Fix white balance, was doing unnecessary linear conversions

This made byte & float images behave differently, where other modifiers remain the same.
Also remove scene from the modifier (should have been passed as arg but no longer needed).

5 years agoCompositor: Re-consider the way how track speed works
Sergey Sharybin [Mon, 15 Feb 2016 11:43:14 +0000 (12:43 +0100)]
Compositor: Re-consider the way how track speed works

Based on an user feedback, previous implementation with providing
decoupled X and Y speeds didn't work in production at all: there
is no way to combine this speeds to an usable vector.

So now we're providing speed vector output instead, which provides
speed in an exactly the way Vector Blur node expects it to be:
first two components is a speed from the past, second two components
defines speed to the future.

Old behavior can be achieved by RGBA separating the speed output
and using first tow components.

Now this speed gives quite the same results as a speed pass, with
the only difference that track position speed uses "shutter" of
1 while pass uses shutter of 0.5 (and there's no way to affect on

5 years agoCycles: Fix guarded allocator issues on Windows
Sergey Sharybin [Mon, 15 Feb 2016 10:46:13 +0000 (11:46 +0100)]
Cycles: Fix guarded allocator issues on Windows

The issue was caused by static vectors allocating some internal
data using rebound element allocator for them, which was causing
access to a non-initialized statistics objects and was failing a
lot when switching Blender to a fully guarded allocation.

Additionally, we were not able to free that internal memory before
Blender exits, which was causing false-positive memory leak prints.

Now we're not using GuardedAllocator for those proxy containers.

Ideally this should be done as a GuardedAllocator::rebind, but
it didn't work for vector<bool> because it seems some internal
parts are converting bool to char32_t, which either makes it so
we can't use GuardedAllocator for those vectors or the compiler
get's confused when we're trying explicitly allow GuardedAllocator
for rebind<char32_t>.

This with current approach we should be fine for the release.

5 years agoCleanup: rst style
Campbell Barton [Mon, 15 Feb 2016 08:37:37 +0000 (19:37 +1100)]
Cleanup: rst style

5 years agoDocs: update tip on using the systems Python
Campbell Barton [Mon, 15 Feb 2016 08:35:54 +0000 (19:35 +1100)]
Docs: update tip on using the systems Python

5 years agoFix for Python executable not being found on Linux
Campbell Barton [Mon, 15 Feb 2016 08:01:28 +0000 (19:01 +1100)]
Fix for Python executable not being found on Linux

Python name could include ABI-flags after the version,
since checking for all combinations of ABI flags can expand into many possibilities,
take the executable name from the build system.

5 years agoCMake: install python as an executable
Campbell Barton [Mon, 15 Feb 2016 07:45:32 +0000 (18:45 +1100)]
CMake: install python as an executable

5 years agoUber-picky: Too small margin in tooltip
Julian Eisel [Sun, 14 Feb 2016 22:02:47 +0000 (23:02 +0100)]
Uber-picky: Too small margin in tooltip

Minor design detail, but kept bugging me :) Was removed in rBd57847ca5b9.

5 years agoCycles: Fix infinite recursion of md5 calculation on Windows
Sergey Sharybin [Sun, 14 Feb 2016 16:05:29 +0000 (21:05 +0500)]
Cycles: Fix infinite recursion of md5 calculation on Windows

Was caused by some safety things of making sure we've for NULL
terminator for the buffer when doing mbs<->wcs conversion, but
it turns out this simply confuses str::string and it can no
longer have proper .size(). Let's assume behavior of string
allocation is same all over the std, and we can avoid having
that extra null-terminator allocated.

5 years agoFix T47405: subsurf triangulation was producing incorrect normals after last fix.
Brecht Van Lommel [Sun, 14 Feb 2016 19:24:36 +0000 (20:24 +0100)]
Fix T47405: subsurf triangulation was producing incorrect normals after last fix.

5 years agoTweak doc section about overriding context - point out context.copy() usage!
Bastien Montagne [Sun, 14 Feb 2016 17:26:34 +0000 (18:26 +0100)]
Tweak doc section about overriding context - point out context.copy() usage!

5 years agoDocs: update doxy config
Campbell Barton [Sun, 14 Feb 2016 11:11:35 +0000 (22:11 +1100)]
Docs: update doxy config

5 years agoDocs: disable sharing docs within a group
Campbell Barton [Sun, 14 Feb 2016 11:08:57 +0000 (22:08 +1100)]
Docs: disable sharing docs within a group

This made using groups apply docstrings to undocumented functions in the group
(and give errors that the args didnt match).

5 years agoCleanup: braces
Sergey Sharybin [Sun, 14 Feb 2016 09:14:28 +0000 (10:14 +0100)]
Cleanup: braces

5 years agoCompositor: Cleanup, don't shortcut float values
Sergey Sharybin [Sun, 14 Feb 2016 09:12:45 +0000 (10:12 +0100)]
Compositor: Cleanup, don't shortcut float values

Use 0.0f instead of 0.f and so on.

5 years agoFix T47405: subsurf inconsistent triangulation in OpenGL compared to applied modifier...
Brecht Van Lommel [Sun, 14 Feb 2016 02:50:41 +0000 (03:50 +0100)]
Fix T47405: subsurf inconsistent triangulation in OpenGL compared to applied modifier and render.