diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-05-04 13:58:02 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2011-05-04 13:58:02 +0400 |
commit | f56aa76752315a763924ade2406d1bcc436f27f1 (patch) | |
tree | 45b860baf1f995821ea6fe76aca1dbc195cea3f2 /intern | |
parent | 0651b9fde32a7349e782522cba431af9552c23e5 (diff) |
Cycles: some more windows build fixes, based on patch by Francisco De La Cruz.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/cmake/platforms.cmake | 2 | ||||
-rw-r--r-- | intern/cycles/kernel/CMakeLists.txt | 8 | ||||
-rw-r--r-- | intern/cycles/util/util_math.h | 4 |
3 files changed, 12 insertions, 2 deletions
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; |