xref: /aosp_15_r20/external/mesa3d/src/asahi/compiler/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright 2018 Rob Clark
2*61046927SAndroid Build Coastguard Worker# Copyright 2019 Collabora, Ltd.
3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker
5*61046927SAndroid Build Coastguard Workerlibasahi_agx_files = files(
6*61046927SAndroid Build Coastguard Worker  'agx_compile.c',
7*61046927SAndroid Build Coastguard Worker  'agx_dce.c',
8*61046927SAndroid Build Coastguard Worker  'agx_liveness.c',
9*61046927SAndroid Build Coastguard Worker  'agx_insert_waits.c',
10*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_address.c',
11*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_cull_distance.c',
12*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_frag_sidefx.c',
13*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_sample_mask.c',
14*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_discard_zs_emit.c',
15*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_interpolation.c',
16*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_shared_bitsize.c',
17*61046927SAndroid Build Coastguard Worker  'agx_nir_lower_subgroups.c',
18*61046927SAndroid Build Coastguard Worker  'agx_nir_opt_preamble.c',
19*61046927SAndroid Build Coastguard Worker  'agx_lower_64bit.c',
20*61046927SAndroid Build Coastguard Worker  'agx_lower_divergent_shuffle.c',
21*61046927SAndroid Build Coastguard Worker  'agx_lower_parallel_copy.c',
22*61046927SAndroid Build Coastguard Worker  'agx_lower_pseudo.c',
23*61046927SAndroid Build Coastguard Worker  'agx_lower_spill.c',
24*61046927SAndroid Build Coastguard Worker  'agx_lower_uniform_sources.c',
25*61046927SAndroid Build Coastguard Worker  'agx_pack.c',
26*61046927SAndroid Build Coastguard Worker  'agx_performance.c',
27*61046927SAndroid Build Coastguard Worker  'agx_print.c',
28*61046927SAndroid Build Coastguard Worker  'agx_pressure_schedule.c',
29*61046927SAndroid Build Coastguard Worker  'agx_ir.c',
30*61046927SAndroid Build Coastguard Worker  'agx_opt_cse.c',
31*61046927SAndroid Build Coastguard Worker  'agx_opt_break_if.c',
32*61046927SAndroid Build Coastguard Worker  'agx_opt_empty_else.c',
33*61046927SAndroid Build Coastguard Worker  'agx_opt_jmp_none.c',
34*61046927SAndroid Build Coastguard Worker  'agx_opt_compact_constants.c',
35*61046927SAndroid Build Coastguard Worker  'agx_opt_promote_constants.c',
36*61046927SAndroid Build Coastguard Worker  'agx_optimizer.c',
37*61046927SAndroid Build Coastguard Worker  'agx_repair_ssa.c',
38*61046927SAndroid Build Coastguard Worker  'agx_reindex_ssa.c',
39*61046927SAndroid Build Coastguard Worker  'agx_spill.c',
40*61046927SAndroid Build Coastguard Worker  'agx_register_allocate.c',
41*61046927SAndroid Build Coastguard Worker  'agx_validate.c',
42*61046927SAndroid Build Coastguard Worker)
43*61046927SAndroid Build Coastguard Worker
44*61046927SAndroid Build Coastguard Workeragx_nir_algebraic_c = custom_target(
45*61046927SAndroid Build Coastguard Worker  'agx_nir_algebraic.c',
46*61046927SAndroid Build Coastguard Worker  input : 'agx_nir_algebraic.py',
47*61046927SAndroid Build Coastguard Worker  output : 'agx_nir_algebraic.c',
48*61046927SAndroid Build Coastguard Worker  command : [
49*61046927SAndroid Build Coastguard Worker    prog_python, '@INPUT@', '-p', dir_compiler_nir,
50*61046927SAndroid Build Coastguard Worker  ],
51*61046927SAndroid Build Coastguard Worker  capture : true,
52*61046927SAndroid Build Coastguard Worker  depend_files : nir_algebraic_depends,
53*61046927SAndroid Build Coastguard Worker)
54*61046927SAndroid Build Coastguard Worker
55*61046927SAndroid Build Coastguard Workeragx_opcodes_h = custom_target(
56*61046927SAndroid Build Coastguard Worker  'agx_opcodes.h',
57*61046927SAndroid Build Coastguard Worker  input : ['agx_opcodes.h.py'],
58*61046927SAndroid Build Coastguard Worker  output : 'agx_opcodes.h',
59*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
60*61046927SAndroid Build Coastguard Worker  capture : true,
61*61046927SAndroid Build Coastguard Worker  depend_files : files('agx_opcodes.py'),
62*61046927SAndroid Build Coastguard Worker)
63*61046927SAndroid Build Coastguard Worker
64*61046927SAndroid Build Coastguard Workeridep_agx_opcodes_h = declare_dependency(
65*61046927SAndroid Build Coastguard Worker  sources : [agx_opcodes_h],
66*61046927SAndroid Build Coastguard Worker  include_directories : include_directories('.'),
67*61046927SAndroid Build Coastguard Worker)
68*61046927SAndroid Build Coastguard Worker
69*61046927SAndroid Build Coastguard Workeragx_opcodes_c = custom_target(
70*61046927SAndroid Build Coastguard Worker  'agx_opcodes.c',
71*61046927SAndroid Build Coastguard Worker  input : ['agx_opcodes.c.py'],
72*61046927SAndroid Build Coastguard Worker  output : 'agx_opcodes.c',
73*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
74*61046927SAndroid Build Coastguard Worker  capture : true,
75*61046927SAndroid Build Coastguard Worker  depend_files : files('agx_opcodes.py'),
76*61046927SAndroid Build Coastguard Worker)
77*61046927SAndroid Build Coastguard Worker
78*61046927SAndroid Build Coastguard Workeragx_builder_h = custom_target(
79*61046927SAndroid Build Coastguard Worker  'agx_builder.h',
80*61046927SAndroid Build Coastguard Worker  input : ['agx_builder.h.py'],
81*61046927SAndroid Build Coastguard Worker  output : 'agx_builder.h',
82*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
83*61046927SAndroid Build Coastguard Worker  capture : true,
84*61046927SAndroid Build Coastguard Worker  depend_files : files('agx_opcodes.py'),
85*61046927SAndroid Build Coastguard Worker)
86*61046927SAndroid Build Coastguard Worker
87*61046927SAndroid Build Coastguard Workeridep_agx_builder_h = declare_dependency(
88*61046927SAndroid Build Coastguard Worker  sources : [agx_builder_h],
89*61046927SAndroid Build Coastguard Worker  include_directories : include_directories('.'),
90*61046927SAndroid Build Coastguard Worker)
91*61046927SAndroid Build Coastguard Worker
92*61046927SAndroid Build Coastguard Workerlibasahi_compiler = static_library(
93*61046927SAndroid Build Coastguard Worker  'asahi_compiler',
94*61046927SAndroid Build Coastguard Worker  [libasahi_agx_files, agx_opcodes_c, agx_nir_algebraic_c],
95*61046927SAndroid Build Coastguard Worker  dependencies: [idep_nir, idep_agx_opcodes_h, idep_agx_builder_h, idep_mesautil],
96*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
97*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
98*61046927SAndroid Build Coastguard Worker  build_by_default : false,
99*61046927SAndroid Build Coastguard Worker)
100*61046927SAndroid Build Coastguard Worker
101*61046927SAndroid Build Coastguard Workerif with_tests
102*61046927SAndroid Build Coastguard Worker  test(
103*61046927SAndroid Build Coastguard Worker    'agx_tests',
104*61046927SAndroid Build Coastguard Worker    executable(
105*61046927SAndroid Build Coastguard Worker      'agx_tests',
106*61046927SAndroid Build Coastguard Worker      files(
107*61046927SAndroid Build Coastguard Worker         'test/test-compact-constants.cpp',
108*61046927SAndroid Build Coastguard Worker         'test/test-minifloat.cpp',
109*61046927SAndroid Build Coastguard Worker         'test/test-optimizer.cpp',
110*61046927SAndroid Build Coastguard Worker         'test/test-lower-pseudo.cpp',
111*61046927SAndroid Build Coastguard Worker         'test/test-lower-parallel-copy.cpp',
112*61046927SAndroid Build Coastguard Worker         'test/test-lower-spill.cpp',
113*61046927SAndroid Build Coastguard Worker         'test/test-repair-ssa.cpp',
114*61046927SAndroid Build Coastguard Worker      ),
115*61046927SAndroid Build Coastguard Worker      c_args : [c_msvc_compat_args, no_override_init_args],
116*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
117*61046927SAndroid Build Coastguard Worker      dependencies: [idep_gtest, idep_nir, idep_agx_opcodes_h, idep_agx_builder_h, idep_mesautil],
118*61046927SAndroid Build Coastguard Worker      link_with : [libasahi_compiler],
119*61046927SAndroid Build Coastguard Worker    ),
120*61046927SAndroid Build Coastguard Worker    suite : ['asahi'],
121*61046927SAndroid Build Coastguard Worker    protocol : 'gtest',
122*61046927SAndroid Build Coastguard Worker  )
123*61046927SAndroid Build Coastguard Workerendif
124