blob: e15ab5b2489dcbeccce6a10383d7830964f51f2f [file] [log] [blame]
# Copyright 2023 Android Open Source Project
# SPDX-License-Identifier: Apache-2.0
inc_cereal = include_directories('cereal')
inc_cereal_common = include_directories('cereal/common')
inc_vulkan_server = include_directories('.')
subdir('cereal')
subdir('emulated_textures')
files_lib_vulkan_server = files(
'BorrowedImageVk.cpp',
'BufferVk.cpp',
'ColorBufferVk.cpp',
'CompositorVk.cpp',
'DependencyGraph.cpp',
'DeviceLostHelper.cpp',
'DeviceOpTracker.cpp',
'DisplayVk.cpp',
'DisplaySurfaceVk.cpp',
'PostWorkerVk.cpp',
'DebugUtilsHelper.cpp',
'SwapChainStateVk.cpp',
'RenderThreadInfoVk.cpp',
'VkAndroidNativeBuffer.cpp',
'VkCommonOperations.cpp',
'VkDecoder.cpp',
'VkEmulatedPhysicalDeviceMemory.cpp',
'VkEmulatedPhysicalDeviceQueue.cpp',
'VkDecoderGlobalState.cpp',
'VkDecoderSnapshot.cpp',
'VkDecoderSnapshotUtils.cpp',
'VkFormatUtils.cpp',
'VkReconstruction.cpp',
'VkUtils.cpp',
'VulkanBoxedHandles.cpp',
'VulkanDispatch.cpp',
'VulkanHandleMapping.cpp',
'VulkanStream.cpp',
)
vulkan_server_cpp_args = [
'-fvisibility=hidden',
'-Wno-inconsistent-missing-override',
'-Wno-unused-value',
'-Wno-return-type',
'-Wno-return-type-c-linkage',
'-Wno-uninitialized',
'-DVK_GFXSTREAM_STRUCTURE_TYPE_EXT',
]
if host_machine.system() == 'windows'
vulkan_server_cpp_args += '-Wa,-mbig-obj'
endif
if host_machine.system() == 'darwin'
vulkan_server_cpp_args += '-DVK_USE_PLATFORM_METAL_EXT'
vulkan_server_cpp_args += '-DVK_USE_PLATFORM_MACOS_MVK'
elif host_machine.system() == 'windows'
vulkan_server_cpp_args += '-DVK_USE_PLATFORM_WIN32_KHR'
elif host_machine.system() == 'qnx'
vulkan_server_cpp_args += '-DVK_USE_PLATFORM_SCREEN_QNX'
endif
lib_vulkan_server = static_library(
'lib_vulkan_server',
files_lib_vulkan_server,
cpp_args: vulkan_server_cpp_args + gfxstream_host_args,
include_directories: [
inc_cereal_common,
inc_cereal,
inc_common_base,
inc_common_utils,
inc_gl_openglesdispatch,
inc_gl_server,
inc_glm,
inc_host_backend,
inc_host_compressed_textures,
inc_host_decoder_common,
inc_host_features,
inc_host_health,
inc_host_include,
inc_host_iostream,
inc_host_library,
inc_common_logging,
inc_host_metrics,
inc_host_renderdoc,
inc_host_snapshot,
inc_host_tracing,
inc_include,
inc_opengl_headers,
inc_renderdoc_external,
inc_root,
inc_stream_servers,
inc_vulkan_headers,
inc_vulkan_server,
],
link_with: [
lib_common_base,
lib_emulated_textures,
lib_host_backend,
lib_host_compressed_textures,
lib_host_features,
lib_host_health,
lib_host_iostream,
lib_host_library,
lib_common_logging,
lib_common_logging,
lib_host_metrics,
lib_host_snapshot,
lib_host_tracing,
lib_vulkan_cereal,
],
)