-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
Currently Vulkan + Impeller is build under a flag --enable-impeller-vulkan. One of the reasons it's not trivial to make it a default build is because VMA expects only one implementation for VMA_IMPLEMENTATION to be declared. There are 2 implementations of this:
- When
skia_use_vulkanis enabled it results inskia_use_vmawhich results symbols be re-declared. - If we were to set
skia_use_vmato false explicitly, it results in the vulkan backend inembedder.ccto be defunct.
One way to resolve this would be to wire in VulkanMemoryAllocator as a pointer to fMemoryAllocator in https://github.com/flutter/engine/blob/main/shell/platform/embedder/embedder_surface_vulkan.cc#L144 and set skia_use_vma to false. This would result in a unified Vulkan memory allocator across all of the Flutter engine, but I am not sure if the memory allocator api (fMemoryAllocator) is considered stable and to be wired in by the consumers.