Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-09-13 11:59:48 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-09-13 11:59:48 +0300
commit52038fd8c7dd7cece0cccd50cf09274abbdb14ba (patch)
tree8a3de794ef4078a351a5ab58718243ddb6c7219c /intern
parent56c798ee620719750dd38917cb8ce191e02913ad (diff)
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.
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/bvh/bvh.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp
index 4f97abd6750..39b2a0cf436 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);
}