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