blender/intern/cycles/kernel/kernels/opencl
Hristo Gueorguiev 6bf4115c13 Cycles: Split kernel - sort shaders
Reduce thread divergence in kernel_shader_eval.

Rays are sorted in blocks of 2048 according to shader->id.

On R9 290 Classroom is ~30% faster, and Pabellon Barcelone is ~8% faster.

No sorting for CUDA split kernel.

Reviewers: sergey, maiself

Reviewed By: maiself

Differential Revision: https://developer.blender.org/D2598
2017-05-03 15:30:45 +02:00
..
kernel_buffer_update.cl
kernel_data_init.cl
kernel_direct_lighting.cl
kernel_do_volume.cl
kernel_holdout_emission_blurring_pathtermination_ao.cl
kernel_indirect_background.cl
kernel_indirect_subsurface.cl
kernel_lamp_emission.cl
kernel_next_iteration_setup.cl
kernel_path_init.cl
kernel_queue_enqueue.cl
kernel_scene_intersect.cl
kernel_shader_eval.cl
kernel_shader_setup.cl
kernel_shader_sort.cl
kernel_shadow_blocked_ao.cl
kernel_shadow_blocked_dl.cl
kernel_split.cl
kernel_state_buffer_size.cl
kernel_subsurface_scatter.cl
kernel.cl