xref: /aosp_15_r20/external/mesa3d/src/gfxstream/guest/vulkan/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker# Copyright 2022 Android Open Source Project
2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
3*61046927SAndroid Build Coastguard Worker
4*61046927SAndroid Build Coastguard Workersubdir('stubs')
5*61046927SAndroid Build Coastguard Worker
6*61046927SAndroid Build Coastguard Workerfiles_lib_vulkan_gfxstream = files(
7*61046927SAndroid Build Coastguard Worker  'gfxstream_vk_device.cpp',
8*61046927SAndroid Build Coastguard Worker  'gfxstream_vk_cmd.cpp',
9*61046927SAndroid Build Coastguard Worker  'gfxstream_vk_wsi.cpp'
10*61046927SAndroid Build Coastguard Worker)
11*61046927SAndroid Build Coastguard Worker
12*61046927SAndroid Build Coastguard Workergfxstream_vk_wsi_args = []
13*61046927SAndroid Build Coastguard Workerif with_platform_x11
14*61046927SAndroid Build Coastguard Worker   gfxstream_vk_wsi_args += '-DGFXSTREAM_VK_X11'
15*61046927SAndroid Build Coastguard Workerendif
16*61046927SAndroid Build Coastguard Worker
17*61046927SAndroid Build Coastguard Workerif with_platform_wayland
18*61046927SAndroid Build Coastguard Worker   gfxstream_vk_wsi_args += '-DGFXSTREAM_VK_WAYLAND'
19*61046927SAndroid Build Coastguard Workerendif
20*61046927SAndroid Build Coastguard Worker
21*61046927SAndroid Build Coastguard Workerlib_vulkan_gfxstream = shared_library(
22*61046927SAndroid Build Coastguard Worker   'vulkan_gfxstream',
23*61046927SAndroid Build Coastguard Worker   files_lib_vulkan_gfxstream + files_lib_vulkan_enc + gfxstream_vk_entrypoints +
24*61046927SAndroid Build Coastguard Worker   gfxstream_guest_vk_autogen + vulkan_gfxstream_h,
25*61046927SAndroid Build Coastguard Worker   cpp_args: gfxstream_guest_args + gfxstream_vk_wsi_args,
26*61046927SAndroid Build Coastguard Worker   include_directories: [inc_vulkan_headers, inc_guest_iostream,
27*61046927SAndroid Build Coastguard Worker                         inc_vulkan_enc, inc_platform_virtgpu,
28*61046927SAndroid Build Coastguard Worker                         inc_gfxstream_vk_stubs, inc_goldfish_address_space,
29*61046927SAndroid Build Coastguard Worker                         inc_include, inc_src, inc_aemu,
30*61046927SAndroid Build Coastguard Worker                         inc_platform_virtgpu, inc_connection_manager],
31*61046927SAndroid Build Coastguard Worker   link_with: [libgfxstream_vk_stubs, libvulkan_wsi, libplatform_virtgpu,
32*61046927SAndroid Build Coastguard Worker               libconnection_manager, libaemu],
33*61046927SAndroid Build Coastguard Worker   link_args: [vulkan_icd_link_args, ld_args_bsymbolic, ld_args_gc_sections],
34*61046927SAndroid Build Coastguard Worker   link_depends: vulkan_icd_link_depends,
35*61046927SAndroid Build Coastguard Worker   dependencies: [dep_libdrm, idep_vulkan_wsi_headers,
36*61046927SAndroid Build Coastguard Worker                  idep_vulkan_lite_runtime, idep_vulkan_util_headers,
37*61046927SAndroid Build Coastguard Worker                  idep_vulkan_wsi, dep_valgrind],
38*61046927SAndroid Build Coastguard Worker   install: true,
39*61046927SAndroid Build Coastguard Worker)
40*61046927SAndroid Build Coastguard Worker
41*61046927SAndroid Build Coastguard Workergfxstream_icd = custom_target(
42*61046927SAndroid Build Coastguard Worker  'gfxstream_vk_icd',
43*61046927SAndroid Build Coastguard Worker  input : [vk_icd_gen, vk_api_xml],
44*61046927SAndroid Build Coastguard Worker  output : 'gfxstream_vk_icd.@[email protected]'.format(host_machine.cpu()),
45*61046927SAndroid Build Coastguard Worker  command : [
46*61046927SAndroid Build Coastguard Worker    prog_python, '@INPUT0@',
47*61046927SAndroid Build Coastguard Worker    '--api-version', '1.1', '--xml', '@INPUT1@',
48*61046927SAndroid Build Coastguard Worker    '--lib-path', join_paths(get_option('prefix'), get_option('libdir'),
49*61046927SAndroid Build Coastguard Worker                             'libvulkan_gfxstream.so'),
50*61046927SAndroid Build Coastguard Worker    '--out', '@OUTPUT@',
51*61046927SAndroid Build Coastguard Worker  ],
52*61046927SAndroid Build Coastguard Worker  build_by_default : true,
53*61046927SAndroid Build Coastguard Worker  install_dir : with_vulkan_icd_dir,
54*61046927SAndroid Build Coastguard Worker  install : true,
55*61046927SAndroid Build Coastguard Worker)
56*61046927SAndroid Build Coastguard Worker
57*61046927SAndroid Build Coastguard Worker_dev_icdname = 'gfxstream_vk_devenv_icd.@[email protected]'.format(host_machine.cpu())
58*61046927SAndroid Build Coastguard Worker_dev_icd = custom_target(
59*61046927SAndroid Build Coastguard Worker  'gfxstream_vk_devenv_icd',
60*61046927SAndroid Build Coastguard Worker  input : [vk_icd_gen, vk_api_xml],
61*61046927SAndroid Build Coastguard Worker  output : _dev_icdname,
62*61046927SAndroid Build Coastguard Worker  command : [
63*61046927SAndroid Build Coastguard Worker    prog_python, '@INPUT0@',
64*61046927SAndroid Build Coastguard Worker    '--api-version', '1.3', '--xml', '@INPUT1@',
65*61046927SAndroid Build Coastguard Worker    '--lib-path', meson.current_build_dir() / 'libvulkan_gfxstream.so',
66*61046927SAndroid Build Coastguard Worker    '--out', '@OUTPUT@',
67*61046927SAndroid Build Coastguard Worker  ],
68*61046927SAndroid Build Coastguard Worker  build_by_default : true,
69*61046927SAndroid Build Coastguard Worker)
70*61046927SAndroid Build Coastguard Worker
71*61046927SAndroid Build Coastguard Workerdevenv.append('VK_ICD_FILENAMES', _dev_icd.full_path())
72