Campbell Barton
63ccb26303
Code Cleanup: spelling
2014-01-17 17:35:03 +11:00
Brecht Van Lommel
e9227c76d4
Fix T37706: avoid cycles crash when using a stack that exceeds SVM stack limits.
...
This should be pretty rare, the shader in question had many parallel node links
because of copying the nodes many times, which is inefficient to run anyway.
2014-01-16 22:36:30 +01:00
Jens Verwiebe
1b4ced86b9
Workaround for avx assembler not compiling with vanilla gcc ( with openMP case )
2014-01-16 19:44:25 +01:00
Thomas Dinges
da523185fb
Fix compilation of Cycles AVX kernel with cmake.
2014-01-16 18:32:54 +01:00
Thomas Dinges
de28a4d4b2
Cycles: Add an AVX kernel for CPU rendering.
...
* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer.
* We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64.
* No change for Windows yet, MSVC 2008 does not support AVX.
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D216
2014-01-16 17:04:11 +01:00
Brecht Van Lommel
d9e52ac98b
Code cleanup: move half float functions to separate header file.
2014-01-15 15:29:22 +01:00
Brecht Van Lommel
8af782ad22
Code cleanup: some reshuffling of SIMD defines moving more code to util_optimization.h.
2014-01-15 15:11:50 +01:00
Sergey Sharybin
5cd321203e
Fix compilation error with stricg GCC flags
2014-01-15 16:21:53 +06:00
Bastien Montagne
6ba02681de
Fix a bunch of UI string issues...
2014-01-15 10:40:54 +01:00
Thomas Dinges
9e3ddd70d4
Cycles: Disable SSE41 kernel on 32bit, we don't use intrinsics here anyway. Also disable it for Visual Studio < 2012, broken blendv instruction.
2014-01-14 23:51:59 +01:00
Martijn Berger
0f3fed2970
OS X linker does not like empty compilation unit by itself in a library. Scons creates one library (.a) per kernel. This fixes that
2014-01-14 22:48:31 +01:00
Thomas Dinges
5d88f7c7db
Cycles: Build SSE41 kernel per default, remove build option. This hopefully also fixes some compile errors on various systems.
2014-01-14 22:04:32 +01:00
Martijn Berger
993b946681
DingTo forgot to make sure kernel_sse41 is compiled in even when empty
2014-01-14 21:49:48 +01:00
Thomas Dinges
9351ac0d85
Cycles: Skip the compilation of the dedicated SSE2 kernel on x86-64, we can assume SSE2 here, so just re-use the regular one. Saves 500kb in the blender binary.
...
Reviewed by: brecht
Differential Revision: https://developer.blender.org/D199
2014-01-14 20:39:54 +01:00
Brecht Van Lommel
d980c3eccb
Further fix for T37817: non-ascii paths fix in Cycles broke OSL rendering.
...
Not quite sure yet what is going on here, but this works for me.
2014-01-14 20:01:26 +01:00
Sv. Lockal
1c49eb0072
Cycles, Code cleanup: simplify code for color linear interpolation and float math
...
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D215
2014-01-14 22:55:02 +04:00
Brecht Van Lommel
a02a97753b
Fix T38192: OSL got incorrectly enabled in preview render when GPU was selected
...
for rendering of the main scene.
2014-01-13 23:29:35 +01:00
Thomas Dinges
e9984653a8
Cycles: Fix Wave texture difference between OSL and SVM, OSL wasn't using the "Scale" properly for distortion.
2014-01-13 22:01:39 +01:00
Thomas Dinges
6b61f7f755
Code cleanup / Cycles: Don't pass scale to texture functions, do the multiplication in the function call already.
2014-01-13 21:17:55 +01:00
Bastien Montagne
75ab57efed
Fix T38190: Linux tablet: Issue with XInput/GHOST?
...
With edits by Campbell, thanks!
Looks like in some cases (driver dependent?), `XDeviceMotionEvent` get generated with only part of expected data
(e.g. only x coordinate, only pressure, etc.), data which did not change since last event being NULL.
We know which data to actually handle with `XDeviceMotionEvent.first_axis` and `XDeviceMotionEvent.axes_count` values.
Reviewed by: campbellbarton
Differential Revision: https://developer.blender.org/D208
2014-01-13 17:51:17 +01:00
Sv. Lockal
9cf6946d31
Fix cycles texture crash on win x86-64 + msvc 11
...
Use union for __m128 aliasing; while gcc supports no-strict-aliasing attribute, unions are the most common way to deal with __m128 in msvc.
2014-01-13 18:31:02 +04:00
Marcus von Appen
f0fb60f8c9
Fix cycles standalone compile on some systems, CMAKE_DL_LIBS should be enough.
...
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D205
2014-01-13 10:36:02 +01:00
Antony Riakiotakis
717bf85545
Fix some harmless warnings that mostly appeared on MinGW64
2014-01-13 04:28:51 +02:00
Sv. Lockal
d6c022d6d7
Fix compilation for OpenCL (and small stype fixes)
2014-01-12 18:18:43 +04:00
Sv. Lockal
47c5898fa1
Cycles: SSE for Voronoi textures (targeted for Haswell CPUs)
...
Gives up to 15% speedup scenes with voronoi-based textures (up to 25% with volumes) on Haswell. The performance change for other CPUs is much smaller: 1-2%.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D203
2014-01-12 18:14:00 +04:00
Sv. Lockal
da3fdf0b4b
Code Cleanup: in Cycles SSE replace macros with templates, skip unused code with preprocessor, simplify casts
2014-01-11 22:20:03 +04:00
Sv. Lockal
b886c26d1f
Cycles: mix hair minimum width code with SSE intersection code
...
Gives 6.5% speedup for hair.blend from testsuite.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D197
2014-01-11 20:47:30 +04:00
Campbell Barton
50650e28ea
Events: support for buttons 6 & 7 (some trackballs have these) X11 only
...
Patch by Marcus von Appen
Note: this patch makes ISMOUSE accept INBETWEEN_MOUSEMOVE as a mouse
event where before it didnt.
2014-01-12 00:40:23 +11:00
Campbell Barton
1bfa64895e
Ghost: update multitest for changes in BLF
2014-01-11 23:53:23 +11:00
Brecht Van Lommel
4d72a5e34a
Fix T38129: cycles viewport render display with very bright colors turning black.
...
This happened when exceeding the maximum value representable by half floats.
2014-01-11 00:50:53 +01:00
Brecht Van Lommel
241fccaf6a
Fix T37817: cycles CUDA detection problem on Windows with non-ascii paths.
2014-01-11 00:47:58 +01:00
Brecht Van Lommel
79e040ba95
Fix T38143: pressing F12 key in the text editor on OS X would type an invalid character.
2014-01-10 19:41:01 +01:00
Brecht Van Lommel
8c0f9365c0
Fix T38134: missing cycles update when removing world volume scatter shader.
2014-01-09 01:26:43 +01:00
Brecht Van Lommel
2d073bbf21
Fix T38134: cycles viewport render not updating when adding a world volume shader.
2014-01-08 23:12:54 +01:00
Sv. Lockal
20b046d763
Cycles: workaround for noise performance regression in CUDA 5.5
...
Use manual ternary operation widening in grad(). Without it nvcc 5.5 produces multiple branch splits with very big branches (because of inlining). This solves 19% performance regression for BMW1M-MikePan.blend.
Also remove one redundant instruction in perlin SSE (when h == 12 or h == 14, then h is always >= 4).
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D190
2014-01-08 22:25:55 +04:00
Thomas Dinges
8094ac9194
Cycles: Fix World Homogeneous volume setting, had no influence.
...
Thanks to "storm" for noticing this!
2014-01-08 11:00:06 +01:00
Thomas Dinges
073be286b4
Cycles: Update Integrator Presets and Total Samples info for latest changes.
2014-01-07 15:55:32 +01:00
Brecht Van Lommel
7b0a46b1ff
Fix CUDA/OpenCL compile errors in scattering commit.
2014-01-07 15:48:04 +01:00
Brecht Van Lommel
01df756bd1
Cycles Volume Render: scattering support.
...
This is done by adding a Volume Scatter node. In many cases you will want to
add together a Volume Absorption and Volume Scatter node with the same color
and density to get the expected results.
This should work with branched path tracing, mixing closures, overlapping
volumes, etc. However there's still various optimizations needed for sampling.
The main missing thing from the volume branch is the equiangular sampling for
homogeneous volumes.
The heterogeneous scattering code was arranged such that we can use a single
stratified random number for distance sampling, which gives less noise than
pseudo random numbers for each step. For volumes where the color is textured
there still seems to be something off, needs to be investigated.
2014-01-07 15:03:41 +01:00
Campbell Barton
fee66f7bc8
Code cleanup: defines for statfs were getting out of hand for BSD's.
...
add __DragonFly__ and internal defines to avoid copy-pasting checks.
also remove __CYGWIN32__ check, since cygwin is no longer supported.
2014-01-07 13:39:00 +11:00
Martijn Berger
62c8bae872
Added scons option to actually build the sse41 kernel. CMake already has it
2014-01-06 21:38:56 +01:00
Thomas Dinges
5022d9f81b
Cycles: Don't include SIMD util file for OpenCL/CUDA, this fixes OpenCL compilation.
2014-01-06 21:28:18 +01:00
Jens Verwiebe
a0b424aa4c
Take back last header copy, due it is for native only, must be a runtime solution, todo: do by definitions
2014-01-06 20:43:54 +01:00
Jens Verwiebe
48d8faeb79
Cmake: fix kernelcompile after introduction of util_simd.h
2014-01-06 20:26:02 +01:00
Sv. Lockal
acc90b40bf
Cycles: Minor optimization (~1%) for texture access on CPU
2014-01-06 22:05:31 +04:00
Sv. Lockal
4817da0df4
Cleanup: use blend() in perlin noise (gives 12 less instructions on SSE4.1)
2014-01-06 21:24:28 +04:00
Sv. Lockal
96903508bc
Cycles: SSE optimization for sRGB conversion (gives 7% speedup on CPU for pavillon_barcelone scene)
...
Thanks brecht/dingto/juicyfruit et al. for testing and reviewing this patch in T38034.
2014-01-06 20:03:30 +04:00
Campbell Barton
64fc94e93f
Code Cleanup: osl style
2014-01-06 13:58:33 +11:00
Thomas Dinges
ce6dce3b13
Code cleanup / Cycles: else/if for SSE41 kernel functions.
2014-01-06 03:22:14 +01:00
Campbell Barton
c3bc2fd941
CMake: cleanup and add include
2014-01-04 13:17:07 +11:00