Halide
17.0.2
Halide compiler and libraries
|
Vulkan Memory Allocator class interface for managing large memory requests stored as contiguous blocks of memory, which are then sub-allocated into smaller regions of memory to avoid the excessive cost of vkAllocate and the limited number of available allocation calls through the API. More...
#include <vulkan_memory.h>
Public Member Functions | |
VulkanMemoryAllocator (const VulkanMemoryAllocator &)=delete | |
VulkanMemoryAllocator & | operator= (const VulkanMemoryAllocator &)=delete |
VulkanMemoryAllocator ()=delete | |
~VulkanMemoryAllocator ()=delete | |
MemoryRegion * | reserve (void *user_context, const MemoryRequest &request) |
int | conform (void *user_context, MemoryRequest *request) |
int | release (void *user_context, MemoryRegion *region) |
int | reclaim (void *user_context, MemoryRegion *region) |
int | retain (void *user_context, MemoryRegion *region) |
bool | collect (void *user_context) |
int | release (void *user_context) |
int | destroy (void *user_context) |
void * | map (void *user_context, MemoryRegion *region) |
int | unmap (void *user_context, MemoryRegion *region) |
MemoryRegion * | create_crop (void *user_context, MemoryRegion *region, uint64_t offset) |
int | destroy_crop (void *user_context, MemoryRegion *region) |
MemoryRegion * | owner_of (void *user_context, MemoryRegion *region) |
VkDevice | current_device () const |
VkPhysicalDevice | current_physical_device () const |
const VkAllocationCallbacks * | callbacks () const |
size_t | bytes_allocated_for_blocks () const |
size_t | blocks_allocated () const |
size_t | bytes_allocated_for_regions () const |
size_t | regions_allocated () const |
Static Public Member Functions | |
static VulkanMemoryAllocator * | create (void *user_context, const VulkanMemoryConfig &config, VkDevice dev, VkPhysicalDevice phys_dev, const SystemMemoryAllocatorFns &system_allocator, const VkAllocationCallbacks *alloc_callbacks=nullptr) |
static int | destroy (void *user_context, VulkanMemoryAllocator *allocator) |
static const VulkanMemoryConfig & | default_config () |
static int | allocate_block (void *instance_ptr, MemoryBlock *block) |
static int | deallocate_block (void *instance_ptr, MemoryBlock *block) |
static int | conform_block_request (void *instance_ptr, MemoryRequest *request) |
static int | allocate_region (void *instance_ptr, MemoryRegion *region) |
static int | deallocate_region (void *instance_ptr, MemoryRegion *region) |
static int | conform_region_request (void *instance_ptr, MemoryRequest *request) |
Vulkan Memory Allocator class interface for managing large memory requests stored as contiguous blocks of memory, which are then sub-allocated into smaller regions of memory to avoid the excessive cost of vkAllocate and the limited number of available allocation calls through the API.
Definition at line 42 of file vulkan_memory.h.
|
delete |
|
delete |
|
delete |
|
delete |
|
static |
Definition at line 134 of file vulkan_memory.h.
|
static |
Definition at line 156 of file vulkan_memory.h.
MemoryRegion * Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::reserve | ( | void * | user_context, |
const MemoryRequest & | request | ||
) |
Definition at line 210 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::conform | ( | void * | user_context, |
MemoryRequest * | request | ||
) |
Definition at line 849 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::release | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 430 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::reclaim | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 449 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::retain | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 468 of file vulkan_memory.h.
bool Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::collect | ( | void * | user_context | ) |
Definition at line 487 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::release | ( | void * | user_context | ) |
Definition at line 498 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::destroy | ( | void * | user_context | ) |
Definition at line 515 of file vulkan_memory.h.
void * Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::map | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 233 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::unmap | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 299 of file vulkan_memory.h.
MemoryRegion * Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::create_crop | ( | void * | user_context, |
MemoryRegion * | region, | ||
uint64_t | offset | ||
) |
Definition at line 338 of file vulkan_memory.h.
int Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::destroy_crop | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 391 of file vulkan_memory.h.
MemoryRegion * Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::owner_of | ( | void * | user_context, |
MemoryRegion * | region | ||
) |
Definition at line 421 of file vulkan_memory.h.
|
inline |
Definition at line 76 of file vulkan_memory.h.
|
inline |
Definition at line 79 of file vulkan_memory.h.
|
inline |
Definition at line 82 of file vulkan_memory.h.
|
static |
Definition at line 531 of file vulkan_memory.h.
|
static |
Definition at line 611 of file vulkan_memory.h.
References halide_error_code_internal_error.
|
static |
Definition at line 675 of file vulkan_memory.h.
References halide_error_code_internal_error.
|
static |
Definition at line 569 of file vulkan_memory.h.
References halide_error_code_internal_error.
|
static |
Definition at line 941 of file vulkan_memory.h.
References halide_error_code_internal_error.
|
static |
Definition at line 1066 of file vulkan_memory.h.
References halide_error_code_internal_error.
|
static |
Definition at line 909 of file vulkan_memory.h.
References halide_error_code_internal_error.
size_t Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::bytes_allocated_for_blocks | ( | ) | const |
Definition at line 747 of file vulkan_memory.h.
size_t Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::blocks_allocated | ( | ) | const |
Definition at line 743 of file vulkan_memory.h.
size_t Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::bytes_allocated_for_regions | ( | ) | const |
Definition at line 1139 of file vulkan_memory.h.
size_t Halide::Runtime::Internal::Vulkan::VulkanMemoryAllocator::regions_allocated | ( | ) | const |
Definition at line 1135 of file vulkan_memory.h.