1shared_library("libvulkan_goldfish") { 2 sources = [ 3 "android-emu/aemu/base/AlignedBuf.cpp", 4 "android-emu/aemu/base/AlignedBuf.h", 5 "android-emu/aemu/base/Allocator.h", 6 "android-emu/aemu/base/AndroidSubAllocator.cpp", 7 "android-emu/aemu/base/AndroidSubAllocator.h", 8 "android-emu/aemu/base/BumpPool.h", 9 "android-emu/aemu/base/AndroidHealthMonitor.cpp", 10 "android-emu/aemu/base/AndroidHealthMonitor.h", 11 "android-emu/aemu/base/AndroidHealthMonitorConsumer.h", 12 "android-emu/aemu/base/AndroidHealthMonitorConsumerBasic.cpp", 13 "android-emu/aemu/base/AndroidHealthMonitorConsumerBasic.h", 14 "android-emu/aemu/base/Pool.cpp", 15 "android-emu/aemu/base/Pool.h", 16 "android-emu/aemu/base/Process.cpp", 17 "android-emu/aemu/base/Process.h", 18 "android-emu/aemu/base/Tracing.cpp", 19 "android-emu/aemu/base/Tracing.h", 20 "android-emu/aemu/base/files/MemStream.cpp", 21 "android-emu/aemu/base/files/MemStream.h", 22 "android-emu/aemu/base/files/Stream.cpp", 23 "android-emu/aemu/base/files/Stream.h", 24 "android-emu/aemu/base/files/StreamSerializing.cpp", 25 "android-emu/aemu/base/files/StreamSerializing.h", 26 "android-emu/aemu/base/fit/Defer.h", 27 "android-emu/aemu/base/fit/Function.h", 28 "android-emu/aemu/base/fit/FunctionInternal.h", 29 "android-emu/aemu/base/fit/Nullable.h", 30 "android-emu/aemu/base/fit/ThreadChecker.h", 31 "android-emu/aemu/base/fit/ThreadSafety.h", 32 "android-emu/aemu/base/fit/UtilityInternal.h", 33 "android-emu/aemu/base/ring_buffer.c", 34 "android-emu/aemu/base/synchronization/AndroidConditionVariable.h", 35 "android-emu/aemu/base/synchronization/AndroidLock.h", 36 "android-emu/aemu/base/synchronization/AndroidMessageChannel.cpp", 37 "android-emu/aemu/base/synchronization/AndroidMessageChannel.h", 38 "android-emu/aemu/base/testing/TestClock.h", 39 "android-emu/aemu/base/threads/AndroidFunctorThread.cpp", 40 "android-emu/aemu/base/threads/AndroidFunctorThread.h", 41 "android-emu/aemu/base/threads/AndroidThread.h", 42 "android-emu/aemu/base/threads/AndroidThreadStore.h", 43 "android-emu/aemu/base/threads/AndroidThreadTypes.h", 44 "android-emu/aemu/base/threads/AndroidThread_pthread.cpp", 45 "android-emu/aemu/base/threads/AndroidWorkPool.cpp", 46 "android-emu/aemu/base/threads/AndroidWorkPool.h", 47 "platform/include/VirtGpu.h", 48 "platform/stub/VirtGpuBlob.cpp", 49 "platform/stub/VirtGpuBlobMapping.cpp", 50 "platform/stub/VirtGpuDevice.cpp", 51 "shared/GoldfishAddressSpace/goldfish_address_space.cpp", 52 "shared/GoldfishAddressSpace/include/goldfish_address_space.h", 53 "shared/OpenglCodecCommon/ChecksumCalculator.cpp", 54 "shared/OpenglCodecCommon/ChecksumCalculator.h", 55 "shared/OpenglCodecCommon/glUtils.cpp", 56 "shared/OpenglCodecCommon/glUtils.h", 57 "shared/OpenglCodecCommon/goldfish_dma.cpp", 58 "shared/OpenglCodecCommon/goldfish_dma.h", 59 "shared/gralloc_cb/include/gralloc_cb_bp.h", 60 "shared/qemupipe/include-types/qemu_pipe_types_bp.h", 61 "shared/qemupipe/include/qemu_pipe_bp.h", 62 "shared/qemupipe/qemu_pipe_common.cpp", 63 "shared/qemupipe/qemu_pipe_guest.cpp", 64 "system/OpenglSystemCommon/AddressSpaceStream.cpp", 65 "system/OpenglSystemCommon/HostConnection.cpp", 66 "system/OpenglSystemCommon/HostConnection.h", 67 "system/OpenglSystemCommon/ProcessPipe.cpp", 68 "system/OpenglSystemCommon/ProcessPipe.h", 69 "system/OpenglSystemCommon/QemuPipeStream.cpp", 70 "system/OpenglSystemCommon/QemuPipeStream.h", 71 "system/OpenglSystemCommon/ThreadInfo.cpp", 72 "system/OpenglSystemCommon/ThreadInfo.h", 73 "system/renderControl_enc/renderControl_enc.cpp", 74 "system/renderControl_enc/renderControl_enc.h", 75 "system/vulkan/goldfish_vulkan.cpp", 76 "system/vulkan_enc/CommandBufferStagingStream.cpp", 77 "system/vulkan_enc/CommandBufferStagingStream.h", 78 "system/vulkan_enc/DescriptorSetVirtualization.cpp", 79 "system/vulkan_enc/DescriptorSetVirtualization.h", 80 "system/vulkan_enc/HostVisibleMemoryVirtualization.cpp", 81 "system/vulkan_enc/HostVisibleMemoryVirtualization.h", 82 "system/vulkan_enc/ResourceTracker.cpp", 83 "system/vulkan_enc/ResourceTracker.h", 84 "system/vulkan_enc/Resources.cpp", 85 "system/vulkan_enc/Resources.h", 86 "system/vulkan_enc/Validation.cpp", 87 "system/vulkan_enc/Validation.h", 88 "system/vulkan_enc/VkEncoder.cpp", 89 "system/vulkan_enc/VkEncoder.h", 90 "system/vulkan_enc/VulkanHandleMapping.cpp", 91 "system/vulkan_enc/VulkanHandleMapping.h", 92 "system/vulkan_enc/VulkanStreamGuest.cpp", 93 "system/vulkan_enc/VulkanStreamGuest.h", 94 "system/vulkan_enc/func_table.cpp", 95 "system/vulkan_enc/func_table.h", 96 "system/vulkan_enc/goldfish_vk_counting_guest.cpp", 97 "system/vulkan_enc/goldfish_vk_counting_guest.h", 98 "system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp", 99 "system/vulkan_enc/goldfish_vk_deepcopy_guest.h", 100 "system/vulkan_enc/goldfish_vk_extension_structs_guest.cpp", 101 "system/vulkan_enc/goldfish_vk_extension_structs_guest.h", 102 "system/vulkan_enc/goldfish_vk_marshaling_guest.cpp", 103 "system/vulkan_enc/goldfish_vk_marshaling_guest.h", 104 "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp", 105 "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.h", 106 "system/vulkan_enc/goldfish_vk_transform_guest.cpp", 107 "system/vulkan_enc/goldfish_vk_transform_guest.h", 108 "system/vulkan_enc/vulkan_gfxstream.h", 109 "system/vulkan_enc/vulkan_gfxstream_structure_type.h", 110 ] 111 112 include_dirs = [ 113 "android-emu", 114 "host/include/libOpenglRender", 115 "shared/GoldfishAddressSpace/include", 116 "shared/OpenglCodecCommon", 117 "shared/gralloc_cb/include", 118 "shared/qemupipe/include", 119 "shared/qemupipe/include-types", 120 "system/OpenglSystemCommon", 121 "system/renderControl_enc", 122 "system/vulkan_enc", 123 "system/include", 124 ] 125 126 defines = [ 127 "LOG_TAG=\"goldfish_vulkan\"", 128 "GFXSTREAM", 129 "GOLDFISH_NO_GL", 130 "VK_GFXSTREAM_STRUCTURE_TYPE_EXT", 131 "VK_USE_PLATFORM_FUCHSIA", 132 "PLATFORM_SDK_VERSION=1", 133 "PAGE_SIZE=4096", 134 ] 135 136 cflags = [ "-Wextra-semi" ] 137 138 cflags_c = [ 139 "-Wstrict-prototypes", 140 "-Wno-missing-field-initializers", 141 "-Wno-newline-eof", 142 "-Wno-sign-compare", 143 "-Wno-unused-function", 144 "-Wno-unused-value", 145 "-Wno-unused-variable", 146 ] 147 148 cflags_cc = [ 149 "-Wno-conversion", 150 "-Wno-missing-field-initializers", 151 "-Wno-newline-eof", 152 "-Wno-pessimizing-move", 153 "-Wno-sign-compare", 154 "-Wno-unused-function", 155 "-Wno-unused-value", 156 "-Wno-unused-variable", 157 "-Wno-unused-but-set-parameter", 158 "-Wno-unused-but-set-variable", 159 ] 160 161 ldflags = [ "-static-libstdc++" ] 162 163 if (target_os == "fuchsia") { 164 sources -= [ 165 "shared/OpenglCodecCommon/goldfish_dma.cpp", 166 "shared/OpenglCodecCommon/goldfish_dma.h", 167 "shared/qemupipe/qemu_pipe_common.cpp", 168 "shared/qemupipe/qemu_pipe_guest.cpp", 169 "system/OpenglSystemCommon/QemuPipeStream.cpp", 170 ] 171 sources += [ 172 "fuchsia/fuchsia_stdio.cc", 173 "fuchsia/port.cc", 174 "fuchsia/service_connector.cc", 175 "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp", 176 "system/OpenglSystemCommon/TraceProviderFuchsia.cpp", 177 "system/OpenglSystemCommon/TraceProviderFuchsia.h", 178 ] 179 180 include_dirs += [ 181 "fuchsia/include", 182 "platform/include", 183 "//third_party/Vulkan-Headers/include", 184 ] 185 186 deps = [ 187 "//sdk/fidl/fuchsia.hardware.goldfish:fuchsia.hardware.goldfish_cpp_wire", 188 "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp_wire", 189 "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_cpp_wire", 190 "//src/zircon/lib/zircon", 191 "//zircon/system/ulib/async:async-cpp", 192 "//zircon/system/ulib/async-loop:async-loop-cpp", 193 "//zircon/system/ulib/syslog:syslog-static", 194 "//zircon/system/ulib/trace:trace-with-static-engine", 195 "//zircon/system/ulib/trace-provider:trace-provider-with-static-engine", 196 "//zircon/system/ulib/zx", 197 "//zircon/system/ulib/zxio", 198 ] 199 200 # Vulkan ICDs on Fuchsia are only allowed to depend on (parts of) libc 201 # and libzircon, and no other shared libraries. 202 assert_no_deps = [ 203 "//sdk/lib/fdio", 204 "//zircon/system/ulib/async-default", 205 ] 206 207 defines += [ 208 "QEMU_PIPE_PATH=\"/loader-gpu-devices/class/goldfish-pipe/000\"", 209 "GOLDFISH_ADDRESS_SPACE_DEVICE_NAME=\"/loader-gpu-devices/class/goldfish-address-space/000\"", 210 ] 211 } 212} 213