From 45de38077131b248eb52ab1863072750252a85e2 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 1 Dec 2011 16:33:21 +0000 Subject: Cycles * Compile all of cycles with -ffast-math again * Add scons compilation of cuda binaries, tested on mac/linux. * Add UI option for supported/experimental features, to make it more clear what is supported, opencl/subdivision is experimental. * Remove cycles xml exporter, was just for testing. --- build_files/scons/config/darwin-config.py | 6 +++++- build_files/scons/config/linux-config.py | 4 ++++ build_files/scons/tools/Blender.py | 6 +++++- build_files/scons/tools/btools.py | 6 ++++-- 4 files changed, 18 insertions(+), 4 deletions(-) (limited to 'build_files') diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py index 028b1bd0289..e0b8822ce36 100644 --- a/build_files/scons/config/darwin-config.py +++ b/build_files/scons/config/darwin-config.py @@ -283,7 +283,7 @@ BF_PCRE_LIBPATH = '${BF_PCRE}/lib' #BF_EXPAT_LIB = 'expat' #BF_EXPAT_LIBPATH = '/usr/lib' -#Cycles +# Cycles WITH_BF_CYCLES = True WITH_BF_OIIO = True @@ -298,6 +298,10 @@ BF_BOOST_INC = BF_BOOST + '/include' BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt' BF_BOOST_LIBPATH = BF_BOOST + '/lib' +WITH_BF_CYCLES_CUDA_BINARIES = False +BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc' +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21'] + #Ray trace optimization if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'i386': WITH_BF_RAYOPTIMIZATION = True diff --git a/build_files/scons/config/linux-config.py b/build_files/scons/config/linux-config.py index b25bf98c9e6..6964ff993b6 100644 --- a/build_files/scons/config/linux-config.py +++ b/build_files/scons/config/linux-config.py @@ -219,6 +219,10 @@ BF_BOOST_LIBPATH = BF_BOOST + '/lib' WITH_BF_CYCLES = WITH_BF_OIIO and WITH_BF_BOOST +WITH_BF_CYCLES_CUDA_BINARIES = False +BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc' +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_13', 'sm_20', 'sm_21'] + WITH_BF_OPENMP = True #Ray trace optimization diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 38cd960ebe1..8e431d8f43c 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -291,7 +291,7 @@ def setup_syslibs(lenv): syslibs += Split(lenv['BF_JPEG_LIB']) syslibs += Split(lenv['BF_PNG_LIB']) - + syslibs += lenv['LLIBS'] return syslibs @@ -588,6 +588,8 @@ def AppIt(target=None, source=None, env=None): commands.getoutput(cmd) cmd = 'mkdir %s/kernel' % (cinstalldir) commands.getoutput(cmd) + cmd = 'mkdir %s/lib' % (cinstalldir) + commands.getoutput(cmd) cmd = 'cp -R %s/blender/addon/*.py %s/' % (croot, cinstalldir) commands.getoutput(cmd) cmd = 'cp -R %s/doc/license %s/license' % (croot, cinstalldir) @@ -596,6 +598,8 @@ def AppIt(target=None, source=None, env=None): commands.getoutput(cmd) cmd = 'cp -R %s/kernel/svm %s/util/util_color.h %s/util/util_math.h %s/util/util_transform.h %s/util/util_types.h %s/kernel/' % (croot, croot, croot, croot, croot, cinstalldir) commands.getoutput(cmd) + cmd = 'cp -R %s/../intern/cycles/kernel/*.cubin %s/lib/' % (builddir, cinstalldir) + commands.getoutput(cmd) if env['WITH_OSX_STATICPYTHON']: cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/python/'%(installdir,binary, VERSION) diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 1ddbfcb9608..98c1b74d5cc 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -157,7 +157,7 @@ def validate_arguments(args, bc): 'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC', 'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC', - 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_BINARIES' 'BF_CYCLES_BINARIES_ARCH', + 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES' 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH', 'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH' ] @@ -544,7 +544,9 @@ def read_opts(env, cfg, args): localopts.AddVariables( (BoolVariable('WITH_BF_CYCLES', 'Build with the Cycles engine', True)), - (BoolVariable('WITH_BF_CYCLES_BINARIES', 'Build with precompiled CUDA binaries', False)), + (BoolVariable('WITH_BF_CYCLES_CUDA_BINARIES', 'Build with precompiled CUDA binaries', False)), + ('BF_CYCLES_CUDA_NVCC', 'CUDA nvcc compiler path', ''), + ('BF_CYCLES_CUDA_BINARIES_ARCH', 'CUDA architectures to compile binaries for', []), (BoolVariable('WITH_BF_OIIO', 'Build with OpenImageIO', False)), (BoolVariable('WITH_BF_STATICOIIO', 'Staticly link to OpenImageIO', False)), -- cgit v1.2.3