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 VkMemoryPropertyFlags required_flags,
51 VkMemoryPropertyFlags preferred_flags,
52 VmaAllocationCreateFlags vma_allocation_flags,
54 bool export_memory =
false);
99 return size_in_bytes_;
116 return vk_device_address;
138 return mapped_memory_;
143 return mapped_memory_ !=
nullptr;
148 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
bool create(size_t size, VkBufferUsageFlags buffer_usage, VkMemoryPropertyFlags required_flags, VkMemoryPropertyFlags preferred_flags, VmaAllocationCreateFlags vma_allocation_flags, float priority, bool export_memory=false)
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)
void * mapped_memory_get() const
int64_t size_in_bytes() const