• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2023 Android Open Source Project
2# SPDX-License-Identifier: MIT
3
4inc_vulkan_server = include_directories('.')
5
6subdir('cereal')
7subdir('emulated_textures')
8
9files_lib_vulkan_server = files(
10  'BorrowedImageVk.cpp',
11  'BufferVk.cpp',
12  'ColorBufferVk.cpp',
13  'CompositorVk.cpp',
14  'DisplayVk.cpp',
15  'DisplaySurfaceVk.cpp',
16  'PostWorkerVk.cpp',
17  'DebugUtilsHelper.cpp',
18  'SwapChainStateVk.cpp',
19  'RenderThreadInfoVk.cpp',
20  'VkAndroidNativeBuffer.cpp',
21  'VkCommonOperations.cpp',
22  'VkDecoderGlobalState.cpp',
23  'VkFormatUtils.cpp',
24  'VkReconstruction.cpp',
25  'VulkanDispatch.cpp',
26  'VulkanHandleMapping.cpp',
27  'VulkanStream.cpp',
28  'vk_util.cpp'
29)
30
31vulkan_server_cpp_args = [
32  '-fvisibility=hidden',
33  '-Wno-inconsistent-missing-override',
34  '-Wno-unused-value',
35  '-Wno-return-type',
36  '-Wno-return-type-c-linkage',
37  '-Wno-uninitialized',
38  '-DVK_GFXSTREAM_STRUCTURE_TYPE_EXT',
39]
40
41# Shouldn't these be defined by standard Vulkan headers?
42if host_machine.system() == 'darwin'
43  vulkan_server_cpp_args += '-DVK_USE_PLATFORM_METAL_EXT'
44elif host_machine.system() == 'windows'
45  vulkan_server_cpp_args += '-DVK_USE_PLATFORM_WIN32_KHR'
46elif host_machine.system() == 'qnx'
47  vulkan_server_cpp_args += '-DVK_USE_PLATFORM_SCREEN_QNX'
48endif
49
50lib_vulkan_server = static_library(
51  'lib_vulkan_server',
52  files_lib_vulkan_server,
53  cpp_args: vulkan_server_cpp_args + gfxstream_host_args,
54  include_directories: [inc_root, inc_gfxstream_include, inc_include, inc_utils, inc_apigen_codec,
55                        inc_cereal, inc_stream_servers,
56                        inc_vulkan_server, inc_renderdoc_external,
57                        inc_gl_host_common, inc_vulkan_headers],
58  link_with: [lib_vulkan_cereal, lib_emulated_textures],
59  dependencies: [aemu_base_dep, aemu_common_dep, aemu_snapshot_dep, dep_cereal_common, dep_glm]
60)
61