• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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