diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-09-06 13:10:17 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-09-06 13:10:17 +0400 |
commit | 1b319669d0cce4eef418473dcbbfd00071a95308 (patch) | |
tree | 42931c16ab4f7c62302bbd015a056b0a5e701c83 /intern/cycles/kernel/kernel_accumulate.h | |
parent | 1083da4bde1222bdd3dcfbf3f50e5a253f631126 (diff) |
Cycles: Workaround cuda 6.5 compiler bug with sm_50
Diffstat (limited to 'intern/cycles/kernel/kernel_accumulate.h')
-rw-r--r-- | intern/cycles/kernel/kernel_accumulate.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_accumulate.h b/intern/cycles/kernel/kernel_accumulate.h index 4f759b323be..b0efcdc66a7 100644 --- a/intern/cycles/kernel/kernel_accumulate.h +++ b/intern/cycles/kernel/kernel_accumulate.h @@ -54,7 +54,13 @@ ccl_device_inline void bsdf_eval_init(BsdfEval *eval, ClosureType type, float3 v #endif } -ccl_device_inline void bsdf_eval_accum(BsdfEval *eval, ClosureType type, float3 value) +/* TODO(sergey): This is just a workaround for annoying 6.5 compiler bug. */ +#if !defined(__KERNEL_CUDA__) || __CUDA_ARCH__ < 500 +ccl_device_inline +#else +ccl_device_noinline +#endif +void bsdf_eval_accum(BsdfEval *eval, ClosureType type, float3 value) { #ifdef __PASSES__ if(eval->use_light_pass) { |