1#ifndef HALIDE_HALIDERUNTIMED3D12COMPUTE_H
2#define HALIDE_HALIDERUNTIMED3D12COMPUTE_H
5#ifndef HALIDE_HALIDERUNTIME_H
25 const char *src,
int size);
29 const char *entry_name,
30 int blocksX,
int blocksY,
int blocksZ,
31 int threadsX,
int threadsY,
int threadsZ,
60struct halide_d3d12compute_device;
61struct halide_d3d12compute_command_queue;
79 struct halide_d3d12compute_command_queue **queue_ret,
bool create);
This file declares the routines used by Halide internally in its runtime.
int halide_d3d12compute_acquire_context(void *user_context, struct halide_d3d12compute_device **device_ret, struct halide_d3d12compute_command_queue **queue_ret, bool create)
This prototype is exported as applications will typically need to replace it to get Halide filters to...
int halide_d3d12compute_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 arg_is_buffer[])
const struct halide_device_interface_t * halide_d3d12compute_device_interface()
uintptr_t halide_d3d12compute_get_buffer(void *user_context, struct halide_buffer_t *buf)
Return the underlying ID3D12Resource for a halide_buffer_t.
int halide_d3d12compute_detach_buffer(void *user_context, struct halide_buffer_t *buf)
Disconnect a halide_buffer_t from the ID3D12Resource it was previously wrapped around.
void halide_d3d12compute_finalize_kernels(void *user_context, void *state_ptr)
int halide_d3d12compute_wrap_buffer(void *user_context, struct halide_buffer_t *buf, uint64_t d3d12_resource)
Set the underlying ID3D12Resource for a halide_buffer_t.
int halide_d3d12compute_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 Direct3D 12 Compute runtime.
int halide_d3d12compute_release_context(void *user_context)
This call balances each successful halide_d3d12compute_acquire_context call.
unsigned __INT64_TYPE__ uint64_t
__UINTPTR_TYPE__ uintptr_t
signed __INT8_TYPE__ int8_t
The raw representation of an image passed around by generated Halide code.
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.