Loading...
Searching...
No Matches
Halide::Runtime::Internal::Vulkan Namespace Reference

## Classes

class | VulkanContext
struct | VulkanMemoryConfig
class | VulkanMemoryAllocator
| 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...
struct | VulkanWorkgroupSizeBinding
struct | VulkanDispatchData
struct | VulkanSpecializationConstant
struct | VulkanSharedMemoryAllocation
struct | VulkanShaderBinding
struct | VulkanCompiledShaderModule
struct | VulkanCompilationCacheEntry

## Functions

WEAK void * | halide_vulkan_get_symbol (void *user_context, const char *name)
void WEAK | vk_load_vulkan_loader_functions (void *user_context)
void WEAK | vk_load_vulkan_instance_functions (void *user_context, VkInstance instance)
void WEAK | vk_unload_vulkan_instance_functions (void *user_context)
void WEAK | vk_load_vulkan_device_functions (void *user_context, VkDevice device)
void WEAK | vk_unload_vulkan_device_functions (void *user_context)

## Variables

halide_vulkan_memory_allocator *WEAK | cached_allocator = nullptr
VkInstance WEAK | cached_instance = VK_NULL_HANDLE
VkDevice WEAK | cached_device = VK_NULL_HANDLE
VkQueue WEAK | cached_queue = VK_NULL_HANDLE
VkPhysicalDevice WEAK | cached_physical_device = VK_NULL_HANDLE
uint32_t WEAK | cached_queue_family_index = 0
VkDebugUtilsMessengerEXT WEAK | cached_messenger = VK_NULL_HANDLE
WEAK halide_mutex | thread_lock
WEAK char | layer_names [1024]
WEAK ScopedSpinLock::AtomicFlag | layer_names_lock = 0
WEAK bool | layer_names_initialized = false
WEAK char | extension_names [1024]
WEAK ScopedSpinLock::AtomicFlag | extension_names_lock = 0
WEAK bool | extension_names_initialized = false
WEAK char | device_type [256]
WEAK ScopedSpinLock::AtomicFlag | device_type_lock = 0
WEAK bool | device_type_initialized = false
WEAK char | build_options [1024]
WEAK ScopedSpinLock::AtomicFlag | build_options_lock = 0
WEAK bool | build_options_initialized = false
WEAK char | alloc_config [1024]
WEAK ScopedSpinLock::AtomicFlag | alloc_config_lock = 0
WEAK bool | alloc_config_initialized = false
WEAK halide_device_interface_t | vulkan_device_interface
WEAK void * | lib_vulkan = nullptr
WEAK ScopedSpinLock::AtomicFlag | custom_allocation_callbacks_lock = 0
WEAK const VkAllocationCallbacks * | custom_allocation_callbacks = nullptr
WEAK VulkanMemoryConfig | memory_allocator_config
WEAK Halide::Internal::GPUCompilationCache< VkDevice, VulkanCompilationCacheEntry * > | compilation_cache

## Function Documentation

## halide_vulkan_get_symbol()

WEAK void * Halide::Runtime::Internal::Vulkan::halide_vulkan_get_symbol | ( | void * | user_context,
|  | const char * | name )

Definition at line 42 of file vulkan_interface.h.

References debug, halide_get_library_symbol(), halide_load_library(), lib_vulkan, and WEAK.

## vk_load_vulkan_loader_functions()

void WEAK Halide::Runtime::Internal::Vulkan::vk_load_vulkan_loader_functions | ( | void * | user_context | ) |

Definition at line 85 of file vulkan_interface.h.

References debug, and WEAK.

## vk_load_vulkan_instance_functions()

void WEAK Halide::Runtime::Internal::Vulkan::vk_load_vulkan_instance_functions | ( | void * | user_context,
|  | VkInstance | instance )

Definition at line 95 of file vulkan_interface.h.

References debug, and WEAK.

## vk_unload_vulkan_instance_functions()

void WEAK Halide::Runtime::Internal::Vulkan::vk_unload_vulkan_instance_functions | ( | void * | user_context | ) |

Definition at line 105 of file vulkan_interface.h.

References WEAK.

## vk_load_vulkan_device_functions()

void WEAK Halide::Runtime::Internal::Vulkan::vk_load_vulkan_device_functions | ( | void * | user_context,
|  | VkDevice | device )

Definition at line 114 of file vulkan_interface.h.

References debug, and WEAK.

## vk_unload_vulkan_device_functions()

void WEAK Halide::Runtime::Internal::Vulkan::vk_unload_vulkan_device_functions | ( | void * | user_context | ) |

Definition at line 124 of file vulkan_interface.h.

References WEAK.

## Variable Documentation

## cached_allocator

halide_vulkan_memory_allocator* WEAK Halide::Runtime::Internal::Vulkan::cached_allocator = nullptr

Definition at line 22 of file vulkan_context.h.

## cached_instance

VkInstance WEAK Halide::Runtime::Internal::Vulkan::cached_instance = VK_NULL_HANDLE

Definition at line 25 of file vulkan_context.h.

## cached_device

VkDevice WEAK Halide::Runtime::Internal::Vulkan::cached_device = VK_NULL_HANDLE

