blender/intern
lazydodo b332fc8f23 [Cycles/msvc] Get cycles_kernel compile time under control.
Ever since we merged the extra texture types (half etc) and spit kernel the compile time for cycles_kernel has been going out of control.

It's currently sitting at a cool 1295.762 seconds with our standard compiler (2013/x64/release)

I'm not entirely sure why msvc gets upset with it, but the inlining of matrix near the bottom of the tri-cubic 3d interpolator is the source of the issue, this patch excludes it from being inlined.

This patch bring it back down to a manageable 186 seconds. (7x faster!!)

with the attached bzzt.blend that @sergey  kindly provided i got the following results with builds with identical hashes

58:51.73 buildbot
58:04.23 Patched

it's really close, the slight speedup could be explained by the switch instead of having multiple if's (switches do generate more optimal code than a chain of if/else/if/else statements) but in all honesty it might just have been pure luck (dev box,very polluted, bad for benchmarks) regardless, this patch doesn't seem to slow down anything with my limited testing.

{F532336}

{F532337}

Reviewers: brecht, lukasstockner97, juicyfruit, dingto, sergey

Reviewed By: brecht, dingto, sergey

Subscribers: InsigMathK, sergey

Tags: #cycles

Differential Revision: https://developer.blender.org/D2595
2017-04-07 10:26:55 -06:00
..
atomic Cleanup: Use explicit unsigned int in atomics 2017-03-01 12:01:19 +01:00
audaspace Fix T50843: Pitched Audio renders incorrectly in VSE 2017-03-05 12:19:32 +01:00
container Remove SCons building system 2016-01-04 14:20:48 +05:00
cycles [Cycles/msvc] Get cycles_kernel compile time under control. 2017-04-07 10:26:55 -06:00
decklink Cleanup: code style & cmake 2017-03-12 02:47:53 +11:00
dualcon Remove SCons building system 2016-01-04 14:20:48 +05:00
eigen Remove SCons building system 2016-01-04 14:20:48 +05:00
elbeem Fix fluid sim build error with MSVC. 2016-10-03 22:15:24 +02:00
ffmpeg FFmpeg: Update for the deprecated API in 3.2.x 2017-03-06 10:34:57 +01:00
ghost Fix GHOST crash on X11 with recent DPI changes on some systems. 2017-03-25 19:32:50 +01:00
glew-mx Remove SCons building system 2016-01-04 14:20:48 +05:00
gpudirect Cleanup: comment blocks 2016-07-02 10:08:33 +10:00
guardedalloc Atomics: Make naming more obvious about which value is being returned 2016-11-15 12:16:26 +01:00
iksolver FIX T49899: Add EIGEN_MAKE_ALIGNED_OPERATOR_NEW to classes that use eigen's data types , to force aligned on 16 byte boundaries. 2016-11-15 13:21:01 -07:00
itasc Cleanup: Reduce amount of misleading indentation 2016-09-01 12:14:16 +02:00
libmv Libmv: Correction to previous commit 2017-04-07 17:57:48 +02:00
locale Cleanup: Unused function 2017-04-07 12:55:04 +02:00
memutil Remove SCons building system 2016-01-04 14:20:48 +05:00
mikktspace Fix T49523: very slow normal map tangent computation for rendering in 2.78. 2016-10-06 03:12:04 +02:00
moto BGE: Various render improvements. 2016-06-11 22:05:20 +02:00
opencolorio OCIO: Implement exposure/gamma for fallback implementation 2016-12-02 16:57:00 +01:00
opensubdiv OpensSubdiv: Cleanup, unused argument 2016-12-20 12:29:41 +01:00
openvdb Fix T48236: OpenVDB smoke cache glitches out with smokeless flames. 2016-04-22 11:46:02 +02:00
rigidbody Remove SCons building system 2016-01-04 14:20:48 +05:00
smoke Cleanup: Strict CLang warning in Smoke module 2017-01-09 13:12:43 +01:00
string Fix STR_String Capitalize on non Win32 2016-12-15 12:58:19 +11:00
utfconv C++ conformance fixes (MSVC /permissive-) 2017-02-06 10:44:56 +01:00
CMakeLists.txt Cleanup: code style & cmake 2017-03-12 02:47:53 +11:00