5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_VMA_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_VMA_H_
8 #include "flutter/flutter_vma/flutter_vma.h"
9 #include "flutter/fml/trace_event.h"
10 #include "flutter/fml/unique_object.h"
25 static void Free(VmaAllocator allocator) {
26 TRACE_EVENT0(
"impeller",
"DestroyAllocator");
27 ::vmaDestroyAllocator(allocator);
48 return value.allocator != VmaAllocator{};
52 TRACE_EVENT0(
"impeller",
"DestroyPool");
74 return !(*
this == other);
82 return value.allocator != VmaAllocator{};
86 TRACE_EVENT0(
"impeller",
"DestroyBuffer");
87 ::vmaDestroyBuffer(buffer.
allocator,
static_cast<VkBuffer
>(buffer.
buffer),
109 return !(*
this == other);
117 return value.allocator != VmaAllocator{};
121 TRACE_EVENT0(
"impeller",
"DestroyImage");
122 ::vmaDestroyImage(image.
allocator,
static_cast<VkImage
>(image.
image),
fml::UniqueObject< VmaAllocator, AllocatorVMATraits > UniqueAllocatorVMA
fml::UniqueObject< PoolVMA, PoolVMATraits > UniquePoolVMA
fml::UniqueObject< ImageVMA, ImageVMATraits > UniqueImageVMA
fml::UniqueObject< BufferVMA, BufferVMATraits > UniqueBufferVMA
static VmaAllocator InvalidValue()
static bool IsValid(const VmaAllocator &value)
static void Free(VmaAllocator allocator)
constexpr bool operator==(const BufferVMA &other) const
constexpr bool operator!=(const BufferVMA &other) const
static BufferVMA InvalidValue()
static bool IsValid(const BufferVMA &value)
static void Free(const BufferVMA &buffer)
constexpr bool operator!=(const ImageVMA &other) const
constexpr bool operator==(const ImageVMA &other) const
static ImageVMA InvalidValue()
static bool IsValid(const ImageVMA &value)
static void Free(const ImageVMA &image)
constexpr bool operator==(const PoolVMA &other) const =default
static PoolVMA InvalidValue()
static void Free(const PoolVMA &pool)
static bool IsValid(const PoolVMA &value)