/
Copyright(c)2008-2009TheKhronosGroupInc.
Permissionisherebygranted,freeofcharge,toanypersonobtaininga
copyofthissoftwareand/orassociateddocumentationfiles(the
"Materials"),todealintheMaterialswithoutrestriction,including
withoutlimitationtherightstouse,copy,modify,merge,publish,
distribute,sublicense,and/orsellcopiesoftheMaterials,andto
permitpersonstowhomtheMaterialsarefurnishedtodoso,subjectto
thefollowingconditions:
Theabovecopyrightnoticeandthispermissionnoticeshallbeincluded
inallcopiesorsubstantialportionsoftheMaterials.
THEMATERIALSAREPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,
EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOF
MERCHANTABILITY,FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.
INNOEVENTSHALLTHEAUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANY
CLAIM,DAMAGESOROTHERLIABILITY,WHETHERINANACTIONOFCONTRACT,
TORTOROTHERWISE,ARISINGFROM,OUTOFORINCONNECTIONWITHTHE
MATERIALSORTHEUSEOROTHERDEALINGSINTHEMATERIALS.
/
/$Revision:9283$on$Date:2009-10-1410:18:57-0700(Wed,14Oct2009)$/
#ifndef__OPENCL_CL_H
#define__OPENCL_CL_H
#ifdef__APPLE__
#include
#else
#include
#endif
#ifdef__cplusplus
extern"C"{
#endif
//
typedefstruct_cl_platform_idcl_platform_id;
typedefstruct_cl_device_idcl_device_id;
typedefstruct_cl_contextcl_context;
typedefstruct_cl_command_queuecl_command_queue;
typedefstruct_cl_memcl_mem;
typedefstruct_cl_programcl_program;
typedefstruct_cl_kernelcl_kernel;
typedefstruct_cl_eventcl_event;
typedefstruct_cl_samplercl_sampler;
typedefcl_uintcl_bool;/WARNING!Unlikecl_typesincl_platform.h,cl_boolisnotguaranteedtobethesamesizeastheboolinkernels./
typedefcl_ulongcl_bitfield;
typedefcl_bitfieldcl_device_type;
typedefcl_uintcl_platform_info;
typedefcl_uintcl_device_info;
typedefcl_bitfieldcl_device_address_info;
typedefcl_bitfieldcl_device_fp_config;
typedefcl_uintcl_device_mem_cache_type;
typedefcl_uintcl_device_local_mem_type;
typedefcl_bitfieldcl_device_exec_capabilities;
typedefcl_bitfieldcl_command_queue_properties;
typedefintptr_t cl_context_properties;
typedefcl_uintcl_context_info;
typedefcl_uintcl_command_queue_info;
typedefcl_uintcl_channel_order;
typedefcl_uintcl_channel_type;
typedefcl_bitfieldcl_mem_flags;
typedefcl_uintcl_mem_object_type;
typedefcl_uintcl_mem_info;
typedefcl_uintcl_image_info;
typedefcl_uintcl_addressing_mode;
typedefcl_uintcl_filter_mode;
typedefcl_uintcl_sampler_info;
typedefcl_bitfieldcl_map_flags;
typedefcl_uintcl_program_info;
typedefcl_uintcl_program_build_info;
typedefcl_intcl_build_status;
typedefcl_uintcl_kernel_info;
typedefcl_uintcl_kernel_work_group_info;
typedefcl_uintcl_event_info;
typedefcl_uintcl_command_type;
typedefcl_uintcl_profiling_info;
typedefstruct_cl_image_format{
cl_channel_orderimage_channel_order;
cl_channel_typeimage_channel_data_type;
}cl_image_format;
//
//ErrorCodes
#defineCL_SUCCESS0
#defineCL_DEVICE_NOT_FOUND-1
#defineCL_DEVICE_NOT_AVAILABLE-2
#defineCL_COMPILER_NOT_AVAILABLE-3
#defineCL_MEM_OBJECT_ALLOCATION_FAILURE-4
#defineCL_OUT_OF_RESOURCES-5
#defineCL_OUT_OF_HOST_MEMORY-6
#defineCL_PROFILING_INFO_NOT_AVAILABLE-7
#defineCL_MEM_COPY_OVERLAP-8
#defineCL_IMAGE_FORMAT_MISMATCH-9
#defineCL_IMAGE_FORMAT_NOT_SUPPORTED-10
#defineCL_BUILD_PROGRAM_FAILURE-11
#defineCL_MAP_FAILURE-12
#defineCL_INVALID_VALUE-30
#defineCL_INVALID_DEVICE_TYPE-31
#defineCL_INVALID_PLATFORM-32
#defineCL_INVALID_DEVICE-33
#defineCL_INVALID_CONTEXT-34
#defineCL_INVALID_QUEUE_PROPERTIES-35
#defineCL_INVALID_COMMAND_QUEUE-36
#defineCL_INVALID_HOST_PTR-37
#defineCL_INVALID_MEM_OBJECT-38
#defineCL_INVALID_IMAGE_FORMAT_DESCRIPTOR-39
#defineCL_INVALID_IMAGE_SIZE-40
#defineCL_INVALID_SAMPLER-41
#defineCL_INVALID_BINARY-42
#defineCL_INVALID_BUILD_OPTIONS-43
#defineCL_INVALID_PROGRAM-44
#defineCL_INVALID_PROGRAM_EXECUTABLE-45
#defineCL_INVALID_KERNEL_NAME-46
#defineCL_INVALID_KERNEL_DEFINITION-47
#defineCL_INVALID_KERNEL-48
#defineCL_INVALID_ARG_INDEX-49
#defineCL_INVALID_ARG_VALUE-50
#defineCL_INVALID_ARG_SIZE-51
#defineCL_INVALID_KERNEL_ARGS-52
#defineCL_INVALID_WORK_DIMENSION-53
#defineCL_INVALID_WORK_GROUP_SIZE-54
#defineCL_INVALID_WORK_ITEM_SIZE-55
#defineCL_INVALID_GLOBAL_OFFSET-56
#defineCL_INVALID_EVENT_WAIT_LIST-57
#defineCL_INVALID_EVENT-58
#defineCL_INVALID_OPERATION-59
#defineCL_INVALID_GL_OBJECT-60
#defineCL_INVALID_BUFFER_SIZE-61
#defineCL_INVALID_MIP_LEVEL-62
#defineCL_INVALID_GLOBAL_WORK_SIZE-63
//OpenCLVersion
#defineCL_VERSION_1_01
//cl_bool
#defineCL_FALSE0
#defineCL_TRUE1
//cl_platform_info
#defineCL_PLATFORM_PROFILE0x0900
#defineCL_PLATFORM_VERSION0x0901
#defineCL_PLATFORM_NAME0x0902
#defineCL_PLATFORM_VENDOR0x0903
#defineCL_PLATFORM_EXTENSIONS0x0904
//cl_device_type-bitfield
#defineCL_DEVICE_TYPE_DEFAULT(1<<0)
#defineCL_DEVICE_TYPE_CPU(1<<1)
#defineCL_DEVICE_TYPE_GPU(1<<2)
#defineCL_DEVICE_TYPE_ACCELERATOR(1<<3)
#defineCL_DEVICE_TYPE_ALL0xFFFFFFFF
//cl_device_info
#defineCL_DEVICE_TYPE0x1000
#defineCL_DEVICE_VENDOR_ID0x1001
#defineCL_DEVICE_MAX_COMPUTE_UNITS0x1002
#defineCL_DEVICE_MAX_WORK_ITEM_DIMENSIONS0x1003
#defineCL_DEVICE_MAX_WORK_GROUP_SIZE0x1004
#defineCL_DEVICE_MAX_WORK_ITEM_SIZES0x1005
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR0x1006
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT0x1007
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_INT0x1008
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG0x1009
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT0x100A
#defineCL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE0x100B
#defineCL_DEVICE_MAX_CLOCK_FREQUENCY0x100C
#defineCL_DEVICE_ADDRESS_BITS0x100D
#defineCL_DEVICE_MAX_READ_IMAGE_ARGS0x100E
#defineCL_DEVICE_MAX_WRITE_IMAGE_ARGS0x100F
#defineCL_DEVICE_MAX_MEM_ALLOC_SIZE0x1010
#defineCL_DEVICE_IMAGE2D_MAX_WIDTH0x1011
#defineCL_DEVICE_IMAGE2D_MAX_HEIGHT0x1012
#defineCL_DEVICE_IMAGE3D_MAX_WIDTH0x1013
#defineCL_DEVICE_IMAGE3D_MAX_HEIGHT0x1014
#defineCL_DEVICE_IMAGE3D_MAX_DEPTH0x1015
#defineCL_DEVICE_IMAGE_SUPPORT0x1016
#defineCL_DEVICE_MAX_PARAMETER_SIZE0x1017
#defineCL_DEVICE_MAX_SAMPLERS0x1018
#defineCL_DEVICE_MEM_BASE_ADDR_ALIGN0x1019
#defineCL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE0x101A
#defineCL_DEVICE_SINGLE_FP_CONFIG0x101B
#defineCL_DEVICE_GLOBAL_MEM_CACHE_TYPE0x101C
#defineCL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE0x101D
#defineCL_DEVICE_GLOBAL_MEM_CACHE_SIZE0x101E
#defineCL_DEVICE_GLOBAL_MEM_SIZE0x101F
#defineCL_DEVICE_MAX_CONSTANT_BUFFER_SIZE0x1020
#defineCL_DEVICE_MAX_CONSTANT_ARGS0x1021
#defineCL_DEVICE_LOCAL_MEM_TYPE0x1022
#defineCL_DEVICE_LOCAL_MEM_SIZE0x1023
#defineCL_DEVICE_ERROR_CORRECTION_SUPPORT0x1024
#defineCL_DEVICE_PROFILING_TIMER_RESOLUTION0x1025
#defineCL_DEVICE_ENDIAN_LITTLE0x1026
#defineCL_DEVICE_AVAILABLE0x1027
#defineCL_DEVICE_COMPILER_AVAILABLE0x1028
#defineCL_DEVICE_EXECUTION_CAPABILITIES0x1029
#defineCL_DEVICE_QUEUE_PROPERTIES0x102A
#defineCL_DEVICE_NAME0x102B
#defineCL_DEVICE_VENDOR0x102C
#defineCL_DRIVER_VERSION0x102D
#defineCL_DEVICE_PROFILE0x102E
#defineCL_DEVICE_VERSION0x102F
#defineCL_DEVICE_EXTENSIONS0x1030
#defineCL_DEVICE_PLATFORM0x1031
//cl_device_fp_config-bitfield
#defineCL_FP_DENORM(1<<0)
#defineCL_FP_INF_NAN(1<<1)
#defineCL_FP_ROUND_TO_NEAREST(1<<2)
#defineCL_FP_ROUND_TO_ZERO(1<<3)
#defineCL_FP_ROUND_TO_INF(1<<4)
#defineCL_FP_FMA(1<<5)
//cl_device_mem_cache_type
#defineCL_NONE0x0
#defineCL_READ_ONLY_CACHE0x1
#defineCL_READ_WRITE_CACHE0x2
//cl_device_local_mem_type
#defineCL_LOCAL0x1
#defineCL_GLOBAL0x2
//cl_device_exec_capabilities-bitfield
#defineCL_EXEC_KERNEL(1<<0)
#defineCL_EXEC_NATIVE_KERNEL(1<<1)
//cl_command_queue_properties-bitfield
#defineCL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE(1<<0)
#defineCL_QUEUE_PROFILING_ENABLE(1<<1)
//cl_context_info
#defineCL_CONTEXT_REFERENCE_COUNT0x1080
#defineCL_CONTEXT_DEVICES0x1081
#defineCL_CONTEXT_PROPERTIES0x1082
//cl_context_properties
#defineCL_CONTEXT_PLATFORM0x1084
//cl_command_queue_info
#defineCL_QUEUE_CONTEXT0x1090
#defineCL_QUEUE_DEVICE0x1091
#defineCL_QUEUE_REFERENCE_COUNT0x1092
#defineCL_QUEUE_PROPERTIES0x1093
//cl_mem_flags-bitfield
#defineCL_MEM_READ_WRITE(1<<0)
#defineCL_MEM_WRITE_ONLY(1<<1)
#defineCL_MEM_READ_ONLY(1<<2)
#defineCL_MEM_USE_HOST_PTR(1<<3)
#defineCL_MEM_ALLOC_HOST_PTR(1<<4)
#defineCL_MEM_COPY_HOST_PTR(1<<5)
//cl_channel_order
#defineCL_R0x10B0
#defineCL_A0x10B1
#defineCL_RG0x10B2
#defineCL_RA0x10B3
#defineCL_RGB0x10B4
#defineCL_RGBA0x10B5
#defineCL_BGRA0x10B6
#defineCL_ARGB0x10B7
#defineCL_INTENSITY0x10B8
#defineCL_LUMINANCE0x10B9
//cl_channel_type
#defineCL_SNORM_INT80x10D0
#defineCL_SNORM_INT160x10D1
#defineCL_UNORM_INT80x10D2
#defineCL_UNORM_INT160x10D3
#defineCL_UNORM_SHORT_5650x10D4
#defineCL_UNORM_SHORT_5550x10D5
#defineCL_UNORM_INT_1010100x10D6
#defineCL_SIGNED_INT80x10D7
#defineCL_SIGNED_INT160x10D8
#defineCL_SIGNED_INT320x10D9
#defineCL_UNSIGNED_INT80x10DA
#defineCL_UNSIGNED_INT160x10DB
#defineCL_UNSIGNED_INT320x10DC
#defineCL_HALF_FLOAT0x10DD
#defineCL_FLOAT0x10DE
//cl_mem_object_type
#defineCL_MEM_OBJECT_BUFFER0x10F0
#defineCL_MEM_OBJECT_IMAGE2D0x10F1
#defineCL_MEM_OBJECT_IMAGE3D0x10F2
//cl_mem_info
#defineCL_MEM_TYPE0x1100
#defineCL_MEM_FLAGS0x1101
#defineCL_MEM_SIZE0x1102
#defineCL_MEM_HOST_PTR0x1103
#defineCL_MEM_MAP_COUNT0x1104
#defineCL_MEM_REFERENCE_COUNT0x1105
#defineCL_MEM_CONTEXT0x1106
//cl_image_info
#defineCL_IMAGE_FORMAT0x1110
#defineCL_IMAGE_ELEMENT_SIZE0x1111
#defineCL_IMAGE_ROW_PITCH0x1112
#defineCL_IMAGE_SLICE_PITCH0x1113
#defineCL_IMAGE_WIDTH0x1114
#defineCL_IMAGE_HEIGHT0x1115
#defineCL_IMAGE_DEPTH0x1116
//cl_addressing_mode
#defineCL_ADDRESS_NONE0x1130
#defineCL_ADDRESS_CLAMP_TO_EDGE0x1131
#defineCL_ADDRESS_CLAMP0x1132
#defineCL_ADDRESS_REPEAT0x1133
//cl_filter_mode
#defineCL_FILTER_NEAREST0x1140
#defineCL_FILTER_LINEAR0x1141
//cl_sampler_info
#defineCL_SAMPLER_REFERENCE_COUNT0x1150
#defineCL_SAMPLER_CONTEXT0x1151
#defineCL_SAMPLER_NORMALIZED_COORDS0x1152
#defineCL_SAMPLER_ADDRESSING_MODE0x1153
#defineCL_SAMPLER_FILTER_MODE0x1154
//cl_map_flags-bitfield
#defineCL_MAP_READ(1<<0)
#defineCL_MAP_WRITE(1<<1)
//cl_program_info
#defineCL_PROGRAM_REFERENCE_COUNT0x1160
#defineCL_PROGRAM_CONTEXT0x1161
#defineCL_PROGRAM_NUM_DEVICES0x1162
#defineCL_PROGRAM_DEVICES0x1163
#defineCL_PROGRAM_SOURCE0x1164
#defineCL_PROGRAM_BINARY_SIZES0x1165
#defineCL_PROGRAM_BINARIES0x1166
//cl_program_build_info
#defineCL_PROGRAM_BUILD_STATUS0x1181
#defineCL_PROGRAM_BUILD_OPTIONS0x1182
#defineCL_PROGRAM_BUILD_LOG0x1183
//cl_build_status
#defineCL_BUILD_SUCCESS0
#defineCL_BUILD_NONE-1
#defineCL_BUILD_ERROR-2
#defineCL_BUILD_IN_PROGRESS-3
//cl_kernel_info
#defineCL_KERNEL_FUNCTION_NAME0x1190
#defineCL_KERNEL_NUM_ARGS0x1191
#defineCL_KERNEL_REFERENCE_COUNT0x1192
#defineCL_KERNEL_CONTEXT0x1193
#defineCL_KERNEL_PROGRAM0x1194
//cl_kernel_work_group_info
#defineCL_KERNEL_WORK_GROUP_SIZE0x11B0
#defineCL_KERNEL_COMPILE_WORK_GROUP_SIZE0x11B1
#defineCL_KERNEL_LOCAL_MEM_SIZE0x11B2
//cl_event_info
#defineCL_EVENT_COMMAND_QUEUE0x11D0
#defineCL_EVENT_COMMAND_TYPE0x11D1
#defineCL_EVENT_REFERENCE_COUNT0x11D2
#defineCL_EVENT_COMMAND_EXECUTION_STATUS0x11D3
//cl_command_type
#defineCL_COMMAND_NDRANGE_KERNEL0x11F0
#defineCL_COMMAND_TASK0x11F1
#defineCL_COMMAND_NATIVE_KERNEL0x11F2
#defineCL_COMMAND_READ_BUFFER0x11F3
#defineCL_COMMAND_WRITE_BUFFER0x11F4
#defineCL_COMMAND_COPY_BUFFER0x11F5
#defineCL_COMMAND_READ_IMAGE0x11F6
#defineCL_COMMAND_WRITE_IMAGE0x11F7
#defineCL_COMMAND_COPY_IMAGE0x11F8
#defineCL_COMMAND_COPY_IMAGE_TO_BUFFER0x11F9
#defineCL_COMMAND_COPY_BUFFER_TO_IMAGE0x11FA
#defineCL_COMMAND_MAP_BUFFER0x11FB
#defineCL_COMMAND_MAP_IMAGE0x11FC
#defineCL_COMMAND_UNMAP_MEM_OBJECT0x11FD
#defineCL_COMMAND_MARKER0x11FE
#defineCL_COMMAND_ACQUIRE_GL_OBJECTS0x11FF
#defineCL_COMMAND_RELEASE_GL_OBJECTS0x1200
//commandexecutionstatus
#defineCL_COMPLETE0x0
#defineCL_RUNNING0x1
#defineCL_SUBMITTED0x2
#defineCL_QUEUED0x3
//cl_profiling_info
#defineCL_PROFILING_COMMAND_QUEUED0x1280
#defineCL_PROFILING_COMMAND_SUBMIT0x1281
#defineCL_PROFILING_COMMAND_START0x1282
#defineCL_PROFILING_COMMAND_END0x1283
//
//PlatformAPI
externCL_API_ENTRYcl_intCL_API_CALL
clGetPlatformIDs(cl_uint/num_entries/,
cl_platform_id/platforms/,
cl_uint/num_platforms/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetPlatformInfo(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;
//DeviceAPIs
externCL_API_ENTRYcl_intCL_API_CALL
clGetDeviceIDs(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;
externCL_API_ENTRYcl_intCL_API_CALL
clGetDeviceInfo(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;
//ContextAPIs
externCL_API_ENTRYcl_contextCL_API_CALL
clCreateContext(constcl_context_properties/properties/,
cl_uint/num_devices/,
constcl_device_id/devices/,
void(pfn_notify)(constchar,constvoid,size_t,void)/pfn_notify/,
void/user_data/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_contextCL_API_CALL
clCreateContextFromType(constcl_context_properties/properties/,
cl_device_type/device_type/,
void(pfn_notify)(constchar,constvoid,size_t,void)/pfn_notify/,
void/user_data/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainContext(cl_context/context/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseContext(cl_context/context/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetContextInfo(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;
//CommandQueueAPIs
externCL_API_ENTRYcl_command_queueCL_API_CALL
clCreateCommandQueue(cl_context/context/,
cl_device_id/device/,
cl_command_queue_properties/properties/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainCommandQueue(cl_command_queue/command_queue/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseCommandQueue(cl_command_queue/command_queue/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetCommandQueueInfo(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;
externCL_API_ENTRYcl_intCL_API_CALL
clSetCommandQueueProperty(cl_command_queue/command_queue/,
cl_command_queue_properties/properties/,
cl_bool/enable/,
cl_command_queue_properties/old_properties/)CL_API_SUFFIX__VERSION_1_0;
//MemoryObjectAPIs
externCL_API_ENTRYcl_memCL_API_CALL
clCreateBuffer(cl_context/context/,
cl_mem_flags/flags/,
size_t/size/,
void/host_ptr/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_memCL_API_CALL
clCreateImage2D(cl_context/context/,
cl_mem_flags/flags/,
constcl_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;
externCL_API_ENTRYcl_memCL_API_CALL
clCreateImage3D(cl_context/context/,
cl_mem_flags/flags/,
constcl_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;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainMemObject(cl_mem/memobj/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseMemObject(cl_mem/memobj/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetSupportedImageFormats(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;
externCL_API_ENTRYcl_intCL_API_CALL
clGetMemObjectInfo(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;
externCL_API_ENTRYcl_intCL_API_CALL
clGetImageInfo(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;
//SamplerAPIs
externCL_API_ENTRYcl_samplerCL_API_CALL
clCreateSampler(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;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainSampler(cl_sampler/sampler/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseSampler(cl_sampler/sampler/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetSamplerInfo(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;
//ProgramObjectAPIs
externCL_API_ENTRYcl_programCL_API_CALL
clCreateProgramWithSource(cl_context/context/,
cl_uint/count/,
constchar/strings/,
constsize_t/lengths/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_programCL_API_CALL
clCreateProgramWithBinary(cl_context/context/,
cl_uint/num_devices/,
constcl_device_id/device_list/,
constsize_t/lengths/,
constunsignedchar/binaries/,
cl_int/binary_status/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainProgram(cl_program/program/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseProgram(cl_program/program/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clBuildProgram(cl_program/program/,
cl_uint/num_devices/,
constcl_device_id/device_list/,
constchar/options/,
void(pfn_notify)(cl_program/program/,void/user_data/),
void/user_data/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clUnloadCompiler(void)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetProgramInfo(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;
externCL_API_ENTRYcl_intCL_API_CALL
clGetProgramBuildInfo(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;
//KernelObjectAPIs
externCL_API_ENTRYcl_kernelCL_API_CALL
clCreateKernel(cl_program/program/,
constchar/kernel_name/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clCreateKernelsInProgram(cl_program/program/,
cl_uint/num_kernels/,
cl_kernel/kernels/,
cl_uint/num_kernels_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainKernel(cl_kernel/kernel/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseKernel(cl_kernel/kernel/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clSetKernelArg(cl_kernel/kernel/,
cl_uint/arg_index/,
size_t/arg_size/,
constvoid/arg_value/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetKernelInfo(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;
externCL_API_ENTRYcl_intCL_API_CALL
clGetKernelWorkGroupInfo(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;
//EventObjectAPIs
externCL_API_ENTRYcl_intCL_API_CALL
clWaitForEvents(cl_uint/num_events/,
constcl_event/event_list/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clGetEventInfo(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;
externCL_API_ENTRYcl_intCL_API_CALL
clRetainEvent(cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clReleaseEvent(cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
//ProfilingAPIs
externCL_API_ENTRYcl_intCL_API_CALL
clGetEventProfilingInfo(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;
//FlushandFinishAPIs
externCL_API_ENTRYcl_intCL_API_CALL
clFlush(cl_command_queue/command_queue/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clFinish(cl_command_queue/command_queue/)CL_API_SUFFIX__VERSION_1_0;
//EnqueuedCommandsAPIs
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueReadBuffer(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/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueWriteBuffer(cl_command_queue/command_queue/,
cl_mem/buffer/,
cl_bool/blocking_write/,
size_t/offset/,
size_t/cb/,
constvoid/ptr/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueCopyBuffer(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/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueReadImage(cl_command_queue/command_queue/,
cl_mem/image/,
cl_bool/blocking_read/,
constsize_t/origin[3]/,
constsize_t/region[3]/,
size_t/row_pitch/,
size_t/slice_pitch/,
void/ptr/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueWriteImage(cl_command_queue/command_queue/,
cl_mem/image/,
cl_bool/blocking_write/,
constsize_t/origin[3]/,
constsize_t/region[3]/,
size_t/input_row_pitch/,
size_t/input_slice_pitch/,
constvoid/ptr/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueCopyImage(cl_command_queue/command_queue/,
cl_mem/src_image/,
cl_mem/dst_image/,
constsize_t/src_origin[3]/,
constsize_t/dst_origin[3]/,
constsize_t/region[3]/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueCopyImageToBuffer(cl_command_queue/command_queue/,
cl_mem/src_image/,
cl_mem/dst_buffer/,
constsize_t/src_origin[3]/,
constsize_t/region[3]/,
size_t/dst_offset/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueCopyBufferToImage(cl_command_queue/command_queue/,
cl_mem/src_buffer/,
cl_mem/dst_image/,
size_t/src_offset/,
constsize_t/dst_origin[3]/,
constsize_t/region[3]/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYvoidCL_API_CALL
clEnqueueMapBuffer(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/,
constcl_event/event_wait_list/,
cl_event/event/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYvoidCL_API_CALL
clEnqueueMapImage(cl_command_queue/command_queue/,
cl_mem/image/,
cl_bool/blocking_map/,
cl_map_flags/map_flags/,
constsize_t/origin[3]/,
constsize_t/region[3]/,
size_t/image_row_pitch/,
size_t/image_slice_pitch/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/,
cl_int/errcode_ret/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueUnmapMemObject(cl_command_queue/command_queue/,
cl_mem/memobj/,
void/mapped_ptr/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueNDRangeKernel(cl_command_queue/command_queue/,
cl_kernel/kernel/,
cl_uint/work_dim/,
constsize_t/global_work_offset/,
constsize_t/global_work_size/,
constsize_t/local_work_size/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueTask(cl_command_queue/command_queue/,
cl_kernel/kernel/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueNativeKernel(cl_command_queue/command_queue/,
void(user_func)(void),
void/args/,
size_t/cb_args/,
cl_uint/num_mem_objects/,
constcl_mem/mem_list/,
constvoid/args_mem_loc/,
cl_uint/num_events_in_wait_list/,
constcl_event/event_wait_list/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueMarker(cl_command_queue/command_queue/,
cl_event/event/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueWaitForEvents(cl_command_queue/command_queue/,
cl_uint/num_events/,
constcl_event/event_list/)CL_API_SUFFIX__VERSION_1_0;
externCL_API_ENTRYcl_intCL_API_CALL
clEnqueueBarrier(cl_command_queue/command_queue/)CL_API_SUFFIX__VERSION_1_0;
//Extensionfunctionaccess
//
//Returnstheextensionfunctionaddressforthegivenfunctionname,
//orNULLifavalidfunctioncannotbefound.Theclientmust
//checktomakesuretheaddressisnotNULL,beforeusingor
//callingthereturnedfunctionaddress.
//
externCL_API_ENTRYvoidCL_API_CALLclGetExtensionFunctionAddress(constchar/func_name/)CL_API_SUFFIX__VERSION_1_0;
#ifdef__cplusplus
}
#endif
#endif//__OPENCL_CL_H
|
|