Skip to content

Commit ccfe42f

Browse files
committed
Fix GPU memory leak issue
1 parent 578ac0f commit ccfe42f

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

engine/src/flutter/shell/platform/embedder/embedder_external_texture_vulkan.cc

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -139,20 +139,17 @@ sk_sp<DlImage> EmbedderExternalTextureVulkan::ResolveTextureImpeller(
139139
return nullptr;
140140
}
141141

142-
const auto& impeller_context =
142+
auto& impeller_context =
143143
impeller::ContextVK::Cast(*aiks_context->GetContext());
144-
145144
auto texture_source = std::make_shared<EmbedderExternalTextureSourceVulkan>(
146145
aiks_context->GetContext(), texture_desc.get());
147-
148146
auto texture = std::make_shared<impeller::TextureVK>(
149147
aiks_context->GetContext(), texture_source);
150148
// Transition the layout to shader read.
151149
{
152150
auto buffer = impeller_context.CreateCommandBuffer();
153151
impeller::CommandBufferVK& buffer_vk =
154152
impeller::CommandBufferVK::Cast(*buffer);
155-
156153
impeller::BarrierVK barrier;
157154
barrier.cmd_buffer = buffer_vk.GetCommandBuffer();
158155
barrier.src_access = impeller::vk::AccessFlagBits::eColorAttachmentWrite |
@@ -162,17 +159,16 @@ sk_sp<DlImage> EmbedderExternalTextureVulkan::ResolveTextureImpeller(
162159
impeller::vk::PipelineStageFlagBits::eTransfer;
163160
barrier.dst_access = impeller::vk::AccessFlagBits::eShaderRead;
164161
barrier.dst_stage = impeller::vk::PipelineStageFlagBits::eFragmentShader;
165-
166162
barrier.new_layout = impeller::vk::ImageLayout::eShaderReadOnlyOptimal;
167163

168-
if (!texture_source->SetLayout(barrier).ok()) {
164+
if (!texture->SetLayout(barrier)) {
169165
return nullptr;
170166
}
171167
if (!impeller_context.GetCommandQueue()->Submit({buffer}).ok()) {
172168
return nullptr;
173169
}
174170
}
175-
171+
impeller_context.DisposeThreadLocalCachedResources();
176172
return impeller::DlImageImpeller::Make(texture);
177173
}
178174

0 commit comments

Comments
 (0)