Halide
20.0.0
Halide compiler and libraries
|
Routines specific to the Halide Vulkan runtime. More...
#include "HalideRuntime.h"
Go to the source code of this file.
Macros | |
#define | HALIDE_RUNTIME_VULKAN |
#define | HALIDE_VULKAN_DEFINE_HANDLE(object) typedef struct object##_T *(object); |
#define | HALIDE_VULKAN_USE_64_BIT_PTR_DEFINES 0 |
#define | HALIDE_VULKAN_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t(object); |
Functions | |
const struct halide_device_interface_t * | halide_vulkan_device_interface () |
int | halide_vulkan_initialize_kernels (void *user_context, void **state_ptr, const char *src, int size) |
These are forward declared here to allow clients to override the Halide Vulkan runtime. More... | |
int | halide_vulkan_run (void *user_context, void *state_ptr, const char *entry_name, int blocksX, int blocksY, int blocksZ, int threadsX, int threadsY, int threadsZ, int shared_mem_bytes, size_t arg_sizes[], void *args[], int8_t arg_is_buffer[]) |
void | halide_vulkan_finalize_kernels (void *user_context, void *state_ptr) |
int | halide_vulkan_acquire_context (void *user_context, struct halide_vulkan_memory_allocator **allocator, VkInstance *instance, VkDevice *device, VkPhysicalDevice *physical_device, VkQueue *queue, uint32_t *queue_family_index, VkDebugUtilsMessengerEXT *messenger, bool create=true) |
int | halide_vulkan_release_context (void *user_context, VkInstance instance, VkDevice device, VkQueue queue, VkDebugUtilsMessengerEXT messenger) |
void | halide_vulkan_set_allocation_callbacks (const struct VkAllocationCallbacks *callbacks) |
const struct VkAllocationCallbacks * | halide_vulkan_get_allocation_callbacks (void *user_context) |
void | halide_vulkan_set_layer_names (const char *n) |
const char * | halide_vulkan_get_layer_names (void *user_context) |
void | halide_vulkan_set_extension_names (const char *n) |
const char * | halide_vulkan_get_extension_names (void *user_context) |
void | halide_vulkan_set_device_type (const char *n) |
const char * | halide_vulkan_get_device_type (void *user_context) |
void | halide_vulkan_set_build_options (const char *n) |
const char * | halide_vulkan_get_build_options (void *user_context) |
Routines specific to the Halide Vulkan runtime.
Definition in file HalideRuntimeVulkan.h.
#define HALIDE_RUNTIME_VULKAN |
Definition at line 18 of file HalideRuntimeVulkan.h.
#define HALIDE_VULKAN_DEFINE_HANDLE | ( | object | ) | typedef struct object##_T *(object); |
Definition at line 23 of file HalideRuntimeVulkan.h.
#define HALIDE_VULKAN_USE_64_BIT_PTR_DEFINES 0 |
Definition at line 29 of file HalideRuntimeVulkan.h.
#define HALIDE_VULKAN_DEFINE_NON_DISPATCHABLE_HANDLE | ( | object | ) | typedef uint64_t(object); |
Definition at line 37 of file HalideRuntimeVulkan.h.
const struct halide_device_interface_t* halide_vulkan_device_interface | ( | ) |
int halide_vulkan_initialize_kernels | ( | void * | user_context, |
void ** | state_ptr, | ||
const char * | src, | ||
int | size | ||
) |
These are forward declared here to allow clients to override the Halide Vulkan runtime.
Do not call them.
int halide_vulkan_run | ( | void * | user_context, |
void * | state_ptr, | ||
const char * | entry_name, | ||
int | blocksX, | ||
int | blocksY, | ||
int | blocksZ, | ||
int | threadsX, | ||
int | threadsY, | ||
int | threadsZ, | ||
int | shared_mem_bytes, | ||
size_t | arg_sizes[], | ||
void * | args[], | ||
int8_t | arg_is_buffer[] | ||
) |
void halide_vulkan_finalize_kernels | ( | void * | user_context, |
void * | state_ptr | ||
) |
int halide_vulkan_acquire_context | ( | void * | user_context, |
struct halide_vulkan_memory_allocator ** | allocator, | ||
VkInstance * | instance, | ||
VkDevice * | device, | ||
VkPhysicalDevice * | physical_device, | ||
VkQueue * | queue, | ||
uint32_t * | queue_family_index, | ||
VkDebugUtilsMessengerEXT * | messenger, | ||
bool | create = true |
||
) |
int halide_vulkan_release_context | ( | void * | user_context, |
VkInstance | instance, | ||
VkDevice | device, | ||
VkQueue | queue, | ||
VkDebugUtilsMessengerEXT | messenger | ||
) |
void halide_vulkan_set_allocation_callbacks | ( | const struct VkAllocationCallbacks * | callbacks | ) |
const struct VkAllocationCallbacks* halide_vulkan_get_allocation_callbacks | ( | void * | user_context | ) |
Definition at line 1501 of file vulkan_memory.h.
References Halide::Runtime::Internal::Vulkan::custom_allocation_callbacks, and Halide::Runtime::Internal::Vulkan::custom_allocation_callbacks_lock.
void halide_vulkan_set_layer_names | ( | const char * | n | ) |
Definition at line 286 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::layer_names_lock.
const char* halide_vulkan_get_layer_names | ( | void * | user_context | ) |
Definition at line 291 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::layer_names_lock, and user_context.
void halide_vulkan_set_extension_names | ( | const char * | n | ) |
Definition at line 296 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::extension_names_lock.
const char* halide_vulkan_get_extension_names | ( | void * | user_context | ) |
Definition at line 301 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::extension_names_lock, and user_context.
void halide_vulkan_set_device_type | ( | const char * | n | ) |
Definition at line 306 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::device_type_lock.
const char* halide_vulkan_get_device_type | ( | void * | user_context | ) |
Definition at line 311 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::device_type_lock, and user_context.
void halide_vulkan_set_build_options | ( | const char * | n | ) |
Definition at line 316 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::build_options_lock.
const char* halide_vulkan_get_build_options | ( | void * | user_context | ) |
Definition at line 321 of file vulkan_extensions.h.
References Halide::Runtime::Internal::Vulkan::build_options_lock, and user_context.