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,
59 const std::shared_ptr<DeviceHolderVK>& device_holder,
67 std::shared_ptr<DeviceBuffer> OnCreateBuffer(
71 std::shared_ptr<Texture> OnCreateTexture(
75 ISize GetMaxTextureSizeSupported()
const override;
78 void DebugTraceMemoryStatistics()
const override;
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)
size_t DebugGetHeapUsage() const
An object that allocates device memory.
The Vulkan layers and extensions wrangler.
VkPhysicalDevice physical_device
uint32_t uint32_t * format
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
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,...
static void usage(char *argv0)
A lightweight object that describes the attributes of a texture that can then used an allocator to cr...