diff options
Diffstat (limited to 'intern/cycles/SConscript')
-rw-r--r-- | intern/cycles/SConscript | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/intern/cycles/SConscript b/intern/cycles/SConscript index 9cbdb93ce85..99df8c299fc 100644 --- a/intern/cycles/SConscript +++ b/intern/cycles/SConscript @@ -34,12 +34,8 @@ cycles.Depends('../../source/blender/makesrna/intern/RNA_blender_cpp.h', 'makesr sources = cycles.Glob('bvh/*.cpp') + cycles.Glob('device/*.cpp') + cycles.Glob('kernel/*.cpp') + cycles.Glob('render/*.cpp') + cycles.Glob('subd/*.cpp') + cycles.Glob('util/*.cpp') + cycles.Glob('blender/*.cpp') +sources.append(path.join('kernel', 'kernels', 'cpu', 'kernel.cpp')) sources.remove(path.join('util', 'util_view.cpp')) -sources.remove(path.join('kernel', 'kernel_sse2.cpp')) -sources.remove(path.join('kernel', 'kernel_sse3.cpp')) -sources.remove(path.join('kernel', 'kernel_sse41.cpp')) -sources.remove(path.join('kernel', 'kernel_avx.cpp')) -sources.remove(path.join('kernel', 'kernel_avx2.cpp')) incs = [] defs = [] @@ -47,6 +43,18 @@ cxxflags = Split(env['CXXFLAGS']) defs += env['BF_GL_DEFINITIONS'] +if env['WITH_UNORDERED_MAP_SUPPORT']: + if env['UNORDERED_MAP_HEADER'] == 'unordered_map': + if env['UNORDERED_MAP_NAMESPACE'] == 'std': + defs.append('CYCLES_STD_UNORDERED_MAP') + elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1': + defs.append('CYCLES_STD_UNORDERED_MAP_IN_TR1_NAMESPACE') + elif env['UNORDERED_MAP_NAMESPACE'] == 'std::tr1': + defs.append('CYCLES_TR1_UNORDERED_MAP') +else: + print("-- Replacing unordered_map/set with map/set (warning: slower!)") + defs.append('CYCLES_NO_UNORDERED_MAP') + defs.append('CCL_NAMESPACE_BEGIN=namespace ccl {') defs.append('CCL_NAMESPACE_END=}') @@ -128,13 +136,13 @@ else: if (env['C_COMPILER_ID'] == 'gcc' and env['CCVERSION'] >= '4.6') or (env['C_COMPILER_ID'] == 'clang' and env['CCVERSION'] >= '3.1'): kernel_flags['avx'] = kernel_flags['sse41'] + ' -mavx' - kernel_flags['avx2'] = kernel_flags['avx'] + ' -mavx2 -mfma -mlzcnt -mbmi -mbmi2' + kernel_flags['avx2'] = kernel_flags['avx'] + ' -mavx2 -mfma -mlzcnt -mbmi -mbmi2 -mf16c' for kernel_type in kernel_flags.keys(): defs.append('WITH_KERNEL_' + kernel_type.upper()) for kernel_type in kernel_flags.keys(): - kernel_source = path.join('kernel', 'kernel_' + kernel_type + '.cpp') + kernel_source = path.join('kernel', 'kernels', 'cpu', 'kernel_' + kernel_type + '.cpp') kernel_cxxflags = Split(env['CXXFLAGS']) kernel_cxxflags.append(kernel_flags[kernel_type].split()) kernel_defs = defs[:] |