From 62c8bae872b7081eb71a0be3d55df91a672b95e7 Mon Sep 17 00:00:00 2001 From: Martijn Berger Date: Mon, 6 Jan 2014 21:38:51 +0100 Subject: [PATCH] Added scons option to actually build the sse41 kernel. CMake already has it --- build_files/scons/tools/btools.py | 4 +++- intern/cycles/SConscript | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index f35b7da999c..47434e68d0d 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -160,7 +160,8 @@ 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_CUDA_BINARIES', 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'BF_CYCLES_CUDA_ENV' + 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES', 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'BF_CYCLES_CUDA_ENV', + 'WITH_CYCLES_OPTIMIZED_KERNEL_SSE41', 'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH', 'WITH_BF_OCIO', 'WITH_BF_STATICOCIO', 'BF_OCIO', 'BF_OCIO_INC', 'BF_OCIO_LIB', 'BF_OCIO_LIB_STATIC', 'BF_OCIO_LIBPATH', 'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_INTERNATIONAL', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH', @@ -572,6 +573,7 @@ def read_opts(env, cfg, args): ('BF_CYCLES_CUDA_NVCC', 'CUDA nvcc compiler path', ''), ('BF_CYCLES_CUDA_ENV', 'preset environement nvcc will execute in', ''), ('BF_CYCLES_CUDA_BINARIES_ARCH', 'CUDA architectures to compile binaries for', []), + (BoolVariable('WITH_CYCLES_OPTIMIZED_KERNEL_SSE41', 'Enable building of an extra SSE4.1 kernel', False)), (BoolVariable('WITH_BF_OIIO', 'Build with OpenImageIO', False)), (BoolVariable('WITH_BF_STATICOIIO', 'Statically link to OpenImageIO', False)), diff --git a/intern/cycles/SConscript b/intern/cycles/SConscript index eeb60f37f92..448375a04ff 100644 --- a/intern/cycles/SConscript +++ b/intern/cycles/SConscript @@ -97,10 +97,11 @@ if env['WITH_BF_RAYOPTIMIZATION']: defs.append('WITH_OPTIMIZED_KERNEL') optim_defs = defs[:] - # Disabled sse4+ patchs for now - #cycles_sse41 = cycles.Clone() - #sse41_sources = [path.join('kernel', 'kernel_sse41.cpp')] - #cycles_sse41.BlenderLib('bf_intern_cycles_sse41', sse41_sources, incs, optim_defs, libtype=['intern'], priority=[10], cxx_compileflags=sse41_cxxflags) + if env['WITH_CYCLES_OPTIMIZED_KERNEL_SSE41']: + cycles_sse41 = cycles.Clone() + sse41_sources = [path.join('kernel', 'kernel_sse41.cpp')] + cycles_sse41.BlenderLib('bf_intern_cycles_sse41', sse41_sources, incs, optim_defs, libtype=['intern'], priority=[10], cxx_compileflags=sse41_cxxflags) + defs.append('WITH_CYCLES_OPTIMIZED_KERNEL_SSE41') cycles_sse3 = cycles.Clone() sse3_sources = [path.join('kernel', 'kernel_sse3.cpp')]