From f56aa76752315a763924ade2406d1bcc436f27f1 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 May 2011 09:58:02 +0000 Subject: Cycles: some more windows build fixes, based on patch by Francisco De La Cruz. --- intern/cycles/cmake/platforms.cmake | 2 +- intern/cycles/kernel/CMakeLists.txt | 8 +++++++- intern/cycles/util/util_math.h | 4 ++++ 3 files changed, 12 insertions(+), 2 deletions(-) (limited to 'intern') diff --git a/intern/cycles/cmake/platforms.cmake b/intern/cycles/cmake/platforms.cmake index 659fd5dcad3..e4364d8fc5d 100644 --- a/intern/cycles/cmake/platforms.cmake +++ b/intern/cycles/cmake/platforms.cmake @@ -11,7 +11,7 @@ IF(APPLE) ENDIF(APPLE) IF(WIN32) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") SET(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") SET(PYTHON_MODULE_FLAGS "-DLL") ENDIF(WIN32) diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt index 1f027b40108..f1aa1db9e8c 100644 --- a/intern/cycles/kernel/CMakeLists.txt +++ b/intern/cycles/kernel/CMakeLists.txt @@ -71,6 +71,12 @@ SET(headers # CUDA module +IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + SET(CUDA_BITS 64) +ELSE() + SET(CUDA_BITS 32) +ENDIF() + IF(WITH_CYCLES_CUDA) SET(cuda_sources kernel.cu ${headers}) SET(cuda_cubins) @@ -80,7 +86,7 @@ IF(WITH_CYCLES_CUDA) ADD_CUSTOM_COMMAND( OUTPUT ${cuda_cubin} - COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= + COMMAND ${CUDA_NVCC} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CYCLES_CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC DEPENDS ${cuda_sources}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib) diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h index 0ab06f94701..3475e309af5 100644 --- a/intern/cycles/util/util_math.h +++ b/intern/cycles/util/util_math.h @@ -48,9 +48,13 @@ CCL_NAMESPACE_BEGIN #ifdef _WIN32 +#ifndef __KERNEL_GPU__ + #define copysignf(x, y) ((float)_copysign(x, y)) #define hypotf(x, y) _hypotf(x, y) +#endif + __device_inline float fmaxf(float a, float b) { return (a > b)? a: b; -- cgit v1.2.3