diff options
author | Thomas Dinges <blender@dingto.org> | 2014-01-16 20:04:11 +0400 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2014-01-16 20:04:11 +0400 |
commit | de28a4d4b2c9397c5233a5ee1dbf1400f450a15c (patch) | |
tree | 1fe23de963e206af3fb2ff2d9e2e3393cd89149c /intern/cycles/util/util_system.cpp | |
parent | 7c6d52eb07c4bd8142a95eca1dbdc794063859b8 (diff) |
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
Diffstat (limited to 'intern/cycles/util/util_system.cpp')
-rw-r--r-- | intern/cycles/util/util_system.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/intern/cycles/util/util_system.cpp b/intern/cycles/util/util_system.cpp index 79bf5fd26b7..3d7781f6146 100644 --- a/intern/cycles/util/util_system.cpp +++ b/intern/cycles/util/util_system.cpp @@ -198,6 +198,12 @@ bool system_cpu_support_sse41() CPUCapabilities& caps = system_cpu_capabilities(); return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41; } + +bool system_cpu_support_avx() +{ + CPUCapabilities& caps = system_cpu_capabilities(); + return caps.sse && caps.sse2 && caps.sse3 && caps.ssse3 && caps.sse41 && caps.avx; +} #else bool system_cpu_support_sse2() @@ -210,6 +216,16 @@ bool system_cpu_support_sse3() return false; } +bool system_cpu_support_sse41() +{ + return false; +} + +bool system_cpu_support_avx() +{ + return false; +} + #endif CCL_NAMESPACE_END |