blender/intern/cycles/kernel/split
Sergey Sharybin 9815f8a623 Cycles: Cleanup of OpenCL split kernel routines
The idea is to switch from allocating separate buffers for shader data's
structure of arrays to allocating one huge memory block and do some index
trickery to make it accessed as SOA.

This saves quite reasonable amount of lines of code in device_opencl and
also makes it possible to get rid of special declaration of ShaderData
structure.

As a side effect it also makes it easier to experiment with SOA vs. AOS
for split kernel.

Works fine here on NVidia GTX580, Intel CPU amd AMD Fiji cards.

Reviewers: #cycles, brecht, juicyfruit, dingto

Differential Revision: https://developer.blender.org/D1593
2016-01-30 00:23:06 +01:00
..
kernel_background_buffer_update.h Cycles: Remove few function arguments needed only for the split kernel 2016-01-28 18:59:27 +01:00
kernel_data_init.h Cycles: Cleanup of OpenCL split kernel routines 2016-01-30 00:23:06 +01:00
kernel_direct_lighting.h Cycles: Remove few function arguments needed only for the split kernel 2016-01-28 18:59:27 +01:00
kernel_holdout_emission_blurring_pathtermination_ao.h Cycles: Remove unused argument from the split kernel functions 2015-11-01 17:22:42 +05:00
kernel_lamp_emission.h Cycles: Remove code which was commented out for ages now 2016-01-29 18:59:37 +01:00
kernel_next_iteration_setup.h Cycles: Remove unused argument from the split kernel functions 2015-11-01 17:22:42 +05:00
kernel_scene_intersect.h Cycles: Remove some unused variables from split kernel function 2016-01-29 18:54:46 +01:00
kernel_shader_eval.h Cycles: Refactor how we pass bounce info to light path node. 2016-01-06 23:43:29 +01:00
kernel_shadow_blocked.h Cycles: Remove some unused variables from split kernel function 2016-01-29 18:54:46 +01:00
kernel_split_common.h Cycles: Code cleanup, split kernel 2015-05-27 13:08:17 +05:00
kernel_sum_all_radiance.h Cycles: Partially revert previous commit 2015-11-01 21:01:12 +05:00