1# Copyright 2022 Android Open Source Project 2# SPDX-License-Identifier: MIT 3 4output_host_path = meson.current_build_dir() + '/host/vulkan/cereal' 5guest_enc_path = meson.current_build_dir() 6 7gfxstream_guest_vk_autogen = custom_target( 8 'gfxstream_guest_vk_autogen', 9 output : [ 10 'VkEncoder.h', 11 'goldfish_vk_counting_guest.h', 12 'goldfish_vk_deepcopy_guest.h', 13 'goldfish_vk_marshaling_guest.h', 14 'goldfish_vk_extension_structs_guest.h', 15 'goldfish_vk_reserved_marshaling_guest.h', 16 'goldfish_vk_transform_guest.h', 17 'goldfish_vk_counting_guest.cpp', 18 'goldfish_vk_deepcopy_guest.cpp', 19 'goldfish_vk_extension_structs_guest.cpp', 20 'goldfish_vk_marshaling_guest.cpp', 21 'goldfish_vk_reserved_marshaling_guest.cpp', 22 'goldfish_vk_transform_guest.cpp', 23 'VkEncoder.cpp', 24 'func_table.cpp', 25 ], 26 env: {'CEREAL_VARIANT' : 'guest', 'GFXSTREAM_GUEST_ENCODER_DIR': guest_enc_path}, 27 input: [genvk, vk_api_xml, vk_gfxstream_xml], 28 command: [prog_python, '@INPUT0@', '-registry', '@INPUT1@', '-registryGfxstream', '@INPUT2@', 29 'cereal', '-o', output_host_path], 30) 31 32gfxstream_vk_entrypoints = custom_target( 33 'gfxstream_vk_entrypoints', 34 input : [vk_entrypoints_gen, vk_api_xml], 35 output : ['gfxstream_vk_entrypoints.h', 'gfxstream_vk_entrypoints.c'], 36 command : [ 37 prog_python, '@INPUT0@', '--xml', '@INPUT1@', '--proto', '--weak', 38 '--out-h', '@OUTPUT0@', '--out-c', '@OUTPUT1@', '--prefix', 'gfxstream_vk', 39 '--beta', with_vulkan_beta.to_string() 40 ], 41) 42 43dep_vk_encoder_h = declare_dependency( 44 sources: gfxstream_guest_vk_autogen[0], 45) 46 47files_lib_vulkan_enc = files( 48 'CommandBufferStagingStream.cpp', 49 'DescriptorSetVirtualization.cpp', 50 'HostVisibleMemoryVirtualization.cpp', 51 'ResourceTracker.cpp', 52 'Resources.cpp', 53 'Validation.cpp', 54 'VulkanHandleMapping.cpp', 55 'VulkanStreamGuest.cpp', 56 'gfxstream_vk_private.cpp', 57) 58