blender/intern/cycles/kernel
Sergey Sharybin 1f273cec00 Cycles: Tweak inline policy for some functions
The goal is to make Experimental kernel closer in performance to the
official kernel, avoiding spills and such.

There should not be big impact on official kernel, own tests showed
few percent performance drop on laptop's GPU. CPU was always the
same speed on AVX, AVX2 and SSE4.1 CPUs i've been testing here.

This seems to be the last essential step before we can get rid of
Experimental kernel and enable SSS officially on GPU without causing
some major performance issues.

Surely some more tweaks are possibly required, but that we can do
for until cows go home anyway.
2016-01-14 14:53:05 +05:00
..
closure Cycles: Fix for transmissive microfacet sampling 2015-07-31 13:46:58 +02:00
geom Cycles: Always inline triangle precalc for CUDA devices 2016-01-11 21:41:00 +05:00
kernels Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
osl Cycles: Update some API to be ready for OSL 1.6 2016-01-07 14:04:12 +05:00
shaders CMake: Make OSL's .oso shaders building also dependent on OSL compiler! 2016-01-08 19:41:04 +01:00
split Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
svm Cycles: Tweak inline policy for some functions 2016-01-14 14:53:05 +05:00
CMakeLists.txt Cycles: Don't install CPU-related kernel files 2015-12-30 18:51:35 +05:00
kernel_accumulate.h Cycles: Fix SSS object not properly reflected in glossy object with indirect clamping 2015-12-02 16:00:01 +05:00
kernel_bake.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_camera.h Cleanup: warning/spelling 2016-01-09 22:56:43 +11:00
kernel_compat_cpu.h Cleanup: Avoid some warnings on OS X with clang and update comment. 2015-10-26 11:52:24 +01:00
kernel_compat_cuda.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_compat_opencl.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_debug.h Cycles: Add debug pass which shows number of instance pushes during camera ray intersection 2015-06-12 00:12:03 +02:00
kernel_differential.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_emission.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_film.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
kernel_globals.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_jitter.h Fix T46671: Cycles assert with CMJ sample function 2015-11-03 18:49:27 +05:00
kernel_light.h Cycles: Tweak inline policy for some functions 2016-01-14 14:53:05 +05:00
kernel_math.h Cycles: Add fast math function module 2015-01-31 01:49:41 +05:00
kernel_montecarlo.h Cycles code refactor: minor refactoring and comments for volume code. 2014-03-29 13:03:49 +01:00
kernel_passes.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_path_branched.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_path_common.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_path_state.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_path_surface.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_path_volume.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_path.h Cycles: Tweak inline policy for some functions 2016-01-14 14:53:05 +05:00
kernel_projection.h Cycles: Add Mirror ball mapping to camera panorama options 2015-04-25 23:51:56 +02:00
kernel_queues.h Cycles: Code cleanup in split kernel, whitespaces 2015-07-03 11:03:56 +02:00
kernel_random.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_shader.h Cycles: Tweak inline policy for some functions 2016-01-14 14:53:05 +05:00
kernel_shaderdata_vars.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_shadow.h Cycles: Tweak inline policy for some functions 2016-01-14 14:53:05 +05:00
kernel_subsurface.h Cycles: Use proper primitive for the motion subsurface refine 2016-01-12 17:09:29 +05:00
kernel_textures.h Cycles: Split BVH nodes storage into inner and leaf nodes 2015-04-20 17:29:51 +05:00
kernel_types.h Cycles: Implement rolling shutter effect 2015-12-31 20:44:27 +05:00
kernel_volume.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_work_stealing.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel.h Cycles: Deduplicte CPU kernel declaration and definition code 2015-12-30 17:54:02 +05:00