From 52038fd8c7dd7cece0cccd50cf09274abbdb14ba Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 13 Sep 2016 10:59:48 +0200 Subject: 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. --- intern/cycles/bvh/bvh.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'intern') 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); } -- cgit v1.2.3