pan/midgard: Add imov->fmov optimization
[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_print.c',
26 'midgard_schedule.c',
27 'midgard_derivatives.c',
28 'midgard_emit.c',
29 'midgard_ra.c',
30 'midgard_ra_pipeline.c',
31 'midgard_liveness.c',
32 'midgard_ops.c',
33 'mir_promote_uniforms.c',
34 'midgard_opt_copy_prop.c',
35 'midgard_opt_dce.c',
36 'midgard_opt_invert.c',
37 'midgard_opt_float.c',
38 'midgard_opt_perspective.c',
39 'cppwrap.cpp',
40 'disassemble.c',
41 )
42
43 midgard_nir_algebraic_c = custom_target(
44 'midgard_nir_algebraic.c',
45 input : 'midgard_nir_algebraic.py',
46 output : 'midgard_nir_algebraic.c',
47 command : [
48 prog_python, '@INPUT@',
49 '-p', join_paths(meson.source_root(), 'src/compiler/nir/'),
50 ],
51 capture : true,
52 depend_files : nir_algebraic_py,
53 )
54
55 libpanfrost_midgard = static_library(
56 'panfrost_midgard',
57 [libpanfrost_midgard_files, midgard_nir_algebraic_c],
58 include_directories : [
59 inc_common,
60 inc_include,
61 inc_src,
62 inc_panfrost_hw,
63 ],
64 dependencies: [
65 idep_nir
66 ],
67 c_args : [c_vis_args, no_override_init_args],
68 cpp_args : [cpp_vis_args],
69 build_by_default : false,
70 )