util: remove LIST_IS_EMPTY macro
[mesa.git] / src / gallium / drivers / swr / SConscript
index c578d7a648f48ded906b277b8a8380bc5fbe4c05..1230cbb5b77e4e47c5916eac104a45f762dcdff7 100644 (file)
@@ -8,12 +8,12 @@ if not env['swr']:
     Return()
 
 if not env['llvm']:
-    print 'warning: LLVM disabled: not building swr'
+    print('warning: LLVM disabled: not building swr')
     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()
 
@@ -28,14 +28,15 @@ if env['platform'] == 'windows':
 else:
     llvm_config = os.environ.get('LLVM_CONFIG', 'llvm-config')
     llvm_includedir = env.backtick('%s --includedir' % llvm_config).rstrip()
-    print "llvm include dir %s" % llvm_includedir
+    print("llvm include dir %s" % llvm_includedir)
 
 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(
@@ -54,7 +55,7 @@ env.CodeGenerate(
     command = python_cmd + ' $SCRIPT --output $TARGET --gen_h'
 )
 Depends('rasterizer/codegen/gen_knobs.h',
-        swrroot + 'rasterizer/codegen/templates/gen_knobs.cpp')
+        swrroot + 'rasterizer/codegen/templates/gen_knobs.h')
 
 env.CodeGenerate(
     target = 'rasterizer/jitter/gen_state_llvm.h',
@@ -75,10 +76,19 @@ Depends('rasterizer/jitter/gen_builder.hpp',
         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_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_x86_h'
+    command = python_cmd + ' $SCRIPT --output ' + bldroot + '/rasterizer/jitter --gen_intrin_h'
 )
 Depends('rasterizer/jitter/gen_builder.hpp',
         swrroot + 'rasterizer/codegen/templates/gen_builder.hpp')
@@ -93,38 +103,38 @@ Depends('rasterizer/jitter/gen_state_llvm.h',
         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')
 
@@ -136,8 +146,7 @@ Depends('rasterizer/jitter/gen_state_llvm.h',
 # 2 canEarlyZ
 backendPixelRateFileCount = 4
 backendPixelRateFilePat = "rasterizer/core/backends/gen_BackendPixelRate%s.cpp"
-backendPixelRateFiles = map(lambda x: backendPixelRateFilePat % x,
-                            range(0, backendPixelRateFileCount))
+backendPixelRateFiles = list(backendPixelRateFilePat % x for x in range(0, backendPixelRateFileCount))
 env.CodeGenerate(
     target = 'rasterizer/core/backends/gen_BackendPixelRate.hpp',
     script = swrroot + 'rasterizer/codegen/gen_backends.py',
@@ -147,6 +156,7 @@ env.CodeGenerate(
 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']
         )
 
@@ -158,8 +168,7 @@ Depends(backendPixelRateFiles,
 # 2 RasterScissorEdges
 genRasterizerFileCount = 4
 genRasterizerFilePat = "rasterizer/core/backends/gen_rasterizer%s.cpp"
-genRasterizerFiles = map(lambda x: genRasterizerFilePat % x,
-                         range(0, genRasterizerFileCount))
+genRasterizerFiles = list(genRasterizerFilePat % x for x in range(0, genRasterizerFileCount))
 env.CodeGenerate(
     target = 'rasterizer/core/backends/gen_rasterizer.hpp',
     script = swrroot + 'rasterizer/codegen/gen_backends.py',
@@ -169,6 +178,7 @@ env.CodeGenerate(
 Depends(genRasterizerFiles,
         ['rasterizer/core/backends/gen_rasterizer.hpp',
          'rasterizer/archrast/gen_ar_event.hpp',
+         'rasterizer/archrast/gen_ar_eventhandler.hpp',
          'rasterizer/codegen/gen_knobs.h']
         )
 
@@ -204,7 +214,7 @@ env.Prepend(CPPPATH = [
 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'])
@@ -220,7 +230,7 @@ env.Alias('swrAVX', swrAVX)
 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'])