Page MenuHome

Cycles: Fix T70685
AcceptedPublic

Authored by LazyDodo (LazyDodo) on Oct 16 2019, 6:24 PM.

Details

Reviewers
Dalai Felinto (dfelinto)
Group Reviewers
Cycles
Summary

Building with WITH_CYCLES_NATIVE_ONLY on AVX2+MSVC system leads to a bad combination of sse2 kernel+BVH8.

What is happening is:

  1. MSVC does not have an -march=native switch, so kernel.cpp gets build with the default flags and you and up with a run of the mill SSE2 kernel.
  1. DebugFlags().cpu.has_avx2() is true, and it decides BVH8 is a valid option, normally not an issue, since kernel.cpp detects the AVX2 as well and has the right kernel.
  1. But not for msvc which tries to match up and sse2 kernel with BVH8 and thing go boom

Diff Detail

Repository
rB Blender
Branch
tmp_T70685 (branched from master)
Build Status
Buildable 5391
Build 5391: arc lint + arc unit

Event Timeline

Patch works fine here (MSVC + AVX2).

intern/cycles/device/device_cpu.cpp
341

typo: switch, not swtich

343

Drop the extra empty spaces.

This revision is now accepted and ready to land.Oct 16 2019, 6:32 PM

(and for the records my computer was the one where this originally happened, without this patch almost all cycles unittest fail with native kernel)

  • fix typos and whitespace
LazyDodo (LazyDodo) marked 2 inline comments as done.Oct 16 2019, 6:34 PM