Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
HalideRuntimeVulkan.h File Reference

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_thalide_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.
 
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)
 

Detailed Description

Routines specific to the Halide Vulkan runtime.

Definition in file HalideRuntimeVulkan.h.

Macro Definition Documentation

◆ HALIDE_RUNTIME_VULKAN

#define HALIDE_RUNTIME_VULKAN

Definition at line 18 of file HalideRuntimeVulkan.h.

◆ HALIDE_VULKAN_DEFINE_HANDLE

#define HALIDE_VULKAN_DEFINE_HANDLE (   object)    typedef struct object##_T *(object);

Definition at line 23 of file HalideRuntimeVulkan.h.

◆ HALIDE_VULKAN_USE_64_BIT_PTR_DEFINES

#define HALIDE_VULKAN_USE_64_BIT_PTR_DEFINES   0

Definition at line 29 of file HalideRuntimeVulkan.h.

◆ HALIDE_VULKAN_DEFINE_NON_DISPATCHABLE_HANDLE

#define HALIDE_VULKAN_DEFINE_NON_DISPATCHABLE_HANDLE (   object)    typedef uint64_t(object);

Definition at line 37 of file HalideRuntimeVulkan.h.

Function Documentation

◆ halide_vulkan_device_interface()

const struct halide_device_interface_t * halide_vulkan_device_interface ( )
extern

◆ halide_vulkan_initialize_kernels()

int halide_vulkan_initialize_kernels ( void *  user_context,
void **  state_ptr,
const char *  src,
int  size 
)
extern

These are forward declared here to allow clients to override the Halide Vulkan runtime.

Do not call them.

◆ halide_vulkan_run()

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[] 
)
extern

◆ halide_vulkan_finalize_kernels()

void halide_vulkan_finalize_kernels ( void *  user_context,
void *  state_ptr 
)
extern

◆ halide_vulkan_acquire_context()

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 
)
extern

◆ halide_vulkan_release_context()

int halide_vulkan_release_context ( void *  user_context,
VkInstance  instance,
VkDevice  device,
VkQueue  queue,
VkDebugUtilsMessengerEXT  messenger 
)
extern

◆ halide_vulkan_set_allocation_callbacks()

void halide_vulkan_set_allocation_callbacks ( const struct VkAllocationCallbacks *  callbacks)
extern

◆ halide_vulkan_get_allocation_callbacks()

const struct VkAllocationCallbacks * halide_vulkan_get_allocation_callbacks ( void *  user_context)
extern

Definition at line 1501 of file vulkan_memory.h.

◆ halide_vulkan_set_layer_names()

void halide_vulkan_set_layer_names ( const char *  n)
extern

◆ halide_vulkan_get_layer_names()

const char * halide_vulkan_get_layer_names ( void *  user_context)
extern

◆ halide_vulkan_set_extension_names()

void halide_vulkan_set_extension_names ( const char *  n)
extern

◆ halide_vulkan_get_extension_names()

const char * halide_vulkan_get_extension_names ( void *  user_context)
extern

◆ halide_vulkan_set_device_type()

void halide_vulkan_set_device_type ( const char *  n)
extern

◆ halide_vulkan_get_device_type()

const char * halide_vulkan_get_device_type ( void *  user_context)
extern

◆ halide_vulkan_set_build_options()

void halide_vulkan_set_build_options ( const char *  n)
extern

◆ halide_vulkan_get_build_options()

const char * halide_vulkan_get_build_options ( void *  user_context)
extern