Commit: 04984430ce18a61560f793d0adf9b7acba4a05d4 Author: Sv. Lockal Date: Mon Feb 3 17:22:50 2014 +0400 https://developer.blender.org/rB04984430ce18a61560f793d0adf9b7acba4a05d4
Cycles: enable /arch:AVX in msvc 11 and later versions for avx kernel This enables VEX-encoding in AVX kernel for windows msvc builds and gives 5-10% speedup for different scenes. Reviewers: juicyfruit, dingto, brecht Reviewed By: brecht CC: brecht Differential Revision: https://developer.blender.org/D284 =================================================================== M intern/cycles/CMakeLists.txt =================================================================== diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index f8c4ca6..5c8d68b 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -15,17 +15,24 @@ include(cmake/external_libs.cmake) # todo: refactor this code to match scons if(WIN32 AND MSVC) + # /arch:AVX for VC2012 and above + if(NOT MSVC_VERSION LESS 1700) + set(CYCLES_AVX_ARCH_FLAGS "/arch:AVX") + elseif(NOT CMAKE_CL_64) + set(CYCLES_AVX_ARCH_FLAGS "/arch:SSE2") + endif() + # there is no /arch:SSE3, but intrinsics are available anyway if(CMAKE_CL_64) set(CYCLES_SSE2_KERNEL_FLAGS "/fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") set(CYCLES_SSE3_KERNEL_FLAGS "/fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") set(CYCLES_SSE41_KERNEL_FLAGS "/fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") - set(CYCLES_AVX_KERNEL_FLAGS "/fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") #/arch:AVX for VC2012 and above + set(CYCLES_AVX_KERNEL_FLAGS "${CYCLES_AVX_ARCH_FLAGS} /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") else() set(CYCLES_SSE2_KERNEL_FLAGS "/arch:SSE2 /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") set(CYCLES_SSE3_KERNEL_FLAGS "/arch:SSE2 /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") set(CYCLES_SSE41_KERNEL_FLAGS "/arch:SSE2 /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") - set(CYCLES_AVX_KERNEL_FLAGS "/arch:SSE2 /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") #/arch:AVX for VC2012 and above + set(CYCLES_AVX_KERNEL_FLAGS "${CYCLES_AVX_ARCH_FLAGS} /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") endif() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:fast -D_CRT_SECURE_NO_WARNINGS /Gs-") _______________________________________________ Bf-blender-cvs mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-blender-cvs
