Commit: ced8fff5de0f614b3e08013335b8a222e808633f Author: Sergey Sharybin Date: Thu Mar 30 11:23:26 2017 +0200 Branches: master https://developer.blender.org/rBced8fff5de0f614b3e08013335b8a222e808633f
Fix T51051: Incorrect render on 32bit Linux The issue was apparently caused by -fno-finite-math-only added to kernel.cpp CFLAGS. For now just removed this flag from the kernel (we don't really want it there at this point, and we don't have it for SSE/AVX optimized kernels). But surely more investigation is needed here. =================================================================== M intern/cycles/CMakeLists.txt M intern/cycles/kernel/CMakeLists.txt =================================================================== diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt index 31fa15a2042..806a8660e8c 100644 --- a/intern/cycles/CMakeLists.txt +++ b/intern/cycles/CMakeLists.txt @@ -22,6 +22,7 @@ if(WITH_CYCLES_NATIVE_ONLY) -DWITH_KERNEL_NATIVE ) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") + set(CYCLES_KERNEL_FLAGS "-march=native") elseif(NOT WITH_CPU_SSE) set(CXX_HAS_SSE FALSE) set(CXX_HAS_AVX FALSE) @@ -59,10 +60,13 @@ elseif(WIN32 AND MSVC) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ox") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Ox") set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /Ox") + + set(CYCLES_KERNEL_FLAGS "/fp:fast -D_CRT_SECURE_NO_WARNINGS /GS-") elseif(CMAKE_COMPILER_IS_GNUCC) check_cxx_compiler_flag(-msse CXX_HAS_SSE) check_cxx_compiler_flag(-mavx CXX_HAS_AVX) check_cxx_compiler_flag(-mavx2 CXX_HAS_AVX2) + set(CYCLES_KERNEL_FLAGS "-ffast-math") if(CXX_HAS_SSE) set(CYCLES_SSE2_KERNEL_FLAGS "-ffast-math -msse -msse2 -mfpmath=sse") set(CYCLES_SSE3_KERNEL_FLAGS "-ffast-math -msse -msse2 -msse3 -mssse3 -mfpmath=sse") @@ -79,6 +83,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") check_cxx_compiler_flag(-msse CXX_HAS_SSE) check_cxx_compiler_flag(-mavx CXX_HAS_AVX) check_cxx_compiler_flag(-mavx2 CXX_HAS_AVX2) + set(CYCLES_KERNEL_FLAGS "-ffast-math") if(CXX_HAS_SSE) set(CYCLES_SSE2_KERNEL_FLAGS "-ffast-math -msse -msse2") set(CYCLES_SSE3_KERNEL_FLAGS "-ffast-math -msse -msse2 -msse3 -mssse3") diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 54151f06d31..dbc2ba2503a 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -347,6 +347,9 @@ endif() include_directories(${INC}) include_directories(SYSTEM ${INC_SYS}) +set_source_files_properties(kernels/cpu/kernel.cpp PROPERTIES COMPILE_FLAGS "${CYCLES_KERNEL_FLAGS}") +set_source_files_properties(kernels/cpu/kernel_split.cpp PROPERTIES COMPILE_FLAGS "${CYCLES_KERNEL_FLAGS}") + if(CXX_HAS_SSE) list(APPEND SRC kernels/cpu/kernel_sse2.cpp _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs