Skip to content

Commit 1819708

Browse files
committed
Add Vulkan implementation for SupportsExternalTextures method
1 parent b522e7b commit 1819708

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2344,13 +2344,12 @@ FlutterEngineResult FlutterEngineInitialize(size_t version,
23442344
}
23452345
#endif
23462346
#ifdef SHELL_ENABLE_VULKAN
2347-
flutter::EmbedderExternalTextureVulkan::ExternalTextureCallback
2348-
external_texture_vulkan_callback;
23492347
if (config->type == kVulkan) {
23502348
const FlutterVulkanRendererConfig* vulkan_config = &config->vulkan;
2351-
if (SAFE_ACCESS(vulkan_config, external_texture_frame_callback, nullptr)) {
2352-
external_texture_vulkan_callback =
2353-
[ptr = vulkan_config->external_texture_frame_callback, user_data](
2349+
if (auto callback = SAFE_ACCESS(vulkan_config,
2350+
external_texture_frame_callback, nullptr)) {
2351+
auto external_texture_vulkan_callback =
2352+
[ptr = callback, user_data](
23542353
int64_t texture_identifier, size_t width,
23552354
size_t height) -> std::unique_ptr<FlutterVulkanTexture> {
23562355
std::unique_ptr<FlutterVulkanTexture> texture =

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ EmbedderExternalTextureResolver::ResolveExternalTexture(int64_t texture_id) {
4545

4646
#ifdef SHELL_ENABLE_VULKAN
4747
if (vulkan_callback_) {
48-
return std::make_unique<EmbedderExternalTextureVulkan>(
49-
texture_id, vulkan_callback_);
48+
return std::make_unique<EmbedderExternalTextureVulkan>(texture_id,
49+
vulkan_callback_);
5050
}
5151
#endif
5252

@@ -66,6 +66,12 @@ bool EmbedderExternalTextureResolver::SupportsExternalTextures() {
6666
}
6767
#endif
6868

69+
#ifdef SHELL_ENABLE_VULKAN
70+
if (vulkan_callback_) {
71+
return true;
72+
}
73+
#endif
74+
6975
return false;
7076
}
7177

0 commit comments

Comments
 (0)