bc78a8529d
Change-Id: I22c145d39f430ca571a981687bcb034ea6e3b8a2
[ROCm/hip commit: a8b81e96b4]
740 строки
38 KiB
C
740 строки
38 KiB
C
/*******************************************************************************
|
|
* Copyright (c) 2008-2010 The Khronos Group Inc.
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and/or associated documentation files (the
|
|
* "Materials"), to deal in the Materials without restriction, including
|
|
* without limitation the rights to use, copy, modify, merge, publish,
|
|
* distribute, sublicense, and/or sell copies of the Materials, and to
|
|
* permit persons to whom the Materials are furnished to do so, subject to
|
|
* the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice shall be included
|
|
* in all copies or substantial portions of the Materials.
|
|
*
|
|
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
|
******************************************************************************/
|
|
|
|
#ifndef __OPENCL_CL_ICD_H
|
|
#define __OPENCL_CL_ICD_H
|
|
|
|
#include <CL/cl.h>
|
|
#include <CL/cl_gl.h>
|
|
|
|
#define cl_khr_icd 1
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
typedef cl_int(CL_API_CALL* clGetPlatformIDs_fn)(
|
|
cl_uint /* num_entries */, cl_platform_id* /* platforms */,
|
|
cl_uint* /* num_platforms */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetPlatformInfo_fn)(
|
|
cl_platform_id /* platform */, cl_platform_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetDeviceIDs_fn)(
|
|
cl_platform_id /* platform */, cl_device_type /* device_type */, cl_uint /* num_entries */,
|
|
cl_device_id* /* devices */, cl_uint* /* num_devices */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetDeviceInfo_fn)(
|
|
cl_device_id /* device */, cl_device_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_context(CL_API_CALL* clCreateContext_fn)(
|
|
const cl_context_properties* /* properties */, cl_uint /* num_devices */,
|
|
const cl_device_id* /* devices */,
|
|
void(CL_CALLBACK* /* pfn_notify */)(const char*, const void*, size_t, void*),
|
|
void* /* user_data */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_context(CL_API_CALL* clCreateContextFromType_fn)(
|
|
const cl_context_properties* /* properties */, cl_device_type /* device_type */,
|
|
void(CL_CALLBACK* /* pfn_notify*/)(const char*, const void*, size_t, void*),
|
|
void* /* user_data */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainContext_fn)(cl_context /* context */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseContext_fn)(cl_context /* context */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetContextInfo_fn)(
|
|
cl_context /* context */, cl_context_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_command_queue(CL_API_CALL* clCreateCommandQueue_fn)(
|
|
cl_context /* context */, cl_device_id /* device */,
|
|
cl_command_queue_properties /* properties */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainCommandQueue_fn)(cl_command_queue /* command_queue */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseCommandQueue_fn)(cl_command_queue /* command_queue */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetCommandQueueInfo_fn)(
|
|
cl_command_queue /* command_queue */, cl_command_queue_info /* param_name */,
|
|
size_t /* param_value_size */, void* /* param_value */,
|
|
size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetCommandQueueProperty_fn)(
|
|
cl_command_queue /* command_queue */, cl_command_queue_properties /* properties */,
|
|
cl_bool /* enable */,
|
|
cl_command_queue_properties* /* old_properties */) /*CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED*/;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateBuffer_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, size_t /* size */, void* /* host_ptr */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateSubBuffer_fn)(
|
|
cl_mem /* buffer */, cl_mem_flags /* flags */, cl_buffer_create_type /* buffer_create_type */,
|
|
const void* /* buffer_create_info */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateImage2D_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, const cl_image_format* /* image_format */,
|
|
size_t /* image_width */, size_t /* image_height */, size_t /* image_row_pitch */,
|
|
void* /* host_ptr */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateImage3D_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, const cl_image_format* /* image_format */,
|
|
size_t /* image_width */, size_t /* image_height */, size_t /* image_depth */,
|
|
size_t /* image_row_pitch */, size_t /* image_slice_pitch */, void* /* host_ptr */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainMemObject_fn)(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseMemObject_fn)(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetSupportedImageFormats_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_mem_object_type /* image_type */,
|
|
cl_uint /* num_entries */, cl_image_format* /* image_formats */,
|
|
cl_uint* /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetMemObjectInfo_fn)(
|
|
cl_mem /* memobj */, cl_mem_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetImageInfo_fn)(
|
|
cl_mem /* image */, cl_image_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetMemObjectDestructorCallback_fn)(
|
|
cl_mem /* memobj */,
|
|
void(CL_CALLBACK* /*pfn_notify*/)(cl_mem /* memobj */, void* /*user_data*/),
|
|
void* /*user_data */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
/* Sampler APIs */
|
|
typedef cl_sampler(CL_API_CALL* clCreateSampler_fn)(
|
|
cl_context /* context */, cl_bool /* normalized_coords */,
|
|
cl_addressing_mode /* addressing_mode */, cl_filter_mode /* filter_mode */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainSampler_fn)(cl_sampler /* sampler */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseSampler_fn)(cl_sampler /* sampler */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetSamplerInfo_fn)(
|
|
cl_sampler /* sampler */, cl_sampler_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
/* Program Object APIs */
|
|
typedef cl_program(CL_API_CALL* clCreateProgramWithSource_fn)(
|
|
cl_context /* context */, cl_uint /* count */, const char** /* strings */,
|
|
const size_t* /* lengths */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
extern CL_API_ENTRY cl_program CL_API_CALL
|
|
clCreateProgramWithIL(cl_context /* context */,
|
|
const void * /* strings */, size_t /* lengths */,
|
|
cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_program(CL_API_CALL* clCreateProgramWithILKHR_fn)(
|
|
cl_context /* context */, const void* /* il */, size_t /* length */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_program(CL_API_CALL* clCreateProgramWithBinary_fn)(
|
|
cl_context /* context */, cl_uint /* num_devices */, const cl_device_id* /* device_list */,
|
|
const size_t* /* lengths */, const unsigned char** /* binaries */, cl_int* /* binary_status */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainProgram_fn)(cl_program /* program */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseProgram_fn)(cl_program /* program */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clBuildProgram_fn)(
|
|
cl_program /* program */, cl_uint /* num_devices */, const cl_device_id* /* device_list */,
|
|
const char* /* options */,
|
|
void(CL_CALLBACK* /* pfn_notify */)(cl_program /* program */, void* /* user_data */),
|
|
void* /* user_data */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clUnloadCompiler_fn)(void) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetProgramInfo_fn)(
|
|
cl_program /* program */, cl_program_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetProgramBuildInfo_fn)(
|
|
cl_program /* program */, cl_device_id /* device */, cl_program_build_info /* param_name */,
|
|
size_t /* param_value_size */, void* /* param_value */,
|
|
size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
/* Kernel Object APIs */
|
|
typedef cl_kernel(CL_API_CALL* clCreateKernel_fn)(
|
|
cl_program /* program */, const char* /* kernel_name */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clCreateKernelsInProgram_fn)(
|
|
cl_program /* program */, cl_uint /* num_kernels */, cl_kernel* /* kernels */,
|
|
cl_uint* /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainKernel_fn)(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseKernel_fn)(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetKernelArg_fn)(cl_kernel /* kernel */, cl_uint /* arg_index */,
|
|
size_t /* arg_size */, const void* /* arg_value */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetKernelInfo_fn)(
|
|
cl_kernel /* kernel */, cl_kernel_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetKernelWorkGroupInfo_fn)(
|
|
cl_kernel /* kernel */, cl_device_id /* device */, cl_kernel_work_group_info /* param_name */,
|
|
size_t /* param_value_size */, void* /* param_value */,
|
|
size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
/* Event Object APIs */
|
|
typedef cl_int(CL_API_CALL* clWaitForEvents_fn)(
|
|
cl_uint /* num_events */, const cl_event* /* event_list */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetEventInfo_fn)(
|
|
cl_event /* event */, cl_event_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_event(CL_API_CALL* clCreateUserEvent_fn)(
|
|
cl_context /* context */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainEvent_fn)(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseEvent_fn)(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetUserEventStatus_fn)(
|
|
cl_event /* event */, cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetEventCallback_fn)(
|
|
cl_event /* event */, cl_int /* command_exec_callback_type */,
|
|
void(CL_CALLBACK* /* pfn_notify */)(cl_event, cl_int, void*),
|
|
void* /* user_data */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
/* Profiling APIs */
|
|
typedef cl_int(CL_API_CALL* clGetEventProfilingInfo_fn)(
|
|
cl_event /* event */, cl_profiling_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
/* Flush and Finish APIs */
|
|
typedef cl_int(CL_API_CALL* clFlush_fn)(cl_command_queue /* command_queue */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clFinish_fn)(cl_command_queue /* command_queue */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
/* Enqueued Commands APIs */
|
|
typedef cl_int(CL_API_CALL* clEnqueueReadBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_read */,
|
|
size_t /* offset */, size_t /* cb */, void* /* ptr */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueReadBufferRect_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_read */,
|
|
const size_t* /* buffer_offset */, const size_t* /* host_offset */, const size_t* /* region */,
|
|
size_t /* buffer_row_pitch */, size_t /* buffer_slice_pitch */, size_t /* host_row_pitch */,
|
|
size_t /* host_slice_pitch */, void* /* ptr */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueWriteBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_write */,
|
|
size_t /* offset */, size_t /* cb */, const void* /* ptr */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueWriteBufferRect_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_read */,
|
|
const size_t* /* buffer_offset */, const size_t* /* host_offset */, const size_t* /* region */,
|
|
size_t /* buffer_row_pitch */, size_t /* buffer_slice_pitch */, size_t /* host_row_pitch */,
|
|
size_t /* host_slice_pitch */, const void* /* ptr */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueCopyBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* src_buffer */, cl_mem /* dst_buffer */,
|
|
size_t /* src_offset */, size_t /* dst_offset */, size_t /* cb */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueCopyBufferRect_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* src_buffer */, cl_mem /* dst_buffer */,
|
|
const size_t* /* src_origin */, const size_t* /* dst_origin */, const size_t* /* region */,
|
|
size_t /* src_row_pitch */, size_t /* src_slice_pitch */, size_t /* dst_row_pitch */,
|
|
size_t /* dst_slice_pitch */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueReadImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_read */,
|
|
const size_t* /* origin[3] */, const size_t* /* region[3] */, size_t /* row_pitch */,
|
|
size_t /* slice_pitch */, void* /* ptr */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueWriteImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_write */,
|
|
const size_t* /* origin[3] */, const size_t* /* region[3] */, size_t /* input_row_pitch */,
|
|
size_t /* input_slice_pitch */, const void* /* ptr */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueCopyImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* src_image */, cl_mem /* dst_image */,
|
|
const size_t* /* src_origin[3] */, const size_t* /* dst_origin[3] */,
|
|
const size_t* /* region[3] */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueCopyImageToBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* src_image */, cl_mem /* dst_buffer */,
|
|
const size_t* /* src_origin[3] */, const size_t* /* region[3] */, size_t /* dst_offset */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueCopyBufferToImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* src_buffer */, cl_mem /* dst_image */,
|
|
size_t /* src_offset */, const size_t* /* dst_origin[3] */, const size_t* /* region[3] */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef void*(CL_API_CALL* clEnqueueMapBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, cl_bool /* blocking_map */,
|
|
cl_map_flags /* map_flags */, size_t /* offset */, size_t /* cb */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */, cl_int* /* errcode_ret */)CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef void*(CL_API_CALL* clEnqueueMapImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* image */, cl_bool /* blocking_map */,
|
|
cl_map_flags /* map_flags */, const size_t* /* origin[3] */, const size_t* /* region[3] */,
|
|
size_t* /* image_row_pitch */, size_t* /* image_slice_pitch */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */, cl_int* /* errcode_ret */)CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueUnmapMemObject_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* memobj */, void* /* mapped_ptr */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueNDRangeKernel_fn)(
|
|
cl_command_queue /* command_queue */, cl_kernel /* kernel */, cl_uint /* work_dim */,
|
|
const size_t* /* global_work_offset */, const size_t* /* global_work_size */,
|
|
const size_t* /* local_work_size */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueTask_fn)(cl_command_queue /* command_queue */,
|
|
cl_kernel /* kernel */,
|
|
cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueNativeKernel_fn)(
|
|
cl_command_queue /* command_queue */, void(CL_CALLBACK* user_func)(void*), void* /* args */,
|
|
size_t /* cb_args */, cl_uint /* num_mem_objects */, const cl_mem* /* mem_list */,
|
|
const void** /* args_mem_loc */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueMarker_fn)(cl_command_queue /* command_queue */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueWaitForEvents_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_events */,
|
|
const cl_event* /* event_list */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueBarrier_fn)(cl_command_queue /* command_queue */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef void*(CL_API_CALL* clGetExtensionFunctionAddress_fn)(const char* /* func_name */)
|
|
CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateFromGLBuffer_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_GLuint /* bufobj */,
|
|
int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateFromGLTexture2D_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_GLenum /* target */,
|
|
cl_GLint /* miplevel */, cl_GLuint /* texture */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateFromGLTexture3D_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_GLenum /* target */,
|
|
cl_GLint /* miplevel */, cl_GLuint /* texture */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateFromGLRenderbuffer_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_GLuint /* renderbuffer */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetGLObjectInfo_fn)(
|
|
cl_mem /* memobj */, cl_gl_object_type* /* gl_object_type */,
|
|
cl_GLuint* /* gl_object_name */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetGLTextureInfo_fn)(
|
|
cl_mem /* memobj */, cl_gl_texture_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_event(CL_API_CALL* clCreateEventFromGLsyncKHR_fn)(
|
|
cl_context /* context */, cl_GLsync /* cl_GLsync */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueAcquireGLObjects_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_objects */,
|
|
const cl_mem* /* mem_objects */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueReleaseGLObjects_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_objects */,
|
|
const cl_mem* /* mem_objects */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clCreateSubDevices_fn)(
|
|
cl_device_id /* in_device */, const cl_device_partition_property* /* properties */,
|
|
cl_uint /* num_entries */, cl_device_id* /* out_devices */,
|
|
cl_uint* /* num_devices */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clRetainDevice_fn)(cl_device_id /* device */)
|
|
CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clReleaseDevice_fn)(cl_device_id /* device */)
|
|
CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateImage_fn)(cl_context /* context */, cl_mem_flags /* flags */,
|
|
const cl_image_format* /* image_format*/,
|
|
const cl_image_desc* /* image_desc*/,
|
|
void* /* host_ptr */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_program(CL_API_CALL* clCreateProgramWithBuiltInKernels_fn)(
|
|
cl_context /* context */, cl_uint /* num_devices */, const cl_device_id* /* device_list */,
|
|
const char* /* kernel_names */, cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clCompileProgram_fn)(
|
|
cl_program /* program */, cl_uint /* num_devices */, const cl_device_id* /* device_list */,
|
|
const char* /* options */, cl_uint /* num_input_headers */,
|
|
const cl_program* /* input_headers */, const char** /* header_include_names */,
|
|
void(CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
|
|
void* /* user_data */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_program(CL_API_CALL* clLinkProgram_fn)(
|
|
cl_context /* context */, cl_uint /* num_devices */, const cl_device_id* /* device_list */,
|
|
const char* /* options */, cl_uint /* num_input_programs */,
|
|
const cl_program* /* input_programs */,
|
|
void(CL_CALLBACK* pfn_notify)(cl_program program, void* user_data), void* /* user_data */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clUnloadPlatformCompiler_fn)(cl_platform_id /* platform */)
|
|
CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetKernelArgInfo_fn)(
|
|
cl_kernel /* kernel */, cl_uint /* arg_indx */, cl_kernel_arg_info /* param_name */,
|
|
size_t /* param_value_size */, void* /* param_value */,
|
|
size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueFillBuffer_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* buffer */, const void* /* pattern */,
|
|
size_t /* pattern_size */, size_t /* offset */, size_t /* size */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueFillImage_fn)(
|
|
cl_command_queue /* command_queue */, cl_mem /* image */, const void* /* fill_color */,
|
|
const size_t* /* origin */, const size_t* /* region */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueMigrateMemObjects_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_mem_objects */,
|
|
const cl_mem* /* mem_objects */, cl_mem_migration_flags /* flags */,
|
|
cl_uint /* num_events_in_wait_list */, const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueMarkerWithWaitList_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueBarrierWithWaitList_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef void*(CL_API_CALL* clGetExtensionFunctionAddressForPlatform_fn)(
|
|
cl_platform_id /* platform */, const char* /* funcname */)CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreateFromGLTexture_fn)(
|
|
cl_context /* context */, cl_mem_flags /* flags */, cl_GLenum /* texture_target */,
|
|
cl_GLint /* miplevel */, cl_GLuint /* texture */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
|
|
|
|
typedef cl_command_queue(CL_API_CALL* clCreateCommandQueueWithProperties_fn)(
|
|
cl_context /* context */, cl_device_id /* device */,
|
|
const cl_queue_properties* /* properties */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_sampler(CL_API_CALL* clCreateSamplerWithProperties_fn)(
|
|
cl_context /* context */, const cl_sampler_properties* /* properties */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef void*(CL_API_CALL* clSVMAlloc_fn)(cl_context /* context */, cl_svm_mem_flags /* flags */,
|
|
size_t /* size */,
|
|
cl_uint /* alignment */)CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef void(CL_API_CALL* clSVMFree_fn)(cl_context /* context */,
|
|
void* /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetKernelArgSVMPointer_fn)(
|
|
cl_kernel /* kernel */, cl_uint /* arg_index */,
|
|
const void* /* arg_value */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clSetKernelExecInfo_fn)(
|
|
cl_kernel /* kernel */, cl_kernel_exec_info /* param_name */, size_t /* param_value_size */,
|
|
const void* /* param_value */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueSVMFree_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_svm_pointers */,
|
|
void* [] /* svm_pointers */,
|
|
void(CL_CALLBACK* /* pfn_free_func */)(cl_command_queue /* queue */,
|
|
cl_uint /* num_svm_pointers */,
|
|
void* [] /* svm_pointers */, void* /* user_data */),
|
|
void* /* user_data */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueSVMMemcpy_fn)(
|
|
cl_command_queue /* command_queue */, cl_bool /* blocking_copy */, void* /* dst_ptr */,
|
|
const void* /* src_ptr */, size_t /* size */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueSVMMemFill_fn)(
|
|
cl_command_queue /* command_queue */, void* /* svm_ptr */, const void* /* pattern */,
|
|
size_t /* pattern_size */, size_t /* size */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueSVMMap_fn)(
|
|
cl_command_queue /* command_queue */, cl_bool /* blocking_map */, cl_map_flags /* flags */,
|
|
void* /* svm_ptr */, size_t /* size */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */, cl_event* /* event */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clEnqueueSVMUnmap_fn)(cl_command_queue /* command_queue */,
|
|
void* /* svm_ptr */,
|
|
cl_uint /* num_events_in_wait_list */,
|
|
const cl_event* /* event_wait_list */,
|
|
cl_event* /* event */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_mem(CL_API_CALL* clCreatePipe_fn)(cl_context /* context */, cl_mem_flags /* flags */,
|
|
cl_uint /* pipe_packet_size */,
|
|
cl_uint /* pipe_max_packets */,
|
|
const cl_pipe_properties* /* properties */,
|
|
cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetPipeInfo_fn)(
|
|
cl_mem /* pipe */, cl_pipe_info /* param_name */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
typedef cl_int(CL_API_CALL* clGetKernelSubGroupInfoKHR_fn)(
|
|
cl_kernel /* kernel */, cl_device_id /* device */, cl_kernel_sub_group_info /* param_name */,
|
|
size_t /* input_value_size */, const void* /* input_value */, size_t /* param_value_size */,
|
|
void* /* param_value */, size_t* /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
|
|
|
|
|
|
typedef cl_int(CL_API_CALL* clSetDefaultDeviceCommandQueue_fn)(
|
|
cl_context /* context */, cl_device_id /* device */,
|
|
cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_2_1;
|
|
|
|
typedef cl_kernel(CL_API_CALL* clCloneKernel_fn)(
|
|
cl_kernel /* source_kernel */, cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_1;
|
|
|
|
typedef cl_int (CL_API_CALL* clEnqueueSVMMigrateMem_fn)(
|
|
cl_command_queue /* command_queue */, cl_uint /* num_svm_pointers */,
|
|
const void ** /* svm_pointers */, const size_t * /* sizes */,
|
|
cl_mem_migration_flags /* flags */, cl_uint /* num_events_in_wait_list */,
|
|
const cl_event * /* event_wait_list */, cl_event * /* event */) CL_API_SUFFIX__VERSION_2_1;
|
|
|
|
typedef cl_int (CL_API_CALL* clGetDeviceAndHostTimer_fn)(
|
|
cl_device_id /* device */, cl_ulong * /* device_timestamp */,
|
|
cl_ulong * /* host_timestamp */) CL_API_SUFFIX__VERSION_2_1;
|
|
|
|
typedef cl_int (CL_API_CALL* clGetHostTimer_fn)(
|
|
cl_device_id /* device */, cl_ulong * /* host_timestamp */) CL_API_SUFFIX__VERSION_2_1;
|
|
|
|
typedef cl_int (CL_API_CALL* clSetProgramSpecializationConstant_fn)(
|
|
cl_program /* program */, cl_uint /* spec_id */, size_t /* spec_size */,
|
|
const void* /* spec_value */) CL_API_SUFFIX__VERSION_2_2;
|
|
|
|
typedef cl_int (CL_API_CALL* clSetProgramReleaseCallback_fn)(
|
|
cl_program /* program */,
|
|
void (CL_CALLBACK * /* pfn_notify */)(cl_program program, void * user_data),
|
|
void * /* user_data */) CL_API_SUFFIX__VERSION_2_2;
|
|
|
|
typedef struct _cl_icd_dispatch_table {
|
|
/* OpenCL 1.0 */
|
|
clGetPlatformIDs_fn GetPlatformIDs;
|
|
clGetPlatformInfo_fn GetPlatformInfo;
|
|
clGetDeviceIDs_fn GetDeviceIDs;
|
|
clGetDeviceInfo_fn GetDeviceInfo;
|
|
clCreateContext_fn CreateContext;
|
|
clCreateContextFromType_fn CreateContextFromType;
|
|
clRetainContext_fn RetainContext;
|
|
clReleaseContext_fn ReleaseContext;
|
|
clGetContextInfo_fn GetContextInfo;
|
|
clCreateCommandQueue_fn CreateCommandQueue;
|
|
clRetainCommandQueue_fn RetainCommandQueue;
|
|
clReleaseCommandQueue_fn ReleaseCommandQueue;
|
|
clGetCommandQueueInfo_fn GetCommandQueueInfo;
|
|
clSetCommandQueueProperty_fn SetCommandQueueProperty;
|
|
clCreateBuffer_fn CreateBuffer;
|
|
clCreateImage2D_fn CreateImage2D;
|
|
clCreateImage3D_fn CreateImage3D;
|
|
clRetainMemObject_fn RetainMemObject;
|
|
clReleaseMemObject_fn ReleaseMemObject;
|
|
clGetSupportedImageFormats_fn GetSupportedImageFormats;
|
|
clGetMemObjectInfo_fn GetMemObjectInfo;
|
|
clGetImageInfo_fn GetImageInfo;
|
|
clCreateSampler_fn CreateSampler;
|
|
clRetainSampler_fn RetainSampler;
|
|
clReleaseSampler_fn ReleaseSampler;
|
|
clGetSamplerInfo_fn GetSamplerInfo;
|
|
clCreateProgramWithSource_fn CreateProgramWithSource;
|
|
clCreateProgramWithBinary_fn CreateProgramWithBinary;
|
|
clRetainProgram_fn RetainProgram;
|
|
clReleaseProgram_fn ReleaseProgram;
|
|
clBuildProgram_fn BuildProgram;
|
|
clUnloadCompiler_fn UnloadCompiler;
|
|
clGetProgramInfo_fn GetProgramInfo;
|
|
clGetProgramBuildInfo_fn GetProgramBuildInfo;
|
|
clCreateKernel_fn CreateKernel;
|
|
clCreateKernelsInProgram_fn CreateKernelsInProgram;
|
|
clRetainKernel_fn RetainKernel;
|
|
clReleaseKernel_fn ReleaseKernel;
|
|
clSetKernelArg_fn SetKernelArg;
|
|
clGetKernelInfo_fn GetKernelInfo;
|
|
clGetKernelWorkGroupInfo_fn GetKernelWorkGroupInfo;
|
|
clWaitForEvents_fn WaitForEvents;
|
|
clGetEventInfo_fn GetEventInfo;
|
|
clRetainEvent_fn RetainEvent;
|
|
clReleaseEvent_fn ReleaseEvent;
|
|
clGetEventProfilingInfo_fn GetEventProfilingInfo;
|
|
clFlush_fn Flush;
|
|
clFinish_fn Finish;
|
|
clEnqueueReadBuffer_fn EnqueueReadBuffer;
|
|
clEnqueueWriteBuffer_fn EnqueueWriteBuffer;
|
|
clEnqueueCopyBuffer_fn EnqueueCopyBuffer;
|
|
clEnqueueReadImage_fn EnqueueReadImage;
|
|
clEnqueueWriteImage_fn EnqueueWriteImage;
|
|
clEnqueueCopyImage_fn EnqueueCopyImage;
|
|
clEnqueueCopyImageToBuffer_fn EnqueueCopyImageToBuffer;
|
|
clEnqueueCopyBufferToImage_fn EnqueueCopyBufferToImage;
|
|
clEnqueueMapBuffer_fn EnqueueMapBuffer;
|
|
clEnqueueMapImage_fn EnqueueMapImage;
|
|
clEnqueueUnmapMemObject_fn EnqueueUnmapMemObject;
|
|
clEnqueueNDRangeKernel_fn EnqueueNDRangeKernel;
|
|
clEnqueueTask_fn EnqueueTask;
|
|
clEnqueueNativeKernel_fn EnqueueNativeKernel;
|
|
clEnqueueMarker_fn EnqueueMarker;
|
|
clEnqueueWaitForEvents_fn EnqueueWaitForEvents;
|
|
clEnqueueBarrier_fn EnqueueBarrier;
|
|
clGetExtensionFunctionAddress_fn GetExtensionFunctionAddress;
|
|
clCreateFromGLBuffer_fn CreateFromGLBuffer;
|
|
clCreateFromGLTexture2D_fn CreateFromGLTexture2D;
|
|
clCreateFromGLTexture3D_fn CreateFromGLTexture3D;
|
|
clCreateFromGLRenderbuffer_fn CreateFromGLRenderbuffer;
|
|
clGetGLObjectInfo_fn GetGLObjectInfo;
|
|
clGetGLTextureInfo_fn GetGLTextureInfo;
|
|
clEnqueueAcquireGLObjects_fn EnqueueAcquireGLObjects;
|
|
clEnqueueReleaseGLObjects_fn EnqueueReleaseGLObjects;
|
|
clGetGLContextInfoKHR_fn GetGLContextInfoKHR;
|
|
void* _reservedForD3D10KHR[6];
|
|
|
|
/* OpenCL 1.1 */
|
|
clSetEventCallback_fn SetEventCallback;
|
|
clCreateSubBuffer_fn CreateSubBuffer;
|
|
clSetMemObjectDestructorCallback_fn SetMemObjectDestructorCallback;
|
|
clCreateUserEvent_fn CreateUserEvent;
|
|
clSetUserEventStatus_fn SetUserEventStatus;
|
|
clEnqueueReadBufferRect_fn EnqueueReadBufferRect;
|
|
clEnqueueWriteBufferRect_fn EnqueueWriteBufferRect;
|
|
clEnqueueCopyBufferRect_fn EnqueueCopyBufferRect;
|
|
|
|
void* _reservedForDeviceFissionEXT[3];
|
|
clCreateEventFromGLsyncKHR_fn CreateEventFromGLsyncKHR;
|
|
|
|
/* OpenCL 1.2 */
|
|
clCreateSubDevices_fn CreateSubDevices;
|
|
clRetainDevice_fn RetainDevice;
|
|
clReleaseDevice_fn ReleaseDevice;
|
|
clCreateImage_fn CreateImage;
|
|
clCreateProgramWithBuiltInKernels_fn CreateProgramWithBuiltInKernels;
|
|
clCompileProgram_fn CompileProgram;
|
|
clLinkProgram_fn LinkProgram;
|
|
clUnloadPlatformCompiler_fn UnloadPlatformCompiler;
|
|
clGetKernelArgInfo_fn GetKernelArgInfo;
|
|
clEnqueueFillBuffer_fn EnqueueFillBuffer;
|
|
clEnqueueFillImage_fn EnqueueFillImage;
|
|
clEnqueueMigrateMemObjects_fn EnqueueMigrateMemObjects;
|
|
clEnqueueMarkerWithWaitList_fn EnqueueMarkerWithWaitList;
|
|
clEnqueueBarrierWithWaitList_fn EnqueueBarrierWithWaitList;
|
|
clGetExtensionFunctionAddressForPlatform_fn GetExtensionFunctionAddressForPlatform;
|
|
clCreateFromGLTexture_fn CreateFromGLTexture;
|
|
|
|
/* cl_khr_d3d11_sharing, cl_khr_dx9_media_sharing */
|
|
void* _reservedForD3DExtensions[10];
|
|
|
|
/* cl_khr_egl_image, cl_khr_egl_event */
|
|
void* _reservedForEGLExtensions[4];
|
|
|
|
/* OpenCL 2.0 */
|
|
clCreateCommandQueueWithProperties_fn CreateCommandQueueWithProperties;
|
|
clCreatePipe_fn CreatePipe;
|
|
clGetPipeInfo_fn GetPipeInfo;
|
|
clSVMAlloc_fn SVMAlloc;
|
|
clSVMFree_fn SVMFree;
|
|
clEnqueueSVMFree_fn EnqueueSVMFree;
|
|
clEnqueueSVMMemcpy_fn EnqueueSVMMemcpy;
|
|
clEnqueueSVMMemFill_fn EnqueueSVMMemFill;
|
|
clEnqueueSVMMap_fn EnqueueSVMMap;
|
|
clEnqueueSVMUnmap_fn EnqueueSVMUnmap;
|
|
clCreateSamplerWithProperties_fn CreateSamplerWithProperties;
|
|
clSetKernelArgSVMPointer_fn SetKernelArgSVMPointer;
|
|
clSetKernelExecInfo_fn SetKernelExecInfo;
|
|
/* cl_khr_sub_groups */
|
|
clGetKernelSubGroupInfoKHR_fn GetKernelSubGroupInfoKHR;
|
|
|
|
/* OpenCL 2.1 */
|
|
clCloneKernel_fn CloneKernel;
|
|
clCreateProgramWithILKHR_fn CreateProgramWithILKHR;
|
|
clEnqueueSVMMigrateMem_fn EnqueueSVMMigrateMem;
|
|
clGetDeviceAndHostTimer_fn GetDeviceAndHostTimer;
|
|
clGetHostTimer_fn GetHostTimer;
|
|
clGetKernelSubGroupInfoKHR_fn GetKernelSubGroupInfo;
|
|
clSetDefaultDeviceCommandQueue_fn SetDefaultDeviceCommandQueue;
|
|
|
|
/* OpenCL 2.2 */
|
|
clSetProgramReleaseCallback_fn SetProgramReleaseCallback;
|
|
clSetProgramSpecializationConstant_fn SetProgramSpecializationConstant;
|
|
|
|
} cl_icd_dispatch_table;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __OPENCL_CL_ICD_H */
|