blender/intern/cycles/kernel
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
..
closure Fix CUDA/OpenCL compile errors in scattering commit. 2014-01-07 15:48:04 +01:00
osl Fix cycles OSL volume render crash with multiple closures. 2014-01-03 18:57:38 +01:00
shaders Code Cleanup: osl style 2014-01-06 13:58:33 +11:00
svm Cycles: workaround for noise performance regression in CUDA 5.5 2014-01-08 22:25:55 +04:00
CMakeLists.txt 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
kernel_accumulate.h Cycles Volume Render: scattering support. 2014-01-07 15:03:41 +01:00
kernel_bvh_subsurface.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_bvh_traversal.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_bvh.h Cycles / Hair: Avoid duplicate calculations and remove redundant if branch, instead add the condition to the one above. 2013-12-26 21:52:46 +01:00
kernel_camera.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_compat_cpu.h Cycles: Move SIMD utility functions into its own file. 2013-12-27 21:30:21 +01:00
kernel_compat_cuda.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_compat_opencl.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_curve.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_differential.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_displace.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_emission.h Cycles Volume Render: scattering support. 2014-01-07 15:03:41 +01:00
kernel_film.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_globals.h Fix T37264: cycles CPU render had limited number of float images, bumped to 1024. 2013-12-14 15:07:46 +01:00
kernel_jitter.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_light.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_math.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
kernel_montecarlo.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_object.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_passes.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_path_state.h Fix CUDA/OpenCL compile errors in scattering commit. 2014-01-07 15:48:04 +01:00
kernel_path.h Cycles Volume Render: scattering support. 2014-01-07 15:03:41 +01:00
kernel_primitive.h Cycles Volume Render: generated texture coordinates for volume render. 2013-12-31 17:38:26 +01:00
kernel_projection.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_random.h Fix gcc compile error in last commit. 2014-01-03 19:24:55 +01:00
kernel_shader.h Fix CUDA/OpenCL compile errors in scattering commit. 2014-01-07 15:48:04 +01:00
kernel_shadow.h Cycles Volume Render: heterogeneous (textured) volumes support. 2013-12-30 00:04:02 +01:00
kernel_sse2.cpp Better fix for #36935 and 36316: 2013-10-05 19:56:34 +00:00
kernel_sse3.cpp Better fix for #36935 and 36316: 2013-10-05 19:56:34 +00:00
kernel_sse41.cpp Cycles: test code for sse 4.1 kernel and alignment for some vector types. 2013-11-22 14:42:41 +01:00
kernel_subsurface.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_textures.h Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
kernel_triangle.h Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel_types.h Cycles Volume Render: scattering support. 2014-01-07 15:03:41 +01:00
kernel_volume.h Cycles Volume Render: scattering support. 2014-01-07 15:03:41 +01:00
kernel.cl Cycles: change __device and similar qualifiers to ccl_device in kernel code. 2013-11-18 08:48:15 +01:00
kernel.cpp Cycles: viewport render now takes scene color management settings into account, 2013-08-30 23:49:38 +00:00
kernel.cu Cycles: viewport render now takes scene color management settings into account, 2013-08-30 23:49:38 +00:00
kernel.h Cycles: test code for sse 4.1 kernel and alignment for some vector types. 2013-11-22 14:42:41 +01:00
SConscript Added option to have a seperate environment for executing nvcc 2013-12-29 14:57:21 +01:00