From 641a5b4105b16ec2017622dd4651cb9360b39b2d Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Thu, 22 Jun 2023 08:22:29 -0700 Subject: [PATCH] [Impeller] remove pipeline cache mutex. --- impeller/renderer/backend/vulkan/pipeline_cache_vk.cc | 10 ---------- impeller/renderer/backend/vulkan/pipeline_cache_vk.h | 3 +-- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc b/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc index 8c40f6a75d309..8220d1d55c123 100644 --- a/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc +++ b/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc @@ -68,13 +68,6 @@ PipelineCacheVK::PipelineCacheVK(std::shared_ptr caps, OpenCacheFile(cache_directory_, kPipelineCacheFileName, vk_caps); vk::PipelineCacheCreateInfo cache_info; - - // TODO(csg): VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT is behind - // an extension. Check it and set it. If not, the implementation is doing - // unnecessary synchronization. - // cache_info.flags = - // vk::PipelineCacheCreateFlagBits::eExternallySynchronized; - if (existing_cache_data) { cache_info.initialDataSize = existing_cache_data->GetSize(); cache_info.pInitialData = existing_cache_data->GetMapping(); @@ -126,7 +119,6 @@ vk::UniquePipeline PipelineCacheVK::CreatePipeline( return {}; } - Lock lock(cache_mutex_); auto [result, pipeline] = strong_device->GetDevice().createGraphicsPipelineUnique(*cache_, info); if (result != vk::Result::eSuccess) { @@ -143,7 +135,6 @@ vk::UniquePipeline PipelineCacheVK::CreatePipeline( return {}; } - Lock lock(cache_mutex_); auto [result, pipeline] = strong_device->GetDevice().createComputePipelineUnique(*cache_, info); if (result != vk::Result::eSuccess) { @@ -162,7 +153,6 @@ std::shared_ptr PipelineCacheVK::CopyPipelineCacheData() const { if (!IsValid()) { return nullptr; } - Lock lock(cache_mutex_); auto [result, data] = strong_device->GetDevice().getPipelineCacheData(*cache_); if (result != vk::Result::eSuccess) { diff --git a/impeller/renderer/backend/vulkan/pipeline_cache_vk.h b/impeller/renderer/backend/vulkan/pipeline_cache_vk.h index fdcb8a90b0df3..519ad7c6b3fa3 100644 --- a/impeller/renderer/backend/vulkan/pipeline_cache_vk.h +++ b/impeller/renderer/backend/vulkan/pipeline_cache_vk.h @@ -37,8 +37,7 @@ class PipelineCacheVK { const std::shared_ptr caps_; std::weak_ptr device_holder_; const fml::UniqueFD cache_directory_; - mutable Mutex cache_mutex_; - vk::UniquePipelineCache cache_ IPLR_GUARDED_BY(cache_mutex_); + vk::UniquePipelineCache cache_; bool is_valid_ = false; std::shared_ptr CopyPipelineCacheData() const;