From 5f805a7b13125fbd74c68cd0facc3ff2b5dc8be0 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Fri, 8 Mar 2024 14:39:33 -0800 Subject: [PATCH] [Impeller] Make DeviceHolder follow convention for backend specific utilities. 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 {