File tree Expand file tree Collapse file tree
engine/src/flutter/shell/platform/embedder Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -143,13 +143,15 @@ sk_sp<DlImage> EmbedderExternalTextureVulkan::ResolveTextureImpeller(
143143 impeller::ContextVK::Cast (*aiks_context->GetContext ());
144144 auto texture_source = std::make_shared<EmbedderExternalTextureSourceVulkan>(
145145 aiks_context->GetContext (), texture_desc.get ());
146+
146147 auto texture = std::make_shared<impeller::TextureVK>(
147148 aiks_context->GetContext (), texture_source);
148149 // Transition the layout to shader read.
149150 {
150151 auto buffer = impeller_context.CreateCommandBuffer ();
151152 impeller::CommandBufferVK& buffer_vk =
152153 impeller::CommandBufferVK::Cast (*buffer);
154+
153155 impeller::BarrierVK barrier;
154156 barrier.cmd_buffer = buffer_vk.GetCommandBuffer ();
155157 barrier.src_access = impeller::vk::AccessFlagBits::eColorAttachmentWrite |
@@ -159,9 +161,10 @@ sk_sp<DlImage> EmbedderExternalTextureVulkan::ResolveTextureImpeller(
159161 impeller::vk::PipelineStageFlagBits::eTransfer;
160162 barrier.dst_access = impeller::vk::AccessFlagBits::eShaderRead;
161163 barrier.dst_stage = impeller::vk::PipelineStageFlagBits::eFragmentShader;
164+
162165 barrier.new_layout = impeller::vk::ImageLayout::eShaderReadOnlyOptimal;
163166
164- if (!texture ->SetLayout (barrier)) {
167+ if (!texture_source ->SetLayout (barrier). ok ( )) {
165168 return nullptr ;
166169 }
167170 if (!impeller_context.GetCommandQueue ()->Submit ({buffer}).ok ()) {
You can’t perform that action at this time.
0 commit comments