panfrost: Use pack for general varying
[mesa.git] / src / gallium / drivers / llvmpipe / SConscript
index fd6ba1561ea771bae686452a1da324768773cb53..1af6867715c7c992b26cbeaf7753809bba5bf5a8 100644 (file)
+from sys import executable as python_cmd
 import distutils.version
 
 Import('*')
 
 if not env['llvm']:
-    print 'warning: LLVM disabled: not building llvmpipe'
+    print('warning: LLVM disabled: not building llvmpipe')
     Return()
 
 env = env.Clone()
 
-env.Tool('udis86')
-
-env.Append(CPPPATH = ['.'])
-
-env.CodeGenerate(
-       target = 'lp_tile_soa.c',
-       script = 'lp_tile_soa.py',
-       source = ['#src/gallium/auxiliary/util/u_format.csv'],
-       command = 'python $SCRIPT $SOURCE > $TARGET'
-)
-
-# XXX: Our dependency scanner only finds depended modules in relative dirs.
-env.Depends('lp_tile_soa.c', [
-    '#src/gallium/auxiliary/util/u_format_parse.py', 
-    '#src/gallium/auxiliary/util/u_format_pack.py', 
-])
-
-
-# Only enable SSSE3 for lp_tile_soa_sse3.c
-ssse3_env = env.Clone()
-if env['gcc'] \
-   and distutils.version.LooseVersion(env['CCVERSION']) >= distutils.version.LooseVersion('4.3') \
-   and env['machine'] in ('x86', 'x86_64') :
-    ssse3_env.Append(CCFLAGS = ['-mssse3'])
-lp_tile_soa_os = ssse3_env.SharedObject('lp_tile_soa.c')
-
+env.MSVC2013Compat()
 
 llvmpipe = env.ConvenienceLibrary(
        target = 'llvmpipe',
-       source = [
-               'lp_bld_alpha.c',
-               'lp_bld_blend_aos.c',
-               'lp_bld_blend_logicop.c',
-               'lp_bld_blend_soa.c',
-               'lp_bld_depth.c',
-               'lp_bld_interp.c',
-               'lp_clear.c',
-               'lp_context.c',
-               'lp_draw_arrays.c',
-               'lp_fence.c',
-               'lp_flush.c',
-               'lp_jit.c',
-               'lp_memory.c',
-               'lp_perf.c',
-               'lp_query.c',
-               'lp_rast.c',
-               'lp_rast_tri.c',
-               'lp_scene.c',
-               'lp_scene_queue.c',
-               'lp_screen.c',
-               'lp_setup.c',
-               'lp_setup_line.c',
-               'lp_setup_point.c',
-               'lp_setup_tri.c',
-               'lp_setup_vbuf.c',
-               'lp_state_blend.c',
-               'lp_state_clip.c',
-               'lp_state_derived.c',
-               'lp_state_fs.c',
-               'lp_state_gs.c',
-               'lp_state_rasterizer.c',
-               'lp_state_sampler.c',
-                'lp_state_so.c',
-               'lp_state_surface.c',
-               'lp_state_vertex.c',
-               'lp_state_vs.c',
-               'lp_surface.c',
-               'lp_tex_sample.c',
-               'lp_texture.c',
-               'lp_tile_image.c',
-        lp_tile_soa_os,
-       ])
+       source = env.ParseSourceList('Makefile.sources', 'C_SOURCES')
+       )
 
+env.Alias('llvmpipe', llvmpipe)
 
-if env['platform'] != 'embedded':
+env.Append(CPPPATH = [
+    '../../../compiler/nir',
+])
+
+if not env['embedded']:
     env = env.Clone()
 
-    env.Prepend(LIBS = [llvmpipe] + gallium)
+    env.Prepend(LIBS = [llvmpipe, gallium, mesautil])
 
     tests = [
+        'arit',
         'format',
         'blend',
         'conv',
-       'printf',
-       'sincos',
+        'printf',
     ]
 
-    if not msvc:
-        tests.append('round')
-
     for test in tests:
+        testname = 'lp_test_' + test
         target = env.Program(
-            target = 'lp_test_' + test,
-            source = ['lp_test_' + test + '.c', 'lp_test_main.c'],
+            target = testname,
+            source = [testname + '.c', 'lp_test_main.c'],
         )
-        env.InstallProgram(target)
+        env.UnitTest(testname, target)
 
 Export('llvmpipe')