1# Copyright 2023 Android Open Source Project 2# SPDX-License-Identifier: MIT 3 4inc_cereal = include_directories('cereal') 5inc_cereal_common = include_directories('cereal/common') 6inc_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', 16 'DeviceLostHelper.cpp', 17 'DeviceOpTracker.cpp', 18 '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', 27 'VkEmulatedPhysicalDeviceMemory.cpp', 28 'VkDecoderGlobalState.cpp', 29 'VkDecoderSnapshot.cpp', 30 'VkDecoderSnapshotUtils.cpp', 31 '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', 45 '-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' 54elif host_machine.system() == 'qnx' 55 vulkan_server_cpp_args += '-DVK_USE_PLATFORM_SCREEN_QNX' 56endif 57 58lib_vulkan_server = static_library( 59 'lib_vulkan_server', 60 files_lib_vulkan_server, 61 cpp_args: vulkan_server_cpp_args + gfxstream_host_args, 62 include_directories: [inc_root, inc_gfxstream_include, inc_include, inc_utils, inc_apigen_codec, 63 inc_cereal, inc_cereal_common, inc_stream_servers, 64 inc_vulkan_server, inc_renderdoc_external, 65 inc_gl_host_common, inc_vulkan_headers, inc_glm, inc_host_backend, 66 inc_host_features, inc_host_tracing, inc_common_utils], 67 link_with: [lib_vulkan_cereal, lib_emulated_textures, lib_host_backend, lib_host_features, 68 lib_host_tracing], 69 dependencies: [aemu_base_dep, aemu_common_dep, aemu_snapshot_dep] 70) 71