[Bf-blender-cvs] [8458549] master: Cycles: Cleanup, make it more obvious which platform requires workaround for triangle intersection

Sergey Sharybin noreply at git.blender.org
Sat Jun 20 17:02:19 CEST 2015


Commit: 845854959f4c4615578b8d296aad3fa5085d4647
Author: Sergey Sharybin
Date:   Sat Jun 20 16:57:19 2015 +0200
Branches: master
https://developer.blender.org/rB845854959f4c4615578b8d296aad3fa5085d4647

Cycles: Cleanup, make it more obvious which platform requires workaround for triangle intersection

Should be no functional changes.

===================================================================

M	intern/cycles/kernel/geom/geom_triangle_intersect.h

===================================================================

diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h
index 220169f..5f41012 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)
 {




More information about the Bf-blender-cvs mailing list