1 #ifndef HALIDE_HALIDERUNTIMEOPENGLCOMPUTE_H
2 #define HALIDE_HALIDERUNTIMEOPENGLCOMPUTE_H
5 #ifndef HALIDE_HALIDERUNTIME_H
19 #define HALIDE_RUNTIME_OPENGLCOMPUTE
31 const char *src,
int size);
41 const char *entry_name,
42 int blocksX,
int blocksY,
int blocksZ,
43 int threadsX,
int threadsY,
int threadsZ,
This file declares the routines used by Halide internally in its runtime.
int halide_opengl_create_context(void *user_context)
This function creates an OpenGL context for use by the OpenGL backend.
void halide_openglcompute_finalize_kernels(void *user_context, void *state_ptr)
const struct halide_device_interface_t * halide_openglcompute_device_interface()
void * halide_opengl_get_proc_address(void *user_context, const char *name)
This function retrieves pointers to OpenGL API functions.
int halide_openglcompute_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, struct halide_type_t arg_types[], void *args[], int8_t is_buffer[])
This function triggers execution of OpenGL program built around compute shader.
int halide_openglcompute_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 Glsl runtime.
signed __INT8_TYPE__ int8_t
Each GPU API provides a halide_device_interface_t struct pointing to the code that manages device all...
A runtime tag for a type in the halide type system.