xref: /aosp_15_r20/external/mesa3d/src/amd/common/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Workeramd_json_files = [
5*61046927SAndroid Build Coastguard Worker  # Generated:
6*61046927SAndroid Build Coastguard Worker  '../registers/gfx6.json',
7*61046927SAndroid Build Coastguard Worker  '../registers/gfx7.json',
8*61046927SAndroid Build Coastguard Worker  '../registers/gfx8.json',
9*61046927SAndroid Build Coastguard Worker  '../registers/gfx81.json',
10*61046927SAndroid Build Coastguard Worker  '../registers/gfx9.json',
11*61046927SAndroid Build Coastguard Worker  '../registers/gfx940.json',
12*61046927SAndroid Build Coastguard Worker  '../registers/gfx10.json',
13*61046927SAndroid Build Coastguard Worker  '../registers/gfx103.json',
14*61046927SAndroid Build Coastguard Worker  '../registers/gfx11.json',
15*61046927SAndroid Build Coastguard Worker  '../registers/gfx115.json',
16*61046927SAndroid Build Coastguard Worker  '../registers/gfx12.json',
17*61046927SAndroid Build Coastguard Worker
18*61046927SAndroid Build Coastguard Worker  # Manually written:
19*61046927SAndroid Build Coastguard Worker  '../registers/pkt3.json',
20*61046927SAndroid Build Coastguard Worker  '../registers/gfx10-rsrc.json',
21*61046927SAndroid Build Coastguard Worker  '../registers/gfx11-rsrc.json',
22*61046927SAndroid Build Coastguard Worker  '../registers/gfx12-rsrc.json',
23*61046927SAndroid Build Coastguard Worker  '../registers/registers-manually-defined.json',
24*61046927SAndroid Build Coastguard Worker]
25*61046927SAndroid Build Coastguard Worker
26*61046927SAndroid Build Coastguard Workersid_tables_h = custom_target(
27*61046927SAndroid Build Coastguard Worker  'sid_tables_h',
28*61046927SAndroid Build Coastguard Worker  input : ['sid_tables.py', 'sid.h'] + amd_json_files,
29*61046927SAndroid Build Coastguard Worker  output : 'sid_tables.h',
30*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
31*61046927SAndroid Build Coastguard Worker  capture : true,
32*61046927SAndroid Build Coastguard Worker)
33*61046927SAndroid Build Coastguard Worker
34*61046927SAndroid Build Coastguard Workeramdgfxregs_h = custom_target(
35*61046927SAndroid Build Coastguard Worker  'amdgfxregs_h',
36*61046927SAndroid Build Coastguard Worker  input : ['../registers/makeregheader.py'] + amd_json_files,
37*61046927SAndroid Build Coastguard Worker  output : 'amdgfxregs.h',
38*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@', '--sort', 'address', '--guard', 'AMDGFXREGS_H'],
39*61046927SAndroid Build Coastguard Worker  capture : true,
40*61046927SAndroid Build Coastguard Worker)
41*61046927SAndroid Build Coastguard Worker
42*61046927SAndroid Build Coastguard Workergfx10_format_table_c = custom_target(
43*61046927SAndroid Build Coastguard Worker  'gfx10_format_table.c',
44*61046927SAndroid Build Coastguard Worker  input : files(
45*61046927SAndroid Build Coastguard Worker    'gfx10_format_table.py',
46*61046927SAndroid Build Coastguard Worker    '../../util/format/u_format.yaml', '../registers/gfx10-rsrc.json', '../registers/gfx11-rsrc.json'
47*61046927SAndroid Build Coastguard Worker  ),
48*61046927SAndroid Build Coastguard Worker  output : 'gfx10_format_table.c',
49*61046927SAndroid Build Coastguard Worker  command : [prog_python, '@INPUT@'],
50*61046927SAndroid Build Coastguard Worker  capture : true,
51*61046927SAndroid Build Coastguard Worker  depend_files : ['../registers/regdb.py']
52*61046927SAndroid Build Coastguard Worker)
53*61046927SAndroid Build Coastguard Worker
54*61046927SAndroid Build Coastguard Workeramd_common_files = files(
55*61046927SAndroid Build Coastguard Worker  'ac_binary.c',
56*61046927SAndroid Build Coastguard Worker  'ac_binary.h',
57*61046927SAndroid Build Coastguard Worker  'ac_cmdbuf.c',
58*61046927SAndroid Build Coastguard Worker  'ac_cmdbuf.h',
59*61046927SAndroid Build Coastguard Worker  'ac_shader_args.c',
60*61046927SAndroid Build Coastguard Worker  'ac_shader_args.h',
61*61046927SAndroid Build Coastguard Worker  'ac_shader_util.c',
62*61046927SAndroid Build Coastguard Worker  'ac_shader_util.h',
63*61046927SAndroid Build Coastguard Worker  'ac_gather_context_rolls.c',
64*61046927SAndroid Build Coastguard Worker  'ac_gpu_info.c',
65*61046927SAndroid Build Coastguard Worker  'ac_gpu_info.h',
66*61046927SAndroid Build Coastguard Worker  'ac_surface.c',
67*61046927SAndroid Build Coastguard Worker  'ac_surface.h',
68*61046927SAndroid Build Coastguard Worker  'ac_debug.c',
69*61046927SAndroid Build Coastguard Worker  'ac_debug.h',
70*61046927SAndroid Build Coastguard Worker  'ac_descriptors.c',
71*61046927SAndroid Build Coastguard Worker  'ac_descriptors.h',
72*61046927SAndroid Build Coastguard Worker  'ac_formats.c',
73*61046927SAndroid Build Coastguard Worker  'ac_formats.h',
74*61046927SAndroid Build Coastguard Worker  'ac_shadowed_regs.c',
75*61046927SAndroid Build Coastguard Worker  'ac_shadowed_regs.h',
76*61046927SAndroid Build Coastguard Worker  'ac_spm.c',
77*61046927SAndroid Build Coastguard Worker  'ac_spm.h',
78*61046927SAndroid Build Coastguard Worker  'ac_sqtt.c',
79*61046927SAndroid Build Coastguard Worker  'ac_sqtt.h',
80*61046927SAndroid Build Coastguard Worker  'ac_rgp.c',
81*61046927SAndroid Build Coastguard Worker  'ac_rgp.h',
82*61046927SAndroid Build Coastguard Worker  'ac_msgpack.c',
83*61046927SAndroid Build Coastguard Worker  'ac_msgpack.h',
84*61046927SAndroid Build Coastguard Worker  'ac_nir.c',
85*61046927SAndroid Build Coastguard Worker  'ac_nir.h',
86*61046927SAndroid Build Coastguard Worker  'ac_nir_helpers.h',
87*61046927SAndroid Build Coastguard Worker  'ac_nir_opt_outputs.c',
88*61046927SAndroid Build Coastguard Worker  'ac_nir_cull.c',
89*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_esgs_io_to_mem.c',
90*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_global_access.c',
91*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_image_opcodes_cdna.c',
92*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_resinfo.c',
93*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_subdword_loads.c',
94*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_taskmesh_io_to_mem.c',
95*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_tess_io_to_mem.c',
96*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_tex.c',
97*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_ngg.c',
98*61046927SAndroid Build Coastguard Worker  'ac_nir_lower_ps.c',
99*61046927SAndroid Build Coastguard Worker  'ac_nir_meta.h',
100*61046927SAndroid Build Coastguard Worker  'ac_nir_meta_cs_blit.c',
101*61046927SAndroid Build Coastguard Worker  'ac_nir_meta_cs_clear_copy_buffer.c',
102*61046927SAndroid Build Coastguard Worker  'ac_nir_meta_ps_resolve.c',
103*61046927SAndroid Build Coastguard Worker  'ac_nir_opt_shared_append.c',
104*61046927SAndroid Build Coastguard Worker  'amd_family.c',
105*61046927SAndroid Build Coastguard Worker  'ac_parse_ib.c',
106*61046927SAndroid Build Coastguard Worker  'ac_perfcounter.c',
107*61046927SAndroid Build Coastguard Worker  'ac_perfcounter.h',
108*61046927SAndroid Build Coastguard Worker  'ac_pm4.c',
109*61046927SAndroid Build Coastguard Worker  'ac_pm4.h',
110*61046927SAndroid Build Coastguard Worker  'ac_vcn_av1_default.h',
111*61046927SAndroid Build Coastguard Worker  'ac_vcn_dec.c',
112*61046927SAndroid Build Coastguard Worker)
113*61046927SAndroid Build Coastguard Worker
114*61046927SAndroid Build Coastguard Workerif dep_elf.found()
115*61046927SAndroid Build Coastguard Worker  amd_common_files += files(
116*61046927SAndroid Build Coastguard Worker    'ac_rtld.c',
117*61046927SAndroid Build Coastguard Worker    'ac_rtld.h',
118*61046927SAndroid Build Coastguard Worker    'ac_rgp_elf_object_pack.c',
119*61046927SAndroid Build Coastguard Worker  )
120*61046927SAndroid Build Coastguard Workerendif
121*61046927SAndroid Build Coastguard Worker
122*61046927SAndroid Build Coastguard Workerlibamd_common = static_library(
123*61046927SAndroid Build Coastguard Worker  'amd_common',
124*61046927SAndroid Build Coastguard Worker  [amd_common_files, sid_tables_h, amdgfxregs_h, gfx10_format_table_c],
125*61046927SAndroid Build Coastguard Worker  include_directories : [
126*61046927SAndroid Build Coastguard Worker    inc_include, inc_src, inc_amd,
127*61046927SAndroid Build Coastguard Worker  ],
128*61046927SAndroid Build Coastguard Worker  dependencies : [
129*61046927SAndroid Build Coastguard Worker    dep_thread, dep_elf, dep_libdrm_amdgpu, dep_valgrind,
130*61046927SAndroid Build Coastguard Worker    idep_mesautil, idep_nir_headers, idep_nir
131*61046927SAndroid Build Coastguard Worker  ],
132*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
133*61046927SAndroid Build Coastguard Worker  c_args : ['-DADDR_FASTCALL=']
134*61046927SAndroid Build Coastguard Worker)
135*61046927SAndroid Build Coastguard Worker
136*61046927SAndroid Build Coastguard Workeridep_amdgfxregs_h = declare_dependency(sources : [amdgfxregs_h])
137*61046927SAndroid Build Coastguard Worker
138*61046927SAndroid Build Coastguard Workerexecutable(
139*61046927SAndroid Build Coastguard Worker  'ac_ib_parser',
140*61046927SAndroid Build Coastguard Worker  ['ac_ib_parser.c'],
141*61046927SAndroid Build Coastguard Worker  link_with: [libamd_common],
142*61046927SAndroid Build Coastguard Worker  include_directories : [
143*61046927SAndroid Build Coastguard Worker    inc_amd, inc_include, inc_src,
144*61046927SAndroid Build Coastguard Worker  ],
145*61046927SAndroid Build Coastguard Worker  dependencies : [idep_amdgfxregs_h, idep_mesautil, idep_nir_headers],
146*61046927SAndroid Build Coastguard Worker)
147*61046927SAndroid Build Coastguard Worker
148*61046927SAndroid Build Coastguard Workerif with_tests and not with_platform_windows
149*61046927SAndroid Build Coastguard Worker  test(
150*61046927SAndroid Build Coastguard Worker    'ac_surface_modifier_test',
151*61046927SAndroid Build Coastguard Worker    executable(
152*61046927SAndroid Build Coastguard Worker      'ac_surface_modifier_test',
153*61046927SAndroid Build Coastguard Worker      ['ac_surface_modifier_test.c'],
154*61046927SAndroid Build Coastguard Worker      link_with: [libamd_common, libamdgpu_addrlib],
155*61046927SAndroid Build Coastguard Worker      include_directories : [
156*61046927SAndroid Build Coastguard Worker        inc_amd, inc_include, inc_src,
157*61046927SAndroid Build Coastguard Worker      ],
158*61046927SAndroid Build Coastguard Worker      dependencies: [idep_amdgfxregs_h, dep_libdrm_amdgpu, idep_mesautil],
159*61046927SAndroid Build Coastguard Worker    ),
160*61046927SAndroid Build Coastguard Worker    suite: ['amd']
161*61046927SAndroid Build Coastguard Worker  )
162*61046927SAndroid Build Coastguard Worker
163*61046927SAndroid Build Coastguard Worker  # Limit this to only a few architectures for the Gitlab CI.
164*61046927SAndroid Build Coastguard Worker  if ['x86', 'x86_64', 'aarch64'].contains(host_machine.cpu_family())
165*61046927SAndroid Build Coastguard Worker    test(
166*61046927SAndroid Build Coastguard Worker      'ac_surface_meta_address_test',
167*61046927SAndroid Build Coastguard Worker      executable(
168*61046927SAndroid Build Coastguard Worker        'ac_surface_meta_address_test',
169*61046927SAndroid Build Coastguard Worker        ['ac_surface_meta_address_test.c'],
170*61046927SAndroid Build Coastguard Worker        link_with: [libamd_common, libamdgpu_addrlib],
171*61046927SAndroid Build Coastguard Worker        include_directories : [
172*61046927SAndroid Build Coastguard Worker          inc_amd, inc_include, inc_src,
173*61046927SAndroid Build Coastguard Worker        ],
174*61046927SAndroid Build Coastguard Worker        dependencies: [idep_amdgfxregs_h, dep_libdrm_amdgpu, idep_mesautil, dep_openmp],
175*61046927SAndroid Build Coastguard Worker      ),
176*61046927SAndroid Build Coastguard Worker      suite: ['amd']
177*61046927SAndroid Build Coastguard Worker    )
178*61046927SAndroid Build Coastguard Worker  endif
179*61046927SAndroid Build Coastguard Workerendif
180