diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc index 9d6f70d4ee..05354271b7 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc @@ -40,6 +40,7 @@ class BackgroundCommandPoolVK final { if (!recycler) { return; } + buffers_.clear(); recycler->Reclaim(std::move(pool_)); } @@ -56,8 +57,6 @@ class BackgroundCommandPoolVK final { std::weak_ptr recycler_; }; -static bool kResetOnBackgroundThread = false; - CommandPoolVK::~CommandPoolVK() { if (!pool_) { return; @@ -75,10 +74,8 @@ CommandPoolVK::~CommandPoolVK() { auto reset_pool_when_dropped = BackgroundCommandPoolVK( std::move(pool_), std::move(collected_buffers_), recycler); - if (kResetOnBackgroundThread) { - UniqueResourceVKT pool( - context->GetResourceManager(), std::move(reset_pool_when_dropped)); - } + UniqueResourceVKT pool( + context->GetResourceManager(), std::move(reset_pool_when_dropped)); } // TODO(matanlurey): Return a status_or<> instead of {} when we have one.