xref: /aosp_15_r20/external/mesa3d/src/panfrost/compiler/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Rob Clark
2*61046927SAndroid Build Coastguard Worker# Copyright © 2019 Collabora
3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*61046927SAndroid Build Coastguard Worker
5*61046927SAndroid Build Coastguard Workersubdir('valhall')
6*61046927SAndroid Build Coastguard Worker
7*61046927SAndroid Build Coastguard Workerinc_valhall = include_directories(['.', 'valhall'])
8*61046927SAndroid Build Coastguard Worker
9*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost_files = files(
10*61046927SAndroid Build Coastguard Worker  'bi_helper_invocations.c',
11*61046927SAndroid Build Coastguard Worker  'bi_layout.c',
12*61046927SAndroid Build Coastguard Worker  'bi_liveness.c',
13*61046927SAndroid Build Coastguard Worker  'bi_lower_divergent_indirects.c',
14*61046927SAndroid Build Coastguard Worker  'bi_lower_swizzle.c',
15*61046927SAndroid Build Coastguard Worker  'bi_print.c',
16*61046927SAndroid Build Coastguard Worker  'bi_opt_constant_fold.c',
17*61046927SAndroid Build Coastguard Worker  'bi_opt_copy_prop.c',
18*61046927SAndroid Build Coastguard Worker  'bi_opt_dce.c',
19*61046927SAndroid Build Coastguard Worker  'bi_opt_cse.c',
20*61046927SAndroid Build Coastguard Worker  'bi_opt_push_ubo.c',
21*61046927SAndroid Build Coastguard Worker  'bi_opt_mod_props.c',
22*61046927SAndroid Build Coastguard Worker  'bi_opt_dual_tex.c',
23*61046927SAndroid Build Coastguard Worker  'bi_pressure_schedule.c',
24*61046927SAndroid Build Coastguard Worker  'bi_ra.c',
25*61046927SAndroid Build Coastguard Worker  'bi_validate.c',
26*61046927SAndroid Build Coastguard Worker  'bir.c',
27*61046927SAndroid Build Coastguard Worker  'bifrost_compile.c',
28*61046927SAndroid Build Coastguard Worker  'bifrost/bi_opt_message_preload.c',
29*61046927SAndroid Build Coastguard Worker  'bifrost/bi_pack.c',
30*61046927SAndroid Build Coastguard Worker  'bifrost/bi_schedule.c',
31*61046927SAndroid Build Coastguard Worker  'bifrost/bi_scoreboard.c',
32*61046927SAndroid Build Coastguard Worker  'valhall/va_insert_flow.c',
33*61046927SAndroid Build Coastguard Worker  'valhall/va_lower_constants.c',
34*61046927SAndroid Build Coastguard Worker  'valhall/va_lower_isel.c',
35*61046927SAndroid Build Coastguard Worker  'valhall/va_lower_split_64bit.c',
36*61046927SAndroid Build Coastguard Worker  'valhall/va_optimize.c',
37*61046927SAndroid Build Coastguard Worker  'valhall/va_mark_last.c',
38*61046927SAndroid Build Coastguard Worker  'valhall/va_merge_flow.c',
39*61046927SAndroid Build Coastguard Worker  'valhall/va_pack.c',
40*61046927SAndroid Build Coastguard Worker  'valhall/va_perf.c',
41*61046927SAndroid Build Coastguard Worker  'valhall/va_validate.c',
42*61046927SAndroid Build Coastguard Worker)
43*61046927SAndroid Build Coastguard Worker
44*61046927SAndroid Build Coastguard Workerbifrost_gen_disasm_c = custom_target(
45*61046927SAndroid Build Coastguard Worker  'bifrost_gen_disasm.c',
46*61046927SAndroid Build Coastguard Worker  input : ['gen_disasm.py', 'bifrost/ISA.xml'],
47*61046927SAndroid Build Coastguard Worker  output : 'bifrost_gen_disasm.c',
48*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
49*61046927SAndroid Build Coastguard Worker  capture : true,
50*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
51*61046927SAndroid Build Coastguard Worker)
52*61046927SAndroid Build Coastguard Worker
53*61046927SAndroid Build Coastguard Workerbi_opcodes_c = custom_target(
54*61046927SAndroid Build Coastguard Worker  'bi_opcodes.c',
55*61046927SAndroid Build Coastguard Worker  input : ['bi_opcodes.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'],
56*61046927SAndroid Build Coastguard Worker  output : 'bi_opcodes.c',
57*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
58*61046927SAndroid Build Coastguard Worker  capture : true,
59*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
60*61046927SAndroid Build Coastguard Worker)
61*61046927SAndroid Build Coastguard Worker
62*61046927SAndroid Build Coastguard Workerbi_printer_c = custom_target(
63*61046927SAndroid Build Coastguard Worker  'bi_printer.c',
64*61046927SAndroid Build Coastguard Worker  input : ['bi_printer.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'],
65*61046927SAndroid Build Coastguard Worker  output : 'bi_printer.c',
66*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
67*61046927SAndroid Build Coastguard Worker  capture : true,
68*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
69*61046927SAndroid Build Coastguard Worker)
70*61046927SAndroid Build Coastguard Worker
71*61046927SAndroid Build Coastguard Workerbi_packer_c = custom_target(
72*61046927SAndroid Build Coastguard Worker  'bi_packer.c',
73*61046927SAndroid Build Coastguard Worker  input : ['bi_packer.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'],
74*61046927SAndroid Build Coastguard Worker  output : 'bi_packer.c',
75*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
76*61046927SAndroid Build Coastguard Worker  capture : true,
77*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
78*61046927SAndroid Build Coastguard Worker)
79*61046927SAndroid Build Coastguard Worker
80*61046927SAndroid Build Coastguard Workerbi_opcodes_h = custom_target(
81*61046927SAndroid Build Coastguard Worker  'bi_opcodes.h',
82*61046927SAndroid Build Coastguard Worker  input : ['bi_opcodes.h.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'],
83*61046927SAndroid Build Coastguard Worker  output : 'bi_opcodes.h',
84*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
85*61046927SAndroid Build Coastguard Worker  capture : true,
86*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
87*61046927SAndroid Build Coastguard Worker)
88*61046927SAndroid Build Coastguard Worker
89*61046927SAndroid Build Coastguard Workeridep_bi_opcodes_h = declare_dependency(
90*61046927SAndroid Build Coastguard Worker  sources : [bi_opcodes_h],
91*61046927SAndroid Build Coastguard Worker  include_directories : include_directories('.'),
92*61046927SAndroid Build Coastguard Worker)
93*61046927SAndroid Build Coastguard Worker
94*61046927SAndroid Build Coastguard Workerbi_builder_h = custom_target(
95*61046927SAndroid Build Coastguard Worker  'bi_builder.h',
96*61046927SAndroid Build Coastguard Worker  input : ['bi_builder.h.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'],
97*61046927SAndroid Build Coastguard Worker  output : 'bi_builder.h',
98*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
99*61046927SAndroid Build Coastguard Worker  capture : true,
100*61046927SAndroid Build Coastguard Worker  depend_files : files('bifrost_isa.py'),
101*61046927SAndroid Build Coastguard Worker)
102*61046927SAndroid Build Coastguard Worker
103*61046927SAndroid Build Coastguard Workeridep_bi_builder_h = declare_dependency(
104*61046927SAndroid Build Coastguard Worker  sources : [bi_builder_h],
105*61046927SAndroid Build Coastguard Worker  include_directories : include_directories('.'),
106*61046927SAndroid Build Coastguard Worker)
107*61046927SAndroid Build Coastguard Worker
108*61046927SAndroid Build Coastguard Workerbifrost_nir_algebraic_c = custom_target(
109*61046927SAndroid Build Coastguard Worker  'bifrost_nir_algebraic.c',
110*61046927SAndroid Build Coastguard Worker  input : 'bifrost_nir_algebraic.py',
111*61046927SAndroid Build Coastguard Worker  output : 'bifrost_nir_algebraic.c',
112*61046927SAndroid Build Coastguard Worker  command : [
113*61046927SAndroid Build Coastguard Worker    prog_python, '@INPUT@', '-p', dir_compiler_nir,
114*61046927SAndroid Build Coastguard Worker  ],
115*61046927SAndroid Build Coastguard Worker  capture : true,
116*61046927SAndroid Build Coastguard Worker  depend_files : nir_algebraic_depends,
117*61046927SAndroid Build Coastguard Worker)
118*61046927SAndroid Build Coastguard Worker
119*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost_disasm = static_library(
120*61046927SAndroid Build Coastguard Worker  'panfrost_bifrost_disasm',
121*61046927SAndroid Build Coastguard Worker  ['bifrost/disassemble.c', 'bi_print_common.c', bifrost_gen_disasm_c],
122*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_panfrost_hw],
123*61046927SAndroid Build Coastguard Worker  dependencies: [idep_nir],
124*61046927SAndroid Build Coastguard Worker  link_with: [libpanfrost_util],
125*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
126*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
127*61046927SAndroid Build Coastguard Worker  build_by_default : false,
128*61046927SAndroid Build Coastguard Worker)
129*61046927SAndroid Build Coastguard Worker
130*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost = static_library(
131*61046927SAndroid Build Coastguard Worker  'panfrost_bifrost',
132*61046927SAndroid Build Coastguard Worker  [libpanfrost_bifrost_files, bi_opcodes_c, bi_printer_c, bi_packer_c, bifrost_nir_algebraic_c, valhall_c],
133*61046927SAndroid Build Coastguard Worker  include_directories : [inc_include, inc_src, inc_panfrost_hw, inc_valhall],
134*61046927SAndroid Build Coastguard Worker  dependencies: [idep_nir, idep_bi_opcodes_h, idep_bi_builder_h, idep_valhall_enums_h],
135*61046927SAndroid Build Coastguard Worker  link_with: [libpanfrost_util, libpanfrost_bifrost_disasm, libpanfrost_valhall_disasm],
136*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args],
137*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
138*61046927SAndroid Build Coastguard Worker  build_by_default : false,
139*61046927SAndroid Build Coastguard Worker)
140*61046927SAndroid Build Coastguard Worker
141*61046927SAndroid Build Coastguard Workerif with_tests
142*61046927SAndroid Build Coastguard Worker  test(
143*61046927SAndroid Build Coastguard Worker    'bifrost_tests',
144*61046927SAndroid Build Coastguard Worker    executable(
145*61046927SAndroid Build Coastguard Worker      'bifrost_tests',
146*61046927SAndroid Build Coastguard Worker      files(
147*61046927SAndroid Build Coastguard Worker        'test/test-constant-fold.cpp',
148*61046927SAndroid Build Coastguard Worker        'test/test-dual-texture.cpp',
149*61046927SAndroid Build Coastguard Worker        'test/test-lower-swizzle.cpp',
150*61046927SAndroid Build Coastguard Worker        'test/test-message-preload.cpp',
151*61046927SAndroid Build Coastguard Worker	'test/test-optimizer.cpp',
152*61046927SAndroid Build Coastguard Worker	'test/test-pack-formats.cpp',
153*61046927SAndroid Build Coastguard Worker	'test/test-packing.cpp',
154*61046927SAndroid Build Coastguard Worker	'test/test-scheduler-predicates.cpp',
155*61046927SAndroid Build Coastguard Worker        'valhall/test/test-add-imm.cpp',
156*61046927SAndroid Build Coastguard Worker        'valhall/test/test-validate-fau.cpp',
157*61046927SAndroid Build Coastguard Worker        'valhall/test/test-insert-flow.cpp',
158*61046927SAndroid Build Coastguard Worker        'valhall/test/test-lower-isel.cpp',
159*61046927SAndroid Build Coastguard Worker        'valhall/test/test-lower-constants.cpp',
160*61046927SAndroid Build Coastguard Worker        'valhall/test/test-mark-last.cpp',
161*61046927SAndroid Build Coastguard Worker        'valhall/test/test-merge-flow.cpp',
162*61046927SAndroid Build Coastguard Worker        'valhall/test/test-packing.cpp',
163*61046927SAndroid Build Coastguard Worker      ),
164*61046927SAndroid Build Coastguard Worker      c_args : [c_msvc_compat_args, no_override_init_args],
165*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
166*61046927SAndroid Build Coastguard Worker      include_directories : [inc_include, inc_src, inc_valhall],
167*61046927SAndroid Build Coastguard Worker      dependencies: [idep_gtest, idep_nir, idep_bi_opcodes_h, idep_bi_builder_h, idep_valhall_enums_h],
168*61046927SAndroid Build Coastguard Worker      link_with : [libpanfrost_bifrost],
169*61046927SAndroid Build Coastguard Worker    ),
170*61046927SAndroid Build Coastguard Worker    suite : ['panfrost'],
171*61046927SAndroid Build Coastguard Worker    protocol : 'gtest',
172*61046927SAndroid Build Coastguard Worker  )
173*61046927SAndroid Build Coastguard Workerendif
174