From eef5247b696eec9cb2c5a0f995ae35cc4f3cd961 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Fri, 8 Mar 2024 16:28:46 -0800 Subject: [PATCH 1/2] [Impeller] Make DeviceHolder follow convention for backend specific utilities. (#51300) Utilities below the HAL that are backend specific have the VK (in case of Vulkan) suffix. The only class that doesn't follow this convention is/was DeviceHolder. This caused some confusion when reading code leading to wondering what a device holder above the HAL was supposed to do/mean. Adds the VK suffix to device holder with a docstring. Also adds the file the source set as it was missing. No change in functionality. Just a rename of an existing class. --- ci/licenses_golden/licenses_flutter | 4 +-- impeller/renderer/backend/vulkan/BUILD.gn | 1 + .../renderer/backend/vulkan/allocator_vk.cc | 2 +- .../renderer/backend/vulkan/allocator_vk.h | 6 ++-- .../backend/vulkan/command_encoder_vk.cc | 2 +- .../backend/vulkan/command_encoder_vk.h | 6 ++-- .../backend/vulkan/compute_pipeline_vk.cc | 4 +-- .../backend/vulkan/compute_pipeline_vk.h | 6 ++-- impeller/renderer/backend/vulkan/context_vk.h | 6 ++-- .../renderer/backend/vulkan/device_holder.h | 23 --------------- .../backend/vulkan/device_holder_vk.h | 29 +++++++++++++++++++ .../backend/vulkan/fence_waiter_vk.cc | 2 +- .../renderer/backend/vulkan/fence_waiter_vk.h | 6 ++-- .../renderer/backend/vulkan/gpu_tracer_vk.h | 2 +- .../backend/vulkan/pipeline_cache_vk.cc | 10 +++---- .../backend/vulkan/pipeline_cache_vk.h | 6 ++-- .../backend/vulkan/pipeline_library_vk.cc | 4 +-- .../backend/vulkan/pipeline_library_vk.h | 4 +-- .../renderer/backend/vulkan/pipeline_vk.cc | 4 +-- .../renderer/backend/vulkan/pipeline_vk.h | 8 ++--- .../backend/vulkan/sampler_library_vk.cc | 2 +- .../backend/vulkan/sampler_library_vk.h | 6 ++-- .../backend/vulkan/shader_function_vk.cc | 4 +-- .../backend/vulkan/shader_function_vk.h | 6 ++-- .../backend/vulkan/shader_library_vk.cc | 2 +- .../backend/vulkan/shader_library_vk.h | 6 ++-- .../vulkan/yuv_conversion_library_vk.cc | 4 +-- .../vulkan/yuv_conversion_library_vk.h | 6 ++-- .../backend/vulkan/yuv_conversion_vk.cc | 2 +- 29 files changed, 90 insertions(+), 83 deletions(-) delete mode 100644 impeller/renderer/backend/vulkan/device_holder.h create mode 100644 impeller/renderer/backend/vulkan/device_holder_vk.h diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 9b4b8c839a7e9..52a79c4e7d463 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -38103,7 +38103,7 @@ ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.cc ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_holder.h + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_holder_vk.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.cc + ../../../flutter/LICENSE @@ -40954,7 +40954,7 @@ FILE: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.cc FILE: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.h FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.cc FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_holder.h +FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_holder_vk.h FILE: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.cc FILE: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.h FILE: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.cc diff --git a/impeller/renderer/backend/vulkan/BUILD.gn b/impeller/renderer/backend/vulkan/BUILD.gn index ec5a835230d06..97646c59b36a3 100644 --- a/impeller/renderer/backend/vulkan/BUILD.gn +++ b/impeller/renderer/backend/vulkan/BUILD.gn @@ -64,6 +64,7 @@ impeller_component("vulkan") { "descriptor_pool_vk.h", "device_buffer_vk.cc", "device_buffer_vk.h", + "device_holder_vk.h", "fence_waiter_vk.cc", "fence_waiter_vk.h", "formats_vk.cc", diff --git a/impeller/renderer/backend/vulkan/allocator_vk.cc b/impeller/renderer/backend/vulkan/allocator_vk.cc index 851d78e48716b..ecbbc2f776ff8 100644 --- a/impeller/renderer/backend/vulkan/allocator_vk.cc +++ b/impeller/renderer/backend/vulkan/allocator_vk.cc @@ -94,7 +94,7 @@ static PoolVMA CreateBufferPool(VmaAllocator allocator) { AllocatorVK::AllocatorVK(std::weak_ptr context, uint32_t vulkan_api_version, const vk::PhysicalDevice& physical_device, - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, const vk::Instance& instance, const CapabilitiesVK& capabilities) : context_(std::move(context)), device_holder_(device_holder) { diff --git a/impeller/renderer/backend/vulkan/allocator_vk.h b/impeller/renderer/backend/vulkan/allocator_vk.h index 339e496ffd7db..c16ce6bcf2f49 100644 --- a/impeller/renderer/backend/vulkan/allocator_vk.h +++ b/impeller/renderer/backend/vulkan/allocator_vk.h @@ -10,7 +10,7 @@ #include "impeller/core/allocator.h" #include "impeller/renderer/backend/vulkan/context_vk.h" #include "impeller/renderer/backend/vulkan/device_buffer_vk.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" #include @@ -33,7 +33,7 @@ class AllocatorVK final : public Allocator { UniqueAllocatorVMA allocator_; UniquePoolVMA staging_buffer_pool_; std::weak_ptr context_; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; ISize max_texture_size_; bool is_valid_ = false; bool supports_memoryless_textures_ = false; @@ -44,7 +44,7 @@ class AllocatorVK final : public Allocator { AllocatorVK(std::weak_ptr context, uint32_t vulkan_api_version, const vk::PhysicalDevice& physical_device, - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, const vk::Instance& instance, const CapabilitiesVK& capabilities); diff --git a/impeller/renderer/backend/vulkan/command_encoder_vk.cc b/impeller/renderer/backend/vulkan/command_encoder_vk.cc index 3e809a8e28cc5..4fb51fa2491c7 100644 --- a/impeller/renderer/backend/vulkan/command_encoder_vk.cc +++ b/impeller/renderer/backend/vulkan/command_encoder_vk.cc @@ -66,7 +66,7 @@ std::shared_ptr CommandEncoderFactoryVK::Create() { } CommandEncoderVK::CommandEncoderVK( - std::weak_ptr device_holder, + std::weak_ptr device_holder, std::shared_ptr tracked_objects, const std::shared_ptr& queue, std::shared_ptr fence_waiter) diff --git a/impeller/renderer/backend/vulkan/command_encoder_vk.h b/impeller/renderer/backend/vulkan/command_encoder_vk.h index 8e5aa11e7ec70..4369df5caf67e 100644 --- a/impeller/renderer/backend/vulkan/command_encoder_vk.h +++ b/impeller/renderer/backend/vulkan/command_encoder_vk.h @@ -13,7 +13,7 @@ #include "impeller/renderer/backend/vulkan/command_queue_vk.h" #include "impeller/renderer/backend/vulkan/context_vk.h" #include "impeller/renderer/backend/vulkan/descriptor_pool_vk.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/queue_vk.h" #include "impeller/renderer/backend/vulkan/shared_object_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" @@ -52,7 +52,7 @@ class CommandEncoderVK { using SubmitCallback = std::function; // Visible for testing. - CommandEncoderVK(std::weak_ptr device_holder, + CommandEncoderVK(std::weak_ptr device_holder, std::shared_ptr tracked_objects, const std::shared_ptr& queue, std::shared_ptr fence_waiter); @@ -91,7 +91,7 @@ class CommandEncoderVK { friend class ContextVK; friend class CommandQueueVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; std::shared_ptr tracked_objects_; std::shared_ptr queue_; const std::shared_ptr fence_waiter_; diff --git a/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc b/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc index af48c2691ddcc..a6806561873d8 100644 --- a/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc +++ b/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc @@ -7,7 +7,7 @@ namespace impeller { ComputePipelineVK::ComputePipelineVK( - std::weak_ptr device_holder, + std::weak_ptr device_holder, std::weak_ptr library, const ComputePipelineDescriptor& desc, vk::UniquePipeline pipeline, @@ -22,7 +22,7 @@ ComputePipelineVK::ComputePipelineVK( } ComputePipelineVK::~ComputePipelineVK() { - std::shared_ptr device_holder = device_holder_.lock(); + std::shared_ptr device_holder = device_holder_.lock(); if (device_holder) { descriptor_set_layout_.reset(); layout_.reset(); diff --git a/impeller/renderer/backend/vulkan/compute_pipeline_vk.h b/impeller/renderer/backend/vulkan/compute_pipeline_vk.h index 3ad7117b454c1..58c8ba96cf580 100644 --- a/impeller/renderer/backend/vulkan/compute_pipeline_vk.h +++ b/impeller/renderer/backend/vulkan/compute_pipeline_vk.h @@ -9,7 +9,7 @@ #include "flutter/fml/macros.h" #include "impeller/base/backend_cast.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" #include "impeller/renderer/pipeline.h" @@ -20,7 +20,7 @@ class ComputePipelineVK final public BackendCast> { public: - ComputePipelineVK(std::weak_ptr device_holder, + ComputePipelineVK(std::weak_ptr device_holder, std::weak_ptr library, const ComputePipelineDescriptor& desc, vk::UniquePipeline pipeline, @@ -39,7 +39,7 @@ class ComputePipelineVK final private: friend class PipelineLibraryVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; vk::UniquePipeline pipeline_; vk::UniquePipelineLayout layout_; vk::UniqueDescriptorSetLayout descriptor_set_layout_; diff --git a/impeller/renderer/backend/vulkan/context_vk.h b/impeller/renderer/backend/vulkan/context_vk.h index 4650ad39e53f9..8dc7ec5f76cad 100644 --- a/impeller/renderer/backend/vulkan/context_vk.h +++ b/impeller/renderer/backend/vulkan/context_vk.h @@ -14,7 +14,7 @@ #include "impeller/base/backend_cast.h" #include "impeller/core/formats.h" #include "impeller/renderer/backend/vulkan/command_pool_vk.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/pipeline_library_vk.h" #include "impeller/renderer/backend/vulkan/queue_vk.h" #include "impeller/renderer/backend/vulkan/sampler_library_vk.h" @@ -130,7 +130,7 @@ class ContextVK final : public Context, return true; } - std::shared_ptr GetDeviceHolder() const { + std::shared_ptr GetDeviceHolder() const { return device_holder_; } @@ -164,7 +164,7 @@ class ContextVK final : public Context, void InitializeCommonlyUsedShadersIfNeeded() const override; private: - struct DeviceHolderImpl : public DeviceHolder { + struct DeviceHolderImpl : public DeviceHolderVK { // |DeviceHolder| const vk::Device& GetDevice() const override { return device.get(); } // |DeviceHolder| diff --git a/impeller/renderer/backend/vulkan/device_holder.h b/impeller/renderer/backend/vulkan/device_holder.h deleted file mode 100644 index 09bd14185c544..0000000000000 --- a/impeller/renderer/backend/vulkan/device_holder.h +++ /dev/null @@ -1,23 +0,0 @@ -// 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. - -#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_H_ -#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_H_ - -#include "impeller/renderer/backend/vulkan/vk.h" // IWYU pragma: keep. - -namespace impeller { - -class DeviceHolder { - public: - virtual ~DeviceHolder() = default; - - virtual const vk::Device& GetDevice() const = 0; - - virtual const vk::PhysicalDevice& GetPhysicalDevice() const = 0; -}; - -} // namespace impeller - -#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_H_ diff --git a/impeller/renderer/backend/vulkan/device_holder_vk.h b/impeller/renderer/backend/vulkan/device_holder_vk.h new file mode 100644 index 0000000000000..f85ae846fdbf5 --- /dev/null +++ b/impeller/renderer/backend/vulkan/device_holder_vk.h @@ -0,0 +1,29 @@ +// 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. + +#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_VK_H_ +#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_VK_H_ + +#include "impeller/renderer/backend/vulkan/vk.h" // IWYU pragma: keep. + +namespace impeller { + +//------------------------------------------------------------------------------ +/// @brief Holds a strong reference to the underlying logical Vulkan +/// device. This comes in handy when the context is being torn down +/// and the various components on different threads may need to +/// orchestrate safe shutdown. +/// +class DeviceHolderVK { + public: + virtual ~DeviceHolderVK() = default; + + virtual const vk::Device& GetDevice() const = 0; + + virtual const vk::PhysicalDevice& GetPhysicalDevice() const = 0; +}; + +} // namespace impeller + +#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_DEVICE_HOLDER_VK_H_ diff --git a/impeller/renderer/backend/vulkan/fence_waiter_vk.cc b/impeller/renderer/backend/vulkan/fence_waiter_vk.cc index a43426f452fe6..ddd617a58033e 100644 --- a/impeller/renderer/backend/vulkan/fence_waiter_vk.cc +++ b/impeller/renderer/backend/vulkan/fence_waiter_vk.cc @@ -52,7 +52,7 @@ class WaitSetEntry { WaitSetEntry& operator=(WaitSetEntry&&) = delete; }; -FenceWaiterVK::FenceWaiterVK(std::weak_ptr device_holder) +FenceWaiterVK::FenceWaiterVK(std::weak_ptr device_holder) : device_holder_(std::move(device_holder)) { waiter_thread_ = std::make_unique([&]() { Main(); }); } diff --git a/impeller/renderer/backend/vulkan/fence_waiter_vk.h b/impeller/renderer/backend/vulkan/fence_waiter_vk.h index eb32e3a6554ab..cc265eeb08b81 100644 --- a/impeller/renderer/backend/vulkan/fence_waiter_vk.h +++ b/impeller/renderer/backend/vulkan/fence_waiter_vk.h @@ -13,7 +13,7 @@ #include "flutter/fml/closure.h" #include "flutter/fml/macros.h" #include "impeller/base/thread.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/shared_object_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" @@ -37,14 +37,14 @@ class FenceWaiterVK { private: friend class ContextVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; std::unique_ptr waiter_thread_; std::mutex wait_set_mutex_; std::condition_variable wait_set_cv_; WaitSet wait_set_; bool terminate_ = false; - explicit FenceWaiterVK(std::weak_ptr device_holder); + explicit FenceWaiterVK(std::weak_ptr device_holder); void Main(); diff --git a/impeller/renderer/backend/vulkan/gpu_tracer_vk.h b/impeller/renderer/backend/vulkan/gpu_tracer_vk.h index a975c737616e3..ee6c0e4c34601 100644 --- a/impeller/renderer/backend/vulkan/gpu_tracer_vk.h +++ b/impeller/renderer/backend/vulkan/gpu_tracer_vk.h @@ -9,7 +9,7 @@ #include #include "impeller/renderer/backend/vulkan/context_vk.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "vulkan/vulkan_handles.hpp" namespace impeller { diff --git a/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc b/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc index ac3760f5283bd..49ee504e5bbcd 100644 --- a/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc +++ b/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc @@ -54,7 +54,7 @@ static std::unique_ptr OpenCacheFile( } PipelineCacheVK::PipelineCacheVK(std::shared_ptr caps, - std::shared_ptr device_holder, + std::shared_ptr device_holder, fml::UniqueFD cache_directory) : caps_(std::move(caps)), device_holder_(device_holder), @@ -101,7 +101,7 @@ PipelineCacheVK::PipelineCacheVK(std::shared_ptr caps, } PipelineCacheVK::~PipelineCacheVK() { - std::shared_ptr device_holder = device_holder_.lock(); + std::shared_ptr device_holder = device_holder_.lock(); if (device_holder) { cache_.reset(); } else { @@ -115,7 +115,7 @@ bool PipelineCacheVK::IsValid() const { vk::UniquePipeline PipelineCacheVK::CreatePipeline( const vk::GraphicsPipelineCreateInfo& info) { - std::shared_ptr strong_device = device_holder_.lock(); + std::shared_ptr strong_device = device_holder_.lock(); if (!strong_device) { return {}; } @@ -131,7 +131,7 @@ vk::UniquePipeline PipelineCacheVK::CreatePipeline( vk::UniquePipeline PipelineCacheVK::CreatePipeline( const vk::ComputePipelineCreateInfo& info) { - std::shared_ptr strong_device = device_holder_.lock(); + std::shared_ptr strong_device = device_holder_.lock(); if (!strong_device) { return {}; } @@ -146,7 +146,7 @@ vk::UniquePipeline PipelineCacheVK::CreatePipeline( } std::shared_ptr PipelineCacheVK::CopyPipelineCacheData() const { - std::shared_ptr strong_device = device_holder_.lock(); + std::shared_ptr strong_device = device_holder_.lock(); if (!strong_device) { return nullptr; } diff --git a/impeller/renderer/backend/vulkan/pipeline_cache_vk.h b/impeller/renderer/backend/vulkan/pipeline_cache_vk.h index 398b5f2555732..6376ec4d0b536 100644 --- a/impeller/renderer/backend/vulkan/pipeline_cache_vk.h +++ b/impeller/renderer/backend/vulkan/pipeline_cache_vk.h @@ -8,7 +8,7 @@ #include "flutter/fml/file.h" #include "flutter/fml/macros.h" #include "impeller/renderer/backend/vulkan/capabilities_vk.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" namespace impeller { @@ -19,7 +19,7 @@ class PipelineCacheVK { // at the time of executing `PipelineCacheVK` because of how `ContextVK` does // initialization. explicit PipelineCacheVK(std::shared_ptr caps, - std::shared_ptr device_holder, + std::shared_ptr device_holder, fml::UniqueFD cache_directory); ~PipelineCacheVK(); @@ -36,7 +36,7 @@ class PipelineCacheVK { private: const std::shared_ptr caps_; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; const fml::UniqueFD cache_directory_; vk::UniquePipelineCache cache_; bool is_valid_ = false; diff --git a/impeller/renderer/backend/vulkan/pipeline_library_vk.cc b/impeller/renderer/backend/vulkan/pipeline_library_vk.cc index 130cabd36ae98..26ed69f53ba50 100644 --- a/impeller/renderer/backend/vulkan/pipeline_library_vk.cc +++ b/impeller/renderer/backend/vulkan/pipeline_library_vk.cc @@ -25,7 +25,7 @@ namespace impeller { PipelineLibraryVK::PipelineLibraryVK( - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, std::shared_ptr caps, fml::UniqueFD cache_directory, std::shared_ptr worker_task_runner) @@ -63,7 +63,7 @@ std::unique_ptr PipelineLibraryVK::CreateComputePipeline( return nullptr; } - std::shared_ptr strong_device = device_holder_.lock(); + std::shared_ptr strong_device = device_holder_.lock(); if (!strong_device) { return nullptr; } diff --git a/impeller/renderer/backend/vulkan/pipeline_library_vk.h b/impeller/renderer/backend/vulkan/pipeline_library_vk.h index d683a9c9863c2..0f3926924e589 100644 --- a/impeller/renderer/backend/vulkan/pipeline_library_vk.h +++ b/impeller/renderer/backend/vulkan/pipeline_library_vk.h @@ -39,7 +39,7 @@ class PipelineLibraryVK final private: friend ContextVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; std::shared_ptr pso_cache_; std::shared_ptr worker_task_runner_; Mutex pipelines_mutex_; @@ -51,7 +51,7 @@ class PipelineLibraryVK final bool is_valid_ = false; PipelineLibraryVK( - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, std::shared_ptr caps, fml::UniqueFD cache_directory, std::shared_ptr worker_task_runner); diff --git a/impeller/renderer/backend/vulkan/pipeline_vk.cc b/impeller/renderer/backend/vulkan/pipeline_vk.cc index eb503e4b83911..f0283aa01e9e2 100644 --- a/impeller/renderer/backend/vulkan/pipeline_vk.cc +++ b/impeller/renderer/backend/vulkan/pipeline_vk.cc @@ -166,7 +166,7 @@ static vk::UniqueRenderPass CreateCompatRenderPassForPipeline( std::unique_ptr PipelineVK::Create( const PipelineDescriptor& desc, - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, const std::weak_ptr& weak_library, std::shared_ptr immutable_sampler) { TRACE_EVENT0("flutter", "PipelineVK::Create"); @@ -462,7 +462,7 @@ std::unique_ptr PipelineVK::Create( return pipeline_vk; } -PipelineVK::PipelineVK(std::weak_ptr device_holder, +PipelineVK::PipelineVK(std::weak_ptr device_holder, std::weak_ptr library, const PipelineDescriptor& desc, vk::UniquePipeline pipeline, diff --git a/impeller/renderer/backend/vulkan/pipeline_vk.h b/impeller/renderer/backend/vulkan/pipeline_vk.h index 5040582d23328..5ab4feccfde89 100644 --- a/impeller/renderer/backend/vulkan/pipeline_vk.h +++ b/impeller/renderer/backend/vulkan/pipeline_vk.h @@ -11,7 +11,7 @@ #include "impeller/base/backend_cast.h" #include "impeller/base/thread.h" #include "impeller/core/texture.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/formats_vk.h" #include "impeller/renderer/backend/vulkan/pipeline_cache_vk.h" #include "impeller/renderer/backend/vulkan/sampler_vk.h" @@ -31,7 +31,7 @@ class PipelineVK final public: static std::unique_ptr Create( const PipelineDescriptor& desc, - const std::shared_ptr& device_holder, + const std::shared_ptr& device_holder, const std::weak_ptr& weak_library, std::shared_ptr immutable_sampler = {}); @@ -56,7 +56,7 @@ class PipelineVK final ComparableHash, ComparableEqual>; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; vk::UniquePipeline pipeline_; vk::UniqueRenderPass render_pass_; vk::UniquePipelineLayout layout_; @@ -67,7 +67,7 @@ class PipelineVK final immutable_sampler_variants_mutex_); bool is_valid_ = false; - PipelineVK(std::weak_ptr device_holder, + PipelineVK(std::weak_ptr device_holder, std::weak_ptr library, const PipelineDescriptor& desc, vk::UniquePipeline pipeline, diff --git a/impeller/renderer/backend/vulkan/sampler_library_vk.cc b/impeller/renderer/backend/vulkan/sampler_library_vk.cc index 97685794df799..821cc6fffdb19 100644 --- a/impeller/renderer/backend/vulkan/sampler_library_vk.cc +++ b/impeller/renderer/backend/vulkan/sampler_library_vk.cc @@ -11,7 +11,7 @@ namespace impeller { SamplerLibraryVK::SamplerLibraryVK( - const std::weak_ptr& device_holder) + const std::weak_ptr& device_holder) : device_holder_(device_holder) {} SamplerLibraryVK::~SamplerLibraryVK() = default; diff --git a/impeller/renderer/backend/vulkan/sampler_library_vk.h b/impeller/renderer/backend/vulkan/sampler_library_vk.h index 811f9571ce7c0..4251534031612 100644 --- a/impeller/renderer/backend/vulkan/sampler_library_vk.h +++ b/impeller/renderer/backend/vulkan/sampler_library_vk.h @@ -7,7 +7,7 @@ #include "impeller/base/backend_cast.h" #include "impeller/core/sampler_descriptor.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/sampler_library.h" namespace impeller { @@ -22,10 +22,10 @@ class SamplerLibraryVK final private: friend class ContextVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; SamplerMap samplers_; - explicit SamplerLibraryVK(const std::weak_ptr& device_holder); + explicit SamplerLibraryVK(const std::weak_ptr& device_holder); // |SamplerLibrary| const std::unique_ptr& GetSampler( diff --git a/impeller/renderer/backend/vulkan/shader_function_vk.cc b/impeller/renderer/backend/vulkan/shader_function_vk.cc index 7f0bdde98c12d..1a2a12c8354ea 100644 --- a/impeller/renderer/backend/vulkan/shader_function_vk.cc +++ b/impeller/renderer/backend/vulkan/shader_function_vk.cc @@ -7,7 +7,7 @@ namespace impeller { ShaderFunctionVK::ShaderFunctionVK( - const std::weak_ptr& device_holder, + const std::weak_ptr& device_holder, UniqueID parent_library_id, std::string name, ShaderStage stage, @@ -17,7 +17,7 @@ ShaderFunctionVK::ShaderFunctionVK( device_holder_(device_holder) {} ShaderFunctionVK::~ShaderFunctionVK() { - std::shared_ptr device_holder = device_holder_.lock(); + std::shared_ptr device_holder = device_holder_.lock(); if (device_holder) { module_.reset(); } else { diff --git a/impeller/renderer/backend/vulkan/shader_function_vk.h b/impeller/renderer/backend/vulkan/shader_function_vk.h index 1d7505707d6a9..1f4be36a6a534 100644 --- a/impeller/renderer/backend/vulkan/shader_function_vk.h +++ b/impeller/renderer/backend/vulkan/shader_function_vk.h @@ -7,7 +7,7 @@ #include "flutter/fml/macros.h" #include "impeller/base/backend_cast.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/shader_function_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" #include "impeller/renderer/shader_function.h" @@ -27,9 +27,9 @@ class ShaderFunctionVK final friend class ShaderLibraryVK; vk::UniqueShaderModule module_; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; - ShaderFunctionVK(const std::weak_ptr& device_holder, + ShaderFunctionVK(const std::weak_ptr& device_holder, UniqueID parent_library_id, std::string name, ShaderStage stage, diff --git a/impeller/renderer/backend/vulkan/shader_library_vk.cc b/impeller/renderer/backend/vulkan/shader_library_vk.cc index cf722ae9259fb..1b373b67cbacd 100644 --- a/impeller/renderer/backend/vulkan/shader_library_vk.cc +++ b/impeller/renderer/backend/vulkan/shader_library_vk.cc @@ -50,7 +50,7 @@ static std::string VKShaderNameToShaderKeyName(const std::string& name, } ShaderLibraryVK::ShaderLibraryVK( - std::weak_ptr device_holder, + std::weak_ptr device_holder, const std::vector>& shader_libraries_data) : device_holder_(std::move(device_holder)) { TRACE_EVENT0("impeller", "CreateShaderLibrary"); diff --git a/impeller/renderer/backend/vulkan/shader_library_vk.h b/impeller/renderer/backend/vulkan/shader_library_vk.h index ea3f063a2537d..d6fc65d7f2de0 100644 --- a/impeller/renderer/backend/vulkan/shader_library_vk.h +++ b/impeller/renderer/backend/vulkan/shader_library_vk.h @@ -8,7 +8,7 @@ #include "flutter/fml/macros.h" #include "impeller/base/comparable.h" #include "impeller/base/thread.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/vk.h" #include "impeller/renderer/shader_key.h" #include "impeller/renderer/shader_library.h" @@ -25,14 +25,14 @@ class ShaderLibraryVK final : public ShaderLibrary { private: friend class ContextVK; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; const UniqueID library_id_; mutable RWMutex functions_mutex_; ShaderFunctionMap functions_ IPLR_GUARDED_BY(functions_mutex_); bool is_valid_ = false; ShaderLibraryVK( - std::weak_ptr device_holder, + std::weak_ptr device_holder, const std::vector>& shader_libraries_data); // |ShaderLibrary| diff --git a/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc b/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc index 43417815b2554..4d42de5ca0f48 100644 --- a/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc +++ b/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc @@ -5,12 +5,12 @@ #include "impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h" #include "impeller/base/validation.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" namespace impeller { YUVConversionLibraryVK::YUVConversionLibraryVK( - std::weak_ptr device_holder) + std::weak_ptr device_holder) : device_holder_(std::move(device_holder)) {} YUVConversionLibraryVK::~YUVConversionLibraryVK() = default; diff --git a/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h b/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h index 27669ec7c703a..755ffccaa5818 100644 --- a/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h +++ b/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h @@ -9,7 +9,7 @@ namespace impeller { -class DeviceHolder; +class DeviceHolderVK; //------------------------------------------------------------------------------ /// @brief Due the way the Vulkan spec. treats "identically defined" @@ -53,11 +53,11 @@ class YUVConversionLibraryVK { YUVConversionDescriptorVKHash, YUVConversionDescriptorVKEqual>; - std::weak_ptr device_holder_; + std::weak_ptr device_holder_; Mutex conversions_mutex_; ConversionsMap conversions_ IPLR_GUARDED_BY(conversions_mutex_); - explicit YUVConversionLibraryVK(std::weak_ptr device_holder); + explicit YUVConversionLibraryVK(std::weak_ptr device_holder); }; } // namespace impeller diff --git a/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc b/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc index 7ed74fb78da07..531bf780737a7 100644 --- a/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc +++ b/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc @@ -6,7 +6,7 @@ #include "flutter/fml/hash_combine.h" #include "impeller/base/validation.h" -#include "impeller/renderer/backend/vulkan/device_holder.h" +#include "impeller/renderer/backend/vulkan/device_holder_vk.h" #include "impeller/renderer/backend/vulkan/sampler_vk.h" namespace impeller { From 79536627661ae4e6f231116f26afc8188ae5d6d1 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Fri, 8 Mar 2024 16:52:25 -0800 Subject: [PATCH 2/2] [Impeller] Use the AHB prefix for utils that work with Android Hardware Buffers. (#51298) Also doesn't compile the TU on non-Android platforms. Part of https://github.com/flutter/engine/pull/51213 being chopped up. No change in functionality. Just renames and moves stuff around. --- ci/licenses_golden/licenses_flutter | 8 ++--- impeller/renderer/backend/vulkan/BUILD.gn | 9 ++++-- .../ahb_texture_source_vk.cc} | 27 ++++++----------- .../ahb_texture_source_vk.h} | 30 +++++++------------ .../android/image_external_texture_vk.cc | 7 ++--- .../android/image_external_texture_vk.h | 2 +- 6 files changed, 34 insertions(+), 49 deletions(-) rename impeller/renderer/backend/vulkan/{android_hardware_buffer_texture_source_vk.cc => android/ahb_texture_source_vk.cc} (94%) rename impeller/renderer/backend/vulkan/{android_hardware_buffer_texture_source_vk.h => android/ahb_texture_source_vk.h} (68%) diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 52a79c4e7d463..338313b3d6523 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -38073,8 +38073,8 @@ ORIGIN: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.h ORIGIN: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.mm + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/blit_command_vk.cc + ../../../flutter/LICENSE @@ -40924,8 +40924,8 @@ FILE: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.h FILE: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.mm FILE: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.cc FILE: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h +FILE: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc +FILE: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h FILE: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.cc FILE: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.h FILE: ../../../flutter/impeller/renderer/backend/vulkan/blit_command_vk.cc diff --git a/impeller/renderer/backend/vulkan/BUILD.gn b/impeller/renderer/backend/vulkan/BUILD.gn index 97646c59b36a3..ec76278edcd5b 100644 --- a/impeller/renderer/backend/vulkan/BUILD.gn +++ b/impeller/renderer/backend/vulkan/BUILD.gn @@ -34,8 +34,6 @@ impeller_component("vulkan") { sources = [ "allocator_vk.cc", "allocator_vk.h", - "android_hardware_buffer_texture_source_vk.cc", - "android_hardware_buffer_texture_source_vk.h", "barrier_vk.cc", "barrier_vk.h", "blit_command_vk.cc", @@ -123,6 +121,13 @@ impeller_component("vulkan") { "yuv_conversion_vk.h", ] + if (is_android) { + sources += [ + "android/ahb_texture_source_vk.cc", + "android/ahb_texture_source_vk.h", + ] + } + public_deps = [ "../../:renderer", "../../../shader_archive", diff --git a/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc b/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc similarity index 94% rename from impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc rename to impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc index 0ec9e2725ff02..bea9958bd2b50 100644 --- a/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc +++ b/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc @@ -2,16 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h" - -#include +#include "impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h" #include "impeller/renderer/backend/vulkan/context_vk.h" #include "impeller/renderer/backend/vulkan/texture_source_vk.h" #include "impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h" -#ifdef FML_OS_ANDROID - namespace impeller { using AHBProperties = vk::StructureChain< @@ -293,7 +289,7 @@ static TextureDescriptor ToTextureDescriptor( return desc; } -AndroidHardwareBufferTextureSourceVK::AndroidHardwareBufferTextureSourceVK( +AHBTextureSourceVK::AHBTextureSourceVK( const std::shared_ptr& context, struct AHardwareBuffer* ahb, const AHardwareBuffer_Desc& ahb_desc) @@ -373,40 +369,35 @@ AndroidHardwareBufferTextureSourceVK::AndroidHardwareBufferTextureSourceVK( } // |TextureSourceVK| -AndroidHardwareBufferTextureSourceVK::~AndroidHardwareBufferTextureSourceVK() = - default; +AHBTextureSourceVK::~AHBTextureSourceVK() = default; -bool AndroidHardwareBufferTextureSourceVK::IsValid() const { +bool AHBTextureSourceVK::IsValid() const { return is_valid_; } // |TextureSourceVK| -vk::Image AndroidHardwareBufferTextureSourceVK::GetImage() const { +vk::Image AHBTextureSourceVK::GetImage() const { return image_.get(); } // |TextureSourceVK| -vk::ImageView AndroidHardwareBufferTextureSourceVK::GetImageView() const { +vk::ImageView AHBTextureSourceVK::GetImageView() const { return image_view_.get(); } // |TextureSourceVK| -vk::ImageView AndroidHardwareBufferTextureSourceVK::GetRenderTargetView() - const { +vk::ImageView AHBTextureSourceVK::GetRenderTargetView() const { return image_view_.get(); } // |TextureSourceVK| -bool AndroidHardwareBufferTextureSourceVK::IsSwapchainImage() const { +bool AHBTextureSourceVK::IsSwapchainImage() const { return false; } // |TextureSourceVK| -std::shared_ptr -AndroidHardwareBufferTextureSourceVK::GetYUVConversion() const { +std::shared_ptr AHBTextureSourceVK::GetYUVConversion() const { return needs_yuv_conversion_ ? yuv_conversion_ : nullptr; } } // namespace impeller - -#endif diff --git a/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h b/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h similarity index 68% rename from impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h rename to impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h index 724308cb2b6fb..14c027b901d89 100644 --- a/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h +++ b/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h @@ -2,13 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_HARDWARE_BUFFER_TEXTURE_SOURCE_VK_H_ -#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_HARDWARE_BUFFER_TEXTURE_SOURCE_VK_H_ - -#include "flutter/fml/build_config.h" -#include "vulkan/vulkan_core.h" - -#ifdef FML_OS_ANDROID +#ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_AHB_TEXTURE_SOURCE_VK_H_ +#define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_AHB_TEXTURE_SOURCE_VK_H_ #include "flutter/fml/macros.h" #include "impeller/geometry/size.h" @@ -36,15 +31,14 @@ class ContextVK; /// descriptors. The objects are meant to be used directly (either /// as render targets or sources for sampling), not copied. /// -class AndroidHardwareBufferTextureSourceVK final : public TextureSourceVK { +class AHBTextureSourceVK final : public TextureSourceVK { public: - AndroidHardwareBufferTextureSourceVK( - const std::shared_ptr& context, - struct AHardwareBuffer* hardware_buffer, - const AHardwareBuffer_Desc& hardware_buffer_desc); + AHBTextureSourceVK(const std::shared_ptr& context, + struct AHardwareBuffer* hardware_buffer, + const AHardwareBuffer_Desc& hardware_buffer_desc); // |TextureSourceVK| - ~AndroidHardwareBufferTextureSourceVK() override; + ~AHBTextureSourceVK() override; // |TextureSourceVK| vk::Image GetImage() const override; @@ -71,15 +65,11 @@ class AndroidHardwareBufferTextureSourceVK final : public TextureSourceVK { bool needs_yuv_conversion_ = false; bool is_valid_ = false; - AndroidHardwareBufferTextureSourceVK( - const AndroidHardwareBufferTextureSourceVK&) = delete; + AHBTextureSourceVK(const AHBTextureSourceVK&) = delete; - AndroidHardwareBufferTextureSourceVK& operator=( - const AndroidHardwareBufferTextureSourceVK&) = delete; + AHBTextureSourceVK& operator=(const AHBTextureSourceVK&) = delete; }; } // namespace impeller -#endif - -#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_HARDWARE_BUFFER_TEXTURE_SOURCE_VK_H_ +#endif // FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ANDROID_AHB_TEXTURE_SOURCE_VK_H_ diff --git a/shell/platform/android/image_external_texture_vk.cc b/shell/platform/android/image_external_texture_vk.cc index 906f4a5ee0561..c8b94fb72d37b 100644 --- a/shell/platform/android/image_external_texture_vk.cc +++ b/shell/platform/android/image_external_texture_vk.cc @@ -6,7 +6,7 @@ #include "flutter/impeller/core/formats.h" #include "flutter/impeller/core/texture_descriptor.h" #include "flutter/impeller/display_list/dl_image_impeller.h" -#include "flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h" +#include "flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h" #include "flutter/impeller/renderer/backend/vulkan/command_buffer_vk.h" #include "flutter/impeller/renderer/backend/vulkan/command_encoder_vk.h" #include "flutter/impeller/renderer/backend/vulkan/texture_vk.h" @@ -54,9 +54,8 @@ void ImageExternalTextureVK::ProcessFrame(PaintContext& context, return; } - auto texture_source = - std::make_shared( - impeller_context_, latest_hardware_buffer, hb_desc); + auto texture_source = std::make_shared( + impeller_context_, latest_hardware_buffer, hb_desc); auto texture = std::make_shared(impeller_context_, texture_source); diff --git a/shell/platform/android/image_external_texture_vk.h b/shell/platform/android/image_external_texture_vk.h index e3d240145aacc..e702671fe84b3 100644 --- a/shell/platform/android/image_external_texture_vk.h +++ b/shell/platform/android/image_external_texture_vk.h @@ -9,7 +9,7 @@ #include #include "flutter/shell/platform/android/image_external_texture.h" -#include "flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.h" +#include "flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h" #include "flutter/impeller/renderer/backend/vulkan/context_vk.h" #include "flutter/impeller/renderer/backend/vulkan/vk.h" #include "flutter/shell/platform/android/android_context_vulkan_impeller.h"