Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-05-04 13:58:02 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-05-04 13:58:02 +0400
commitf56aa76752315a763924ade2406d1bcc436f27f1 (patch)
tree45b860baf1f995821ea6fe76aca1dbc195cea3f2
parent0651b9fde32a7349e782522cba431af9552c23e5 (diff)
Cycles: some more windows build fixes, based on patch by Francisco De La Cruz.
-rw-r--r--intern/cycles/cmake/platforms.cmake2
-rw-r--r--intern/cycles/kernel/CMakeLists.txt8
-rw-r--r--intern/cycles/util/util_math.h4
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;