Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Runtime::Internal::Vulkan Namespace Reference

Classes

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

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 )

◆ 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 user_context.

◆ 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 user_context.

◆ 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.

◆ 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 user_context.

◆ 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.

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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.

◆ custom_allocation_callbacks

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

Definition at line 20 of file vulkan_memory.h.

◆ 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.