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)
 
#define HALIDE_VULKAN_USE_64_BIT_PTR_DEFINES   0
 
#define HALIDE_VULKAN_DEFINE_NON_DISPATCHABLE_HANDLE(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)
Value:
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)
Value:
typedef uint64_t(object);
unsigned __INT64_TYPE__ uint64_t

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