blender/intern/cycles/kernel
Mai Lavelle 4e9b17da4c Cycles: Speedup by avoiding extra calculations in noise texture when unneeded
Noise texture is now faster when the color socket is unused. Potential for
speedup spotted by @nutel.

Some performance results:

                     Render Time Before    After    Difference
Gooseberry benchmark         47:51.34    45:55.57       -4%
Koro                         12:24.92    12:18.46     -0.8%
Simple cube (Color socket)      48.53       48.72     +0.3%
Simple cube (Fac socket)        48.74       32.78    -32.7%
Goethe displacement           1:21.18     1:08.47    -15.6%
Cycles brick displacement     3:02.38     2:16.76    -25.0%
Large displacement scene     23:54.12    20:09.62    -15.6%

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D2513
2017-02-21 07:24:33 -05:00
..
bvh Cycles: Optimize sorting of transparent intersections on CUDA 2017-02-13 18:24:45 +01:00
closure Cycles: Fix uninitialized variable issue after recent changes 2016-12-14 17:31:11 +01:00
geom Cycles: Don't calculate primitive time if BVH motion steps are not used 2017-02-15 12:59:31 +01:00
kernels Cycles: Store shadow intersections in the kernel globals 2017-02-08 14:00:48 +01:00
osl Cycles: Split ShaderData object and shader flags 2017-01-23 12:56:55 +01:00
shaders Cycles: Expose diffuse and glossy depth to Light Path node 2017-01-19 15:09:58 +01:00
split Cycles: Split ShaderData object and shader flags 2017-01-23 12:56:55 +01:00
svm Cycles: Speedup by avoiding extra calculations in noise texture when unneeded 2017-02-21 07:24:33 -05:00
CMakeLists.txt Cycles: Split motion triangle file once again, avoids annoying forward declarations 2017-01-20 12:46:17 +01:00
kernel_accumulate.h Cycles: Add optional probabilistic termination of light samples based on their expected contribution 2016-10-30 11:31:28 +01:00
kernel_bake.h Cycles: Make object flag names more obvious that hey are object and not shader 2017-01-23 12:14:17 +01:00
kernel_camera.h Cycles: Fix shadowing variable which also causes use of uninitialized variable 2016-10-24 14:04:31 +02:00
kernel_compat_cpu.h Cycles: Add new avxf vectorized data type 2016-10-12 13:54:13 +02:00
kernel_compat_cuda.h Fix Cycles CUDA performance on CUDA 8.0. 2016-10-03 22:15:25 +02:00
kernel_compat_opencl.h Fix Cycles CUDA performance on CUDA 8.0. 2016-10-03 22:15:25 +02:00
kernel_debug.h Cycles: Use dedicated debug passes for traversed nodes and intersection tests 2017-01-12 13:44:35 +01:00
kernel_differential.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
kernel_emission.h Cycles: Add optional probabilistic termination of light samples based on their expected contribution 2016-10-30 11:31:28 +01:00
kernel_film.h Cycles: Use native saturate function for CUDA 2015-04-28 00:38:32 +05:00
kernel_globals.h Cycles: Store shadow intersections in the kernel globals 2017-02-08 14:00:48 +01:00
kernel_image_opencl.h Cycles: Cleanup, style 2016-10-24 12:26:12 +02:00
kernel_jitter.h Cycles: Fix correlation issues in certain cases 2016-12-01 14:19:15 +01:00
kernel_light.h Cycles: Make object flag names more obvious that hey are object and not shader 2017-01-23 12:14:17 +01:00
kernel_math.h Cleanup: Move texture definitions to util, to avoid bad level include. 2016-04-15 23:02:44 +02: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 Atomics: Make naming more obvious about which value is being returned 2016-11-15 12:16:26 +01:00
kernel_path_branched.h Cycles: Split ShaderData object and shader flags 2017-01-23 12:56:55 +01:00
kernel_path_common.h Cycles: Fix rng_state initialization when using resumable rendering 2017-02-01 05:43:17 +01:00
kernel_path_state.h Fix T49078: Cycles tries to render volume from another render layer when camera is in volume 2016-08-25 10:55:59 +02:00
kernel_path_surface.h Cycles: Add optional probabilistic termination of light samples based on their expected contribution 2016-10-30 11:31:28 +01:00
kernel_path_volume.h Cycles: Add optional probabilistic termination of light samples based on their expected contribution 2016-10-30 11:31:28 +01:00
kernel_path.h Cycles: Add option to replace GI with AO approximation after certain amount of bounces 2017-01-27 14:21:49 +01:00
kernel_projection.h Fix T49846: OpenCL rendering compilation failure 2016-10-29 20:06:52 +02:00
kernel_queues.h Cycles: Code cleanup in split kernel, whitespaces 2015-07-03 11:03:56 +02:00
kernel_random.h Cycles: Fix correlation issues in certain cases 2016-12-01 14:19:15 +01:00
kernel_shader.h Cycles: Split ShaderData object and shader flags 2017-01-23 12:56:55 +01:00
kernel_shadow.h Cycles: Fix regression with transparent shadows in volume 2017-02-08 14:00:48 +01:00
kernel_subsurface.h Cycles: Get rid of ifdef-ed noinline policy 2016-10-12 12:15:24 +02:00
kernel_textures.h Cycles: Fix wrong hair render results when using BVH motion steps 2017-02-15 12:45:04 +01:00
kernel_types.h Cycles: Pass special flag whether BVH motion steps are used 2017-02-15 12:45:06 +01:00
kernel_volume.h Fix emissive volumes generates unexpected fireflies around intersections 2016-12-08 17:35:43 +01:00
kernel_work_stealing.h Cycles: Cleanup, indent nested preprocessor directives 2016-03-25 13:55:42 +01:00
kernel.h Cycles: Deduplicte CPU kernel declaration and definition code 2015-12-30 17:54:02 +05:00