HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cl.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2008-2018 The Khronos Group Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and/or associated documentation files (the
6  * "Materials"), to deal in the Materials without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Materials, and to
9  * permit persons to whom the Materials are furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included
13  * in all copies or substantial portions of the Materials.
14  *
15  * MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
16  * KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
17  * SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
18  * https://www.khronos.org/registry/
19  *
20  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
27  ******************************************************************************/
28 
29 #ifndef __OPENCL_CL_H
30 #define __OPENCL_CL_H
31 
32 #include <CL/cl_version.h>
33 #include <CL/cl_platform.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 /******************************************************************************/
40 
41 typedef struct _cl_platform_id * cl_platform_id;
42 typedef struct _cl_device_id * cl_device_id;
43 typedef struct _cl_context * cl_context;
44 typedef struct _cl_command_queue * cl_command_queue;
45 typedef struct _cl_mem * cl_mem;
46 typedef struct _cl_program * cl_program;
47 typedef struct _cl_kernel * cl_kernel;
48 typedef struct _cl_event * cl_event;
49 typedef struct _cl_sampler * cl_sampler;
50 
51 typedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */
52 typedef cl_ulong cl_bitfield;
53 typedef cl_bitfield cl_device_type;
54 typedef cl_uint cl_platform_info;
55 typedef cl_uint cl_device_info;
56 typedef cl_bitfield cl_device_fp_config;
57 typedef cl_uint cl_device_mem_cache_type;
58 typedef cl_uint cl_device_local_mem_type;
59 typedef cl_bitfield cl_device_exec_capabilities;
60 #ifdef CL_VERSION_2_0
61 typedef cl_bitfield cl_device_svm_capabilities;
62 #endif
63 typedef cl_bitfield cl_command_queue_properties;
64 #ifdef CL_VERSION_1_2
65 typedef intptr_t cl_device_partition_property;
66 typedef cl_bitfield cl_device_affinity_domain;
67 #endif
68 
69 typedef intptr_t cl_context_properties;
70 typedef cl_uint cl_context_info;
71 #ifdef CL_VERSION_2_0
72 typedef cl_bitfield cl_queue_properties;
73 #endif
74 typedef cl_uint cl_command_queue_info;
75 typedef cl_uint cl_channel_order;
76 typedef cl_uint cl_channel_type;
77 typedef cl_bitfield cl_mem_flags;
78 #ifdef CL_VERSION_2_0
79 typedef cl_bitfield cl_svm_mem_flags;
80 #endif
81 typedef cl_uint cl_mem_object_type;
82 typedef cl_uint cl_mem_info;
83 #ifdef CL_VERSION_1_2
84 typedef cl_bitfield cl_mem_migration_flags;
85 #endif
86 typedef cl_uint cl_image_info;
87 #ifdef CL_VERSION_1_1
88 typedef cl_uint cl_buffer_create_type;
89 #endif
90 typedef cl_uint cl_addressing_mode;
91 typedef cl_uint cl_filter_mode;
92 typedef cl_uint cl_sampler_info;
93 typedef cl_bitfield cl_map_flags;
94 #ifdef CL_VERSION_2_0
95 typedef intptr_t cl_pipe_properties;
96 typedef cl_uint cl_pipe_info;
97 #endif
98 typedef cl_uint cl_program_info;
99 typedef cl_uint cl_program_build_info;
100 #ifdef CL_VERSION_1_2
101 typedef cl_uint cl_program_binary_type;
102 #endif
103 typedef cl_int cl_build_status;
104 typedef cl_uint cl_kernel_info;
105 #ifdef CL_VERSION_1_2
106 typedef cl_uint cl_kernel_arg_info;
107 typedef cl_uint cl_kernel_arg_address_qualifier;
108 typedef cl_uint cl_kernel_arg_access_qualifier;
109 typedef cl_bitfield cl_kernel_arg_type_qualifier;
110 #endif
112 #ifdef CL_VERSION_2_1
113 typedef cl_uint cl_kernel_sub_group_info;
114 #endif
115 typedef cl_uint cl_event_info;
116 typedef cl_uint cl_command_type;
117 typedef cl_uint cl_profiling_info;
118 #ifdef CL_VERSION_2_0
119 typedef cl_bitfield cl_sampler_properties;
120 typedef cl_uint cl_kernel_exec_info;
121 #endif
122 
123 typedef struct _cl_image_format {
124  cl_channel_order image_channel_order;
125  cl_channel_type image_channel_data_type;
127 
128 #ifdef CL_VERSION_1_2
129 
130 typedef struct _cl_image_desc {
131  cl_mem_object_type image_type;
132  size_t image_width;
133  size_t image_height;
134  size_t image_depth;
135  size_t image_array_size;
136  size_t image_row_pitch;
137  size_t image_slice_pitch;
138  cl_uint num_mip_levels;
139  cl_uint num_samples;
140 #ifdef __GNUC__
141  __extension__ /* Prevents warnings about anonymous union in -pedantic builds */
142 #endif
143  union {
144  cl_mem buffer;
145  cl_mem mem_object;
146  };
147 } cl_image_desc;
148 
149 #endif
150 
151 #ifdef CL_VERSION_1_1
152 
153 typedef struct _cl_buffer_region {
154  size_t origin;
155  size_t size;
156 } cl_buffer_region;
157 
158 #endif
159 
160 /******************************************************************************/
161 
162 /* Error Codes */
163 #define CL_SUCCESS 0
164 #define CL_DEVICE_NOT_FOUND -1
165 #define CL_DEVICE_NOT_AVAILABLE -2
166 #define CL_COMPILER_NOT_AVAILABLE -3
167 #define CL_MEM_OBJECT_ALLOCATION_FAILURE -4
168 #define CL_OUT_OF_RESOURCES -5
169 #define CL_OUT_OF_HOST_MEMORY -6
170 #define CL_PROFILING_INFO_NOT_AVAILABLE -7
171 #define CL_MEM_COPY_OVERLAP -8
172 #define CL_IMAGE_FORMAT_MISMATCH -9
173 #define CL_IMAGE_FORMAT_NOT_SUPPORTED -10
174 #define CL_BUILD_PROGRAM_FAILURE -11
175 #define CL_MAP_FAILURE -12
176 #ifdef CL_VERSION_1_1
177 #define CL_MISALIGNED_SUB_BUFFER_OFFSET -13
178 #define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14
179 #endif
180 #ifdef CL_VERSION_1_2
181 #define CL_COMPILE_PROGRAM_FAILURE -15
182 #define CL_LINKER_NOT_AVAILABLE -16
183 #define CL_LINK_PROGRAM_FAILURE -17
184 #define CL_DEVICE_PARTITION_FAILED -18
185 #define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19
186 #endif
187 
188 #define CL_INVALID_VALUE -30
189 #define CL_INVALID_DEVICE_TYPE -31
190 #define CL_INVALID_PLATFORM -32
191 #define CL_INVALID_DEVICE -33
192 #define CL_INVALID_CONTEXT -34
193 #define CL_INVALID_QUEUE_PROPERTIES -35
194 #define CL_INVALID_COMMAND_QUEUE -36
195 #define CL_INVALID_HOST_PTR -37
196 #define CL_INVALID_MEM_OBJECT -38
197 #define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39
198 #define CL_INVALID_IMAGE_SIZE -40
199 #define CL_INVALID_SAMPLER -41
200 #define CL_INVALID_BINARY -42
201 #define CL_INVALID_BUILD_OPTIONS -43
202 #define CL_INVALID_PROGRAM -44
203 #define CL_INVALID_PROGRAM_EXECUTABLE -45
204 #define CL_INVALID_KERNEL_NAME -46
205 #define CL_INVALID_KERNEL_DEFINITION -47
206 #define CL_INVALID_KERNEL -48
207 #define CL_INVALID_ARG_INDEX -49
208 #define CL_INVALID_ARG_VALUE -50
209 #define CL_INVALID_ARG_SIZE -51
210 #define CL_INVALID_KERNEL_ARGS -52
211 #define CL_INVALID_WORK_DIMENSION -53
212 #define CL_INVALID_WORK_GROUP_SIZE -54
213 #define CL_INVALID_WORK_ITEM_SIZE -55
214 #define CL_INVALID_GLOBAL_OFFSET -56
215 #define CL_INVALID_EVENT_WAIT_LIST -57
216 #define CL_INVALID_EVENT -58
217 #define CL_INVALID_OPERATION -59
218 #define CL_INVALID_GL_OBJECT -60
219 #define CL_INVALID_BUFFER_SIZE -61
220 #define CL_INVALID_MIP_LEVEL -62
221 #define CL_INVALID_GLOBAL_WORK_SIZE -63
222 #ifdef CL_VERSION_1_1
223 #define CL_INVALID_PROPERTY -64
224 #endif
225 #ifdef CL_VERSION_1_2
226 #define CL_INVALID_IMAGE_DESCRIPTOR -65
227 #define CL_INVALID_COMPILER_OPTIONS -66
228 #define CL_INVALID_LINKER_OPTIONS -67
229 #define CL_INVALID_DEVICE_PARTITION_COUNT -68
230 #endif
231 #ifdef CL_VERSION_2_0
232 #define CL_INVALID_PIPE_SIZE -69
233 #define CL_INVALID_DEVICE_QUEUE -70
234 #endif
235 #ifdef CL_VERSION_2_2
236 #define CL_INVALID_SPEC_ID -71
237 #define CL_MAX_SIZE_RESTRICTION_EXCEEDED -72
238 #endif
239 
240 
241 /* cl_bool */
242 #define CL_FALSE 0
243 #define CL_TRUE 1
244 #ifdef CL_VERSION_1_2
245 #define CL_BLOCKING CL_TRUE
246 #define CL_NON_BLOCKING CL_FALSE
247 #endif
248 
249 /* cl_platform_info */
250 #define CL_PLATFORM_PROFILE 0x0900
251 #define CL_PLATFORM_VERSION 0x0901
252 #define CL_PLATFORM_NAME 0x0902
253 #define CL_PLATFORM_VENDOR 0x0903
254 #define CL_PLATFORM_EXTENSIONS 0x0904
255 #ifdef CL_VERSION_2_1
256 #define CL_PLATFORM_HOST_TIMER_RESOLUTION 0x0905
257 #endif
258 
259 /* cl_device_type - bitfield */
260 #define CL_DEVICE_TYPE_DEFAULT (1 << 0)
261 #define CL_DEVICE_TYPE_CPU (1 << 1)
262 #define CL_DEVICE_TYPE_GPU (1 << 2)
263 #define CL_DEVICE_TYPE_ACCELERATOR (1 << 3)
264 #ifdef CL_VERSION_1_2
265 #define CL_DEVICE_TYPE_CUSTOM (1 << 4)
266 #endif
267 #define CL_DEVICE_TYPE_ALL 0xFFFFFFFF
268 
269 /* cl_device_info */
270 #define CL_DEVICE_TYPE 0x1000
271 #define CL_DEVICE_VENDOR_ID 0x1001
272 #define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002
273 #define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003
274 #define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004
275 #define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005
276 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006
277 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007
278 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008
279 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009
280 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A
281 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B
282 #define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C
283 #define CL_DEVICE_ADDRESS_BITS 0x100D
284 #define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E
285 #define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F
286 #define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010
287 #define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011
288 #define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012
289 #define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013
290 #define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014
291 #define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015
292 #define CL_DEVICE_IMAGE_SUPPORT 0x1016
293 #define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017
294 #define CL_DEVICE_MAX_SAMPLERS 0x1018
295 #define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019
296 #define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A
297 #define CL_DEVICE_SINGLE_FP_CONFIG 0x101B
298 #define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C
299 #define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D
300 #define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E
301 #define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F
302 #define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020
303 #define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021
304 #define CL_DEVICE_LOCAL_MEM_TYPE 0x1022
305 #define CL_DEVICE_LOCAL_MEM_SIZE 0x1023
306 #define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024
307 #define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025
308 #define CL_DEVICE_ENDIAN_LITTLE 0x1026
309 #define CL_DEVICE_AVAILABLE 0x1027
310 #define CL_DEVICE_COMPILER_AVAILABLE 0x1028
311 #define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029
312 #define CL_DEVICE_QUEUE_PROPERTIES 0x102A /* deprecated */
313 #ifdef CL_VERSION_2_0
314 #define CL_DEVICE_QUEUE_ON_HOST_PROPERTIES 0x102A
315 #endif
316 #define CL_DEVICE_NAME 0x102B
317 #define CL_DEVICE_VENDOR 0x102C
318 #define CL_DRIVER_VERSION 0x102D
319 #define CL_DEVICE_PROFILE 0x102E
320 #define CL_DEVICE_VERSION 0x102F
321 #define CL_DEVICE_EXTENSIONS 0x1030
322 #define CL_DEVICE_PLATFORM 0x1031
323 #ifdef CL_VERSION_1_2
324 #define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032
325 #endif
326 /* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG which is already defined in "cl_ext.h" */
327 #ifdef CL_VERSION_1_1
328 #define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034
329 #define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 /* deprecated */
330 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036
331 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037
332 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038
333 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039
334 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A
335 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B
336 #define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C
337 #define CL_DEVICE_OPENCL_C_VERSION 0x103D
338 #endif
339 #ifdef CL_VERSION_1_2
340 #define CL_DEVICE_LINKER_AVAILABLE 0x103E
341 #define CL_DEVICE_BUILT_IN_KERNELS 0x103F
342 #define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040
343 #define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041
344 #define CL_DEVICE_PARENT_DEVICE 0x1042
345 #define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043
346 #define CL_DEVICE_PARTITION_PROPERTIES 0x1044
347 #define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045
348 #define CL_DEVICE_PARTITION_TYPE 0x1046
349 #define CL_DEVICE_REFERENCE_COUNT 0x1047
350 #define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048
351 #define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049
352 #define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A
353 #define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B
354 #endif
355 #ifdef CL_VERSION_2_0
356 #define CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS 0x104C
357 #define CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE 0x104D
358 #define CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES 0x104E
359 #define CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE 0x104F
360 #define CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE 0x1050
361 #define CL_DEVICE_MAX_ON_DEVICE_QUEUES 0x1051
362 #define CL_DEVICE_MAX_ON_DEVICE_EVENTS 0x1052
363 #define CL_DEVICE_SVM_CAPABILITIES 0x1053
364 #define CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE 0x1054
365 #define CL_DEVICE_MAX_PIPE_ARGS 0x1055
366 #define CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS 0x1056
367 #define CL_DEVICE_PIPE_MAX_PACKET_SIZE 0x1057
368 #define CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT 0x1058
369 #define CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT 0x1059
370 #define CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT 0x105A
371 #endif
372 #ifdef CL_VERSION_2_1
373 #define CL_DEVICE_IL_VERSION 0x105B
374 #define CL_DEVICE_MAX_NUM_SUB_GROUPS 0x105C
375 #define CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS 0x105D
376 #endif
377 
378 /* cl_device_fp_config - bitfield */
379 #define CL_FP_DENORM (1 << 0)
380 #define CL_FP_INF_NAN (1 << 1)
381 #define CL_FP_ROUND_TO_NEAREST (1 << 2)
382 #define CL_FP_ROUND_TO_ZERO (1 << 3)
383 #define CL_FP_ROUND_TO_INF (1 << 4)
384 #define CL_FP_FMA (1 << 5)
385 #ifdef CL_VERSION_1_1
386 #define CL_FP_SOFT_FLOAT (1 << 6)
387 #endif
388 #ifdef CL_VERSION_1_2
389 #define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7)
390 #endif
391 
392 /* cl_device_mem_cache_type */
393 #define CL_NONE 0x0
394 #define CL_READ_ONLY_CACHE 0x1
395 #define CL_READ_WRITE_CACHE 0x2
396 
397 /* cl_device_local_mem_type */
398 #define CL_LOCAL 0x1
399 #define CL_GLOBAL 0x2
400 
401 /* cl_device_exec_capabilities - bitfield */
402 #define CL_EXEC_KERNEL (1 << 0)
403 #define CL_EXEC_NATIVE_KERNEL (1 << 1)
404 
405 /* cl_command_queue_properties - bitfield */
406 #define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0)
407 #define CL_QUEUE_PROFILING_ENABLE (1 << 1)
408 #ifdef CL_VERSION_2_0
409 #define CL_QUEUE_ON_DEVICE (1 << 2)
410 #define CL_QUEUE_ON_DEVICE_DEFAULT (1 << 3)
411 #endif
412 
413 /* cl_context_info */
414 #define CL_CONTEXT_REFERENCE_COUNT 0x1080
415 #define CL_CONTEXT_DEVICES 0x1081
416 #define CL_CONTEXT_PROPERTIES 0x1082
417 #ifdef CL_VERSION_1_1
418 #define CL_CONTEXT_NUM_DEVICES 0x1083
419 #endif
420 
421 /* cl_context_properties */
422 #define CL_CONTEXT_PLATFORM 0x1084
423 #ifdef CL_VERSION_1_2
424 #define CL_CONTEXT_INTEROP_USER_SYNC 0x1085
425 #endif
426 
427 #ifdef CL_VERSION_1_2
428 
429 /* cl_device_partition_property */
430 #define CL_DEVICE_PARTITION_EQUALLY 0x1086
431 #define CL_DEVICE_PARTITION_BY_COUNTS 0x1087
432 #define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0
433 #define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088
434 
435 #endif
436 
437 #ifdef CL_VERSION_1_2
438 
439 /* cl_device_affinity_domain */
440 #define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0)
441 #define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1)
442 #define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2)
443 #define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3)
444 #define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4)
445 #define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5)
446 
447 #endif
448 
449 #ifdef CL_VERSION_2_0
450 
451 /* cl_device_svm_capabilities */
452 #define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER (1 << 0)
453 #define CL_DEVICE_SVM_FINE_GRAIN_BUFFER (1 << 1)
454 #define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM (1 << 2)
455 #define CL_DEVICE_SVM_ATOMICS (1 << 3)
456 
457 #endif
458 
459 /* cl_command_queue_info */
460 #define CL_QUEUE_CONTEXT 0x1090
461 #define CL_QUEUE_DEVICE 0x1091
462 #define CL_QUEUE_REFERENCE_COUNT 0x1092
463 #define CL_QUEUE_PROPERTIES 0x1093
464 #ifdef CL_VERSION_2_0
465 #define CL_QUEUE_SIZE 0x1094
466 #endif
467 #ifdef CL_VERSION_2_1
468 #define CL_QUEUE_DEVICE_DEFAULT 0x1095
469 #endif
470 
471 /* cl_mem_flags and cl_svm_mem_flags - bitfield */
472 #define CL_MEM_READ_WRITE (1 << 0)
473 #define CL_MEM_WRITE_ONLY (1 << 1)
474 #define CL_MEM_READ_ONLY (1 << 2)
475 #define CL_MEM_USE_HOST_PTR (1 << 3)
476 #define CL_MEM_ALLOC_HOST_PTR (1 << 4)
477 #define CL_MEM_COPY_HOST_PTR (1 << 5)
478 /* reserved (1 << 6) */
479 #ifdef CL_VERSION_1_2
480 #define CL_MEM_HOST_WRITE_ONLY (1 << 7)
481 #define CL_MEM_HOST_READ_ONLY (1 << 8)
482 #define CL_MEM_HOST_NO_ACCESS (1 << 9)
483 #endif
484 #ifdef CL_VERSION_2_0
485 #define CL_MEM_SVM_FINE_GRAIN_BUFFER (1 << 10) /* used by cl_svm_mem_flags only */
486 #define CL_MEM_SVM_ATOMICS (1 << 11) /* used by cl_svm_mem_flags only */
487 #define CL_MEM_KERNEL_READ_AND_WRITE (1 << 12)
488 #endif
489 
490 #ifdef CL_VERSION_1_2
491 
492 /* cl_mem_migration_flags - bitfield */
493 #define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0)
494 #define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1)
495 
496 #endif
497 
498 /* cl_channel_order */
499 #define CL_R 0x10B0
500 #define CL_A 0x10B1
501 #define CL_RG 0x10B2
502 #define CL_RA 0x10B3
503 #define CL_RGB 0x10B4
504 #define CL_RGBA 0x10B5
505 #define CL_BGRA 0x10B6
506 #define CL_ARGB 0x10B7
507 #define CL_INTENSITY 0x10B8
508 #define CL_LUMINANCE 0x10B9
509 #ifdef CL_VERSION_1_1
510 #define CL_Rx 0x10BA
511 #define CL_RGx 0x10BB
512 #define CL_RGBx 0x10BC
513 #endif
514 #ifdef CL_VERSION_1_2
515 #define CL_DEPTH 0x10BD
516 #define CL_DEPTH_STENCIL 0x10BE
517 #endif
518 #ifdef CL_VERSION_2_0
519 #define CL_sRGB 0x10BF
520 #define CL_sRGBx 0x10C0
521 #define CL_sRGBA 0x10C1
522 #define CL_sBGRA 0x10C2
523 #define CL_ABGR 0x10C3
524 #endif
525 
526 /* cl_channel_type */
527 #define CL_SNORM_INT8 0x10D0
528 #define CL_SNORM_INT16 0x10D1
529 #define CL_UNORM_INT8 0x10D2
530 #define CL_UNORM_INT16 0x10D3
531 #define CL_UNORM_SHORT_565 0x10D4
532 #define CL_UNORM_SHORT_555 0x10D5
533 #define CL_UNORM_INT_101010 0x10D6
534 #define CL_SIGNED_INT8 0x10D7
535 #define CL_SIGNED_INT16 0x10D8
536 #define CL_SIGNED_INT32 0x10D9
537 #define CL_UNSIGNED_INT8 0x10DA
538 #define CL_UNSIGNED_INT16 0x10DB
539 #define CL_UNSIGNED_INT32 0x10DC
540 #define CL_HALF_FLOAT 0x10DD
541 #define CL_FLOAT 0x10DE
542 #ifdef CL_VERSION_1_2
543 #define CL_UNORM_INT24 0x10DF
544 #endif
545 #ifdef CL_VERSION_2_1
546 #define CL_UNORM_INT_101010_2 0x10E0
547 #endif
548 
549 /* cl_mem_object_type */
550 #define CL_MEM_OBJECT_BUFFER 0x10F0
551 #define CL_MEM_OBJECT_IMAGE2D 0x10F1
552 #define CL_MEM_OBJECT_IMAGE3D 0x10F2
553 #ifdef CL_VERSION_1_2
554 #define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3
555 #define CL_MEM_OBJECT_IMAGE1D 0x10F4
556 #define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5
557 #define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6
558 #endif
559 #ifdef CL_VERSION_2_0
560 #define CL_MEM_OBJECT_PIPE 0x10F7
561 #endif
562 
563 /* cl_mem_info */
564 #define CL_MEM_TYPE 0x1100
565 #define CL_MEM_FLAGS 0x1101
566 #define CL_MEM_SIZE 0x1102
567 #define CL_MEM_HOST_PTR 0x1103
568 #define CL_MEM_MAP_COUNT 0x1104
569 #define CL_MEM_REFERENCE_COUNT 0x1105
570 #define CL_MEM_CONTEXT 0x1106
571 #ifdef CL_VERSION_1_1
572 #define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107
573 #define CL_MEM_OFFSET 0x1108
574 #endif
575 #ifdef CL_VERSION_2_0
576 #define CL_MEM_USES_SVM_POINTER 0x1109
577 #endif
578 
579 /* cl_image_info */
580 #define CL_IMAGE_FORMAT 0x1110
581 #define CL_IMAGE_ELEMENT_SIZE 0x1111
582 #define CL_IMAGE_ROW_PITCH 0x1112
583 #define CL_IMAGE_SLICE_PITCH 0x1113
584 #define CL_IMAGE_WIDTH 0x1114
585 #define CL_IMAGE_HEIGHT 0x1115
586 #define CL_IMAGE_DEPTH 0x1116
587 #ifdef CL_VERSION_1_2
588 #define CL_IMAGE_ARRAY_SIZE 0x1117
589 #define CL_IMAGE_BUFFER 0x1118
590 #define CL_IMAGE_NUM_MIP_LEVELS 0x1119
591 #define CL_IMAGE_NUM_SAMPLES 0x111A
592 #endif
593 
594 #ifdef CL_VERSION_2_0
595 
596 /* cl_pipe_info */
597 #define CL_PIPE_PACKET_SIZE 0x1120
598 #define CL_PIPE_MAX_PACKETS 0x1121
599 
600 #endif
601 
602 /* cl_addressing_mode */
603 #define CL_ADDRESS_NONE 0x1130
604 #define CL_ADDRESS_CLAMP_TO_EDGE 0x1131
605 #define CL_ADDRESS_CLAMP 0x1132
606 #define CL_ADDRESS_REPEAT 0x1133
607 #ifdef CL_VERSION_1_1
608 #define CL_ADDRESS_MIRRORED_REPEAT 0x1134
609 #endif
610 
611 /* cl_filter_mode */
612 #define CL_FILTER_NEAREST 0x1140
613 #define CL_FILTER_LINEAR 0x1141
614 
615 /* cl_sampler_info */
616 #define CL_SAMPLER_REFERENCE_COUNT 0x1150
617 #define CL_SAMPLER_CONTEXT 0x1151
618 #define CL_SAMPLER_NORMALIZED_COORDS 0x1152
619 #define CL_SAMPLER_ADDRESSING_MODE 0x1153
620 #define CL_SAMPLER_FILTER_MODE 0x1154
621 #ifdef CL_VERSION_2_0
622 /* These enumerants are for the cl_khr_mipmap_image extension.
623  They have since been added to cl_ext.h with an appropriate
624  KHR suffix, but are left here for backwards compatibility. */
625 #define CL_SAMPLER_MIP_FILTER_MODE 0x1155
626 #define CL_SAMPLER_LOD_MIN 0x1156
627 #define CL_SAMPLER_LOD_MAX 0x1157
628 #endif
629 
630 /* cl_map_flags - bitfield */
631 #define CL_MAP_READ (1 << 0)
632 #define CL_MAP_WRITE (1 << 1)
633 #ifdef CL_VERSION_1_2
634 #define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2)
635 #endif
636 
637 /* cl_program_info */
638 #define CL_PROGRAM_REFERENCE_COUNT 0x1160
639 #define CL_PROGRAM_CONTEXT 0x1161
640 #define CL_PROGRAM_NUM_DEVICES 0x1162
641 #define CL_PROGRAM_DEVICES 0x1163
642 #define CL_PROGRAM_SOURCE 0x1164
643 #define CL_PROGRAM_BINARY_SIZES 0x1165
644 #define CL_PROGRAM_BINARIES 0x1166
645 #ifdef CL_VERSION_1_2
646 #define CL_PROGRAM_NUM_KERNELS 0x1167
647 #define CL_PROGRAM_KERNEL_NAMES 0x1168
648 #endif
649 #ifdef CL_VERSION_2_1
650 #define CL_PROGRAM_IL 0x1169
651 #endif
652 #ifdef CL_VERSION_2_2
653 #define CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT 0x116A
654 #define CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT 0x116B
655 #endif
656 
657 /* cl_program_build_info */
658 #define CL_PROGRAM_BUILD_STATUS 0x1181
659 #define CL_PROGRAM_BUILD_OPTIONS 0x1182
660 #define CL_PROGRAM_BUILD_LOG 0x1183
661 #ifdef CL_VERSION_1_2
662 #define CL_PROGRAM_BINARY_TYPE 0x1184
663 #endif
664 #ifdef CL_VERSION_2_0
665 #define CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE 0x1185
666 #endif
667 
668 #ifdef CL_VERSION_1_2
669 
670 /* cl_program_binary_type */
671 #define CL_PROGRAM_BINARY_TYPE_NONE 0x0
672 #define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1
673 #define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2
674 #define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4
675 
676 #endif
677 
678 /* cl_build_status */
679 #define CL_BUILD_SUCCESS 0
680 #define CL_BUILD_NONE -1
681 #define CL_BUILD_ERROR -2
682 #define CL_BUILD_IN_PROGRESS -3
683 
684 /* cl_kernel_info */
685 #define CL_KERNEL_FUNCTION_NAME 0x1190
686 #define CL_KERNEL_NUM_ARGS 0x1191
687 #define CL_KERNEL_REFERENCE_COUNT 0x1192
688 #define CL_KERNEL_CONTEXT 0x1193
689 #define CL_KERNEL_PROGRAM 0x1194
690 #ifdef CL_VERSION_1_2
691 #define CL_KERNEL_ATTRIBUTES 0x1195
692 #endif
693 #ifdef CL_VERSION_2_1
694 #define CL_KERNEL_MAX_NUM_SUB_GROUPS 0x11B9
695 #define CL_KERNEL_COMPILE_NUM_SUB_GROUPS 0x11BA
696 #endif
697 
698 #ifdef CL_VERSION_1_2
699 
700 /* cl_kernel_arg_info */
701 #define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196
702 #define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197
703 #define CL_KERNEL_ARG_TYPE_NAME 0x1198
704 #define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199
705 #define CL_KERNEL_ARG_NAME 0x119A
706 
707 #endif
708 
709 #ifdef CL_VERSION_1_2
710 
711 /* cl_kernel_arg_address_qualifier */
712 #define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B
713 #define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C
714 #define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D
715 #define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E
716 
717 #endif
718 
719 #ifdef CL_VERSION_1_2
720 
721 /* cl_kernel_arg_access_qualifier */
722 #define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0
723 #define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1
724 #define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2
725 #define CL_KERNEL_ARG_ACCESS_NONE 0x11A3
726 
727 #endif
728 
729 #ifdef CL_VERSION_1_2
730 
731 /* cl_kernel_arg_type_qualifier */
732 #define CL_KERNEL_ARG_TYPE_NONE 0
733 #define CL_KERNEL_ARG_TYPE_CONST (1 << 0)
734 #define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1)
735 #define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2)
736 #ifdef CL_VERSION_2_0
737 #define CL_KERNEL_ARG_TYPE_PIPE (1 << 3)
738 #endif
739 
740 #endif
741 
742 /* cl_kernel_work_group_info */
743 #define CL_KERNEL_WORK_GROUP_SIZE 0x11B0
744 #define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1
745 #define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2
746 #define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3
747 #define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4
748 #ifdef CL_VERSION_1_2
749 #define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5
750 #endif
751 
752 #ifdef CL_VERSION_2_1
753 
754 /* cl_kernel_sub_group_info */
755 #define CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE 0x2033
756 #define CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE 0x2034
757 #define CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT 0x11B8
758 
759 #endif
760 
761 #ifdef CL_VERSION_2_0
762 
763 /* cl_kernel_exec_info */
764 #define CL_KERNEL_EXEC_INFO_SVM_PTRS 0x11B6
765 #define CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM 0x11B7
766 
767 #endif
768 
769 /* cl_event_info */
770 #define CL_EVENT_COMMAND_QUEUE 0x11D0
771 #define CL_EVENT_COMMAND_TYPE 0x11D1
772 #define CL_EVENT_REFERENCE_COUNT 0x11D2
773 #define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3
774 #ifdef CL_VERSION_1_1
775 #define CL_EVENT_CONTEXT 0x11D4
776 #endif
777 
778 /* cl_command_type */
779 #define CL_COMMAND_NDRANGE_KERNEL 0x11F0
780 #define CL_COMMAND_TASK 0x11F1
781 #define CL_COMMAND_NATIVE_KERNEL 0x11F2
782 #define CL_COMMAND_READ_BUFFER 0x11F3
783 #define CL_COMMAND_WRITE_BUFFER 0x11F4
784 #define CL_COMMAND_COPY_BUFFER 0x11F5
785 #define CL_COMMAND_READ_IMAGE 0x11F6
786 #define CL_COMMAND_WRITE_IMAGE 0x11F7
787 #define CL_COMMAND_COPY_IMAGE 0x11F8
788 #define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9
789 #define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA
790 #define CL_COMMAND_MAP_BUFFER 0x11FB
791 #define CL_COMMAND_MAP_IMAGE 0x11FC
792 #define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD
793 #define CL_COMMAND_MARKER 0x11FE
794 #define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF
795 #define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200
796 #ifdef CL_VERSION_1_1
797 #define CL_COMMAND_READ_BUFFER_RECT 0x1201
798 #define CL_COMMAND_WRITE_BUFFER_RECT 0x1202
799 #define CL_COMMAND_COPY_BUFFER_RECT 0x1203
800 #define CL_COMMAND_USER 0x1204
801 #endif
802 #ifdef CL_VERSION_1_2
803 #define CL_COMMAND_BARRIER 0x1205
804 #define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206
805 #define CL_COMMAND_FILL_BUFFER 0x1207
806 #define CL_COMMAND_FILL_IMAGE 0x1208
807 #endif
808 #ifdef CL_VERSION_2_0
809 #define CL_COMMAND_SVM_FREE 0x1209
810 #define CL_COMMAND_SVM_MEMCPY 0x120A
811 #define CL_COMMAND_SVM_MEMFILL 0x120B
812 #define CL_COMMAND_SVM_MAP 0x120C
813 #define CL_COMMAND_SVM_UNMAP 0x120D
814 #endif
815 
816 /* command execution status */
817 #define CL_COMPLETE 0x0
818 #define CL_RUNNING 0x1
819 #define CL_SUBMITTED 0x2
820 #define CL_QUEUED 0x3
821 
822 #ifdef CL_VERSION_1_1
823 
824 /* cl_buffer_create_type */
825 #define CL_BUFFER_CREATE_TYPE_REGION 0x1220
826 
827 #endif
828 
829 /* cl_profiling_info */
830 #define CL_PROFILING_COMMAND_QUEUED 0x1280
831 #define CL_PROFILING_COMMAND_SUBMIT 0x1281
832 #define CL_PROFILING_COMMAND_START 0x1282
833 #define CL_PROFILING_COMMAND_END 0x1283
834 #ifdef CL_VERSION_2_0
835 #define CL_PROFILING_COMMAND_COMPLETE 0x1284
836 #endif
837 
838 /********************************************************************************************************/
839 
840 /* Platform API */
841 extern CL_API_ENTRY cl_int CL_API_CALL
842 clGetPlatformIDs(cl_uint /* num_entries */,
843  cl_platform_id * /* platforms */,
844  cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0;
845 
846 extern CL_API_ENTRY cl_int CL_API_CALL
847 clGetPlatformInfo(cl_platform_id /* platform */,
848  cl_platform_info /* param_name */,
849  size_t /* param_value_size */,
850  void * /* param_value */,
851  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
852 
853 /* Device APIs */
854 extern CL_API_ENTRY cl_int CL_API_CALL
855 clGetDeviceIDs(cl_platform_id /* platform */,
856  cl_device_type /* device_type */,
857  cl_uint /* num_entries */,
858  cl_device_id * /* devices */,
859  cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0;
860 
861 extern CL_API_ENTRY cl_int CL_API_CALL
862 clGetDeviceInfo(cl_device_id /* device */,
863  cl_device_info /* param_name */,
864  size_t /* param_value_size */,
865  void * /* param_value */,
866  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
867 
868 #ifdef CL_VERSION_1_2
869 
870 extern CL_API_ENTRY cl_int CL_API_CALL
871 clCreateSubDevices(cl_device_id /* in_device */,
872  const cl_device_partition_property * /* properties */,
873  cl_uint /* num_devices */,
874  cl_device_id * /* out_devices */,
875  cl_uint * /* num_devices_ret */) CL_API_SUFFIX__VERSION_1_2;
876 
877 extern CL_API_ENTRY cl_int CL_API_CALL
878 clRetainDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2;
879 
880 extern CL_API_ENTRY cl_int CL_API_CALL
881 clReleaseDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2;
882 
883 #endif
884 
885 #ifdef CL_VERSION_2_1
886 
887 extern CL_API_ENTRY cl_int CL_API_CALL
888 clSetDefaultDeviceCommandQueue(cl_context /* context */,
889  cl_device_id /* device */,
890  cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_2_1;
891 
892 extern CL_API_ENTRY cl_int CL_API_CALL
893 clGetDeviceAndHostTimer(cl_device_id /* device */,
894  cl_ulong* /* device_timestamp */,
895  cl_ulong* /* host_timestamp */) CL_API_SUFFIX__VERSION_2_1;
896 
897 extern CL_API_ENTRY cl_int CL_API_CALL
898 clGetHostTimer(cl_device_id /* device */,
899  cl_ulong * /* host_timestamp */) CL_API_SUFFIX__VERSION_2_1;
900 
901 #endif
902 
903 /* Context APIs */
904 extern CL_API_ENTRY cl_context CL_API_CALL
905 clCreateContext(const cl_context_properties * /* properties */,
906  cl_uint /* num_devices */,
907  const cl_device_id * /* devices */,
908  void (CL_CALLBACK * /* pfn_notify */)(const char *, const void *, size_t, void *),
909  void * /* user_data */,
910  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
911 
912 extern CL_API_ENTRY cl_context CL_API_CALL
913 clCreateContextFromType(const cl_context_properties * /* properties */,
914  cl_device_type /* device_type */,
915  void (CL_CALLBACK * /* pfn_notify*/ )(const char *, const void *, size_t, void *),
916  void * /* user_data */,
917  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
918 
919 extern CL_API_ENTRY cl_int CL_API_CALL
920 clRetainContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0;
921 
922 extern CL_API_ENTRY cl_int CL_API_CALL
923 clReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0;
924 
925 extern CL_API_ENTRY cl_int CL_API_CALL
926 clGetContextInfo(cl_context /* context */,
927  cl_context_info /* param_name */,
928  size_t /* param_value_size */,
929  void * /* param_value */,
930  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
931 
932 /* Command Queue APIs */
933 
934 #ifdef CL_VERSION_2_0
935 
936 extern CL_API_ENTRY cl_command_queue CL_API_CALL
937 clCreateCommandQueueWithProperties(cl_context /* context */,
938  cl_device_id /* device */,
939  const cl_queue_properties * /* properties */,
940  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
941 
942 #endif
943 
944 extern CL_API_ENTRY cl_int CL_API_CALL
945 clRetainCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0;
946 
947 extern CL_API_ENTRY cl_int CL_API_CALL
948 clReleaseCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0;
949 
950 extern CL_API_ENTRY cl_int CL_API_CALL
951 clGetCommandQueueInfo(cl_command_queue /* command_queue */,
952  cl_command_queue_info /* param_name */,
953  size_t /* param_value_size */,
954  void * /* param_value */,
955  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
956 
957 /* Memory Object APIs */
958 extern CL_API_ENTRY cl_mem CL_API_CALL
959 clCreateBuffer(cl_context /* context */,
960  cl_mem_flags /* flags */,
961  size_t /* size */,
962  void * /* host_ptr */,
963  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
964 
965 #ifdef CL_VERSION_1_1
966 
967 extern CL_API_ENTRY cl_mem CL_API_CALL
968 clCreateSubBuffer(cl_mem /* buffer */,
969  cl_mem_flags /* flags */,
970  cl_buffer_create_type /* buffer_create_type */,
971  const void * /* buffer_create_info */,
972  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
973 
974 #endif
975 
976 #ifdef CL_VERSION_1_2
977 
978 extern CL_API_ENTRY cl_mem CL_API_CALL
979 clCreateImage(cl_context /* context */,
980  cl_mem_flags /* flags */,
981  const cl_image_format * /* image_format */,
982  const cl_image_desc * /* image_desc */,
983  void * /* host_ptr */,
984  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
985 
986 #endif
987 
988 #ifdef CL_VERSION_2_0
989 
990 extern CL_API_ENTRY cl_mem CL_API_CALL
991 clCreatePipe(cl_context /* context */,
992  cl_mem_flags /* flags */,
993  cl_uint /* pipe_packet_size */,
994  cl_uint /* pipe_max_packets */,
995  const cl_pipe_properties * /* properties */,
996  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
997 
998 #endif
999 
1000 extern CL_API_ENTRY cl_int CL_API_CALL
1001 clRetainMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0;
1002 
1003 extern CL_API_ENTRY cl_int CL_API_CALL
1004 clReleaseMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0;
1005 
1006 extern CL_API_ENTRY cl_int CL_API_CALL
1007 clGetSupportedImageFormats(cl_context /* context */,
1008  cl_mem_flags /* flags */,
1009  cl_mem_object_type /* image_type */,
1010  cl_uint /* num_entries */,
1011  cl_image_format * /* image_formats */,
1012  cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0;
1013 
1014 extern CL_API_ENTRY cl_int CL_API_CALL
1015 clGetMemObjectInfo(cl_mem /* memobj */,
1016  cl_mem_info /* param_name */,
1017  size_t /* param_value_size */,
1018  void * /* param_value */,
1019  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1020 
1021 extern CL_API_ENTRY cl_int CL_API_CALL
1022 clGetImageInfo(cl_mem /* image */,
1023  cl_image_info /* param_name */,
1024  size_t /* param_value_size */,
1025  void * /* param_value */,
1026  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1027 
1028 #ifdef CL_VERSION_2_0
1029 
1030 extern CL_API_ENTRY cl_int CL_API_CALL
1031 clGetPipeInfo(cl_mem /* pipe */,
1032  cl_pipe_info /* param_name */,
1033  size_t /* param_value_size */,
1034  void * /* param_value */,
1035  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0;
1036 
1037 #endif
1038 
1039 #ifdef CL_VERSION_1_1
1040 
1041 extern CL_API_ENTRY cl_int CL_API_CALL
1042 clSetMemObjectDestructorCallback(cl_mem /* memobj */,
1043  void (CL_CALLBACK * /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/),
1044  void * /*user_data */ ) CL_API_SUFFIX__VERSION_1_1;
1045 
1046 #endif
1047 
1048 /* SVM Allocation APIs */
1049 
1050 #ifdef CL_VERSION_2_0
1051 
1052 extern CL_API_ENTRY void * CL_API_CALL
1053 clSVMAlloc(cl_context /* context */,
1054  cl_svm_mem_flags /* flags */,
1055  size_t /* size */,
1056  cl_uint /* alignment */) CL_API_SUFFIX__VERSION_2_0;
1057 
1058 extern CL_API_ENTRY void CL_API_CALL
1059 clSVMFree(cl_context /* context */,
1060  void * /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0;
1061 
1062 #endif
1063 
1064 /* Sampler APIs */
1065 
1066 #ifdef CL_VERSION_2_0
1067 
1068 extern CL_API_ENTRY cl_sampler CL_API_CALL
1069 clCreateSamplerWithProperties(cl_context /* context */,
1070  const cl_sampler_properties * /* sampler_properties */,
1071  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0;
1072 
1073 #endif
1074 
1075 extern CL_API_ENTRY cl_int CL_API_CALL
1076 clRetainSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0;
1077 
1078 extern CL_API_ENTRY cl_int CL_API_CALL
1079 clReleaseSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0;
1080 
1081 extern CL_API_ENTRY cl_int CL_API_CALL
1082 clGetSamplerInfo(cl_sampler /* sampler */,
1083  cl_sampler_info /* param_name */,
1084  size_t /* param_value_size */,
1085  void * /* param_value */,
1086  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1087 
1088 /* Program Object APIs */
1089 extern CL_API_ENTRY cl_program CL_API_CALL
1090 clCreateProgramWithSource(cl_context /* context */,
1091  cl_uint /* count */,
1092  const char ** /* strings */,
1093  const size_t * /* lengths */,
1094  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
1095 
1096 extern CL_API_ENTRY cl_program CL_API_CALL
1097 clCreateProgramWithBinary(cl_context /* context */,
1098  cl_uint /* num_devices */,
1099  const cl_device_id * /* device_list */,
1100  const size_t * /* lengths */,
1101  const unsigned char ** /* binaries */,
1102  cl_int * /* binary_status */,
1103  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
1104 
1105 #ifdef CL_VERSION_1_2
1106 
1107 extern CL_API_ENTRY cl_program CL_API_CALL
1108 clCreateProgramWithBuiltInKernels(cl_context /* context */,
1109  cl_uint /* num_devices */,
1110  const cl_device_id * /* device_list */,
1111  const char * /* kernel_names */,
1112  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2;
1113 
1114 #endif
1115 
1116 #ifdef CL_VERSION_2_1
1117 
1118 extern CL_API_ENTRY cl_program CL_API_CALL
1119 clCreateProgramWithIL(cl_context /* context */,
1120  const void* /* il */,
1121  size_t /* length */,
1122  cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_2_1;
1123 
1124 #endif
1125 
1126 extern CL_API_ENTRY cl_int CL_API_CALL
1127 clRetainProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0;
1128 
1129 extern CL_API_ENTRY cl_int CL_API_CALL
1130 clReleaseProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0;
1131 
1132 extern CL_API_ENTRY cl_int CL_API_CALL
1133 clBuildProgram(cl_program /* program */,
1134  cl_uint /* num_devices */,
1135  const cl_device_id * /* device_list */,
1136  const char * /* options */,
1137  void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */),
1138  void * /* user_data */) CL_API_SUFFIX__VERSION_1_0;
1139 
1140 #ifdef CL_VERSION_1_2
1141 
1142 extern CL_API_ENTRY cl_int CL_API_CALL
1143 clCompileProgram(cl_program /* program */,
1144  cl_uint /* num_devices */,
1145  const cl_device_id * /* device_list */,
1146  const char * /* options */,
1147  cl_uint /* num_input_headers */,
1148  const cl_program * /* input_headers */,
1149  const char ** /* header_include_names */,
1150  void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */),
1151  void * /* user_data */) CL_API_SUFFIX__VERSION_1_2;
1152 
1153 extern CL_API_ENTRY cl_program CL_API_CALL
1154 clLinkProgram(cl_context /* context */,
1155  cl_uint /* num_devices */,
1156  const cl_device_id * /* device_list */,
1157  const char * /* options */,
1158  cl_uint /* num_input_programs */,
1159  const cl_program * /* input_programs */,
1160  void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */),
1161  void * /* user_data */,
1162  cl_int * /* errcode_ret */ ) CL_API_SUFFIX__VERSION_1_2;
1163 
1164 #endif
1165 
1166 #ifdef CL_VERSION_2_2
1167 
1168 extern CL_API_ENTRY cl_int CL_API_CALL
1169 clSetProgramReleaseCallback(cl_program /* program */,
1170  void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */),
1171  void * /* user_data */) CL_API_SUFFIX__VERSION_2_2;
1172 
1173 extern CL_API_ENTRY cl_int CL_API_CALL
1174 clSetProgramSpecializationConstant(cl_program /* program */,
1175  cl_uint /* spec_id */,
1176  size_t /* spec_size */,
1177  const void* /* spec_value */) CL_API_SUFFIX__VERSION_2_2;
1178 
1179 #endif
1180 
1181 #ifdef CL_VERSION_1_2
1182 
1183 extern CL_API_ENTRY cl_int CL_API_CALL
1184 clUnloadPlatformCompiler(cl_platform_id /* platform */) CL_API_SUFFIX__VERSION_1_2;
1185 
1186 #endif
1187 
1188 extern CL_API_ENTRY cl_int CL_API_CALL
1189 clGetProgramInfo(cl_program /* program */,
1190  cl_program_info /* param_name */,
1191  size_t /* param_value_size */,
1192  void * /* param_value */,
1193  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1194 
1195 extern CL_API_ENTRY cl_int CL_API_CALL
1196 clGetProgramBuildInfo(cl_program /* program */,
1197  cl_device_id /* device */,
1198  cl_program_build_info /* param_name */,
1199  size_t /* param_value_size */,
1200  void * /* param_value */,
1201  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1202 
1203 /* Kernel Object APIs */
1204 extern CL_API_ENTRY cl_kernel CL_API_CALL
1205 clCreateKernel(cl_program /* program */,
1206  const char * /* kernel_name */,
1207  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
1208 
1209 extern CL_API_ENTRY cl_int CL_API_CALL
1210 clCreateKernelsInProgram(cl_program /* program */,
1211  cl_uint /* num_kernels */,
1212  cl_kernel * /* kernels */,
1213  cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0;
1214 
1215 #ifdef CL_VERSION_2_1
1216 
1217 extern CL_API_ENTRY cl_kernel CL_API_CALL
1218 clCloneKernel(cl_kernel /* source_kernel */,
1219  cl_int* /* errcode_ret */) CL_API_SUFFIX__VERSION_2_1;
1220 
1221 #endif
1222 
1223 extern CL_API_ENTRY cl_int CL_API_CALL
1224 clRetainKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0;
1225 
1226 extern CL_API_ENTRY cl_int CL_API_CALL
1227 clReleaseKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0;
1228 
1229 extern CL_API_ENTRY cl_int CL_API_CALL
1230 clSetKernelArg(cl_kernel /* kernel */,
1231  cl_uint /* arg_index */,
1232  size_t /* arg_size */,
1233  const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0;
1234 
1235 #ifdef CL_VERSION_2_0
1236 
1237 extern CL_API_ENTRY cl_int CL_API_CALL
1238 clSetKernelArgSVMPointer(cl_kernel /* kernel */,
1239  cl_uint /* arg_index */,
1240  const void * /* arg_value */) CL_API_SUFFIX__VERSION_2_0;
1241 
1242 extern CL_API_ENTRY cl_int CL_API_CALL
1243 clSetKernelExecInfo(cl_kernel /* kernel */,
1244  cl_kernel_exec_info /* param_name */,
1245  size_t /* param_value_size */,
1246  const void * /* param_value */) CL_API_SUFFIX__VERSION_2_0;
1247 
1248 #endif
1249 
1250 extern CL_API_ENTRY cl_int CL_API_CALL
1251 clGetKernelInfo(cl_kernel /* kernel */,
1252  cl_kernel_info /* param_name */,
1253  size_t /* param_value_size */,
1254  void * /* param_value */,
1255  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1256 
1257 #ifdef CL_VERSION_1_2
1258 
1259 extern CL_API_ENTRY cl_int CL_API_CALL
1260 clGetKernelArgInfo(cl_kernel /* kernel */,
1261  cl_uint /* arg_indx */,
1262  cl_kernel_arg_info /* param_name */,
1263  size_t /* param_value_size */,
1264  void * /* param_value */,
1265  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2;
1266 
1267 #endif
1268 
1269 extern CL_API_ENTRY cl_int CL_API_CALL
1270 clGetKernelWorkGroupInfo(cl_kernel /* kernel */,
1271  cl_device_id /* device */,
1272  cl_kernel_work_group_info /* param_name */,
1273  size_t /* param_value_size */,
1274  void * /* param_value */,
1275  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1276 
1277 #ifdef CL_VERSION_2_1
1278 
1279 extern CL_API_ENTRY cl_int CL_API_CALL
1280 clGetKernelSubGroupInfo(cl_kernel /* kernel */,
1281  cl_device_id /* device */,
1282  cl_kernel_sub_group_info /* param_name */,
1283  size_t /* input_value_size */,
1284  const void* /*input_value */,
1285  size_t /* param_value_size */,
1286  void* /* param_value */,
1287  size_t* /* param_value_size_ret */ ) CL_API_SUFFIX__VERSION_2_1;
1288 
1289 #endif
1290 
1291 /* Event Object APIs */
1292 extern CL_API_ENTRY cl_int CL_API_CALL
1293 clWaitForEvents(cl_uint /* num_events */,
1294  const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0;
1295 
1296 extern CL_API_ENTRY cl_int CL_API_CALL
1297 clGetEventInfo(cl_event /* event */,
1298  cl_event_info /* param_name */,
1299  size_t /* param_value_size */,
1300  void * /* param_value */,
1301  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1302 
1303 #ifdef CL_VERSION_1_1
1304 
1305 extern CL_API_ENTRY cl_event CL_API_CALL
1306 clCreateUserEvent(cl_context /* context */,
1307  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1;
1308 
1309 #endif
1310 
1311 extern CL_API_ENTRY cl_int CL_API_CALL
1312 clRetainEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0;
1313 
1314 extern CL_API_ENTRY cl_int CL_API_CALL
1315 clReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0;
1316 
1317 #ifdef CL_VERSION_1_1
1318 
1319 extern CL_API_ENTRY cl_int CL_API_CALL
1320 clSetUserEventStatus(cl_event /* event */,
1321  cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1;
1322 
1323 extern CL_API_ENTRY cl_int CL_API_CALL
1324 clSetEventCallback( cl_event /* event */,
1325  cl_int /* command_exec_callback_type */,
1326  void (CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *),
1327  void * /* user_data */) CL_API_SUFFIX__VERSION_1_1;
1328 
1329 #endif
1330 
1331 /* Profiling APIs */
1332 extern CL_API_ENTRY cl_int CL_API_CALL
1333 clGetEventProfilingInfo(cl_event /* event */,
1334  cl_profiling_info /* param_name */,
1335  size_t /* param_value_size */,
1336  void * /* param_value */,
1337  size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0;
1338 
1339 /* Flush and Finish APIs */
1340 extern CL_API_ENTRY cl_int CL_API_CALL
1341 clFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0;
1342 
1343 extern CL_API_ENTRY cl_int CL_API_CALL
1344 clFinish(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0;
1345 
1346 /* Enqueued Commands APIs */
1347 extern CL_API_ENTRY cl_int CL_API_CALL
1348 clEnqueueReadBuffer(cl_command_queue /* command_queue */,
1349  cl_mem /* buffer */,
1350  cl_bool /* blocking_read */,
1351  size_t /* offset */,
1352  size_t /* size */,
1353  void * /* ptr */,
1354  cl_uint /* num_events_in_wait_list */,
1355  const cl_event * /* event_wait_list */,
1356  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1357 
1358 #ifdef CL_VERSION_1_1
1359 
1360 extern CL_API_ENTRY cl_int CL_API_CALL
1361 clEnqueueReadBufferRect(cl_command_queue /* command_queue */,
1362  cl_mem /* buffer */,
1363  cl_bool /* blocking_read */,
1364  const size_t * /* buffer_offset */,
1365  const size_t * /* host_offset */,
1366  const size_t * /* region */,
1367  size_t /* buffer_row_pitch */,
1368  size_t /* buffer_slice_pitch */,
1369  size_t /* host_row_pitch */,
1370  size_t /* host_slice_pitch */,
1371  void * /* ptr */,
1372  cl_uint /* num_events_in_wait_list */,
1373  const cl_event * /* event_wait_list */,
1374  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1;
1375 
1376 #endif
1377 
1378 extern CL_API_ENTRY cl_int CL_API_CALL
1379 clEnqueueWriteBuffer(cl_command_queue /* command_queue */,
1380  cl_mem /* buffer */,
1381  cl_bool /* blocking_write */,
1382  size_t /* offset */,
1383  size_t /* size */,
1384  const void * /* ptr */,
1385  cl_uint /* num_events_in_wait_list */,
1386  const cl_event * /* event_wait_list */,
1387  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1388 
1389 #ifdef CL_VERSION_1_1
1390 
1391 extern CL_API_ENTRY cl_int CL_API_CALL
1392 clEnqueueWriteBufferRect(cl_command_queue /* command_queue */,
1393  cl_mem /* buffer */,
1394  cl_bool /* blocking_write */,
1395  const size_t * /* buffer_offset */,
1396  const size_t * /* host_offset */,
1397  const size_t * /* region */,
1398  size_t /* buffer_row_pitch */,
1399  size_t /* buffer_slice_pitch */,
1400  size_t /* host_row_pitch */,
1401  size_t /* host_slice_pitch */,
1402  const void * /* ptr */,
1403  cl_uint /* num_events_in_wait_list */,
1404  const cl_event * /* event_wait_list */,
1405  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1;
1406 
1407 #endif
1408 
1409 #ifdef CL_VERSION_1_2
1410 
1411 extern CL_API_ENTRY cl_int CL_API_CALL
1412 clEnqueueFillBuffer(cl_command_queue /* command_queue */,
1413  cl_mem /* buffer */,
1414  const void * /* pattern */,
1415  size_t /* pattern_size */,
1416  size_t /* offset */,
1417  size_t /* size */,
1418  cl_uint /* num_events_in_wait_list */,
1419  const cl_event * /* event_wait_list */,
1420  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
1421 
1422 #endif
1423 
1424 extern CL_API_ENTRY cl_int CL_API_CALL
1425 clEnqueueCopyBuffer(cl_command_queue /* command_queue */,
1426  cl_mem /* src_buffer */,
1427  cl_mem /* dst_buffer */,
1428  size_t /* src_offset */,
1429  size_t /* dst_offset */,
1430  size_t /* size */,
1431  cl_uint /* num_events_in_wait_list */,
1432  const cl_event * /* event_wait_list */,
1433  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1434 
1435 #ifdef CL_VERSION_1_1
1436 
1437 extern CL_API_ENTRY cl_int CL_API_CALL
1438 clEnqueueCopyBufferRect(cl_command_queue /* command_queue */,
1439  cl_mem /* src_buffer */,
1440  cl_mem /* dst_buffer */,
1441  const size_t * /* src_origin */,
1442  const size_t * /* dst_origin */,
1443  const size_t * /* region */,
1444  size_t /* src_row_pitch */,
1445  size_t /* src_slice_pitch */,
1446  size_t /* dst_row_pitch */,
1447  size_t /* dst_slice_pitch */,
1448  cl_uint /* num_events_in_wait_list */,
1449  const cl_event * /* event_wait_list */,
1450  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1;
1451 
1452 #endif
1453 
1454 extern CL_API_ENTRY cl_int CL_API_CALL
1455 clEnqueueReadImage(cl_command_queue /* command_queue */,
1456  cl_mem /* image */,
1457  cl_bool /* blocking_read */,
1458  const size_t * /* origin[3] */,
1459  const size_t * /* region[3] */,
1460  size_t /* row_pitch */,
1461  size_t /* slice_pitch */,
1462  void * /* ptr */,
1463  cl_uint /* num_events_in_wait_list */,
1464  const cl_event * /* event_wait_list */,
1465  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1466 
1467 extern CL_API_ENTRY cl_int CL_API_CALL
1468 clEnqueueWriteImage(cl_command_queue /* command_queue */,
1469  cl_mem /* image */,
1470  cl_bool /* blocking_write */,
1471  const size_t * /* origin[3] */,
1472  const size_t * /* region[3] */,
1473  size_t /* input_row_pitch */,
1474  size_t /* input_slice_pitch */,
1475  const void * /* ptr */,
1476  cl_uint /* num_events_in_wait_list */,
1477  const cl_event * /* event_wait_list */,
1478  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1479 
1480 #ifdef CL_VERSION_1_2
1481 
1482 extern CL_API_ENTRY cl_int CL_API_CALL
1483 clEnqueueFillImage(cl_command_queue /* command_queue */,
1484  cl_mem /* image */,
1485  const void * /* fill_color */,
1486  const size_t * /* origin[3] */,
1487  const size_t * /* region[3] */,
1488  cl_uint /* num_events_in_wait_list */,
1489  const cl_event * /* event_wait_list */,
1490  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
1491 
1492 #endif
1493 
1494 extern CL_API_ENTRY cl_int CL_API_CALL
1495 clEnqueueCopyImage(cl_command_queue /* command_queue */,
1496  cl_mem /* src_image */,
1497  cl_mem /* dst_image */,
1498  const size_t * /* src_origin[3] */,
1499  const size_t * /* dst_origin[3] */,
1500  const size_t * /* region[3] */,
1501  cl_uint /* num_events_in_wait_list */,
1502  const cl_event * /* event_wait_list */,
1503  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1504 
1505 extern CL_API_ENTRY cl_int CL_API_CALL
1506 clEnqueueCopyImageToBuffer(cl_command_queue /* command_queue */,
1507  cl_mem /* src_image */,
1508  cl_mem /* dst_buffer */,
1509  const size_t * /* src_origin[3] */,
1510  const size_t * /* region[3] */,
1511  size_t /* dst_offset */,
1512  cl_uint /* num_events_in_wait_list */,
1513  const cl_event * /* event_wait_list */,
1514  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1515 
1516 extern CL_API_ENTRY cl_int CL_API_CALL
1517 clEnqueueCopyBufferToImage(cl_command_queue /* command_queue */,
1518  cl_mem /* src_buffer */,
1519  cl_mem /* dst_image */,
1520  size_t /* src_offset */,
1521  const size_t * /* dst_origin[3] */,
1522  const size_t * /* region[3] */,
1523  cl_uint /* num_events_in_wait_list */,
1524  const cl_event * /* event_wait_list */,
1525  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1526 
1527 extern CL_API_ENTRY void * CL_API_CALL
1528 clEnqueueMapBuffer(cl_command_queue /* command_queue */,
1529  cl_mem /* buffer */,
1530  cl_bool /* blocking_map */,
1531  cl_map_flags /* map_flags */,
1532  size_t /* offset */,
1533  size_t /* size */,
1534  cl_uint /* num_events_in_wait_list */,
1535  const cl_event * /* event_wait_list */,
1536  cl_event * /* event */,
1537  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
1538 
1539 extern CL_API_ENTRY void * CL_API_CALL
1540 clEnqueueMapImage(cl_command_queue /* command_queue */,
1541  cl_mem /* image */,
1542  cl_bool /* blocking_map */,
1543  cl_map_flags /* map_flags */,
1544  const size_t * /* origin[3] */,
1545  const size_t * /* region[3] */,
1546  size_t * /* image_row_pitch */,
1547  size_t * /* image_slice_pitch */,
1548  cl_uint /* num_events_in_wait_list */,
1549  const cl_event * /* event_wait_list */,
1550  cl_event * /* event */,
1551  cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0;
1552 
1553 extern CL_API_ENTRY cl_int CL_API_CALL
1554 clEnqueueUnmapMemObject(cl_command_queue /* command_queue */,
1555  cl_mem /* memobj */,
1556  void * /* mapped_ptr */,
1557  cl_uint /* num_events_in_wait_list */,
1558  const cl_event * /* event_wait_list */,
1559  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1560 
1561 #ifdef CL_VERSION_1_2
1562 
1563 extern CL_API_ENTRY cl_int CL_API_CALL
1564 clEnqueueMigrateMemObjects(cl_command_queue /* command_queue */,
1565  cl_uint /* num_mem_objects */,
1566  const cl_mem * /* mem_objects */,
1567  cl_mem_migration_flags /* flags */,
1568  cl_uint /* num_events_in_wait_list */,
1569  const cl_event * /* event_wait_list */,
1570  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
1571 
1572 #endif
1573 
1574 extern CL_API_ENTRY cl_int CL_API_CALL
1575 clEnqueueNDRangeKernel(cl_command_queue /* command_queue */,
1576  cl_kernel /* kernel */,
1577  cl_uint /* work_dim */,
1578  const size_t * /* global_work_offset */,
1579  const size_t * /* global_work_size */,
1580  const size_t * /* local_work_size */,
1581  cl_uint /* num_events_in_wait_list */,
1582  const cl_event * /* event_wait_list */,
1583  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1584 
1585 extern CL_API_ENTRY cl_int CL_API_CALL
1586 clEnqueueNativeKernel(cl_command_queue /* command_queue */,
1587  void (CL_CALLBACK * /*user_func*/)(void *),
1588  void * /* args */,
1589  size_t /* cb_args */,
1590  cl_uint /* num_mem_objects */,
1591  const cl_mem * /* mem_list */,
1592  const void ** /* args_mem_loc */,
1593  cl_uint /* num_events_in_wait_list */,
1594  const cl_event * /* event_wait_list */,
1595  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0;
1596 
1597 #ifdef CL_VERSION_1_2
1598 
1599 extern CL_API_ENTRY cl_int CL_API_CALL
1600 clEnqueueMarkerWithWaitList(cl_command_queue /* command_queue */,
1601  cl_uint /* num_events_in_wait_list */,
1602  const cl_event * /* event_wait_list */,
1603  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
1604 
1605 extern CL_API_ENTRY cl_int CL_API_CALL
1606 clEnqueueBarrierWithWaitList(cl_command_queue /* command_queue */,
1607  cl_uint /* num_events_in_wait_list */,
1608  const cl_event * /* event_wait_list */,
1609  cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
1610 
1611 #endif
1612 
1613 #ifdef CL_VERSION_2_0
1614 
1615 extern CL_API_ENTRY cl_int CL_API_CALL
1616 clEnqueueSVMFree(cl_command_queue /* command_queue */,
1617  cl_uint /* num_svm_pointers */,
1618  void *[] /* svm_pointers[] */,
1619  void (CL_CALLBACK * /*pfn_free_func*/)(cl_command_queue /* queue */,
1620  cl_uint /* num_svm_pointers */,
1621  void *[] /* svm_pointers[] */,
1622  void * /* user_data */),
1623  void * /* user_data */,
1624  cl_uint /* num_events_in_wait_list */,
1625  const cl_event * /* event_wait_list */,
1626  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
1627 
1628 extern CL_API_ENTRY cl_int CL_API_CALL
1629 clEnqueueSVMMemcpy(cl_command_queue /* command_queue */,
1630  cl_bool /* blocking_copy */,
1631  void * /* dst_ptr */,
1632  const void * /* src_ptr */,
1633  size_t /* size */,
1634  cl_uint /* num_events_in_wait_list */,
1635  const cl_event * /* event_wait_list */,
1636  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
1637 
1638 extern CL_API_ENTRY cl_int CL_API_CALL
1639 clEnqueueSVMMemFill(cl_command_queue /* command_queue */,
1640  void * /* svm_ptr */,
1641  const void * /* pattern */,
1642  size_t /* pattern_size */,
1643  size_t /* size */,
1644  cl_uint /* num_events_in_wait_list */,
1645  const cl_event * /* event_wait_list */,
1646  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
1647 
1648 extern CL_API_ENTRY cl_int CL_API_CALL
1649 clEnqueueSVMMap(cl_command_queue /* command_queue */,
1650  cl_bool /* blocking_map */,
1651  cl_map_flags /* flags */,
1652  void * /* svm_ptr */,
1653  size_t /* size */,
1654  cl_uint /* num_events_in_wait_list */,
1655  const cl_event * /* event_wait_list */,
1656  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
1657 
1658 extern CL_API_ENTRY cl_int CL_API_CALL
1659 clEnqueueSVMUnmap(cl_command_queue /* command_queue */,
1660  void * /* svm_ptr */,
1661  cl_uint /* num_events_in_wait_list */,
1662  const cl_event * /* event_wait_list */,
1663  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0;
1664 
1665 #endif
1666 
1667 #ifdef CL_VERSION_2_1
1668 
1669 extern CL_API_ENTRY cl_int CL_API_CALL
1670 clEnqueueSVMMigrateMem(cl_command_queue /* command_queue */,
1671  cl_uint /* num_svm_pointers */,
1672  const void ** /* svm_pointers */,
1673  const size_t * /* sizes */,
1674  cl_mem_migration_flags /* flags */,
1675  cl_uint /* num_events_in_wait_list */,
1676  const cl_event * /* event_wait_list */,
1677  cl_event * /* event */) CL_API_SUFFIX__VERSION_2_1;
1678 
1679 #endif
1680 
1681 #ifdef CL_VERSION_1_2
1682 
1683 /* Extension function access
1684  *
1685  * Returns the extension function address for the given function name,
1686  * or NULL if a valid function can not be found. The client must
1687  * check to make sure the address is not NULL, before using or
1688  * calling the returned function address.
1689  */
1690 extern CL_API_ENTRY void * CL_API_CALL
1691 clGetExtensionFunctionAddressForPlatform(cl_platform_id /* platform */,
1692  const char * /* func_name */) CL_API_SUFFIX__VERSION_1_2;
1693 
1694 #endif
1695 
1696 #ifdef CL_USE_DEPRECATED_OPENCL_1_0_APIS
1697  /*
1698  * WARNING:
1699  * This API introduces mutable state into the OpenCL implementation. It has been REMOVED
1700  * to better facilitate thread safety. The 1.0 API is not thread safe. It is not tested by the
1701  * OpenCL 1.1 conformance test, and consequently may not work or may not work dependably.
1702  * It is likely to be non-performant. Use of this API is not advised. Use at your own risk.
1703  *
1704  * Software developers previously relying on this API are instructed to set the command queue
1705  * properties when creating the queue, instead.
1706  */
1707  extern CL_API_ENTRY cl_int CL_API_CALL
1708  clSetCommandQueueProperty(cl_command_queue /* command_queue */,
1709  cl_command_queue_properties /* properties */,
1710  cl_bool /* enable */,
1711  cl_command_queue_properties * /* old_properties */) CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED;
1712 #endif /* CL_USE_DEPRECATED_OPENCL_1_0_APIS */
1713 
1714 /* Deprecated OpenCL 1.1 APIs */
1716 clCreateImage2D(cl_context /* context */,
1717  cl_mem_flags /* flags */,
1718  const cl_image_format * /* image_format */,
1719  size_t /* image_width */,
1720  size_t /* image_height */,
1721  size_t /* image_row_pitch */,
1722  void * /* host_ptr */,
1723  cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1724 
1726 clCreateImage3D(cl_context /* context */,
1727  cl_mem_flags /* flags */,
1728  const cl_image_format * /* image_format */,
1729  size_t /* image_width */,
1730  size_t /* image_height */,
1731  size_t /* image_depth */,
1732  size_t /* image_row_pitch */,
1733  size_t /* image_slice_pitch */,
1734  void * /* host_ptr */,
1735  cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1736 
1738 clEnqueueMarker(cl_command_queue /* command_queue */,
1739  cl_event * /* event */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1740 
1742 clEnqueueWaitForEvents(cl_command_queue /* command_queue */,
1743  cl_uint /* num_events */,
1744  const cl_event * /* event_list */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1745 
1747 clEnqueueBarrier(cl_command_queue /* command_queue */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1748 
1750 clUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1751 
1753 clGetExtensionFunctionAddress(const char * /* func_name */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED;
1754 
1755 /* Deprecated OpenCL 2.0 APIs */
1757 clCreateCommandQueue(cl_context /* context */,
1758  cl_device_id /* device */,
1759  cl_command_queue_properties /* properties */,
1760  cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
1761 
1763 clCreateSampler(cl_context /* context */,
1764  cl_bool /* normalized_coords */,
1765  cl_addressing_mode /* addressing_mode */,
1766  cl_filter_mode /* filter_mode */,
1767  cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
1768 
1770 clEnqueueTask(cl_command_queue /* command_queue */,
1771  cl_kernel /* kernel */,
1772  cl_uint /* num_events_in_wait_list */,
1773  const cl_event * /* event_wait_list */,
1774  cl_event * /* event */) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED;
1775 
1776 #ifdef __cplusplus
1777 }
1778 #endif
1779 
1780 #endif /* __OPENCL_CL_H */
struct _cl_device_id * cl_device_id
Definition: cl.h:42
cl_uint cl_device_info
Definition: cl.h:55
CL_API_ENTRY cl_int CL_API_CALL clGetEventProfilingInfo(cl_event, cl_profiling_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clRetainEvent(cl_event) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_kernel_sub_group_info
Definition: cl_ext.h:488
struct _cl_context * cl_context
Definition: cl.h:43
#define CL_EXT_PREFIX__VERSION_1_2_DEPRECATED
Definition: cl_platform.h:158
GLsizeiptr size
Definition: glew.h:1681
CL_API_ENTRY cl_int CL_API_CALL clReleaseMemObject(cl_mem) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_kernel CL_API_CALL clCreateKernel(cl_program, const char *, cl_int *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadBuffer(cl_command_queue, cl_mem, cl_bool, size_t, size_t, void *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clReleaseKernel(cl_kernel) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY void *CL_API_CALL clEnqueueMapImage(cl_command_queue, cl_mem, cl_bool, cl_map_flags, const size_t *, const size_t *, size_t *, size_t *, cl_uint, const cl_event *, cl_event *, cl_int *) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_mem_object_type
Definition: cl.h:81
cl_uint cl_program_build_info
Definition: cl.h:99
cl_uint cl_addressing_mode
Definition: cl.h:90
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL clEnqueueMarker(cl_command_queue, cl_event *) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithSource(cl_context, cl_uint, const char **, const size_t *, cl_int *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceInfo(cl_device_id, cl_device_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clRetainMemObject(cl_mem) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clReleaseProgram(cl_program) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_context_info
Definition: cl.h:70
cl_bitfield cl_map_flags
Definition: cl.h:93
CL_API_ENTRY cl_int CL_API_CALL clReleaseSampler(cl_sampler) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL clUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
cl_uint cl_program_info
Definition: cl.h:98
cl_uint cl_channel_order
Definition: cl.h:75
CL_API_ENTRY cl_mem CL_API_CALL clCreateBuffer(cl_context, cl_mem_flags, size_t, void *, cl_int *) CL_API_SUFFIX__VERSION_1_0
cl_ulong cl_bitfield
Definition: cl.h:52
CL_API_ENTRY cl_int CL_API_CALL clReleaseContext(cl_context) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL clCreateImage2D(cl_context, cl_mem_flags, const cl_image_format *, size_t, size_t, size_t, void *, cl_int *) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
CL_API_ENTRY cl_int CL_API_CALL clEnqueueNDRangeKernel(cl_command_queue, cl_kernel, cl_uint, const size_t *, const size_t *, const size_t *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL clCreateImage3D(cl_context, cl_mem_flags, const cl_image_format *, size_t, size_t, size_t, size_t, size_t, void *, cl_int *) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
cl_uint cl_device_local_mem_type
Definition: cl.h:58
CL_API_ENTRY cl_int CL_API_CALL clBuildProgram(cl_program, cl_uint, const cl_device_id *, const char *, void(CL_CALLBACK *)(cl_program, void *), void *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithBinary(cl_context, cl_uint, const cl_device_id *, const size_t *, const unsigned char **, cl_int *, cl_int *) CL_API_SUFFIX__VERSION_1_0
#define CL_API_SUFFIX__VERSION_1_2
Definition: cl_platform.h:61
CL_API_ENTRY cl_int CL_API_CALL clRetainProgram(cl_program) CL_API_SUFFIX__VERSION_1_0
cl_bitfield cl_device_exec_capabilities
Definition: cl.h:59
cl_uint cl_filter_mode
Definition: cl.h:91
CL_API_ENTRY cl_int CL_API_CALL clGetEventInfo(cl_event, cl_event_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_context CL_API_CALL clCreateContextFromType(const cl_context_properties *, cl_device_type, void(CL_CALLBACK *)(const char *, const void *, size_t, void *), void *, cl_int *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetProgramBuildInfo(cl_program, cl_device_id, cl_program_build_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
struct _cl_platform_id * cl_platform_id
Definition: cl.h:41
cl_uint cl_sampler_info
Definition: cl.h:92
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL clEnqueueBarrier(cl_command_queue) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
cl_channel_type image_channel_data_type
Definition: cl.h:125
#define CL_API_ENTRY
Definition: cl_platform.h:43
#define CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
Definition: cl_platform.h:154
cl_uint cl_channel_type
Definition: cl.h:76
cl_uint cl_platform_info
Definition: cl.h:54
cl_uint cl_command_queue_info
Definition: cl.h:74
CL_API_ENTRY cl_int CL_API_CALL clGetCommandQueueInfo(cl_command_queue, cl_command_queue_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL clEnqueueWaitForEvents(cl_command_queue, cl_uint, const cl_event *) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
CL_API_ENTRY cl_int CL_API_CALL clGetContextInfo(cl_context, cl_context_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
#define CL_API_SUFFIX__VERSION_2_2
Definition: cl_platform.h:67
cl_bitfield cl_device_type
Definition: cl.h:53
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImageToBuffer(cl_command_queue, cl_mem, cl_mem, const size_t *, const size_t *, size_t, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
#define CL_CALLBACK
Definition: cl.hpp:170
CL_API_ENTRY cl_int CL_API_CALL clReleaseEvent(cl_event) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clFinish(cl_command_queue) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY void *CL_API_CALL clEnqueueMapBuffer(cl_command_queue, cl_mem, cl_bool, cl_map_flags, size_t, size_t, cl_uint, const cl_event *, cl_event *, cl_int *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED void *CL_API_CALL clGetExtensionFunctionAddress(const char *) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED
CL_API_ENTRY cl_int CL_API_CALL clEnqueueUnmapMemObject(cl_command_queue, cl_mem, void *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
GLuint buffer
Definition: glew.h:1680
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteBuffer(cl_command_queue, cl_mem, cl_bool, size_t, size_t, const void *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clRetainCommandQueue(cl_command_queue) CL_API_SUFFIX__VERSION_1_0
struct _cl_kernel * cl_kernel
Definition: cl.h:47
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDs(cl_platform_id, cl_device_type, cl_uint, cl_device_id *, cl_uint *) CL_API_SUFFIX__VERSION_1_0
cl_bitfield cl_command_queue_properties
Definition: cl.h:63
CL_API_ENTRY cl_int CL_API_CALL clGetImageInfo(cl_mem, cl_image_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
cl_bitfield cl_device_fp_config
Definition: cl.h:56
#define CL_API_SUFFIX__VERSION_2_0
Definition: cl_platform.h:63
#define CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED
Definition: cl_platform.h:151
cl_uint cl_event_info
Definition: cl.h:115
cl_channel_order image_channel_order
Definition: cl.h:124
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_sampler CL_API_CALL clCreateSampler(cl_context, cl_bool, cl_addressing_mode, cl_filter_mode, cl_int *) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_command_queue CL_API_CALL clCreateCommandQueue(cl_context, cl_device_id, cl_command_queue_properties, cl_int *) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
struct _cl_mem * cl_mem
Definition: cl.h:45
CL_API_ENTRY cl_int CL_API_CALL clSetKernelArg(cl_kernel, cl_uint, size_t, const void *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetPlatformIDs(cl_uint, cl_platform_id *, cl_uint *) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_mem_info
Definition: cl.h:82
CL_API_ENTRY cl_context CL_API_CALL clCreateContext(const cl_context_properties *, cl_uint, const cl_device_id *, void(CL_CALLBACK *)(const char *, const void *, size_t, void *), void *, cl_int *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clRetainKernel(cl_kernel) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clRetainSampler(cl_sampler) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_2_DEPRECATED cl_int CL_API_CALL clEnqueueTask(cl_command_queue, cl_kernel, cl_uint, const cl_event *, cl_event *) CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
struct _cl_sampler * cl_sampler
Definition: cl.h:49
CL_API_ENTRY cl_int CL_API_CALL clGetSupportedImageFormats(cl_context, cl_mem_flags, cl_mem_object_type, cl_uint, cl_image_format *, cl_uint *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetPlatformInfo(cl_platform_id, cl_platform_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetSamplerInfo(cl_sampler, cl_sampler_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetProgramInfo(cl_program, cl_program_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clFlush(cl_command_queue) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_image_info
Definition: cl.h:86
cl_uint cl_command_type
Definition: cl.h:116
intptr_t cl_context_properties
Definition: cl.h:69
struct _cl_event * cl_event
Definition: cl.h:48
cl_int cl_build_status
Definition: cl.h:103
struct _cl_command_queue * cl_command_queue
Definition: cl.h:44
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBufferToImage(cl_command_queue, cl_mem, cl_mem, size_t, const size_t *, const size_t *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clWaitForEvents(cl_uint, const cl_event *) CL_API_SUFFIX__VERSION_1_0
#define CL_EXT_SUFFIX__VERSION_1_2_DEPRECATED
Definition: cl_platform.h:157
CL_API_ENTRY cl_int CL_API_CALL clEnqueueNativeKernel(cl_command_queue, void(CL_CALLBACK *)(void *), void *, size_t, cl_uint, const cl_mem *, const void **, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clGetMemObjectInfo(cl_mem, cl_mem_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
#define CL_API_SUFFIX__VERSION_1_1
Definition: cl_platform.h:59
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteImage(cl_command_queue, cl_mem, cl_bool, const size_t *, const size_t *, size_t, size_t, const void *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
#define CL_API_SUFFIX__VERSION_1_0
Definition: cl_platform.h:57
CL_API_ENTRY cl_int CL_API_CALL clRetainContext(cl_context) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImage(cl_command_queue, cl_mem, cl_mem, const size_t *, const size_t *, const size_t *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_kernel_work_group_info
Definition: cl.h:111
#define CL_API_CALL
Definition: cl_platform.h:44
#define CL_API_SUFFIX__VERSION_2_1
Definition: cl_platform.h:65
struct _cl_program * cl_program
Definition: cl.h:46
cl_uint cl_kernel_info
Definition: cl.h:104
#define const
Definition: zconf.h:214
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBuffer(cl_command_queue, cl_mem, cl_mem, size_t, size_t, size_t, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clReleaseCommandQueue(cl_command_queue) CL_API_SUFFIX__VERSION_1_0
struct _cl_image_format cl_image_format
cl_uint cl_device_mem_cache_type
Definition: cl.h:57
CL_API_ENTRY cl_int CL_API_CALL clGetKernelInfo(cl_kernel, cl_kernel_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_bool
Definition: cl.h:51
cl_bitfield cl_mem_flags
Definition: cl.h:77
#define CL_EXT_PREFIX__VERSION_1_1_DEPRECATED
Definition: cl_platform.h:155
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadImage(cl_command_queue, cl_mem, cl_bool, const size_t *, const size_t *, size_t, size_t, void *, cl_uint, const cl_event *, cl_event *) CL_API_SUFFIX__VERSION_1_0
cl_uint cl_profiling_info
Definition: cl.h:117
CL_API_ENTRY cl_int CL_API_CALL clGetKernelWorkGroupInfo(cl_kernel, cl_device_id, cl_kernel_work_group_info, size_t, void *, size_t *) CL_API_SUFFIX__VERSION_1_0
CL_API_ENTRY cl_int CL_API_CALL clCreateKernelsInProgram(cl_program, cl_uint, cl_kernel *, cl_uint *) CL_API_SUFFIX__VERSION_1_0