-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/engine
#37018Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
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.
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.