env['swr'] = False
Return()
-if env['LLVM_VERSION'] < distutils.version.LooseVersion('3.9'):
- print("warning: swr requires LLVM >= 3.9: not building swr")
+if env['LLVM_VERSION'] < distutils.version.LooseVersion('6.0'):
+ print("warning: swr requires LLVM >= 6.0: not building swr")
env['swr'] = False
Return()
if not env['msvc'] :
env.Append(CCFLAGS = [
- '-std=c++11',
+ '-std=c++14',
])
swrroot = '#src/gallium/drivers/swr/'
+srcroot = Dir(swrroot).abspath
bldroot = Dir('.').abspath
env.CodeGenerate(
swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
env.CodeGenerate(
- target = 'rasterizer/jitter/gen_builder_x86.hpp',
+ target = 'rasterizer/jitter/gen_builder_meta.hpp',
script = swrroot + 'rasterizer/codegen/gen_llvm_ir_macros.py',
source = '',
- command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_x86_h'
+ command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_meta_h'
+)
+Depends('rasterizer/jitter/gen_builder.hpp',
+ swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
+
+env.CodeGenerate(
+ target = 'rasterizer/jitter/gen_builder_intrin.hpp',
+ script = swrroot + 'rasterizer/codegen/gen_llvm_ir_macros.py',
+ source = '',
+ command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_intrin_h'
)
Depends('rasterizer/jitter/gen_builder.hpp',
swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
swrroot + 'rasterizer/codegen/templates/gen_llvm.hpp')
env.CodeGenerate(
- target = 'rasterizer/archrast/gen_ar_event.hpp',
- script = swrroot + 'rasterizer/codegen/gen_archrast.py',
- source = 'rasterizer/archrast/events.proto',
- command = python_cmd + ' $SCRIPT --proto $SOURCE --output $TARGET --gen_event_h'
+ target = './gen_surf_state_llvm.h',
+ script = swrroot + 'rasterizer/codegen/gen_llvm_types.py',
+ source = 'rasterizer/memory/SurfaceState.h',
+ command = python_cmd + ' $SCRIPT --input $SOURCE --output $TARGET'
)
Depends('rasterizer/jitter/gen_state_llvm.h',
- swrroot + 'rasterizer/codegen/templates/gen_ar_event.hpp')
+ swrroot + 'rasterizer/codegen/templates/gen_llvm.hpp')
+
env.CodeGenerate(
- target = 'rasterizer/archrast/gen_ar_event.cpp',
script = swrroot + 'rasterizer/codegen/gen_archrast.py',
- source = 'rasterizer/archrast/events.proto',
- command = python_cmd + ' $SCRIPT --proto $SOURCE --output $TARGET --gen_event_cpp'
-)
+ target = ['rasterizer/archrast/gen_ar_event.hpp',
+ 'rasterizer/archrast/gen_ar_event.cpp',
+ 'rasterizer/archrast/gen_ar_eventhandler.hpp',
+ 'rasterizer/archrast/gen_ar_eventhandlerfile.hpp'],
+ source = [srcroot + '/rasterizer/archrast/events.proto',
+ srcroot + '/rasterizer/archrast/events_private.proto'],
+ command = python_cmd + ' $SCRIPT --proto $SOURCES --output-dir ' + bldroot + '/rasterizer/archrast')
+Depends('rasterizer/archrast/gen_ar_event.hpp',
+ swrroot + 'rasterizer/archrast/events_private.proto')
+Depends('rasterizer/jitter/gen_state_llvm.h',
+ swrroot + 'rasterizer/codegen/templates/gen_ar_event.hpp')
+Depends('rasterizer/archrast/gen_ar_event.cpp',
+ swrroot + 'rasterizer/archrast/events_private.proto')
Depends('rasterizer/jitter/gen_state_llvm.h',
swrroot + 'rasterizer/codegen/templates/gen_ar_event.cpp')
-
-env.CodeGenerate(
- target = 'rasterizer/archrast/gen_ar_eventhandler.hpp',
- script = swrroot + 'rasterizer/codegen/gen_archrast.py',
- source = 'rasterizer/archrast/events.proto',
- command = python_cmd + ' $SCRIPT --proto $SOURCE --output $TARGET --gen_eventhandler_h'
-)
+Depends('rasterizer/archrast/gen_ar_eventhandler.hpp',
+ swrroot + 'rasterizer/archrast/events_private.proto')
Depends('rasterizer/jitter/gen_state_llvm.h',
swrroot + 'rasterizer/codegen/templates/gen_ar_eventhandler.hpp')
-
-env.CodeGenerate(
- target = 'rasterizer/archrast/gen_ar_eventhandlerfile.hpp',
- script = swrroot + 'rasterizer/codegen/gen_archrast.py',
- source = 'rasterizer/archrast/events.proto',
- command = python_cmd + ' $SCRIPT --proto $SOURCE --output $TARGET --gen_eventhandlerfile_h'
-)
+Depends('rasterizer/archrast/gen_ar_eventhandlerfile.hpp',
+ swrroot + 'rasterizer/archrast/events_private.proto')
Depends('rasterizer/jitter/gen_state_llvm.h',
swrroot + 'rasterizer/codegen/templates/gen_ar_eventhandlerfile.hpp')
Depends(backendPixelRateFiles,
['rasterizer/core/backends/gen_BackendPixelRate.hpp',
'rasterizer/archrast/gen_ar_event.hpp',
+ 'rasterizer/archrast/gen_ar_eventhandler.hpp',
'rasterizer/codegen/gen_knobs.h']
)
envavx = env.Clone()
envavx.Append(CPPDEFINES = ['KNOB_ARCH=KNOB_ARCH_AVX'])
-if env['platform'] == 'windows':
+if env['msvc']:
envavx.Append(CCFLAGS = ['/arch:AVX'])
else:
envavx.Append(CCFLAGS = ['-mavx'])
envavx2 = env.Clone()
envavx2.Append(CPPDEFINES = ['KNOB_ARCH=KNOB_ARCH_AVX2'])
-if env['platform'] == 'windows':
+if env['msvc']:
envavx2.Append(CCFLAGS = ['/arch:AVX2'])
else:
envavx2.Append(CCFLAGS = ['-mavx2', '-mfma', '-mbmi2', '-mf16c'])