aco: add framework for testing isel and integration tests
[mesa.git] / src / amd / compiler / tests / meson.build
1 # Copyright © 2020 Valve Corporation
2
3 # Permission is hereby granted, free of charge, to any person obtaining a copy
4 # of this software and associated documentation files (the "Software"), to deal
5 # in the Software without restriction, including without limitation the rights
6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 # copies of the Software, and to permit persons to whom the Software is
8 # furnished to do so, subject to the following conditions:
9
10 # The above copyright notice and this permission notice shall be included in
11 # all copies or substantial portions of the Software.
12
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 # SOFTWARE.
20 aco_tests_files = files(
21 'framework.h',
22 'helpers.cpp',
23 'helpers.h',
24 'main.cpp',
25 'test_assembler.cpp',
26 'test_isel.cpp',
27 'test_optimizer.cpp',
28 'test_tests.cpp',
29 )
30
31 spirv_files = files(
32 'test_isel.cpp',
33 )
34
35 gen_spirv = generator(prog_python,
36 output : '@BASENAME@-spirv.h',
37 arguments : [join_paths(meson.current_source_dir(), 'glsl_scraper.py'),
38 '@INPUT@', '--with-glslang', prog_glslang.path(), '-o', '@OUTPUT@'])
39 gen_spirv_files = gen_spirv.process(spirv_files)
40
41 test(
42 'aco_tests',
43 executable(
44 'aco_tests',
45 [aco_tests_files, gen_spirv_files],
46 cpp_args : ['-DACO_TEST_SOURCE_DIR="@0@"'.format(meson.current_source_dir()),
47 '-DACO_TEST_BUILD_ROOT="@0@"'.format(meson.build_root()),
48 '-DACO_TEST_PYTHON_BIN="@0@"'.format(prog_python.path())],
49 include_directories : [
50 inc_include, inc_src, inc_gallium, inc_compiler, inc_mesa, inc_mapi, inc_amd, inc_amd_common, inc_amd_common_llvm,
51 ],
52 link_with : [
53 libamd_common, libamd_common_llvm, libvulkan_radeon,
54 ],
55 dependencies : [
56 dep_llvm, dep_thread, idep_aco, idep_nir, idep_mesautil
57 ],
58 gnu_symbol_visibility : 'hidden',
59 build_by_default : true,
60 ),
61 suite : ['amd', 'compiler'],
62 )