pan/mdg: Free previous liveness
[mesa.git] / src / panfrost / midgard / meson.build
1 # Copyright © 2018 Rob Clark
2 # Copyright © 2019 Collabora
3
4 # Permission is hereby granted, free of charge, to any person obtaining a copy
5 # of this software and associated documentation files (the "Software"), to deal
6 # in the Software without restriction, including without limitation the rights
7 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 # copies of the Software, and to permit persons to whom the Software is
9 # furnished to do so, subject to the following conditions:
10
11 # The above copyright notice and this permission notice shall be included in
12 # all copies or substantial portions of the Software.
13
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 # SOFTWARE.
21
22 libpanfrost_midgard_files = files(
23 'midgard_compile.c',
24 'mir.c',
25 'midgard_address.c',
26 'midgard_print.c',
27 'midgard_schedule.c',
28 'midgard_derivatives.c',
29 'midgard_emit.c',
30 'midgard_helper_invocations.c',
31 'midgard_ra.c',
32 'midgard_ra_pipeline.c',
33 'midgard_liveness.c',
34 'midgard_ops.c',
35 'mir_promote_uniforms.c',
36 'mir_squeeze.c',
37 'midgard_opt_copy_prop.c',
38 'midgard_opt_dce.c',
39 'midgard_opt_perspective.c',
40 'midgard_errata_lod.c',
41 'nir_undef_to_zero.c',
42 'nir_fuse_io_16.c',
43 )
44
45 midgard_nir_algebraic_c = custom_target(
46 'midgard_nir_algebraic.c',
47 input : 'midgard_nir_algebraic.py',
48 output : 'midgard_nir_algebraic.c',
49 command : [
50 prog_python, '@INPUT@',
51 '-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
52 ],
53 capture : true,
54 depend_files : nir_algebraic_py,
55 )
56
57 libpanfrost_midgard_disasm = static_library(
58 'panfrost_midgard_disasm',
59 ['disassemble.c', 'midgard_ops.c', 'midgard_print_constant.c'],
60 include_directories : [
61 inc_mapi,
62 inc_mesa,
63 inc_gallium,
64 inc_gallium_aux,
65 inc_include,
66 inc_src,
67 inc_panfrost_hw,
68 ],
69 c_args : [no_override_init_args],
70 gnu_symbol_visibility : 'hidden',
71 build_by_default : false,
72 )
73
74 libpanfrost_midgard = static_library(
75 'panfrost_midgard',
76 [libpanfrost_midgard_files, midgard_nir_algebraic_c],
77 include_directories : [
78 inc_mapi,
79 inc_mesa,
80 inc_gallium,
81 inc_gallium_aux,
82 inc_include,
83 inc_src,
84 inc_panfrost_hw,
85 ],
86 dependencies: [
87 idep_nir
88 ],
89 link_with: [libpanfrost_util, libpanfrost_midgard_disasm],
90 c_args : [no_override_init_args],
91 gnu_symbol_visibility : 'hidden',
92 build_by_default : false,
93 )