[Bf-blender-cvs] [52038fd] master: Fix T49290: Specific .blend with hair crashes in MacOS 2.78 RC1 on render

Sergey Sharybin noreply at git.blender.org
Tue Sep 13 11:10:17 CEST 2016


Commit: 52038fd8c7dd7cece0cccd50cf09274abbdb14ba
Author: Sergey Sharybin
Date:   Tue Sep 13 10:59:48 2016 +0200
Branches: master
https://developer.blender.org/rB52038fd8c7dd7cece0cccd50cf09274abbdb14ba

Fix T49290: Specific .blend with hair crashes in MacOS 2.78 RC1 on render

The issue was caused by some false-positive empty non-AABB intersection.
Tried to tweak it a bit so it does not record intersection anymore.

Hopefully will work for all platforms. Tested here on iMac and Debian.

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

M	intern/cycles/bvh/bvh.cpp

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

diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp
index 4f97abd..39b2a0c 100644
--- a/intern/cycles/bvh/bvh.cpp
+++ b/intern/cycles/bvh/bvh.cpp
@@ -951,9 +951,23 @@ void QBVH::pack_unaligned_node(int idx,
 		/* We store BB which would never be recorded as intersection
 		 * so kernel might safely assume there are always 4 child nodes.
 		 */
-		for(int j = 1; j < 13; ++j) {
-			data[j][i] = 0.0f;
-		}
+
+		data[1][i] = 1.0f;
+		data[2][i] = 0.0f;
+		data[3][i] = 0.0f;
+
+		data[4][i] = 0.0f;
+		data[5][i] = 0.0f;
+		data[6][i] = 0.0f;
+
+		data[7][i] = 0.0f;
+		data[8][i] = 0.0f;
+		data[9][i] = 0.0f;
+
+		data[10][i] = -FLT_MAX;
+		data[11][i] = -FLT_MAX;
+		data[12][i] = -FLT_MAX;
+
 		data[13][i] = __int_as_float(0);
 	}




More information about the Bf-blender-cvs mailing list