xref: /aosp_15_r20/external/mesa3d/src/amd/vulkan/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 Workerradv_entrypoints_gen_command = [
5*61046927SAndroid Build Coastguard Worker  prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak',
6*61046927SAndroid Build Coastguard Worker  '--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@',
7*61046927SAndroid Build Coastguard Worker  '--beta', with_vulkan_beta.to_string()
8*61046927SAndroid Build Coastguard Worker]
9*61046927SAndroid Build Coastguard Worker
10*61046927SAndroid Build Coastguard Workerradv_entrypoints_gen_command += [
11*61046927SAndroid Build Coastguard Worker  # RADV entrypooints
12*61046927SAndroid Build Coastguard Worker  '--prefix', 'radv',
13*61046927SAndroid Build Coastguard Worker
14*61046927SAndroid Build Coastguard Worker  # Tracing layer entrypoints
15*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'sqtt',
16*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'rra',
17*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'rmv',
18*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'ctx_roll',
19*61046927SAndroid Build Coastguard Worker
20*61046927SAndroid Build Coastguard Worker  # Application layer entrypoints
21*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'metro_exodus',
22*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'rage2',
23*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'quantic_dream',
24*61046927SAndroid Build Coastguard Worker
25*61046927SAndroid Build Coastguard Worker  # Command buffer annotation layer entrypoints
26*61046927SAndroid Build Coastguard Worker  '--device-prefix', 'annotate',
27*61046927SAndroid Build Coastguard Worker]
28*61046927SAndroid Build Coastguard Worker
29*61046927SAndroid Build Coastguard Workerradv_entrypoints = custom_target(
30*61046927SAndroid Build Coastguard Worker  'radv_entrypoints',
31*61046927SAndroid Build Coastguard Worker  input : [vk_entrypoints_gen, vk_api_xml],
32*61046927SAndroid Build Coastguard Worker  output : ['radv_entrypoints.h', 'radv_entrypoints.c'],
33*61046927SAndroid Build Coastguard Worker  command : radv_entrypoints_gen_command,
34*61046927SAndroid Build Coastguard Worker  depend_files : vk_entrypoints_gen_depend_files,
35*61046927SAndroid Build Coastguard Worker)
36*61046927SAndroid Build Coastguard Worker
37*61046927SAndroid Build Coastguard Workerlibradv_files = files(
38*61046927SAndroid Build Coastguard Worker  'bvh/bvh.h',
39*61046927SAndroid Build Coastguard Worker  'layers/radv_ctx_roll_layer.c',
40*61046927SAndroid Build Coastguard Worker  'layers/radv_metro_exodus.c',
41*61046927SAndroid Build Coastguard Worker  'layers/radv_rage2.c',
42*61046927SAndroid Build Coastguard Worker  'layers/radv_quantic_dream.c',
43*61046927SAndroid Build Coastguard Worker  'layers/radv_rmv_layer.c',
44*61046927SAndroid Build Coastguard Worker  'layers/radv_rra_layer.c',
45*61046927SAndroid Build Coastguard Worker  'layers/radv_sqtt_layer.c',
46*61046927SAndroid Build Coastguard Worker  'meta/radv_meta.c',
47*61046927SAndroid Build Coastguard Worker  'meta/radv_meta.h',
48*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_astc_decode.c',
49*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_blit.c',
50*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_blit2d.c',
51*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_buffer.c',
52*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_bufimage.c',
53*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_clear.c',
54*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_copy.c',
55*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_copy_vrs_htile.c',
56*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_dcc_retile.c',
57*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_decompress.c',
58*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_etc_decode.c',
59*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_fast_clear.c',
60*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_fmask_copy.c',
61*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_fmask_expand.c',
62*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_resolve.c',
63*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_resolve_cs.c',
64*61046927SAndroid Build Coastguard Worker  'meta/radv_meta_resolve_fs.c',
65*61046927SAndroid Build Coastguard Worker  'nir/radv_nir.h',
66*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_apply_pipeline_layout.c',
67*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_export_multiview.c',
68*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_abi.c',
69*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_cooperative_matrix.c',
70*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_fs_barycentric.c',
71*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_fs_intrinsics.c',
72*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_hit_attrib_derefs.c',
73*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_intrinsics_early.c',
74*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_io.c',
75*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_poly_line_smooth.c',
76*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_primitive_shading_rate.c',
77*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_ray_queries.c',
78*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_view_index.c',
79*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_viewport_to_zero.c',
80*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_lower_vs_inputs.c',
81*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_opt_tid_function.c',
82*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_remap_color_attachment.c',
83*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_rt_common.c',
84*61046927SAndroid Build Coastguard Worker  'nir/radv_nir_rt_shader.c',
85*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_bo.c',
86*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_bo.h',
87*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_cs.c',
88*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_cs.h',
89*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_winsys.c',
90*61046927SAndroid Build Coastguard Worker  'winsys/null/radv_null_winsys_public.h',
91*61046927SAndroid Build Coastguard Worker  'radv_acceleration_structure.c',
92*61046927SAndroid Build Coastguard Worker  'radv_android.c',
93*61046927SAndroid Build Coastguard Worker  'radv_android.h',
94*61046927SAndroid Build Coastguard Worker  'radv_buffer.c',
95*61046927SAndroid Build Coastguard Worker  'radv_buffer.h',
96*61046927SAndroid Build Coastguard Worker  'radv_buffer_view.c',
97*61046927SAndroid Build Coastguard Worker  'radv_buffer_view.h',
98*61046927SAndroid Build Coastguard Worker  'radv_cmd_buffer.c',
99*61046927SAndroid Build Coastguard Worker  'radv_cmd_buffer.h',
100*61046927SAndroid Build Coastguard Worker  'radv_cp_dma.c',
101*61046927SAndroid Build Coastguard Worker  'radv_cp_dma.h',
102*61046927SAndroid Build Coastguard Worker  'radv_cp_reg_shadowing.c',
103*61046927SAndroid Build Coastguard Worker  'radv_cp_reg_shadowing.h',
104*61046927SAndroid Build Coastguard Worker  'radv_cs.c',
105*61046927SAndroid Build Coastguard Worker  'radv_cs.h',
106*61046927SAndroid Build Coastguard Worker  'radv_debug.c',
107*61046927SAndroid Build Coastguard Worker  'radv_debug.h',
108*61046927SAndroid Build Coastguard Worker  'radv_device.c',
109*61046927SAndroid Build Coastguard Worker  'radv_device.h',
110*61046927SAndroid Build Coastguard Worker  'radv_device_memory.c',
111*61046927SAndroid Build Coastguard Worker  'radv_device_memory.h',
112*61046927SAndroid Build Coastguard Worker  'radv_descriptor_set.c',
113*61046927SAndroid Build Coastguard Worker  'radv_descriptor_set.h',
114*61046927SAndroid Build Coastguard Worker  'radv_device_generated_commands.c',
115*61046927SAndroid Build Coastguard Worker  'radv_device_generated_commands.h',
116*61046927SAndroid Build Coastguard Worker  'radv_event.c',
117*61046927SAndroid Build Coastguard Worker  'radv_event.h',
118*61046927SAndroid Build Coastguard Worker  'radv_formats.c',
119*61046927SAndroid Build Coastguard Worker  'radv_formats.h',
120*61046927SAndroid Build Coastguard Worker  'radv_image.c',
121*61046927SAndroid Build Coastguard Worker  'radv_image.h',
122*61046927SAndroid Build Coastguard Worker  'radv_image_view.c',
123*61046927SAndroid Build Coastguard Worker  'radv_image_view.h',
124*61046927SAndroid Build Coastguard Worker  'radv_instance.c',
125*61046927SAndroid Build Coastguard Worker  'radv_instance.h',
126*61046927SAndroid Build Coastguard Worker  'radv_perfcounter.c',
127*61046927SAndroid Build Coastguard Worker  'radv_physical_device.c',
128*61046927SAndroid Build Coastguard Worker  'radv_pipeline.c',
129*61046927SAndroid Build Coastguard Worker  'radv_pipeline.h',
130*61046927SAndroid Build Coastguard Worker  'radv_pipeline_binary.c',
131*61046927SAndroid Build Coastguard Worker  'radv_pipeline_binary.h',
132*61046927SAndroid Build Coastguard Worker  'radv_pipeline_cache.c',
133*61046927SAndroid Build Coastguard Worker  'radv_pipeline_cache.h',
134*61046927SAndroid Build Coastguard Worker  'radv_pipeline_compute.c',
135*61046927SAndroid Build Coastguard Worker  'radv_pipeline_compute.h',
136*61046927SAndroid Build Coastguard Worker  'radv_pipeline_graphics.c',
137*61046927SAndroid Build Coastguard Worker  'radv_pipeline_rt.c',
138*61046927SAndroid Build Coastguard Worker  'radv_pipeline_rt.h',
139*61046927SAndroid Build Coastguard Worker  'radv_printf.c',
140*61046927SAndroid Build Coastguard Worker  'radv_printf.h',
141*61046927SAndroid Build Coastguard Worker  'radv_queue.c',
142*61046927SAndroid Build Coastguard Worker  'radv_queue.h',
143*61046927SAndroid Build Coastguard Worker  'radv_radeon_winsys.h',
144*61046927SAndroid Build Coastguard Worker  'radv_rmv.c',
145*61046927SAndroid Build Coastguard Worker  'radv_rmv.h',
146*61046927SAndroid Build Coastguard Worker  'radv_rra.c',
147*61046927SAndroid Build Coastguard Worker  'radv_rra.h',
148*61046927SAndroid Build Coastguard Worker  'radv_sampler.c',
149*61046927SAndroid Build Coastguard Worker  'radv_sampler.h',
150*61046927SAndroid Build Coastguard Worker  'radv_sdma.c',
151*61046927SAndroid Build Coastguard Worker  'radv_sdma.h',
152*61046927SAndroid Build Coastguard Worker  'radv_shader.c',
153*61046927SAndroid Build Coastguard Worker  'radv_shader.h',
154*61046927SAndroid Build Coastguard Worker  'radv_shader_args.c',
155*61046927SAndroid Build Coastguard Worker  'radv_shader_args.h',
156*61046927SAndroid Build Coastguard Worker  'radv_shader_info.c',
157*61046927SAndroid Build Coastguard Worker  'radv_shader_info.h',
158*61046927SAndroid Build Coastguard Worker  'radv_shader_object.c',
159*61046927SAndroid Build Coastguard Worker  'radv_shader_object.h',
160*61046927SAndroid Build Coastguard Worker  'radv_spm.c',
161*61046927SAndroid Build Coastguard Worker  'radv_spm.h',
162*61046927SAndroid Build Coastguard Worker  'radv_sqtt.c',
163*61046927SAndroid Build Coastguard Worker  'radv_sqtt.h',
164*61046927SAndroid Build Coastguard Worker  'radv_query.c',
165*61046927SAndroid Build Coastguard Worker  'radv_query.h',
166*61046927SAndroid Build Coastguard Worker  'radv_video.c',
167*61046927SAndroid Build Coastguard Worker  'radv_video.h',
168*61046927SAndroid Build Coastguard Worker  'radv_video_enc.c',
169*61046927SAndroid Build Coastguard Worker  'radv_wsi.c',
170*61046927SAndroid Build Coastguard Worker  'radv_wsi.h',
171*61046927SAndroid Build Coastguard Worker)
172*61046927SAndroid Build Coastguard Worker
173*61046927SAndroid Build Coastguard Workerif not with_platform_windows
174*61046927SAndroid Build Coastguard Worker  libradv_files += files(
175*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_bo.c',
176*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_bo.h',
177*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_cs.c',
178*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_cs.h',
179*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_surface.c',
180*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_surface.h',
181*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_winsys.c',
182*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_winsys.h',
183*61046927SAndroid Build Coastguard Worker    'winsys/amdgpu/radv_amdgpu_winsys_public.h',
184*61046927SAndroid Build Coastguard Worker  )
185*61046927SAndroid Build Coastguard Workerendif
186*61046927SAndroid Build Coastguard Worker
187*61046927SAndroid Build Coastguard Workerif amd_with_llvm
188*61046927SAndroid Build Coastguard Worker  libradv_files += files(
189*61046927SAndroid Build Coastguard Worker    'radv_llvm_helper.cpp',
190*61046927SAndroid Build Coastguard Worker    'radv_llvm_helper.h',
191*61046927SAndroid Build Coastguard Worker    'radv_nir_to_llvm.c',
192*61046927SAndroid Build Coastguard Worker    'radv_nir_to_llvm.h',
193*61046927SAndroid Build Coastguard Worker  )
194*61046927SAndroid Build Coastguard Workerendif
195*61046927SAndroid Build Coastguard Worker
196*61046927SAndroid Build Coastguard Workersubdir('radix_sort')
197*61046927SAndroid Build Coastguard Workerlibradv_files += radix_sort_files
198*61046927SAndroid Build Coastguard Worker
199*61046927SAndroid Build Coastguard Workersubdir('bvh')
200*61046927SAndroid Build Coastguard Worker
201*61046927SAndroid Build Coastguard Workersubdir('layers')
202*61046927SAndroid Build Coastguard Worker
203*61046927SAndroid Build Coastguard Workerradv_deps = []
204*61046927SAndroid Build Coastguard Workerradv_flags = cc.get_supported_arguments(['-Wimplicit-fallthrough', '-Wshadow'])
205*61046927SAndroid Build Coastguard Worker
206*61046927SAndroid Build Coastguard Workerif with_platform_x11
207*61046927SAndroid Build Coastguard Worker  radv_deps += dep_xcb_dri3
208*61046927SAndroid Build Coastguard Workerendif
209*61046927SAndroid Build Coastguard Worker
210*61046927SAndroid Build Coastguard Workerif with_platform_wayland
211*61046927SAndroid Build Coastguard Worker  radv_deps += dep_wayland_client
212*61046927SAndroid Build Coastguard Workerendif
213*61046927SAndroid Build Coastguard Worker
214*61046927SAndroid Build Coastguard Workerif with_xlib_lease
215*61046927SAndroid Build Coastguard Worker  radv_deps += [dep_xlib_xrandr]
216*61046927SAndroid Build Coastguard Workerendif
217*61046927SAndroid Build Coastguard Worker
218*61046927SAndroid Build Coastguard Workerif with_platform_android
219*61046927SAndroid Build Coastguard Worker  radv_deps += dep_android
220*61046927SAndroid Build Coastguard Workerendif
221*61046927SAndroid Build Coastguard Worker
222*61046927SAndroid Build Coastguard Workerradv_build_id = get_option('radv-build-id')
223*61046927SAndroid Build Coastguard Workerif radv_build_id != ''
224*61046927SAndroid Build Coastguard Worker  radv_flags += '-DRADV_BUILD_ID_OVERRIDE="' + radv_build_id + '"'
225*61046927SAndroid Build Coastguard Workerendif
226*61046927SAndroid Build Coastguard Worker
227*61046927SAndroid Build Coastguard Workerlibvulkan_radeon = shared_library(
228*61046927SAndroid Build Coastguard Worker  'vulkan_radeon',
229*61046927SAndroid Build Coastguard Worker  [libradv_files, radv_entrypoints, sha1_h, radix_sort_spv, bvh_spv, radv_annotate_layer],
230*61046927SAndroid Build Coastguard Worker  vs_module_defs : vulkan_api_def,
231*61046927SAndroid Build Coastguard Worker  include_directories : [
232*61046927SAndroid Build Coastguard Worker    inc_include, inc_src, inc_amd, inc_amd_common, inc_amd_common_llvm, inc_util,
233*61046927SAndroid Build Coastguard Worker  ],
234*61046927SAndroid Build Coastguard Worker  link_with : [
235*61046927SAndroid Build Coastguard Worker    libamd_common, libamd_common_llvm, libamdgpu_addrlib,
236*61046927SAndroid Build Coastguard Worker  ],
237*61046927SAndroid Build Coastguard Worker  dependencies : [
238*61046927SAndroid Build Coastguard Worker    dep_llvm, dep_libdrm_amdgpu, dep_thread, dep_elf, dep_dl, dep_m,
239*61046927SAndroid Build Coastguard Worker    dep_valgrind, radv_deps, idep_aco,
240*61046927SAndroid Build Coastguard Worker    idep_mesautil, idep_nir, idep_vulkan_util, idep_vulkan_wsi,
241*61046927SAndroid Build Coastguard Worker    idep_vulkan_runtime, idep_amdgfxregs_h, idep_xmlconfig,
242*61046927SAndroid Build Coastguard Worker  ],
243*61046927SAndroid Build Coastguard Worker  c_args : [no_override_init_args, radv_flags, c_msvc_compat_args],
244*61046927SAndroid Build Coastguard Worker  cpp_args : [radv_flags, cpp_msvc_compat_args],
245*61046927SAndroid Build Coastguard Worker  link_args : [
246*61046927SAndroid Build Coastguard Worker    ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, vulkan_icd_link_args,
247*61046927SAndroid Build Coastguard Worker  ],
248*61046927SAndroid Build Coastguard Worker  link_depends : vulkan_icd_link_depends,
249*61046927SAndroid Build Coastguard Worker  gnu_symbol_visibility : 'hidden',
250*61046927SAndroid Build Coastguard Worker  name_prefix : host_machine.system() == 'windows' ? '' : [],
251*61046927SAndroid Build Coastguard Worker  install : true,
252*61046927SAndroid Build Coastguard Worker)
253*61046927SAndroid Build Coastguard Worker
254*61046927SAndroid Build Coastguard Workerif with_symbols_check
255*61046927SAndroid Build Coastguard Worker  test(
256*61046927SAndroid Build Coastguard Worker    'radv symbols check',
257*61046927SAndroid Build Coastguard Worker    symbols_check,
258*61046927SAndroid Build Coastguard Worker    args : [
259*61046927SAndroid Build Coastguard Worker      '--lib', libvulkan_radeon,
260*61046927SAndroid Build Coastguard Worker      '--symbols-file', vulkan_icd_symbols,
261*61046927SAndroid Build Coastguard Worker      '--ignore-symbol', 'ac_init_shared_llvm_once',
262*61046927SAndroid Build Coastguard Worker      symbols_check_args,
263*61046927SAndroid Build Coastguard Worker    ],
264*61046927SAndroid Build Coastguard Worker    suite : ['amd'],
265*61046927SAndroid Build Coastguard Worker  )
266*61046927SAndroid Build Coastguard Workerendif
267*61046927SAndroid Build Coastguard Worker
268*61046927SAndroid Build Coastguard Workericd_lib_path = join_paths(get_option('prefix'), get_option('libdir'))
269*61046927SAndroid Build Coastguard Workericd_file_name = 'libvulkan_radeon.so'
270*61046927SAndroid Build Coastguard Workerif with_platform_windows
271*61046927SAndroid Build Coastguard Worker  icd_lib_path = import('fs').relative_to(get_option('bindir'), with_vulkan_icd_dir)
272*61046927SAndroid Build Coastguard Worker  icd_file_name = 'vulkan_radeon.dll'
273*61046927SAndroid Build Coastguard Workerendif
274*61046927SAndroid Build Coastguard Worker
275*61046927SAndroid Build Coastguard Workericd_command = [
276*61046927SAndroid Build Coastguard Worker  prog_python, '@INPUT0@',
277*61046927SAndroid Build Coastguard Worker  '--api-version', '1.3', '--xml', '@INPUT1@',
278*61046927SAndroid Build Coastguard Worker  '--lib-path', join_paths(icd_lib_path, icd_file_name),
279*61046927SAndroid Build Coastguard Worker  '--out', '@OUTPUT@',
280*61046927SAndroid Build Coastguard Worker]
281*61046927SAndroid Build Coastguard Workerif with_platform_windows
282*61046927SAndroid Build Coastguard Worker  icd_command += '--use-backslash'
283*61046927SAndroid Build Coastguard Workerendif
284*61046927SAndroid Build Coastguard Worker
285*61046927SAndroid Build Coastguard Workerradeon_icd = custom_target(
286*61046927SAndroid Build Coastguard Worker  'radeon_icd',
287*61046927SAndroid Build Coastguard Worker  input : [vk_icd_gen, vk_api_xml],
288*61046927SAndroid Build Coastguard Worker  output : 'radeon_icd.@[email protected]'.format(host_machine.cpu()),
289*61046927SAndroid Build Coastguard Worker  command : icd_command,
290*61046927SAndroid Build Coastguard Worker  build_by_default : true,
291*61046927SAndroid Build Coastguard Worker  install_dir : with_vulkan_icd_dir,
292*61046927SAndroid Build Coastguard Worker  install_tag : 'runtime',
293*61046927SAndroid Build Coastguard Worker  install : true,
294*61046927SAndroid Build Coastguard Worker)
295*61046927SAndroid Build Coastguard Worker
296*61046927SAndroid Build Coastguard Worker_dev_icdname = 'radeon_devenv_icd.@[email protected]'.format(host_machine.cpu())
297*61046927SAndroid Build Coastguard Worker_dev_icd = custom_target(
298*61046927SAndroid Build Coastguard Worker  'radeon_devenv_icd',
299*61046927SAndroid Build Coastguard Worker  input : [vk_icd_gen, vk_api_xml],
300*61046927SAndroid Build Coastguard Worker  output : _dev_icdname,
301*61046927SAndroid Build Coastguard Worker  command : [
302*61046927SAndroid Build Coastguard Worker    prog_python, '@INPUT0@',
303*61046927SAndroid Build Coastguard Worker    '--api-version', '1.3', '--xml', '@INPUT1@',
304*61046927SAndroid Build Coastguard Worker    '--lib-path', meson.current_build_dir() / icd_file_name,
305*61046927SAndroid Build Coastguard Worker    '--out', '@OUTPUT@',
306*61046927SAndroid Build Coastguard Worker  ],
307*61046927SAndroid Build Coastguard Worker  build_by_default : true,
308*61046927SAndroid Build Coastguard Worker)
309*61046927SAndroid Build Coastguard Worker
310*61046927SAndroid Build Coastguard Workerdevenv.append('VK_DRIVER_FILES', _dev_icd.full_path())
311*61046927SAndroid Build Coastguard Worker# Deprecated: replaced by VK_DRIVER_FILES above
312*61046927SAndroid Build Coastguard Workerdevenv.append('VK_ICD_FILENAMES', _dev_icd.full_path())
313*61046927SAndroid Build Coastguard Worker
314*61046927SAndroid Build Coastguard Workerif with_tests
315*61046927SAndroid Build Coastguard Worker  test(
316*61046927SAndroid Build Coastguard Worker    'radv_tests',
317*61046927SAndroid Build Coastguard Worker    executable(
318*61046927SAndroid Build Coastguard Worker      'radv_tests',
319*61046927SAndroid Build Coastguard Worker      files(
320*61046927SAndroid Build Coastguard Worker        'nir/radv_nir_lower_hit_attrib_derefs.c',
321*61046927SAndroid Build Coastguard Worker        'tests/radv_nir_lower_hit_attrib_derefs_tests.cpp',
322*61046927SAndroid Build Coastguard Worker      ),
323*61046927SAndroid Build Coastguard Worker      cpp_args : [cpp_msvc_compat_args],
324*61046927SAndroid Build Coastguard Worker      gnu_symbol_visibility : 'hidden',
325*61046927SAndroid Build Coastguard Worker      include_directories : [
326*61046927SAndroid Build Coastguard Worker        inc_include,
327*61046927SAndroid Build Coastguard Worker        inc_src,
328*61046927SAndroid Build Coastguard Worker        inc_amd,
329*61046927SAndroid Build Coastguard Worker        inc_amd_common,
330*61046927SAndroid Build Coastguard Worker        inc_compiler,
331*61046927SAndroid Build Coastguard Worker        inc_util,
332*61046927SAndroid Build Coastguard Worker        include_directories('.'),
333*61046927SAndroid Build Coastguard Worker      ],
334*61046927SAndroid Build Coastguard Worker      dependencies : [dep_thread, idep_gtest, idep_nir, idep_mesautil],
335*61046927SAndroid Build Coastguard Worker    ),
336*61046927SAndroid Build Coastguard Worker    suite : ['compiler', 'nir'],
337*61046927SAndroid Build Coastguard Worker    protocol : 'gtest',
338*61046927SAndroid Build Coastguard Worker  )
339*61046927SAndroid Build Coastguard Workerendif
340