5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ALLOCATOR_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_ALLOCATOR_VK_H_
32 uint32_t memory_type_bits_requirement,
33 vk::PhysicalDeviceMemoryProperties& memory_properties);
40 bool supports_memoryless_textures);
47 std::weak_ptr<Context> context_;
48 std::weak_ptr<DeviceHolderVK> device_holder_;
49 ISize max_texture_size_;
50 bool is_valid_ =
false;
51 bool supports_memoryless_textures_ =
false;
53 bool created_buffer_pool_ =
true;
54 vk::PhysicalDeviceMemoryProperties memory_properties_;
57 uint32_t vulkan_api_version,
58 const vk::PhysicalDevice& physical_device,
59 const std::shared_ptr<DeviceHolderVK>& device_holder,
60 const vk::Instance& instance,
67 std::shared_ptr<DeviceBuffer> OnCreateBuffer(
71 std::shared_ptr<Texture> OnCreateTexture(
75 ISize GetMaxTextureSizeSupported()
const override;
78 void DebugTraceMemoryStatistics()
const override;
An object that allocates device memory.
static int32_t FindMemoryTypeIndex(uint32_t memory_type_bits_requirement, vk::PhysicalDeviceMemoryProperties &memory_properties)
Select a matching memory type for the given [memory_type_bits_requirement], or -1 if none is found.
static vk::ImageUsageFlags ToVKImageUsageFlags(PixelFormat format, TextureUsageMask usage, StorageMode mode, bool supports_memoryless_textures)
Bytes DebugGetHeapUsage() const override
The Vulkan layers and extensions wrangler.
StorageMode
Specified where the allocation resides and how it is used.
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...
fml::UniqueObject< VmaAllocator, AllocatorVMATraits > UniqueAllocatorVMA
fml::UniqueObject< PoolVMA, PoolVMATraits > UniquePoolVMA
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...