[Bf-blender-cvs] [95d871c1a2a] blender-v2.79-release: Cycles: FIx issue with -0 being considered a non-finite value

Sergey Sharybin noreply at git.blender.org
Mon Sep 4 14:18:54 CEST 2017


Commit: 95d871c1a2a32cc4c1d7afe0cffc777fc45b9421
Author: Sergey Sharybin
Date:   Thu Aug 24 14:32:56 2017 +0200
Branches: blender-v2.79-release
https://developer.blender.org/rB95d871c1a2a32cc4c1d7afe0cffc777fc45b9421

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 b719640b19c..d28f2ba436b 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -223,7 +223,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