1#ifndef HALIDE_HALIDERUNTIMEVULKAN_H
2#define HALIDE_HALIDERUNTIMEVULKAN_H
5#ifndef HALIDE_HALIDERUNTIME_H
18#define HALIDE_RUNTIME_VULKAN
26 const char *src,
int size);
30 const char *entry_name,
31 int blocksX,
int blocksY,
int blocksZ,
32 int threadsX,
int threadsY,
int threadsZ,
63struct halide_vulkan_memory_allocator;
65 struct halide_vulkan_memory_allocator **allocator,
66 struct VkInstance_T **instance,
67 struct VkDevice_T **device,
68 struct VkPhysicalDevice_T **physical_device,
70 struct VkQueue_T **queue,
75 struct VkInstance_T *instance,
76 struct VkDevice_T *device,
77 struct VkQueue_T *queue);
This file declares the routines used by Halide internally in its runtime.
const char * halide_vulkan_get_layer_names(void *user_context)
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.
void halide_vulkan_set_extension_names(const char *n)
const struct VkAllocationCallbacks * halide_vulkan_get_allocation_callbacks(void *user_context)
void halide_vulkan_set_build_options(const char *n)
int halide_vulkan_acquire_context(void *user_context, struct halide_vulkan_memory_allocator **allocator, struct VkInstance_T **instance, struct VkDevice_T **device, struct VkPhysicalDevice_T **physical_device, uint64_t *command_pool, struct VkQueue_T **queue, uint32_t *queue_family_index, bool create=true)
void halide_vulkan_set_layer_names(const char *n)
void halide_vulkan_set_device_type(const char *n)
const char * halide_vulkan_get_extension_names(void *user_context)
const char * halide_vulkan_get_device_type(void *user_context)
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[])
const struct halide_device_interface_t * halide_vulkan_device_interface()
void halide_vulkan_finalize_kernels(void *user_context, void *state_ptr)
void halide_vulkan_set_allocation_callbacks(const struct VkAllocationCallbacks *callbacks)
const char * halide_vulkan_get_build_options(void *user_context)
int halide_vulkan_release_context(void *user_context, struct VkInstance_T *instance, struct VkDevice_T *device, struct VkQueue_T *queue)
unsigned __INT64_TYPE__ uint64_t
unsigned __INT32_TYPE__ uint32_t
signed __INT8_TYPE__ int8_t
Each GPU API provides a halide_device_interface_t struct pointing to the code that manages device all...