24 size_t size_in_bytes_ = 0;
25 size_t alloc_size_in_bytes_ = 0;
26 VkBuffer vk_buffer_ = VK_NULL_HANDLE;
27 VmaAllocation allocation_ = VK_NULL_HANDLE;
28 VkMemoryPropertyFlags vk_memory_property_flags_;
31 bool allocation_failed_ =
false;
34 void *mapped_memory_ =
nullptr;
36 VkDeviceAddress vk_device_address = 0;
49 VkBufferUsageFlags buffer_usage,
50 VmaMemoryUsage vma_memory_usage,
51 VmaAllocationCreateFlags vma_allocation_flags,
53 bool export_memory =
false);
98 return size_in_bytes_;
115 return vk_device_address;
137 return mapped_memory_;
142 return mapped_memory_ !=
nullptr;
147 return allocation_ != VK_NULL_HANDLE;
#define BLI_assert_msg(a, msg)
BMesh const char void * data
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
NonCopyable(const NonCopyable &other)=delete
void update_immediately(const void *data) const
bool is_allocated() const
VkDeviceAddress device_address_get() const
VkBuffer vk_handle() const
void free_immediately(VKDevice &device)
void read_async(VKContext &context, void *data)
VkDeviceMemory export_memory_get(size_t &memory_size)
void clear(VKContext &context, uint32_t clear_value)
void update_sub_immediately(size_t start_offset, size_t data_size, const void *data) const
void update_render_graph(VKContext &context, void *data) const
void async_flush_to_host(VKContext &context)
bool create(size_t size, VkBufferUsageFlags buffer_usage, VmaMemoryUsage vma_memory_usage, VmaAllocationCreateFlags vma_allocation_flags, float priority, bool export_memory=false)
void * mapped_memory_get() const
int64_t size_in_bytes() const