blob: 16dcc56748df81bd874d2cea7915554ddae1dd0c [file] [log] [blame]
David Reveman630129e2019-05-03 01:18:32 -04001shared_library("libvulkan_goldfish") {
David Reveman74e99bb2019-02-15 18:47:25 -05002 sources = [
3 "android-emu/android/base/AlignedBuf.cpp",
4 "android-emu/android/base/AlignedBuf.h",
Yilong Li5d452f52021-04-30 12:51:12 -07005 "android-emu/android/base/Allocator.h",
Lingfeng Yangd5be14d2019-10-18 06:14:18 -07006 "android-emu/android/base/AndroidSubAllocator.cpp",
7 "android-emu/android/base/AndroidSubAllocator.h",
Yilong Li5d452f52021-04-30 12:51:12 -07008 "android-emu/android/base/BumpPool.h",
Yilong Li8c54b9c2020-07-17 21:10:34 -07009 "android-emu/android/base/Pool.cpp",
10 "android-emu/android/base/Pool.h",
11 "android-emu/android/base/Tracing.cpp",
12 "android-emu/android/base/Tracing.h",
David Reveman74e99bb2019-02-15 18:47:25 -050013 "android-emu/android/base/files/MemStream.cpp",
14 "android-emu/android/base/files/MemStream.h",
15 "android-emu/android/base/files/Stream.cpp",
16 "android-emu/android/base/files/Stream.h",
17 "android-emu/android/base/files/StreamSerializing.cpp",
18 "android-emu/android/base/files/StreamSerializing.h",
Yilong Li14a93e92021-05-04 18:37:19 -070019 "android-emu/android/base/fit/Defer.h",
20 "android-emu/android/base/fit/Function.h",
21 "android-emu/android/base/fit/FunctionInternal.h",
22 "android-emu/android/base/fit/Nullable.h",
23 "android-emu/android/base/fit/ThreadChecker.h",
24 "android-emu/android/base/fit/ThreadSafety.h",
25 "android-emu/android/base/fit/UtilityInternal.h",
Yilong Li8c54b9c2020-07-17 21:10:34 -070026 "android-emu/android/base/ring_buffer.c",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070027 "android-emu/android/base/synchronization/AndroidConditionVariable.h",
28 "android-emu/android/base/synchronization/AndroidLock.h",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070029 "android-emu/android/base/synchronization/AndroidMessageChannel.cpp",
Yilong Li8c54b9c2020-07-17 21:10:34 -070030 "android-emu/android/base/synchronization/AndroidMessageChannel.h",
31 "android-emu/android/base/threads/AndroidFunctorThread.cpp",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070032 "android-emu/android/base/threads/AndroidFunctorThread.h",
33 "android-emu/android/base/threads/AndroidThread.h",
34 "android-emu/android/base/threads/AndroidThreadStore.h",
Yilong Li8c54b9c2020-07-17 21:10:34 -070035 "android-emu/android/base/threads/AndroidThreadTypes.h",
Lingfeng Yang6c7e7272019-08-28 13:37:00 -070036 "android-emu/android/base/threads/AndroidThread_pthread.cpp",
Lingfeng Yangf6861062019-08-21 21:05:31 -070037 "android-emu/android/base/threads/AndroidWorkPool.cpp",
Yilong Li8c54b9c2020-07-17 21:10:34 -070038 "android-emu/android/base/threads/AndroidWorkPool.h",
Roman Kiryanov1ef59e42020-05-11 15:50:11 -070039 "shared/GoldfishAddressSpace/goldfish_address_space.cpp",
Gurchetan Singh5af95b72021-10-14 16:24:29 -070040 "shared/GoldfishAddressSpace/include/goldfish_address_space.h",
David Reveman74e99bb2019-02-15 18:47:25 -050041 "shared/OpenglCodecCommon/ChecksumCalculator.cpp",
42 "shared/OpenglCodecCommon/ChecksumCalculator.h",
43 "shared/OpenglCodecCommon/glUtils.cpp",
44 "shared/OpenglCodecCommon/glUtils.h",
David Reveman74e99bb2019-02-15 18:47:25 -050045 "shared/OpenglCodecCommon/goldfish_dma.cpp",
46 "shared/OpenglCodecCommon/goldfish_dma.h",
Yilong Li5ef2a502020-05-21 23:51:34 -070047 "shared/gralloc_cb/include/gralloc_cb_bp.h",
Yilong Li5ef2a502020-05-21 23:51:34 -070048 "shared/qemupipe/include-types/qemu_pipe_types_bp.h",
Yilong Li8c54b9c2020-07-17 21:10:34 -070049 "shared/qemupipe/include/qemu_pipe_bp.h",
Yilong Li5ef2a502020-05-21 23:51:34 -070050 "shared/qemupipe/qemu_pipe_common.cpp",
51 "shared/qemupipe/qemu_pipe_guest.cpp",
Lingfeng Yang5b3a0b72019-09-25 18:20:35 -070052 "system/OpenglSystemCommon/AddressSpaceStream.cpp",
David Reveman74e99bb2019-02-15 18:47:25 -050053 "system/OpenglSystemCommon/HostConnection.cpp",
54 "system/OpenglSystemCommon/HostConnection.h",
55 "system/OpenglSystemCommon/ProcessPipe.cpp",
56 "system/OpenglSystemCommon/ProcessPipe.h",
57 "system/OpenglSystemCommon/QemuPipeStream.cpp",
58 "system/OpenglSystemCommon/QemuPipeStream.h",
59 "system/OpenglSystemCommon/ThreadInfo.cpp",
60 "system/OpenglSystemCommon/ThreadInfo.h",
61 "system/renderControl_enc/renderControl_enc.cpp",
62 "system/renderControl_enc/renderControl_enc.h",
David Reveman74e99bb2019-02-15 18:47:25 -050063 "system/vulkan/goldfish_vulkan.cpp",
Yilong Li11da85a2021-01-25 16:13:59 -080064 "system/vulkan_enc/CommandBufferStagingStream.cpp",
65 "system/vulkan_enc/CommandBufferStagingStream.h",
Yilong Li5090fde2021-02-19 01:47:08 -080066 "system/vulkan_enc/DescriptorSetVirtualization.cpp",
67 "system/vulkan_enc/DescriptorSetVirtualization.h",
David Reveman74e99bb2019-02-15 18:47:25 -050068 "system/vulkan_enc/HostVisibleMemoryVirtualization.cpp",
69 "system/vulkan_enc/HostVisibleMemoryVirtualization.h",
70 "system/vulkan_enc/ResourceTracker.cpp",
71 "system/vulkan_enc/ResourceTracker.h",
72 "system/vulkan_enc/Resources.cpp",
73 "system/vulkan_enc/Resources.h",
74 "system/vulkan_enc/Validation.cpp",
75 "system/vulkan_enc/Validation.h",
76 "system/vulkan_enc/VkEncoder.cpp",
77 "system/vulkan_enc/VkEncoder.h",
78 "system/vulkan_enc/VulkanHandleMapping.cpp",
79 "system/vulkan_enc/VulkanHandleMapping.h",
Lingfeng Yang42ac1792019-02-22 20:13:44 -080080 "system/vulkan_enc/VulkanStreamGuest.cpp",
81 "system/vulkan_enc/VulkanStreamGuest.h",
Yilong Lice2233f2021-01-25 23:08:34 +000082 "system/vulkan_enc/func_table.cpp",
83 "system/vulkan_enc/func_table.h",
Yilong Li11da85a2021-01-25 16:13:59 -080084 "system/vulkan_enc/goldfish_vk_counting_guest.cpp",
85 "system/vulkan_enc/goldfish_vk_counting_guest.h",
David Reveman74e99bb2019-02-15 18:47:25 -050086 "system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp",
87 "system/vulkan_enc/goldfish_vk_deepcopy_guest.h",
88 "system/vulkan_enc/goldfish_vk_extension_structs_guest.cpp",
89 "system/vulkan_enc/goldfish_vk_extension_structs_guest.h",
90 "system/vulkan_enc/goldfish_vk_marshaling_guest.cpp",
91 "system/vulkan_enc/goldfish_vk_marshaling_guest.h",
Yilong Li11da85a2021-01-25 16:13:59 -080092 "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp",
93 "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.h",
David Reveman74e99bb2019-02-15 18:47:25 -050094 "system/vulkan_enc/goldfish_vk_transform_guest.cpp",
95 "system/vulkan_enc/goldfish_vk_transform_guest.h",
96 ]
97
98 include_dirs = [
99 "android-emu",
100 "host/include/libOpenglRender",
Roman Kiryanov1ef59e42020-05-11 15:50:11 -0700101 "shared/GoldfishAddressSpace/include",
David Reveman74e99bb2019-02-15 18:47:25 -0500102 "shared/OpenglCodecCommon",
Yilong Li5ef2a502020-05-21 23:51:34 -0700103 "shared/gralloc_cb/include",
104 "shared/qemupipe/include",
105 "shared/qemupipe/include-types",
David Reveman74e99bb2019-02-15 18:47:25 -0500106 "system/OpenglSystemCommon",
107 "system/renderControl_enc",
108 "system/vulkan_enc",
109 "system/include",
110 ]
111
112 defines = [
113 "LOG_TAG=\"goldfish_vulkan\"",
Lingfeng Yang6f9871b2020-08-17 15:46:53 -0700114 "GFXSTREAM",
David Reveman74e99bb2019-02-15 18:47:25 -0500115 "GOLDFISH_NO_GL",
David Reveman5b7c5842019-02-20 01:06:48 -0500116 "VK_USE_PLATFORM_FUCHSIA",
David Reveman74e99bb2019-02-15 18:47:25 -0500117 "PLATFORM_SDK_VERSION=1",
118 "PAGE_SIZE=4096",
119 ]
120
Shai Barack9a2879e2021-11-05 17:13:13 +0000121 cflags = [ "-Wextra-semi" ]
122
Yilong Liced3b8a2019-10-17 11:47:05 -0700123 cflags_c = [
Shai Barack9a2879e2021-11-05 17:13:13 +0000124 "-Wstrict-prototypes",
Yilong Liced3b8a2019-10-17 11:47:05 -0700125 "-Wno-missing-field-initializers",
126 "-Wno-newline-eof",
127 "-Wno-unused-function",
128 "-Wno-unused-value",
129 "-Wno-unused-variable",
130 ]
131
David Reveman74e99bb2019-02-15 18:47:25 -0500132 cflags_cc = [
David Reveman5b7c5842019-02-20 01:06:48 -0500133 "-Wno-missing-field-initializers",
David Revemanaa65ad62019-05-02 08:23:46 -0400134 "-Wno-newline-eof",
David Reveman3c7b3ca2019-05-01 19:36:26 -0400135 "-Wno-unused-function",
136 "-Wno-unused-value",
137 "-Wno-unused-variable",
Shai Barack5cb1b092020-09-14 05:06:11 +0000138 "-Wno-conversion",
Gulfem Savrun Yeniceri99e28172021-06-24 19:07:08 +0000139 "-Wno-unused-but-set-parameter",
140 "-Wno-unused-but-set-variable",
David Reveman74e99bb2019-02-15 18:47:25 -0500141 ]
142
David Reveman7beff562019-04-22 16:50:02 +0200143 ldflags = [ "-static-libstdc++" ]
144
David Reveman74e99bb2019-02-15 18:47:25 -0500145 if (target_os == "fuchsia") {
Yilong Li41238b02020-10-31 13:41:52 -0700146 sources -= [
Yilong Li1d6ca342020-11-02 13:13:31 -0800147 "shared/OpenglCodecCommon/goldfish_dma.cpp",
148 "shared/OpenglCodecCommon/goldfish_dma.h",
Yilong Li41238b02020-10-31 13:41:52 -0700149 "shared/qemupipe/qemu_pipe_common.cpp",
150 "shared/qemupipe/qemu_pipe_guest.cpp",
Yilong Li11da85a2021-01-25 16:13:59 -0800151 "system/OpenglSystemCommon/QemuPipeStream.cpp",
Yilong Li41238b02020-10-31 13:41:52 -0700152 ]
David Reveman4f45b8c2019-04-21 09:10:10 +0200153 sources += [
Craig Stout3d2098f2019-11-25 15:36:43 -0800154 "fuchsia/fuchsia_stdio.cc",
David Reveman4f45b8c2019-04-21 09:10:10 +0200155 "fuchsia/port.cc",
John Bauman8153a442019-10-16 15:41:17 -0700156 "fuchsia/service_connector.cc",
David Reveman4f45b8c2019-04-21 09:10:10 +0200157 "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp",
Yilong Li5a3e3692020-12-01 10:23:29 -0800158 "system/OpenglSystemCommon/TraceProviderFuchsia.cpp",
159 "system/OpenglSystemCommon/TraceProviderFuchsia.h",
David Reveman4f45b8c2019-04-21 09:10:10 +0200160 ]
David Reveman74e99bb2019-02-15 18:47:25 -0500161
162 include_dirs += [
David Reveman74e99bb2019-02-15 18:47:25 -0500163 "fuchsia/include",
Yilong Li8c54b9c2020-07-17 21:10:34 -0700164 "//third_party/Vulkan-Headers/include",
David Reveman74e99bb2019-02-15 18:47:25 -0500165 ]
166
David Reveman5b7c5842019-02-20 01:06:48 -0500167 deps = [
Yilong Li6dc9b5b2020-07-17 21:05:22 -0700168 "//sdk/fidl/fuchsia.hardware.goldfish:fuchsia.hardware.goldfish_llcpp",
Yilong Li4ccb8722020-05-20 19:28:06 -0700169 "//sdk/fidl/fuchsia.logger:fuchsia.logger_llcpp",
Yilong Li6dc9b5b2020-07-17 21:05:22 -0700170 "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_llcpp",
Yilong Li5a3e3692020-12-01 10:23:29 -0800171 "//sdk/lib/fdio",
David 'Digit' Turner8ceea7c2020-10-06 14:46:27 +0200172 "//src/zircon/lib/zircon",
Yilong Li5a3e3692020-12-01 10:23:29 -0800173 "//zircon/public/lib/async-cpp",
John Bauman8153a442019-10-16 15:41:17 -0700174 "//zircon/public/lib/zx",
Yilong Li5a3e3692020-12-01 10:23:29 -0800175 "//zircon/system/ulib/async-default",
176 "//zircon/system/ulib/async-loop:async-loop-cpp",
Yilong Li952139b2020-05-21 23:53:46 -0700177 "//zircon/system/ulib/syslog:syslog-static",
Yilong Li4ccb8722020-05-20 19:28:06 -0700178 "//zircon/system/ulib/trace:trace-with-static-engine",
Yilong Li5a3e3692020-12-01 10:23:29 -0800179 "//zircon/system/ulib/trace-provider:trace-provider-with-static-engine",
Yilong Li8ce39b82020-06-01 12:14:25 -0700180 "//zircon/system/ulib/zxio",
David Reveman5b7c5842019-02-20 01:06:48 -0500181 ]
182
David Reveman74e99bb2019-02-15 18:47:25 -0500183 defines += [
John Bauman1896ab72021-08-05 18:37:26 +0000184 "QEMU_PIPE_PATH=\"/loader-gpu-devices/class/goldfish-pipe/000\"",
185 "GOLDFISH_ADDRESS_SPACE_DEVICE_NAME=\"/loader-gpu-devices/class/goldfish-address-space/000\"",
David Reveman74e99bb2019-02-15 18:47:25 -0500186 ]
187 }
188}