diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-28 13:39:49 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-09-28 14:57:50 +0300 |
commit | b030277e791e429e8f8de90316144830eda6bbf8 (patch) | |
tree | 8a221109f49d2c936be8e05dc980324d79f45518 /intern/cycles/kernel/bvh/qbvh_volume.h | |
parent | 45271007cfaf4a515bb73530c48c33dab27b0d39 (diff) |
Cycles: Fix crash with BVH8 on certain scenes
The crash was caused by BVH traversal stack being overflowed.
That overflow was caused by lots of false-positive intersections
for rays originating on a non-finite location.
Not sure why those rays will be existing in the first place,
this is to be investigated separately.
This commit moves pre-SSE4.1 check to a higher level function
and enables it for all miroarchitectures.
Diffstat (limited to 'intern/cycles/kernel/bvh/qbvh_volume.h')
-rw-r--r-- | intern/cycles/kernel/bvh/qbvh_volume.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/intern/cycles/kernel/bvh/qbvh_volume.h b/intern/cycles/kernel/bvh/qbvh_volume.h index 192ce009524..7ec264e5f78 100644 --- a/intern/cycles/kernel/bvh/qbvh_volume.h +++ b/intern/cycles/kernel/bvh/qbvh_volume.h @@ -58,12 +58,6 @@ ccl_device bool BVH_FUNCTION_FULL_NAME(QBVH)(KernelGlobals *kg, Transform ob_itfm; #endif -#ifndef __KERNEL_SSE41__ - if(!isfinite(P.x)) { - return false; - } -#endif - isect->t = ray->t; isect->u = 0.0f; isect->v = 0.0f; |