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