diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-20 17:57:19 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-20 18:01:21 +0300 |
commit | 845854959f4c4615578b8d296aad3fa5085d4647 (patch) | |
tree | 3107a4f2cb01fa2a215b6780b957297a133602f2 | |
parent | 2a305580b2c76af62c129fbca043466ab010c2df (diff) |
Cycles: Cleanup, make it more obvious which platform requires workaround for triangle intersection
Should be no functional changes.
-rw-r--r-- | intern/cycles/kernel/geom/geom_triangle_intersect.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h index 220169f56d3..5f41012bf30 100644 --- a/intern/cycles/kernel/geom/geom_triangle_intersect.h +++ b/intern/cycles/kernel/geom/geom_triangle_intersect.h @@ -49,16 +49,23 @@ typedef struct IsectPrecalc { float Sx, Sy, Sz; } IsectPrecalc; -/* Workaround for CUDA toolkit 6.5.16. */ -#if defined(__KERNEL_CPU__) || !defined(__KERNEL_EXPERIMENTAL__) || __CUDA_ARCH__ < 500 +#if defined(__KERNEL_CUDA__) # if (defined(i386) || defined(_M_IX86)) +# if __CUDA_ARCH__ > 500 ccl_device_noinline -# else +# else /* __CUDA_ARCH__ > 500 */ ccl_device_inline -# endif -#else +# endif /* __CUDA_ARCH__ > 500 */ +# else /* (defined(i386) || defined(_M_IX86)) */ +# if defined(__KERNEL_EXPERIMENTAL__) && (__CUDA_ARCH__ == 500) ccl_device_noinline -#endif +# else +ccl_device_inline +# endif +# endif /* (defined(i386) || defined(_M_IX86)) */ +#else /* defined(__KERNEL_CUDA__) */ +ccl_device_inline +#endif /* defined(__KERNEL_CUDA__) */ void triangle_intersect_precalc(float3 dir, IsectPrecalc *isect_precalc) { |