Definition at line 26 of file vulkan_context.h.

## cached_queue

VkQueue WEAK Halide::Runtime::Internal::Vulkan::cached_queue = VK_NULL_HANDLE

Definition at line 27 of file vulkan_context.h.

## cached_physical_device

VkPhysicalDevice WEAK Halide::Runtime::Internal::Vulkan::cached_physical_device = VK_NULL_HANDLE

Definition at line 28 of file vulkan_context.h.

## cached_queue_family_index

uint32_t WEAK Halide::Runtime::Internal::Vulkan::cached_queue_family_index = 0

Definition at line 29 of file vulkan_context.h.

## cached_messenger

VkDebugUtilsMessengerEXT WEAK Halide::Runtime::Internal::Vulkan::cached_messenger = VK_NULL_HANDLE

Definition at line 30 of file vulkan_context.h.

## thread_lock

WEAK halide_mutex Halide::Runtime::Internal::Vulkan::thread_lock

Definition at line 33 of file vulkan_context.h.

## layer_names

WEAK char Halide::Runtime::Internal::Vulkan::layer_names[1024]

Definition at line 15 of file vulkan_extensions.h.

## layer_names_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::layer_names_lock = 0

Definition at line 16 of file vulkan_extensions.h.

Referenced by halide_vulkan_get_layer_names(), and halide_vulkan_set_layer_names().

## layer_names_initialized

WEAK bool Halide::Runtime::Internal::Vulkan::layer_names_initialized = false

Definition at line 17 of file vulkan_extensions.h.

## extension_names

WEAK char Halide::Runtime::Internal::Vulkan::extension_names[1024]

Definition at line 19 of file vulkan_extensions.h.

## extension_names_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::extension_names_lock = 0

Definition at line 20 of file vulkan_extensions.h.

Referenced by halide_vulkan_get_extension_names(), and halide_vulkan_set_extension_names().

## extension_names_initialized

WEAK bool Halide::Runtime::Internal::Vulkan::extension_names_initialized = false

Definition at line 21 of file vulkan_extensions.h.

## device_type

WEAK char Halide::Runtime::Internal::Vulkan::device_type[256]

Definition at line 23 of file vulkan_extensions.h.

## device_type_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::device_type_lock = 0

Definition at line 24 of file vulkan_extensions.h.

Referenced by halide_vulkan_get_device_type(), and halide_vulkan_set_device_type().

## device_type_initialized

WEAK bool Halide::Runtime::Internal::Vulkan::device_type_initialized = false

Definition at line 25 of file vulkan_extensions.h.

## build_options

WEAK char Halide::Runtime::Internal::Vulkan::build_options[1024]

Definition at line 27 of file vulkan_extensions.h.

## build_options_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::build_options_lock = 0

Definition at line 28 of file vulkan_extensions.h.

Referenced by halide_vulkan_get_build_options(), and halide_vulkan_set_build_options().

## build_options_initialized

WEAK bool Halide::Runtime::Internal::Vulkan::build_options_initialized = false

Definition at line 29 of file vulkan_extensions.h.

## alloc_config

WEAK char Halide::Runtime::Internal::Vulkan::alloc_config[1024]

Definition at line 31 of file vulkan_extensions.h.

## alloc_config_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::alloc_config_lock = 0

Definition at line 32 of file vulkan_extensions.h.

Referenced by halide_vulkan_get_alloc_config(), and halide_vulkan_set_alloc_config().

## alloc_config_initialized

WEAK bool Halide::Runtime::Internal::Vulkan::alloc_config_initialized = false

Definition at line 33 of file vulkan_extensions.h.

## vulkan_device_interface

WEAK halide_device_interface_t Halide::Runtime::Internal::Vulkan::vulkan_device_interface

extern

## lib_vulkan

WEAK void* Halide::Runtime::Internal::Vulkan::lib_vulkan = nullptr

Definition at line 40 of file vulkan_interface.h.

Referenced by halide_vulkan_get_symbol().

## custom_allocation_callbacks_lock

WEAK ScopedSpinLock::AtomicFlag Halide::Runtime::Internal::Vulkan::custom_allocation_callbacks_lock = 0

Definition at line 19 of file vulkan_memory.h.

Referenced by halide_vulkan_get_allocation_callbacks(), and halide_vulkan_set_allocation_callbacks().

## custom_allocation_callbacks

WEAK const VkAllocationCallbacks* Halide::Runtime::Internal::Vulkan::custom_allocation_callbacks = nullptr

Definition at line 20 of file vulkan_memory.h.

Referenced by halide_vulkan_get_allocation_callbacks(), and halide_vulkan_set_allocation_callbacks().

## memory_allocator_config

WEAK VulkanMemoryConfig Halide::Runtime::Internal::Vulkan::memory_allocator_config

Definition at line 32 of file vulkan_memory.h.

## compilation_cache

WEAK Halide::Internal::GPUCompilationCache<VkDevice, VulkanCompilationCacheEntry *> Halide::Runtime::Internal::Vulkan::compilation_cache

Definition at line 75 of file vulkan_resources.h.