From 9be12e78ce7f934bf4e74f1be87ac8acc9d4db32 Mon Sep 17 00:00:00 2001 From: Craig Stout Date: Fri, 14 Dec 2018 13:17:37 -0800 Subject: [PATCH] [vulkan] Fix Fuchsia build Stub out VulkanSwapchain. Test:Fuchsia release *and* debug builds --- .../ci/licenses_golden/licenses_flutter | 1 + engine/src/flutter/vulkan/BUILD.gn | 5 ++- engine/src/flutter/vulkan/vulkan_swapchain.h | 2 ++ .../flutter/vulkan/vulkan_swapchain_stub.cc | 34 +++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 engine/src/flutter/vulkan/vulkan_swapchain_stub.cc diff --git a/engine/src/flutter/ci/licenses_golden/licenses_flutter b/engine/src/flutter/ci/licenses_golden/licenses_flutter index fdbdef51b7..dce9a455e9 100644 --- a/engine/src/flutter/ci/licenses_golden/licenses_flutter +++ b/engine/src/flutter/ci/licenses_golden/licenses_flutter @@ -603,6 +603,7 @@ FILE: ../../../flutter/vulkan/vulkan_surface.cc FILE: ../../../flutter/vulkan/vulkan_surface.h FILE: ../../../flutter/vulkan/vulkan_swapchain.cc FILE: ../../../flutter/vulkan/vulkan_swapchain.h +FILE: ../../../flutter/vulkan/vulkan_swapchain_stub.cc FILE: ../../../flutter/vulkan/vulkan_utilities.cc FILE: ../../../flutter/vulkan/vulkan_utilities.h FILE: ../../../flutter/vulkan/vulkan_window.cc diff --git a/engine/src/flutter/vulkan/BUILD.gn b/engine/src/flutter/vulkan/BUILD.gn index d6e3767af9..199dc9da7a 100644 --- a/engine/src/flutter/vulkan/BUILD.gn +++ b/engine/src/flutter/vulkan/BUILD.gn @@ -35,6 +35,7 @@ source_set("vulkan") { "vulkan_proc_table.h", "vulkan_surface.cc", "vulkan_surface.h", + "vulkan_swapchain.h", "vulkan_utilities.cc", "vulkan_utilities.h", "vulkan_window.cc", @@ -46,9 +47,11 @@ source_set("vulkan") { "vulkan_native_surface_android.cc", "vulkan_native_surface_android.h", "vulkan_swapchain.cc", - "vulkan_swapchain.h", ] } + if (is_fuchsia) { + sources += [ "vulkan_swapchain_stub.cc" ] + } deps = [ "$flutter_root/fml", diff --git a/engine/src/flutter/vulkan/vulkan_swapchain.h b/engine/src/flutter/vulkan/vulkan_swapchain.h index e85eede05f..047b27ca6b 100644 --- a/engine/src/flutter/vulkan/vulkan_swapchain.h +++ b/engine/src/flutter/vulkan/vulkan_swapchain.h @@ -61,6 +61,7 @@ class VulkanSwapchain { SkISize GetSize() const; +#if OS_ANDROID private: const VulkanProcTable& vk; const VulkanDevice& device_; @@ -88,6 +89,7 @@ class VulkanSwapchain { sk_sp color_space) const; VulkanBackbuffer* GetNextBackbuffer(); +#endif // OS_ANDROID FML_DISALLOW_COPY_AND_ASSIGN(VulkanSwapchain); }; diff --git a/engine/src/flutter/vulkan/vulkan_swapchain_stub.cc b/engine/src/flutter/vulkan/vulkan_swapchain_stub.cc new file mode 100644 index 0000000000..bdd96ad729 --- /dev/null +++ b/engine/src/flutter/vulkan/vulkan_swapchain_stub.cc @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/vulkan/vulkan_swapchain.h" + +namespace vulkan { + +VulkanSwapchain::VulkanSwapchain(const VulkanProcTable& p_vk, + const VulkanDevice& device, + const VulkanSurface& surface, + GrContext* skia_context, + std::unique_ptr old_swapchain, + uint32_t queue_family_index) {} + +VulkanSwapchain::~VulkanSwapchain() = default; + +bool VulkanSwapchain::IsValid() const { + return false; +} + +VulkanSwapchain::AcquireResult VulkanSwapchain::AcquireSurface() { + return {AcquireStatus::ErrorSurfaceLost, nullptr}; +} + +bool VulkanSwapchain::Submit() { + return false; +} + +SkISize VulkanSwapchain::GetSize() const { + return SkISize::Make(0, 0); +} + +} // namespace vulkan