Cycles: Add an AVX kernel for CPU rendering.
authorThomas Dinges <blender@dingto.org>
Thu, 16 Jan 2014 16:04:11 +0000 (17:04 +0100)
committerThomas Dinges <blender@dingto.org>
Thu, 16 Jan 2014 16:04:11 +0000 (17:04 +0100)
commitde28a4d4b2c9397c5233a5ee1dbf1400f450a15c
tree1fe23de963e206af3fb2ff2d9e2e3393cd89149c
parent7c6d52eb07c4bd8142a95eca1dbdc794063859b8
Cycles: Add an AVX kernel for CPU rendering.

* AVX is available on Intel Sandy Bridge and newer and AMD Bulldozer and newer.
* We don't use dedicated AVX intrinsics yet, but gcc auto vectorization gives a 3% performance improvement for Caminandes. Tested on an i5-3570, Linux x64.
* No change for Windows yet, MSVC 2008 does not support AVX.

Reviewed by: brecht
Differential Revision: https://developer.blender.org/D216
intern/cycles/CMakeLists.txt
intern/cycles/SConscript
intern/cycles/device/device_cpu.cpp
intern/cycles/kernel/CMakeLists.txt
intern/cycles/kernel/kernel.h
intern/cycles/kernel/kernel_avx.cpp [new file with mode: 0644]
intern/cycles/util/util_optimization.h
intern/cycles/util/util_system.cpp
intern/cycles/util/util_system.h