| shared_library("libvulkan_goldfish") { |
| sources = [ |
| "android-emu/aemu/base/AlignedBuf.cpp", |
| "android-emu/aemu/base/AlignedBuf.h", |
| "android-emu/aemu/base/Allocator.h", |
| "android-emu/aemu/base/AndroidSubAllocator.cpp", |
| "android-emu/aemu/base/AndroidSubAllocator.h", |
| "android-emu/aemu/base/BumpPool.h", |
| "android-emu/aemu/base/AndroidHealthMonitor.cpp", |
| "android-emu/aemu/base/AndroidHealthMonitor.h", |
| "android-emu/aemu/base/AndroidHealthMonitorConsumer.h", |
| "android-emu/aemu/base/AndroidHealthMonitorConsumerBasic.cpp", |
| "android-emu/aemu/base/AndroidHealthMonitorConsumerBasic.h", |
| "android-emu/aemu/base/Pool.cpp", |
| "android-emu/aemu/base/Pool.h", |
| "android-emu/aemu/base/Process.cpp", |
| "android-emu/aemu/base/Process.h", |
| "android-emu/aemu/base/Tracing.cpp", |
| "android-emu/aemu/base/Tracing.h", |
| "android-emu/aemu/base/files/MemStream.cpp", |
| "android-emu/aemu/base/files/MemStream.h", |
| "android-emu/aemu/base/files/Stream.cpp", |
| "android-emu/aemu/base/files/Stream.h", |
| "android-emu/aemu/base/files/StreamSerializing.cpp", |
| "android-emu/aemu/base/files/StreamSerializing.h", |
| "android-emu/aemu/base/fit/Defer.h", |
| "android-emu/aemu/base/fit/Function.h", |
| "android-emu/aemu/base/fit/FunctionInternal.h", |
| "android-emu/aemu/base/fit/Nullable.h", |
| "android-emu/aemu/base/fit/ThreadChecker.h", |
| "android-emu/aemu/base/fit/ThreadSafety.h", |
| "android-emu/aemu/base/fit/UtilityInternal.h", |
| "android-emu/aemu/base/ring_buffer.c", |
| "android-emu/aemu/base/synchronization/AndroidConditionVariable.h", |
| "android-emu/aemu/base/synchronization/AndroidLock.h", |
| "android-emu/aemu/base/synchronization/AndroidMessageChannel.cpp", |
| "android-emu/aemu/base/synchronization/AndroidMessageChannel.h", |
| "android-emu/aemu/base/testing/TestClock.h", |
| "android-emu/aemu/base/threads/AndroidFunctorThread.cpp", |
| "android-emu/aemu/base/threads/AndroidFunctorThread.h", |
| "android-emu/aemu/base/threads/AndroidThread.h", |
| "android-emu/aemu/base/threads/AndroidThreadStore.h", |
| "android-emu/aemu/base/threads/AndroidThreadTypes.h", |
| "android-emu/aemu/base/threads/AndroidThread_pthread.cpp", |
| "android-emu/aemu/base/threads/AndroidWorkPool.cpp", |
| "android-emu/aemu/base/threads/AndroidWorkPool.h", |
| "platform/include/VirtGpu.h", |
| "platform/stub/VirtGpuBlob.cpp", |
| "platform/stub/VirtGpuBlobMapping.cpp", |
| "platform/stub/VirtGpuDevice.cpp", |
| "shared/GoldfishAddressSpace/goldfish_address_space.cpp", |
| "shared/GoldfishAddressSpace/include/goldfish_address_space.h", |
| "shared/OpenglCodecCommon/ChecksumCalculator.cpp", |
| "shared/OpenglCodecCommon/ChecksumCalculator.h", |
| "shared/OpenglCodecCommon/glUtils.cpp", |
| "shared/OpenglCodecCommon/glUtils.h", |
| "shared/OpenglCodecCommon/goldfish_dma.cpp", |
| "shared/OpenglCodecCommon/goldfish_dma.h", |
| "shared/gralloc_cb/include/gralloc_cb_bp.h", |
| "shared/qemupipe/include-types/qemu_pipe_types_bp.h", |
| "shared/qemupipe/include/qemu_pipe_bp.h", |
| "shared/qemupipe/qemu_pipe_common.cpp", |
| "shared/qemupipe/qemu_pipe_guest.cpp", |
| "system/OpenglSystemCommon/AddressSpaceStream.cpp", |
| "system/OpenglSystemCommon/HostConnection.cpp", |
| "system/OpenglSystemCommon/HostConnection.h", |
| "system/OpenglSystemCommon/ProcessPipe.cpp", |
| "system/OpenglSystemCommon/ProcessPipe.h", |
| "system/OpenglSystemCommon/QemuPipeStream.cpp", |
| "system/OpenglSystemCommon/QemuPipeStream.h", |
| "system/OpenglSystemCommon/ThreadInfo.cpp", |
| "system/OpenglSystemCommon/ThreadInfo.h", |
| "system/renderControl_enc/renderControl_enc.cpp", |
| "system/renderControl_enc/renderControl_enc.h", |
| "system/vulkan/goldfish_vulkan.cpp", |
| "system/vulkan_enc/CommandBufferStagingStream.cpp", |
| "system/vulkan_enc/CommandBufferStagingStream.h", |
| "system/vulkan_enc/DescriptorSetVirtualization.cpp", |
| "system/vulkan_enc/DescriptorSetVirtualization.h", |
| "system/vulkan_enc/HostVisibleMemoryVirtualization.cpp", |
| "system/vulkan_enc/HostVisibleMemoryVirtualization.h", |
| "system/vulkan_enc/ResourceTracker.cpp", |
| "system/vulkan_enc/ResourceTracker.h", |
| "system/vulkan_enc/Resources.cpp", |
| "system/vulkan_enc/Resources.h", |
| "system/vulkan_enc/Validation.cpp", |
| "system/vulkan_enc/Validation.h", |
| "system/vulkan_enc/VkEncoder.cpp", |
| "system/vulkan_enc/VkEncoder.h", |
| "system/vulkan_enc/VulkanHandleMapping.cpp", |
| "system/vulkan_enc/VulkanHandleMapping.h", |
| "system/vulkan_enc/VulkanStreamGuest.cpp", |
| "system/vulkan_enc/VulkanStreamGuest.h", |
| "system/vulkan_enc/func_table.cpp", |
| "system/vulkan_enc/func_table.h", |
| "system/vulkan_enc/goldfish_vk_counting_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_counting_guest.h", |
| "system/vulkan_enc/goldfish_vk_deepcopy_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_deepcopy_guest.h", |
| "system/vulkan_enc/goldfish_vk_extension_structs_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_extension_structs_guest.h", |
| "system/vulkan_enc/goldfish_vk_marshaling_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_marshaling_guest.h", |
| "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.h", |
| "system/vulkan_enc/goldfish_vk_transform_guest.cpp", |
| "system/vulkan_enc/goldfish_vk_transform_guest.h", |
| "system/vulkan_enc/vulkan_gfxstream.h", |
| "system/vulkan_enc/vulkan_gfxstream_structure_type.h", |
| ] |
| |
| include_dirs = [ |
| "android-emu", |
| "host/include/libOpenglRender", |
| "shared/GoldfishAddressSpace/include", |
| "shared/OpenglCodecCommon", |
| "shared/gralloc_cb/include", |
| "shared/qemupipe/include", |
| "shared/qemupipe/include-types", |
| "system/OpenglSystemCommon", |
| "system/renderControl_enc", |
| "system/vulkan_enc", |
| "system/include", |
| ] |
| |
| defines = [ |
| "LOG_TAG=\"goldfish_vulkan\"", |
| "GFXSTREAM", |
| "ENABLE_ANDROID_HEALTHMONITOR=1", |
| "GOLDFISH_NO_GL", |
| "VK_GFXSTREAM_STRUCTURE_TYPE_EXT", |
| "VK_USE_PLATFORM_FUCHSIA", |
| "PLATFORM_SDK_VERSION=1", |
| "PAGE_SIZE=4096", |
| ] |
| |
| cflags = [ "-Wextra-semi" ] |
| |
| cflags_c = [ |
| "-Wstrict-prototypes", |
| "-Wno-missing-field-initializers", |
| "-Wno-newline-eof", |
| "-Wno-sign-compare", |
| "-Wno-unused-function", |
| "-Wno-unused-value", |
| "-Wno-unused-variable", |
| ] |
| |
| cflags_cc = [ |
| "-Wno-conversion", |
| "-Wno-missing-field-initializers", |
| "-Wno-newline-eof", |
| "-Wno-pessimizing-move", |
| "-Wno-sign-compare", |
| "-Wno-unused-function", |
| "-Wno-unused-value", |
| "-Wno-unused-variable", |
| "-Wno-unused-but-set-parameter", |
| "-Wno-unused-but-set-variable", |
| ] |
| |
| ldflags = [ "-static-libstdc++" ] |
| |
| if (target_os == "fuchsia") { |
| sources -= [ |
| "shared/OpenglCodecCommon/goldfish_dma.cpp", |
| "shared/OpenglCodecCommon/goldfish_dma.h", |
| "shared/qemupipe/qemu_pipe_common.cpp", |
| "shared/qemupipe/qemu_pipe_guest.cpp", |
| "system/OpenglSystemCommon/QemuPipeStream.cpp", |
| ] |
| sources += [ |
| "fuchsia/fuchsia_stdio.cc", |
| "fuchsia/port.cc", |
| "fuchsia/service_connector.cc", |
| "system/OpenglSystemCommon/QemuPipeStreamFuchsia.cpp", |
| "system/OpenglSystemCommon/TraceProviderFuchsia.cpp", |
| "system/OpenglSystemCommon/TraceProviderFuchsia.h", |
| ] |
| |
| include_dirs += [ |
| "fuchsia/include", |
| "platform/include", |
| "//third_party/Vulkan-Headers/include", |
| ] |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.hardware.goldfish:fuchsia.hardware.goldfish_cpp_wire", |
| "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp_wire", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_cpp_wire", |
| "//src/zircon/lib/zircon", |
| "//zircon/system/ulib/async:async-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/syslog:syslog-static", |
| "//zircon/system/ulib/trace:trace-with-static-engine", |
| "//zircon/system/ulib/trace-provider:trace-provider-with-static-engine", |
| "//zircon/system/ulib/zx", |
| "//zircon/system/ulib/zxio", |
| ] |
| |
| # Vulkan ICDs on Fuchsia are only allowed to depend on (parts of) libc |
| # and libzircon, and no other shared libraries. |
| assert_no_deps = [ |
| "//sdk/lib/fdio", |
| "//zircon/system/ulib/async-default", |
| ] |
| |
| defines += [ |
| "QEMU_PIPE_PATH=\"/loader-gpu-devices/class/goldfish-pipe/000\"", |
| "GOLDFISH_ADDRESS_SPACE_DEVICE_NAME=\"/loader-gpu-devices/class/goldfish-address-space/000\"", |
| ] |
| } |
| } |