15# ifndef CYCLES_KERNEL_ONEAPI_EXPORT
17# if defined(ONEAPI_EXPORT)
18# define CYCLES_KERNEL_ONEAPI_EXPORT extern __declspec(dllexport)
20# define CYCLES_KERNEL_ONEAPI_EXPORT extern __declspec(dllimport)
23# define CYCLES_KERNEL_ONEAPI_EXPORT extern __attribute__((visibility("default")))
30typedef void (*OneAPIErrorCallback)(
const char *
error,
void *user_ptr);
34 SyclQueue *queue =
nullptr;
36 void *kernel_globals =
nullptr;
38 int scene_max_shaders = 0;
47CYCLES_KERNEL_ONEAPI_EXPORT
bool oneapi_run_test_kernel(SyclQueue *queue_);
48CYCLES_KERNEL_ONEAPI_EXPORT
bool oneapi_zero_memory_on_device(SyclQueue *queue_,
51CYCLES_KERNEL_ONEAPI_EXPORT
void oneapi_set_error_cb(OneAPIErrorCallback cb,
void *user_ptr);
52CYCLES_KERNEL_ONEAPI_EXPORT
size_t oneapi_suggested_gpu_kernel_size(
const DeviceKernel kernel);
53CYCLES_KERNEL_ONEAPI_EXPORT
bool oneapi_enqueue_kernel(KernelContext *context,
55 const size_t global_size,
56 const size_t local_size,
57 const unsigned int kernel_features,
58 bool use_hardware_raytracing,
60CYCLES_KERNEL_ONEAPI_EXPORT
bool oneapi_load_kernels(SyclQueue *queue,
61 const unsigned int kernel_features,
62 bool use_hardware_raytracing);
static void error(const char *str)