Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-06-20 17:57:19 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-06-20 18:01:21 +0300
commit845854959f4c4615578b8d296aad3fa5085d4647 (patch)
tree3107a4f2cb01fa2a215b6780b957297a133602f2
parent2a305580b2c76af62c129fbca043466ab010c2df (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.h19
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)
{