blob: ccc03a9b23e12fdeb62c5a4b82b0b802547243be [file] [log] [blame]
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -07001# Copyright 2023 Android Open Source Project
2# SPDX-License-Identifier: MIT
3
Gurchetan Singha2bb14f2024-01-02 13:54:07 -08004inc_cereal = include_directories('cereal')
5inc_cereal_common = include_directories('cereal/common')
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -07006inc_vulkan_server = include_directories('.')
7
8subdir('cereal')
9subdir('emulated_textures')
10
11files_lib_vulkan_server = files(
12 'BorrowedImageVk.cpp',
13 'BufferVk.cpp',
14 'ColorBufferVk.cpp',
15 'CompositorVk.cpp',
Jason Macnak05eaa8e2024-07-01 10:55:23 -070016 'DeviceLostHelper.cpp',
Aaron Ruby234a2632024-04-25 17:39:13 -040017 'DeviceOpTracker.cpp',
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070018 'DisplayVk.cpp',
19 'DisplaySurfaceVk.cpp',
20 'PostWorkerVk.cpp',
21 'DebugUtilsHelper.cpp',
22 'SwapChainStateVk.cpp',
23 'RenderThreadInfoVk.cpp',
24 'VkAndroidNativeBuffer.cpp',
25 'VkCommonOperations.cpp',
26 'VkDecoder.cpp',
Gurchetan Singh80345ad2024-04-19 14:22:03 -070027 'VkEmulatedPhysicalDeviceMemory.cpp',
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070028 'VkDecoderGlobalState.cpp',
29 'VkDecoderSnapshot.cpp',
Yahan Zhoud6daa4b2024-01-30 15:23:59 -080030 'VkDecoderSnapshotUtils.cpp',
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070031 'VkFormatUtils.cpp',
32 'VkReconstruction.cpp',
33 'VulkanDispatch.cpp',
34 'VulkanHandleMapping.cpp',
35 'VulkanStream.cpp',
36 'vk_util.cpp'
37)
38
39vulkan_server_cpp_args = [
40 '-fvisibility=hidden',
41 '-Wno-inconsistent-missing-override',
42 '-Wno-unused-value',
43 '-Wno-return-type',
44 '-Wno-return-type-c-linkage',
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070045 '-Wno-uninitialized',
46 '-DVK_GFXSTREAM_STRUCTURE_TYPE_EXT',
47]
48
49# Shouldn't these be defined by standard Vulkan headers?
50if host_machine.system() == 'darwin'
51 vulkan_server_cpp_args += '-DVK_USE_PLATFORM_METAL_EXT'
52elif host_machine.system() == 'windows'
53 vulkan_server_cpp_args += '-DVK_USE_PLATFORM_WIN32_KHR'
jsimonotd7e81ab2023-09-14 18:34:11 -040054elif host_machine.system() == 'qnx'
Aaron Ruby4ea0cc72023-11-13 12:39:20 -050055 vulkan_server_cpp_args += '-DVK_USE_PLATFORM_SCREEN_QNX'
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070056endif
57
58lib_vulkan_server = static_library(
59 'lib_vulkan_server',
60 files_lib_vulkan_server,
Gurchetan Singh8ca85462024-01-16 14:52:57 -080061 cpp_args: vulkan_server_cpp_args + gfxstream_host_args,
Gurchetan Singh73283902024-01-17 17:42:36 -080062 include_directories: [inc_root, inc_gfxstream_include, inc_include, inc_utils, inc_apigen_codec,
Gurchetan Singha2bb14f2024-01-02 13:54:07 -080063 inc_cereal, inc_cereal_common, inc_stream_servers,
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070064 inc_vulkan_server, inc_renderdoc_external,
Jason Macnak26872122024-02-23 10:46:09 -080065 inc_gl_host_common, inc_vulkan_headers, inc_glm, inc_host_features],
66 link_with: [lib_vulkan_cereal, lib_emulated_textures, lib_host_features],
Gurchetan Singh55bfba42023-09-13 18:27:29 -070067 dependencies: [aemu_base_dep, aemu_common_dep, aemu_snapshot_dep]
Gurchetan Singh0ac5f1c2023-05-30 17:57:43 -070068)