Halide
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

void WEAK vk_load_vulkan_functions (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 = 0
 
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 ScopedSpinLock::AtomicFlag custom_allocation_callbacks_lock = 0
 
const WEAK VkAllocationCallbackscustom_allocation_callbacks = nullptr
 
WEAK VulkanMemoryConfig memory_allocator_config
 
WEAK Halide::Internal::GPUCompilationCache< VkDevice, VulkanCompilationCacheEntry * > compilation_cache
 

Function Documentation

◆ vk_load_vulkan_functions()

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

Definition at line 51 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 = 0

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

Definition at line 16 of file vulkan_extensions.h.

Referenced by 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_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_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_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_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

◆ 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_set_allocation_callbacks().

◆ custom_allocation_callbacks

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

Definition at line 20 of file vulkan_memory.h.

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