Cycles: Fix stack overflow during traversal caused by floating overflow

Would be nice to be able to catch this with assert as well, will see what would
be the best way to do this/.\

Need to verify with Mai that this solves crash for her and maybe consider
porting this to 2.79.
This commit is contained in:
Sergey Sharybin 2017-08-25 14:00:33 +02:00
parent de669c3b60
commit dfae3de6bd
Notes: blender-bot 2023-02-14 06:37:03 +01:00
Referenced by commit bee16ec4d8, Cycles: Sync BVH8 unaligned node packing code with BVH4
Referenced by issue #52635, Crash during path tracing, particle system (master)
1 changed files with 12 additions and 12 deletions

View File

@ -242,21 +242,21 @@ void BVH4::pack_unaligned_node(int idx,
* so kernel might safely assume there are always 4 child nodes.
*/
data[1][i] = 1.0f;
data[2][i] = 0.0f;
data[3][i] = 0.0f;
data[1][i] = NAN;
data[2][i] = NAN;
data[3][i] = NAN;
data[4][i] = 0.0f;
data[5][i] = 0.0f;
data[6][i] = 0.0f;
data[4][i] = NAN;
data[5][i] = NAN;
data[6][i] = NAN;
data[7][i] = 0.0f;
data[8][i] = 0.0f;
data[9][i] = 0.0f;
data[7][i] = NAN;
data[8][i] = NAN;
data[9][i] = NAN;
data[10][i] = -FLT_MAX;
data[11][i] = -FLT_MAX;
data[12][i] = -FLT_MAX;
data[10][i] = NAN;
data[11][i] = NAN;
data[12][i] = NAN;
data[13][i] = __int_as_float(0);
}