[Bf-blender-cvs] [6f48bfc7a87] master: Cycles: Cleanup, use utility function

Sergey Sharybin noreply at git.blender.org
Wed Nov 21 14:38:10 CET 2018


Commit: 6f48bfc7a872c106e631cda0e23d2f61d6d944d2
Author: Sergey Sharybin
Date:   Wed Nov 21 13:51:18 2018 +0100
Branches: master
https://developer.blender.org/rB6f48bfc7a872c106e631cda0e23d2f61d6d944d2

Cycles: Cleanup, use utility function

Replaces inlined platform-specific code.

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

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 558f08205a2..fa686d8a223 100644
--- a/intern/cycles/kernel/geom/geom_triangle_intersect.h
+++ b/intern/cycles/kernel/geom/geom_triangle_intersect.h
@@ -234,12 +234,7 @@ ccl_device_inline int ray_triangle_intersect8(
 		if((mask_final & prim_num_mask) == 0) {
 			return false;
 		}
-		unsigned long i = 0;
-#if defined(_MSC_VER)
-		unsigned char res = _BitScanForward(&i, (unsigned long)mask_final);
-#else
-		i = __builtin_ffs(mask_final)-1;
-#endif
+		const int i = __bsf(mask_final);
 		__m256 inv_den_256 = _mm256_rcp_ps(den_256);
 		U_256 = _mm256_mul_ps(U_256, inv_den_256);
 		V_256 = _mm256_mul_ps(V_256, inv_den_256);



More information about the Bf-blender-cvs mailing list