Cycles: Don't advertise BVH8 being supported on 32bit platforms
authorSergey Sharybin <sergey.vfx@gmail.com>
Thu, 16 May 2019 09:51:25 +0000 (11:51 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 16 May 2019 09:51:25 +0000 (11:51 +0200)
The kernel does not use AVX2 vectorization, and trying to use BVH8 was
leading to an empty scenes.

Fixes T64624: Ctest : Win32 + AVX2 fails virtually all cycles tests

intern/cycles/device/device_cpu.cpp

index 837a818..dc9adcb 100644 (file)
@@ -332,9 +332,11 @@ class CPUDevice : public Device {
     if (DebugFlags().cpu.has_sse2() && system_cpu_support_sse2()) {
       bvh_layout_mask |= BVH_LAYOUT_BVH4;
     }
+#if defined(__x86_64__) || defined(_M_X64)
     if (DebugFlags().cpu.has_avx2() && system_cpu_support_avx2()) {
       bvh_layout_mask |= BVH_LAYOUT_BVH8;
     }
+#endif
 #ifdef WITH_EMBREE
     bvh_layout_mask |= BVH_LAYOUT_EMBREE;
 #endif /* WITH_EMBREE */