Commit: 0ddb8d9b13806c0a47224b9f3ba4dd6911cd7a47 Author: Sergey Sharybin Date: Fri Oct 14 13:51:59 2016 +0200 Branches: master https://developer.blender.org/rB0ddb8d9b13806c0a47224b9f3ba4dd6911cd7a47
Cycles: Disable optimization of operator / for float3 This was giving some speedup but made intersection tests to fail from watertight point of view. Needs deeper investigation, but need to quickly get it fixed for the studio. =================================================================== M intern/cycles/util/util_math.h =================================================================== diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index ce2e4e5..b9594f7 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -462,12 +462,13 @@ ccl_device_inline float3 operator*(const float f, const float3& a) ccl_device_inline float3 operator/(const float f, const float3& a) { -#ifdef __KERNEL_SSE__ - __m128 rc = _mm_rcp_ps(a.m128); - return float3(_mm_mul_ps(_mm_set1_ps(f),rc)); -#else + /* TODO(sergey): Currently disabled, gives speedup but makes intersection tets non-watertight. */ +// #ifdef __KERNEL_SSE__ +// __m128 rc = _mm_rcp_ps(a.m128); +// return float3(_mm_mul_ps(_mm_set1_ps(f),rc)); +// #else return make_float3(f / a.x, f / a.y, f / a.z); -#endif +// #endif } ccl_device_inline float3 operator/(const float3& a, const float f) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs