Cycles: Tweaks to support CUDA 8 toolkit
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 1 Aug 2016 13:40:46 +0000 (15:40 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 1 Aug 2016 13:54:29 +0000 (15:54 +0200)
commit6353ecb996898b4ce2fe8065130ed1f5ea3b6989
treeb6d620152e4ff7920465d8396fe443dc9b3ffc56
parent7065022f7aa23ba13d2999e1e40162a8f480af0e
Cycles: Tweaks to support CUDA 8 toolkit

All the changes are mainly giving explicit tips on inlining functions,
so they match how inlining worked with previous toolkit.

This make kernel compiled by CUDA 8 render in average with same speed
as previous kernels. Some scenes are somewhat faster, some of them are
somewhat slower. But slowdown is within 1% so far.

On a positive side it allows us to enable newer generation cards on
buildbots (so GTX 10x0 will be officially supported soon).
29 files changed:
intern/cycles/device/device_cuda.cpp
intern/cycles/kernel/bvh/bvh_shadow_all.h
intern/cycles/kernel/bvh/bvh_subsurface.h
intern/cycles/kernel/bvh/bvh_traversal.h
intern/cycles/kernel/bvh/bvh_volume.h
intern/cycles/kernel/bvh/bvh_volume_all.h
intern/cycles/kernel/closure/bsdf.h
intern/cycles/kernel/closure/bsdf_ashikhmin_shirley.h
intern/cycles/kernel/closure/bsdf_microfacet_multi_impl.h
intern/cycles/kernel/closure/bssrdf.h
intern/cycles/kernel/geom/geom_primitive.h
intern/cycles/kernel/geom/geom_volume.h
intern/cycles/kernel/kernel_bake.h
intern/cycles/kernel/kernel_camera.h
intern/cycles/kernel/kernel_compat_cuda.h
intern/cycles/kernel/kernel_light.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_path_surface.h
intern/cycles/kernel/kernel_path_volume.h
intern/cycles/kernel/kernel_projection.h
intern/cycles/kernel/kernel_shader.h
intern/cycles/kernel/kernel_subsurface.h
intern/cycles/kernel/kernel_volume.h
intern/cycles/kernel/svm/svm_attribute.h
intern/cycles/kernel/svm/svm_geometry.h
intern/cycles/kernel/svm/svm_ramp.h
intern/cycles/kernel/svm/svm_ramp_util.h
intern/cycles/kernel/svm/svm_tex_coord.h
intern/cycles/util/util_math.h