[Bf-blender-cvs] [436d1b4e901] master: Cycles: FIx issue with -0 being considered a non-finite value
Sergey Sharybin
noreply at git.blender.org
Thu Aug 24 14:33:17 CEST 2017
Commit: 436d1b4e901a980be743e2ed94872d98b59f27d2
Author: Sergey Sharybin
Date: Thu Aug 24 14:32:56 2017 +0200
Branches: master
https://developer.blender.org/rB436d1b4e901a980be743e2ed94872d98b59f27d2
Cycles: FIx issue with -0 being considered a non-finite value
===================================================================
M intern/cycles/util/util_math.h
===================================================================
diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index 0d27ee06fa7..348e652eadd 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -224,7 +224,7 @@ ccl_device_inline bool isfinite_safe(float f)
{
/* By IEEE 754 rule, 2*Inf equals Inf */
unsigned int x = __float_as_uint(f);
- return (f == f) && (x == 0 || (f != 2.0f*f)) && !((x << 1) > 0xff000000u);
+ return (f == f) && (x == 0 || x == (1 << 31) || (f != 2.0f*f)) && !((x << 1) > 0xff000000u);
}
ccl_device_inline float ensure_finite(float v)
More information about the Bf-blender-cvs
mailing list