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

Classes

struct  VulkanCompilationCacheEntry
 
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)
 
 VULKAN_FN (vkCmdCopyBuffer) void WEAK vk_load_vulkan_loader_functions(void *user_context)
 
void WEAK vk_load_vulkan_functions (void *user_context, VkInstance instance)
 

Variables

halide_vulkan_memory_allocator *WEAK cached_allocator = nullptr
 
VkInstance WEAK cached_instance = nullptr
 
VkDevice WEAK cached_device = nullptr
 
VkCommandPool WEAK cached_command_pool = VkInvalidCommandPool
 
VkQueue WEAK cached_queue = nullptr
 
VkPhysicalDevice WEAK cached_physical_device = nullptr
 
uint32_t WEAK cached_queue_family_index = 0
 
volatile ScopedSpinLock::AtomicFlag WEAK thread_lock = 0
 
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 VkAllocationCallbackscustom_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 49 of file vulkan_interface.h.

References halide_get_library_symbol(), and lib_vulkan.

◆ VULKAN_FN()

Halide::Runtime::Internal::Vulkan::VULKAN_FN ( vkCmdCopyBuffer )

Definition at line 48 of file vulkan_interface.h.

◆ vk_load_vulkan_functions()

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

Definition at line 62 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 = nullptr

Definition at line 25 of file vulkan_context.h.

◆ cached_device

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

Definition at line 26 of file vulkan_context.h.

◆ cached_command_pool

VkCommandPool WEAK Halide::Runtime::Internal::Vulkan::cached_command_pool = VkInvalidCommandPool

Definition at line 27 of file vulkan_context.h.

◆ cached_queue

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

Definition at line 28 of file vulkan_context.h.

◆ cached_physical_device

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

Definition at line 29 of file vulkan_context.h.

◆ cached_queue_family_index

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

Definition at line 30 of file vulkan_context.h.

◆ thread_lock

volatile ScopedSpinLock::AtomicFlag WEAK Halide::Runtime::Internal::Vulkan::thread_lock = 0

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 47 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 68 of file vulkan_resources.h.