1 ! Copyright (C) 2010 Erik Charlebois.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien.c-types alien.libraries alien.syntax classes.struct
4 combinators system alien.accessors byte-arrays kernel ;
8 { [ os windows? ] [ "OpenCL.dll" ] }
9 { [ os macosx? ] [ "/System/Library/Frameworks/OpenCL.framework/OpenCL" ] }
10 { [ os unix? ] [ "libOpenCL.so" ] }
11 } cond "stdcall" add-library >>
16 TYPEDEF: uchar cl_uchar
17 TYPEDEF: short cl_short
18 TYPEDEF: ushort cl_ushort
21 TYPEDEF: longlong cl_long
22 TYPEDEF: ulonglong cl_ulong
23 TYPEDEF: ushort cl_half
24 TYPEDEF: float cl_float
25 TYPEDEF: double cl_double
27 CONSTANT: CL_CHAR_BIT 8
28 CONSTANT: CL_SCHAR_MAX 127
29 CONSTANT: CL_SCHAR_MIN -128
30 CONSTANT: CL_CHAR_MAX 127
31 CONSTANT: CL_CHAR_MIN -128
32 CONSTANT: CL_UCHAR_MAX 255
33 CONSTANT: CL_SHRT_MAX 32767
34 CONSTANT: CL_SHRT_MIN -32768
35 CONSTANT: CL_USHRT_MAX 65535
36 CONSTANT: CL_INT_MAX 2147483647
37 CONSTANT: CL_INT_MIN -2147483648
38 CONSTANT: CL_UINT_MAX HEX: ffffffff
39 CONSTANT: CL_LONG_MAX HEX: 7FFFFFFFFFFFFFFF
40 CONSTANT: CL_LONG_MIN HEX: 8000000000000000
41 CONSTANT: CL_ULONG_MAX HEX: FFFFFFFFFFFFFFFF
43 CONSTANT: CL_FLT_DIG 6
44 CONSTANT: CL_FLT_MANT_DIG 24
45 CONSTANT: CL_FLT_MAX_10_EXP 38
46 CONSTANT: CL_FLT_MAX_EXP 128
47 CONSTANT: CL_FLT_MIN_10_EXP -37
48 CONSTANT: CL_FLT_MIN_EXP -125
49 CONSTANT: CL_FLT_RADIX 2
50 CONSTANT: CL_FLT_MAX 340282346638528859811704183484516925440.0
51 CONSTANT: CL_FLT_MIN 1.175494350822287507969e-38
52 CONSTANT: CL_FLT_EPSILON HEX: 1.0p-23
54 CONSTANT: CL_DBL_DIG 15
55 CONSTANT: CL_DBL_MANT_DIG 53
56 CONSTANT: CL_DBL_MAX_10_EXP 308
57 CONSTANT: CL_DBL_MAX_EXP 1024
58 CONSTANT: CL_DBL_MIN_10_EXP -307
59 CONSTANT: CL_DBL_MIN_EXP -1021
60 CONSTANT: CL_DBL_RADIX 2
61 CONSTANT: CL_DBL_MAX 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0
62 CONSTANT: CL_DBL_MIN 2.225073858507201383090e-308
63 CONSTANT: CL_DBL_EPSILON 2.220446049250313080847e-16
65 CONSTANT: CL_NAN NAN: 0
66 CONSTANT: CL_HUGE_VALF 1.0e50
67 CONSTANT: CL_HUGE_VAL 1.0e500
68 CONSTANT: CL_MAXFLOAT 340282346638528859811704183484516925440.0
69 CONSTANT: CL_INFINITY 1.0e50
71 TYPEDEF: uint cl_GLuint
73 TYPEDEF: uint cl_GLenum
76 C-TYPE: _cl_platform_id
79 C-TYPE: _cl_command_queue
86 TYPEDEF: _cl_platform_id* cl_platform_id
87 TYPEDEF: _cl_device_id* cl_device_id
88 TYPEDEF: _cl_context* cl_context
89 TYPEDEF: _cl_command_queue* cl_command_queue
90 TYPEDEF: _cl_mem* cl_mem
91 TYPEDEF: _cl_program* cl_program
92 TYPEDEF: _cl_kernel* cl_kernel
93 TYPEDEF: _cl_event* cl_event
94 TYPEDEF: _cl_sampler* cl_sampler
96 TYPEDEF: cl_uint cl_bool
97 TYPEDEF: cl_ulong cl_bitfield
98 TYPEDEF: cl_bitfield cl_device_type
99 TYPEDEF: cl_uint cl_platform_info
100 TYPEDEF: cl_uint cl_device_info
101 TYPEDEF: cl_bitfield cl_device_address_info
102 TYPEDEF: cl_bitfield cl_device_fp_config
103 TYPEDEF: cl_uint cl_device_mem_cache_type
104 TYPEDEF: cl_uint cl_device_local_mem_type
105 TYPEDEF: cl_bitfield cl_device_exec_capabilities
106 TYPEDEF: cl_bitfield cl_command_queue_properties
108 TYPEDEF: intptr_t cl_context_properties
109 TYPEDEF: cl_uint cl_context_info
110 TYPEDEF: cl_uint cl_command_queue_info
111 TYPEDEF: cl_uint cl_channel_order
112 TYPEDEF: cl_uint cl_channel_type
113 TYPEDEF: cl_bitfield cl_mem_flags
114 TYPEDEF: cl_uint cl_mem_object_type
115 TYPEDEF: cl_uint cl_mem_info
116 TYPEDEF: cl_uint cl_image_info
117 TYPEDEF: cl_uint cl_addressing_mode
118 TYPEDEF: cl_uint cl_filter_mode
119 TYPEDEF: cl_uint cl_sampler_info
120 TYPEDEF: cl_bitfield cl_map_flags
121 TYPEDEF: cl_uint cl_program_info
122 TYPEDEF: cl_uint cl_program_build_info
123 TYPEDEF: cl_int cl_build_status
124 TYPEDEF: cl_uint cl_kernel_info
125 TYPEDEF: cl_uint cl_kernel_work_group_info
126 TYPEDEF: cl_uint cl_event_info
127 TYPEDEF: cl_uint cl_command_type
128 TYPEDEF: cl_uint cl_profiling_info
130 STRUCT: cl_image_format
131 { image_channel_order cl_channel_order }
132 { image_channel_data_type cl_channel_type } ;
134 CONSTANT: CL_SUCCESS 0
135 CONSTANT: CL_DEVICE_NOT_FOUND -1
136 CONSTANT: CL_DEVICE_NOT_AVAILABLE -2
137 CONSTANT: CL_COMPILER_NOT_AVAILABLE -3
138 CONSTANT: CL_MEM_OBJECT_ALLOCATION_FAILURE -4
139 CONSTANT: CL_OUT_OF_RESOURCES -5
140 CONSTANT: CL_OUT_OF_HOST_MEMORY -6
141 CONSTANT: CL_PROFILING_INFO_NOT_AVAILABLE -7
142 CONSTANT: CL_MEM_COPY_OVERLAP -8
143 CONSTANT: CL_IMAGE_FORMAT_MISMATCH -9
144 CONSTANT: CL_IMAGE_FORMAT_NOT_SUPPORTED -10
145 CONSTANT: CL_BUILD_PROGRAM_FAILURE -11
146 CONSTANT: CL_MAP_FAILURE -12
148 CONSTANT: CL_INVALID_VALUE -30
149 CONSTANT: CL_INVALID_DEVICE_TYPE -31
150 CONSTANT: CL_INVALID_PLATFORM -32
151 CONSTANT: CL_INVALID_DEVICE -33
152 CONSTANT: CL_INVALID_CONTEXT -34
153 CONSTANT: CL_INVALID_QUEUE_PROPERTIES -35
154 CONSTANT: CL_INVALID_COMMAND_QUEUE -36
155 CONSTANT: CL_INVALID_HOST_PTR -37
156 CONSTANT: CL_INVALID_MEM_OBJECT -38
157 CONSTANT: CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39
158 CONSTANT: CL_INVALID_IMAGE_SIZE -40
159 CONSTANT: CL_INVALID_SAMPLER -41
160 CONSTANT: CL_INVALID_BINARY -42
161 CONSTANT: CL_INVALID_BUILD_OPTIONS -43
162 CONSTANT: CL_INVALID_PROGRAM -44
163 CONSTANT: CL_INVALID_PROGRAM_EXECUTABLE -45
164 CONSTANT: CL_INVALID_KERNEL_NAME -46
165 CONSTANT: CL_INVALID_KERNEL_DEFINITION -47
166 CONSTANT: CL_INVALID_KERNEL -48
167 CONSTANT: CL_INVALID_ARG_INDEX -49
168 CONSTANT: CL_INVALID_ARG_VALUE -50
169 CONSTANT: CL_INVALID_ARG_SIZE -51
170 CONSTANT: CL_INVALID_KERNEL_ARGS -52
171 CONSTANT: CL_INVALID_WORK_DIMENSION -53
172 CONSTANT: CL_INVALID_WORK_GROUP_SIZE -54
173 CONSTANT: CL_INVALID_WORK_ITEM_SIZE -55
174 CONSTANT: CL_INVALID_GLOBAL_OFFSET -56
175 CONSTANT: CL_INVALID_EVENT_WAIT_LIST -57
176 CONSTANT: CL_INVALID_EVENT -58
177 CONSTANT: CL_INVALID_OPERATION -59
178 CONSTANT: CL_INVALID_GL_OBJECT -60
179 CONSTANT: CL_INVALID_BUFFER_SIZE -61
180 CONSTANT: CL_INVALID_MIP_LEVEL -62
181 CONSTANT: CL_INVALID_GLOBAL_WORK_SIZE -63
183 CONSTANT: CL_VERSION_1_0 1
188 CONSTANT: CL_PLATFORM_PROFILE HEX: 0900
189 CONSTANT: CL_PLATFORM_VERSION HEX: 0901
190 CONSTANT: CL_PLATFORM_NAME HEX: 0902
191 CONSTANT: CL_PLATFORM_VENDOR HEX: 0903
192 CONSTANT: CL_PLATFORM_EXTENSIONS HEX: 0904
194 CONSTANT: CL_DEVICE_TYPE_DEFAULT 1
195 CONSTANT: CL_DEVICE_TYPE_CPU 2
196 CONSTANT: CL_DEVICE_TYPE_GPU 4
197 CONSTANT: CL_DEVICE_TYPE_ACCELERATOR 8
198 CONSTANT: CL_DEVICE_TYPE_ALL HEX: FFFFFFFF
200 CONSTANT: CL_DEVICE_TYPE HEX: 1000
201 CONSTANT: CL_DEVICE_VENDOR_ID HEX: 1001
202 CONSTANT: CL_DEVICE_MAX_COMPUTE_UNITS HEX: 1002
203 CONSTANT: CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS HEX: 1003
204 CONSTANT: CL_DEVICE_MAX_WORK_GROUP_SIZE HEX: 1004
205 CONSTANT: CL_DEVICE_MAX_WORK_ITEM_SIZES HEX: 1005
206 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR HEX: 1006
207 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT HEX: 1007
208 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT HEX: 1008
209 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG HEX: 1009
210 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT HEX: 100A
211 CONSTANT: CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE HEX: 100B
212 CONSTANT: CL_DEVICE_MAX_CLOCK_FREQUENCY HEX: 100C
213 CONSTANT: CL_DEVICE_ADDRESS_BITS HEX: 100D
214 CONSTANT: CL_DEVICE_MAX_READ_IMAGE_ARGS HEX: 100E
215 CONSTANT: CL_DEVICE_MAX_WRITE_IMAGE_ARGS HEX: 100F
216 CONSTANT: CL_DEVICE_MAX_MEM_ALLOC_SIZE HEX: 1010
217 CONSTANT: CL_DEVICE_IMAGE2D_MAX_WIDTH HEX: 1011
218 CONSTANT: CL_DEVICE_IMAGE2D_MAX_HEIGHT HEX: 1012
219 CONSTANT: CL_DEVICE_IMAGE3D_MAX_WIDTH HEX: 1013
220 CONSTANT: CL_DEVICE_IMAGE3D_MAX_HEIGHT HEX: 1014
221 CONSTANT: CL_DEVICE_IMAGE3D_MAX_DEPTH HEX: 1015
222 CONSTANT: CL_DEVICE_IMAGE_SUPPORT HEX: 1016
223 CONSTANT: CL_DEVICE_MAX_PARAMETER_SIZE HEX: 1017
224 CONSTANT: CL_DEVICE_MAX_SAMPLERS HEX: 1018
225 CONSTANT: CL_DEVICE_MEM_BASE_ADDR_ALIGN HEX: 1019
226 CONSTANT: CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE HEX: 101A
227 CONSTANT: CL_DEVICE_SINGLE_FP_CONFIG HEX: 101B
228 CONSTANT: CL_DEVICE_GLOBAL_MEM_CACHE_TYPE HEX: 101C
229 CONSTANT: CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE HEX: 101D
230 CONSTANT: CL_DEVICE_GLOBAL_MEM_CACHE_SIZE HEX: 101E
231 CONSTANT: CL_DEVICE_GLOBAL_MEM_SIZE HEX: 101F
232 CONSTANT: CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE HEX: 1020
233 CONSTANT: CL_DEVICE_MAX_CONSTANT_ARGS HEX: 1021
234 CONSTANT: CL_DEVICE_LOCAL_MEM_TYPE HEX: 1022
235 CONSTANT: CL_DEVICE_LOCAL_MEM_SIZE HEX: 1023
236 CONSTANT: CL_DEVICE_ERROR_CORRECTION_SUPPORT HEX: 1024
237 CONSTANT: CL_DEVICE_PROFILING_TIMER_RESOLUTION HEX: 1025
238 CONSTANT: CL_DEVICE_ENDIAN_LITTLE HEX: 1026
239 CONSTANT: CL_DEVICE_AVAILABLE HEX: 1027
240 CONSTANT: CL_DEVICE_COMPILER_AVAILABLE HEX: 1028
241 CONSTANT: CL_DEVICE_EXECUTION_CAPABILITIES HEX: 1029
242 CONSTANT: CL_DEVICE_QUEUE_PROPERTIES HEX: 102A
243 CONSTANT: CL_DEVICE_NAME HEX: 102B
244 CONSTANT: CL_DEVICE_VENDOR HEX: 102C
245 CONSTANT: CL_DRIVER_VERSION HEX: 102D
246 CONSTANT: CL_DEVICE_PROFILE HEX: 102E
247 CONSTANT: CL_DEVICE_VERSION HEX: 102F
248 CONSTANT: CL_DEVICE_EXTENSIONS HEX: 1030
249 CONSTANT: CL_DEVICE_PLATFORM HEX: 1031
251 CONSTANT: CL_FP_DENORM 1
252 CONSTANT: CL_FP_INF_NAN 2
253 CONSTANT: CL_FP_ROUND_TO_NEAREST 4
254 CONSTANT: CL_FP_ROUND_TO_ZERO 8
255 CONSTANT: CL_FP_ROUND_TO_INF 16
256 CONSTANT: CL_FP_FMA 32
259 CONSTANT: CL_READ_ONLY_CACHE 1
260 CONSTANT: CL_READ_WRITE_CACHE 2
263 CONSTANT: CL_GLOBAL 2
265 CONSTANT: CL_EXEC_KERNEL 1
266 CONSTANT: CL_EXEC_NATIVE_KERNEL 2
268 CONSTANT: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE 1
269 CONSTANT: CL_QUEUE_PROFILING_ENABLE 2
271 CONSTANT: CL_CONTEXT_REFERENCE_COUNT HEX: 1080
272 CONSTANT: CL_CONTEXT_DEVICES HEX: 1081
273 CONSTANT: CL_CONTEXT_PROPERTIES HEX: 1082
275 CONSTANT: CL_CONTEXT_PLATFORM HEX: 1084
277 CONSTANT: CL_QUEUE_CONTEXT HEX: 1090
278 CONSTANT: CL_QUEUE_DEVICE HEX: 1091
279 CONSTANT: CL_QUEUE_REFERENCE_COUNT HEX: 1092
280 CONSTANT: CL_QUEUE_PROPERTIES HEX: 1093
282 CONSTANT: CL_MEM_READ_WRITE 1
283 CONSTANT: CL_MEM_WRITE_ONLY 2
284 CONSTANT: CL_MEM_READ_ONLY 4
285 CONSTANT: CL_MEM_USE_HOST_PTR 8
286 CONSTANT: CL_MEM_ALLOC_HOST_PTR 16
287 CONSTANT: CL_MEM_COPY_HOST_PTR 32
289 CONSTANT: CL_R HEX: 10B0
290 CONSTANT: CL_A HEX: 10B1
291 CONSTANT: CL_RG HEX: 10B2
292 CONSTANT: CL_RA HEX: 10B3
293 CONSTANT: CL_RGB HEX: 10B4
294 CONSTANT: CL_RGBA HEX: 10B5
295 CONSTANT: CL_BGRA HEX: 10B6
296 CONSTANT: CL_ARGB HEX: 10B7
297 CONSTANT: CL_INTENSITY HEX: 10B8
298 CONSTANT: CL_LUMINANCE HEX: 10B9
300 CONSTANT: CL_SNORM_INT8 HEX: 10D0
301 CONSTANT: CL_SNORM_INT16 HEX: 10D1
302 CONSTANT: CL_UNORM_INT8 HEX: 10D2
303 CONSTANT: CL_UNORM_INT16 HEX: 10D3
304 CONSTANT: CL_UNORM_SHORT_565 HEX: 10D4
305 CONSTANT: CL_UNORM_SHORT_555 HEX: 10D5
306 CONSTANT: CL_UNORM_INT_101010 HEX: 10D6
307 CONSTANT: CL_SIGNED_INT8 HEX: 10D7
308 CONSTANT: CL_SIGNED_INT16 HEX: 10D8
309 CONSTANT: CL_SIGNED_INT32 HEX: 10D9
310 CONSTANT: CL_UNSIGNED_INT8 HEX: 10DA
311 CONSTANT: CL_UNSIGNED_INT16 HEX: 10DB
312 CONSTANT: CL_UNSIGNED_INT32 HEX: 10DC
313 CONSTANT: CL_HALF_FLOAT HEX: 10DD
314 CONSTANT: CL_FLOAT HEX: 10DE
316 CONSTANT: CL_MEM_OBJECT_BUFFER HEX: 10F0
317 CONSTANT: CL_MEM_OBJECT_IMAGE2D HEX: 10F1
318 CONSTANT: CL_MEM_OBJECT_IMAGE3D HEX: 10F2
320 CONSTANT: CL_MEM_TYPE HEX: 1100
321 CONSTANT: CL_MEM_FLAGS HEX: 1101
322 CONSTANT: CL_MEM_SIZE HEX: 1102
323 CONSTANT: CL_MEM_HOST_PTR HEX: 1103
324 CONSTANT: CL_MEM_MAP_COUNT HEX: 1104
325 CONSTANT: CL_MEM_REFERENCE_COUNT HEX: 1105
326 CONSTANT: CL_MEM_CONTEXT HEX: 1106
328 CONSTANT: CL_IMAGE_FORMAT HEX: 1110
329 CONSTANT: CL_IMAGE_ELEMENT_SIZE HEX: 1111
330 CONSTANT: CL_IMAGE_ROW_PITCH HEX: 1112
331 CONSTANT: CL_IMAGE_SLICE_PITCH HEX: 1113
332 CONSTANT: CL_IMAGE_WIDTH HEX: 1114
333 CONSTANT: CL_IMAGE_HEIGHT HEX: 1115
334 CONSTANT: CL_IMAGE_DEPTH HEX: 1116
336 CONSTANT: CL_ADDRESS_NONE HEX: 1130
337 CONSTANT: CL_ADDRESS_CLAMP_TO_EDGE HEX: 1131
338 CONSTANT: CL_ADDRESS_CLAMP HEX: 1132
339 CONSTANT: CL_ADDRESS_REPEAT HEX: 1133
341 CONSTANT: CL_FILTER_NEAREST HEX: 1140
342 CONSTANT: CL_FILTER_LINEAR HEX: 1141
344 CONSTANT: CL_SAMPLER_REFERENCE_COUNT HEX: 1150
345 CONSTANT: CL_SAMPLER_CONTEXT HEX: 1151
346 CONSTANT: CL_SAMPLER_NORMALIZED_COORDS HEX: 1152
347 CONSTANT: CL_SAMPLER_ADDRESSING_MODE HEX: 1153
348 CONSTANT: CL_SAMPLER_FILTER_MODE HEX: 1154
350 CONSTANT: CL_MAP_READ 1
351 CONSTANT: CL_MAP_WRITE 2
353 CONSTANT: CL_PROGRAM_REFERENCE_COUNT HEX: 1160
354 CONSTANT: CL_PROGRAM_CONTEXT HEX: 1161
355 CONSTANT: CL_PROGRAM_NUM_DEVICES HEX: 1162
356 CONSTANT: CL_PROGRAM_DEVICES HEX: 1163
357 CONSTANT: CL_PROGRAM_SOURCE HEX: 1164
358 CONSTANT: CL_PROGRAM_BINARY_SIZES HEX: 1165
359 CONSTANT: CL_PROGRAM_BINARIES HEX: 1166
361 CONSTANT: CL_PROGRAM_BUILD_STATUS HEX: 1181
362 CONSTANT: CL_PROGRAM_BUILD_OPTIONS HEX: 1182
363 CONSTANT: CL_PROGRAM_BUILD_LOG HEX: 1183
365 CONSTANT: CL_BUILD_SUCCESS 0
366 CONSTANT: CL_BUILD_NONE -1
367 CONSTANT: CL_BUILD_ERROR -2
368 CONSTANT: CL_BUILD_IN_PROGRESS -3
370 CONSTANT: CL_KERNEL_FUNCTION_NAME HEX: 1190
371 CONSTANT: CL_KERNEL_NUM_ARGS HEX: 1191
372 CONSTANT: CL_KERNEL_REFERENCE_COUNT HEX: 1192
373 CONSTANT: CL_KERNEL_CONTEXT HEX: 1193
374 CONSTANT: CL_KERNEL_PROGRAM HEX: 1194
376 CONSTANT: CL_KERNEL_WORK_GROUP_SIZE HEX: 11B0
377 CONSTANT: CL_KERNEL_COMPILE_WORK_GROUP_SIZE HEX: 11B1
378 CONSTANT: CL_KERNEL_LOCAL_MEM_SIZE HEX: 11B2
380 CONSTANT: CL_EVENT_COMMAND_QUEUE HEX: 11D0
381 CONSTANT: CL_EVENT_COMMAND_TYPE HEX: 11D1
382 CONSTANT: CL_EVENT_REFERENCE_COUNT HEX: 11D2
383 CONSTANT: CL_EVENT_COMMAND_EXECUTION_STATUS HEX: 11D3
385 CONSTANT: CL_COMMAND_NDRANGE_KERNEL HEX: 11F0
386 CONSTANT: CL_COMMAND_TASK HEX: 11F1
387 CONSTANT: CL_COMMAND_NATIVE_KERNEL HEX: 11F2
388 CONSTANT: CL_COMMAND_READ_BUFFER HEX: 11F3
389 CONSTANT: CL_COMMAND_WRITE_BUFFER HEX: 11F4
390 CONSTANT: CL_COMMAND_COPY_BUFFER HEX: 11F5
391 CONSTANT: CL_COMMAND_READ_IMAGE HEX: 11F6
392 CONSTANT: CL_COMMAND_WRITE_IMAGE HEX: 11F7
393 CONSTANT: CL_COMMAND_COPY_IMAGE HEX: 11F8
394 CONSTANT: CL_COMMAND_COPY_IMAGE_TO_BUFFER HEX: 11F9
395 CONSTANT: CL_COMMAND_COPY_BUFFER_TO_IMAGE HEX: 11FA
396 CONSTANT: CL_COMMAND_MAP_BUFFER HEX: 11FB
397 CONSTANT: CL_COMMAND_MAP_IMAGE HEX: 11FC
398 CONSTANT: CL_COMMAND_UNMAP_MEM_OBJECT HEX: 11FD
399 CONSTANT: CL_COMMAND_MARKER HEX: 11FE
400 CONSTANT: CL_COMMAND_ACQUIRE_GL_OBJECTS HEX: 11FF
401 CONSTANT: CL_COMMAND_RELEASE_GL_OBJECTS HEX: 1200
403 CONSTANT: CL_COMPLETE HEX: 0
404 CONSTANT: CL_RUNNING HEX: 1
405 CONSTANT: CL_SUBMITTED HEX: 2
406 CONSTANT: CL_QUEUED HEX: 3
408 CONSTANT: CL_PROFILING_COMMAND_QUEUED HEX: 1280
409 CONSTANT: CL_PROFILING_COMMAND_SUBMIT HEX: 1281
410 CONSTANT: CL_PROFILING_COMMAND_START HEX: 1282
411 CONSTANT: CL_PROFILING_COMMAND_END HEX: 1283
413 FUNCTION: cl_int clGetPlatformIDs ( cl_uint num_entries, cl_platform_id* platforms, cl_uint* num_platforms ) ;
414 FUNCTION: cl_int clGetPlatformInfo ( cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
415 FUNCTION: cl_int clGetDeviceIDs ( cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, cl_device_id* devices, cl_uint* num_devices ) ;
416 FUNCTION: cl_int clGetDeviceInfo ( cl_device_id device, cl_device_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
417 CALLBACK: void cl_create_context_cb ( char* a, void* b, size_t s, void* c ) ;
418 FUNCTION: cl_context clCreateContext ( cl_context_properties* properties, cl_uint num_devices, cl_device_id* devices, cl_create_context_cb pfn_notify, void* user_data, cl_int* errcode_ret ) ;
419 FUNCTION: cl_context clCreateContextFromType ( cl_context_properties* properties, cl_device_type device_type, cl_create_context_cb pfn_notify, void* user_data, cl_int* errcode_ret ) ;
420 FUNCTION: cl_int clRetainContext ( cl_context context ) ;
421 FUNCTION: cl_int clReleaseContext ( cl_context context ) ;
422 FUNCTION: cl_int clGetContextInfo ( cl_context context, cl_context_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
423 FUNCTION: cl_command_queue clCreateCommandQueue ( cl_context context, cl_device_id device, cl_command_queue_properties properties, cl_int* errcode_ret ) ;
424 FUNCTION: cl_int clRetainCommandQueue ( cl_command_queue command_queue ) ;
425 FUNCTION: cl_int clReleaseCommandQueue ( cl_command_queue command_queue ) ;
426 FUNCTION: cl_int 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 ) ;
427 FUNCTION: cl_int clSetCommandQueueProperty ( cl_command_queue command_queue, cl_command_queue_properties properties, cl_bool enable, cl_command_queue_properties* old_properties ) ;
428 FUNCTION: cl_mem clCreateBuffer ( cl_context context, cl_mem_flags flags, size_t size, void* host_ptr, cl_int* errcode_ret ) ;
429 FUNCTION: cl_mem clCreateImage2D ( cl_context context, cl_mem_flags flags, cl_image_format* image_format, size_t image_width, size_t image_height, size_t image_row_pitch, void* host_ptr, cl_int* errcode_ret ) ;
430 FUNCTION: cl_mem clCreateImage3D ( cl_context context, cl_mem_flags flags, cl_image_format* image_format, size_t image_width, size_t image_height, size_t image_depth, size_t image_row_pitch, size_t image_slice_pitch, void* host_ptr, cl_int* errcode_ret ) ;
431 FUNCTION: cl_int clRetainMemObject ( cl_mem memobj ) ;
432 FUNCTION: cl_int clReleaseMemObject ( cl_mem memobj ) ;
433 FUNCTION: cl_int 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 ) ;
434 FUNCTION: cl_int clGetMemObjectInfo ( cl_mem memobj, cl_mem_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
435 FUNCTION: cl_int clGetImageInfo ( cl_mem image, cl_image_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
436 FUNCTION: cl_sampler clCreateSampler ( cl_context context, cl_bool normalized_coords, cl_addressing_mode addressing_mode, cl_filter_mode filter_mode, cl_int* errcode_ret ) ;
437 FUNCTION: cl_int clRetainSampler ( cl_sampler sampler ) ;
438 FUNCTION: cl_int clReleaseSampler ( cl_sampler sampler ) ;
439 FUNCTION: cl_int clGetSamplerInfo ( cl_sampler sampler, cl_sampler_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
440 FUNCTION: cl_program clCreateProgramWithSource ( cl_context context, cl_uint count, char** strings, size_t* lengths, cl_int* errcode_ret ) ;
441 FUNCTION: cl_program clCreateProgramWithBinary ( cl_context context, cl_uint num_devices, cl_device_id* device_list, size_t* lengths, char** binaries, cl_int* binary_status, cl_int* errcode_ret ) ;
442 FUNCTION: cl_int clRetainProgram ( cl_program program ) ;
443 FUNCTION: cl_int clReleaseProgram ( cl_program program ) ;
444 CALLBACK: void cl_build_program_cb ( cl_program program, void* user_data ) ;
445 FUNCTION: cl_int clBuildProgram ( cl_program program, cl_uint num_devices, cl_device_id* device_list, char* options, cl_build_program_cb pfn_notify, void* user_data ) ;
446 FUNCTION: cl_int clUnloadCompiler ( ) ;
447 FUNCTION: cl_int clGetProgramInfo ( cl_program program, cl_program_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
448 FUNCTION: cl_int 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 ) ;
449 FUNCTION: cl_kernel clCreateKernel ( cl_program program, char* kernel_name, cl_int* errcode_ret ) ;
450 FUNCTION: cl_int clCreateKernelsInProgram ( cl_program program, cl_uint num_kernels, cl_kernel* kernels, cl_uint* num_kernels_ret ) ;
451 FUNCTION: cl_int clRetainKernel ( cl_kernel kernel ) ;
452 FUNCTION: cl_int clReleaseKernel ( cl_kernel kernel ) ;
453 FUNCTION: cl_int clSetKernelArg ( cl_kernel kernel, cl_uint arg_index, size_t arg_size, void* arg_value ) ;
454 FUNCTION: cl_int clGetKernelInfo ( cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
455 FUNCTION: cl_int 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 ) ;
456 FUNCTION: cl_int clWaitForEvents ( cl_uint num_events, cl_event* event_list ) ;
457 FUNCTION: cl_int clGetEventInfo ( cl_event event, cl_event_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
458 FUNCTION: cl_int clRetainEvent ( cl_event event ) ;
459 FUNCTION: cl_int clReleaseEvent ( cl_event event ) ;
460 FUNCTION: cl_int clGetEventProfilingInfo ( cl_event event, cl_profiling_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
461 FUNCTION: cl_int clFlush ( cl_command_queue command_queue ) ;
462 FUNCTION: cl_int clFinish ( cl_command_queue command_queue ) ;
463 FUNCTION: cl_int 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, cl_event* event_wait_list, cl_event* event ) ;
464 FUNCTION: cl_int clEnqueueWriteBuffer ( cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, size_t offset, size_t cb, void* ptr, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
465 FUNCTION: cl_int 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, cl_event* event_wait_list, cl_event* event ) ;
466 FUNCTION: cl_int clEnqueueReadImage ( cl_command_queue command_queue, cl_mem image, cl_bool blocking_read, size_t** origin, size_t** region, size_t row_pitch, size_t slice_pitch, void* ptr, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
467 FUNCTION: cl_int clEnqueueWriteImage ( cl_command_queue command_queue, cl_mem image, cl_bool blocking_write, size_t** origin, size_t** region, size_t input_row_pitch, size_t input_slice_pitch, void* ptr, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
468 FUNCTION: cl_int clEnqueueCopyImage ( cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, size_t** src_origin, size_t** dst_origin, size_t** region, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
469 FUNCTION: cl_int clEnqueueCopyImageToBuffer ( cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer, size_t** src_origin, size_t** region, size_t dst_offset, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
470 FUNCTION: cl_int clEnqueueCopyBufferToImage ( cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image, size_t src_offset, size_t** dst_origin, size_t** region, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
471 FUNCTION: void* 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, cl_event* event_wait_list, cl_event* event, cl_int* errcode_ret ) ;
472 FUNCTION: void* clEnqueueMapImage ( cl_command_queue command_queue, cl_mem image, cl_bool blocking_map, cl_map_flags map_flags, size_t** origin, size_t** region, size_t* image_row_pitch, size_t* image_slice_pitch, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event, cl_int* errcode_ret ) ;
473 FUNCTION: cl_int clEnqueueUnmapMemObject ( cl_command_queue command_queue, cl_mem memobj, void* mapped_ptr, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
474 FUNCTION: cl_int clEnqueueNDRangeKernel ( cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, size_t* global_work_offset, size_t* global_work_size, size_t* local_work_size, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
475 CALLBACK: void cl_enqueue_task_cb ( void* args ) ;
476 FUNCTION: cl_int clEnqueueTask ( cl_command_queue command_queue, cl_kernel kernel, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
477 FUNCTION: cl_int clEnqueueNativeKernel ( cl_command_queue command_queue, cl_enqueue_task_cb user_func, void* args, size_t cb_args, cl_uint num_mem_objects, cl_mem* mem_list, void** args_mem_loc, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
478 FUNCTION: cl_int clEnqueueMarker ( cl_command_queue command_queue, cl_event* event ) ;
479 FUNCTION: cl_int clEnqueueWaitForEvents ( cl_command_queue command_queue, cl_uint num_events, cl_event* event_list ) ;
480 FUNCTION: cl_int clEnqueueBarrier ( cl_command_queue command_queue ) ;
481 FUNCTION: void* clGetExtensionFunctionAddress ( char* func_name ) ;
484 CONSTANT: CL_DEVICE_DOUBLE_FP_CONFIG HEX: 1032
485 CONSTANT: CL_DEVICE_HALF_FP_CONFIG HEX: 1033
488 CONSTANT: CL_PLATFORM_ICD_SUFFIX_KHR HEX: 0920
489 CONSTANT: CL_PLATFORM_NOT_FOUND_KHR -1001
491 FUNCTION: cl_int clIcdGetPlatformIDsKHR ( cl_uint num_entries, cl_platform_id* platforms, cl_uint* num_platforms ) ;
494 TYPEDEF: cl_uint cl_gl_object_type
495 TYPEDEF: cl_uint cl_gl_texture_info
496 TYPEDEF: cl_uint cl_gl_platform_info
498 CONSTANT: CL_GL_OBJECT_BUFFER HEX: 2000
499 CONSTANT: CL_GL_OBJECT_TEXTURE2D HEX: 2001
500 CONSTANT: CL_GL_OBJECT_TEXTURE3D HEX: 2002
501 CONSTANT: CL_GL_OBJECT_RENDERBUFFER HEX: 2003
502 CONSTANT: CL_GL_TEXTURE_TARGET HEX: 2004
503 CONSTANT: CL_GL_MIPMAP_LEVEL HEX: 2005
505 FUNCTION: cl_mem clCreateFromGLBuffer ( cl_context context, cl_mem_flags flags, cl_GLuint bufobj, int* errcode_ret ) ;
506 FUNCTION: cl_mem clCreateFromGLTexture2D ( cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture, cl_int* errcode_ret ) ;
507 FUNCTION: cl_mem clCreateFromGLTexture3D ( cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, cl_GLuint texture, cl_int* errcode_ret ) ;
508 FUNCTION: cl_mem clCreateFromGLRenderbuffer ( cl_context context, cl_mem_flags flags, cl_GLuint renderbuffer, cl_int* errcode_ret ) ;
509 FUNCTION: cl_int clGetGLObjectInfo ( cl_mem memobj, cl_gl_object_type* gl_object_type, cl_GLuint* gl_object_name ) ;
510 FUNCTION: cl_int clGetGLTextureInfo ( cl_mem memobj, cl_gl_texture_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
511 FUNCTION: cl_int clEnqueueAcquireGLObjects ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
512 FUNCTION: cl_int clEnqueueReleaseGLObjects ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
514 ! cl_khr_gl_sharing.txt
515 TYPEDEF: cl_uint cl_gl_context_info
517 CONSTANT: CL_INVALID_GL_SHAREGROUP_REFERENCE_KHR -1000
518 CONSTANT: CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR HEX: 2006
519 CONSTANT: CL_DEVICES_FOR_GL_CONTEXT_KHR HEX: 2007
520 CONSTANT: CL_GL_CONTEXT_KHR HEX: 2008
521 CONSTANT: CL_EGL_DISPLAY_KHR HEX: 2009
522 CONSTANT: CL_GLX_DISPLAY_KHR HEX: 200A
523 CONSTANT: CL_WGL_HDC_KHR HEX: 200B
524 CONSTANT: CL_CGL_SHAREGROUP_KHR HEX: 200C
526 FUNCTION: cl_int clGetGLContextInfoKHR ( cl_context_properties* properties, cl_gl_context_info param_name, size_t param_value_size, void* param_value, size_t* param_value_size_ret ) ;
528 ! cl_nv_d3d9_sharing.txt
529 CONSTANT: CL_D3D9_DEVICE_NV HEX: 4022
530 CONSTANT: CL_D3D9_ADAPTER_NAME_NV HEX: 4023
531 CONSTANT: CL_PREFERRED_DEVICES_FOR_D3D9_NV HEX: 4024
532 CONSTANT: CL_ALL_DEVICES_FOR_D3D9_NV HEX: 4025
533 CONSTANT: CL_CONTEXT_D3D9_DEVICE_NV HEX: 4026
534 CONSTANT: CL_MEM_D3D9_RESOURCE_NV HEX: 4027
535 CONSTANT: CL_IMAGE_D3D9_FACE_NV HEX: 4028
536 CONSTANT: CL_IMAGE_D3D9_LEVEL_NV HEX: 4029
537 CONSTANT: CL_COMMAND_ACQUIRE_D3D9_OBJECTS_NV HEX: 402A
538 CONSTANT: CL_COMMAND_RELEASE_D3D9_OBJECTS_NV HEX: 402B
539 CONSTANT: CL_INVALID_D3D9_DEVICE_NV -1010
540 CONSTANT: CL_INVALID_D3D9_RESOURCE_NV -1011
541 CONSTANT: CL_D3D9_RESOURCE_ALREADY_ACQUIRED_NV -1012
542 CONSTANT: CL_D3D9_RESOURCE_NOT_ACQUIRED_NV -1013
544 TYPEDEF: void* cl_d3d9_device_source_nv
545 TYPEDEF: void* cl_d3d9_device_set_nv
547 FUNCTION: cl_int clGetDeviceIDsFromD3D9NV ( cl_platform_id platform, cl_d3d9_device_source_nv d3d_device_source, void* d3d_object, cl_d3d9_device_set_nv d3d_device_set, cl_uint num_entries, cl_device_id* devices, cl_uint* num_devices ) ;
548 FUNCTION: cl_mem clCreateFromD3D9VertexBufferNV ( cl_context context, cl_mem_flags flags, void* id3dvb9_resource, cl_int* errcode_ret ) ;
549 FUNCTION: cl_mem clCreateFromD3D9IndexBufferNV ( cl_context context, cl_mem_flags flags, void* id3dib9_resource, cl_int* errcode_ret ) ;
550 FUNCTION: cl_mem clCreateFromD3D9SurfaceNV ( cl_context context, cl_mem_flags flags, void* id3dsurface9_resource, cl_int* errcode_ret ) ;
551 FUNCTION: cl_mem clCreateFromD3D9TextureNV ( cl_context context, cl_mem_flags flags, void* id3dtexture9_resource, uint miplevel, cl_int* errcode_ret ) ;
552 FUNCTION: cl_mem clCreateFromD3D9CubeTextureNV ( cl_context context, cl_mem_flags flags, void* id3dct9_resource, int facetype, uint miplevel, cl_int* errcode_ret ) ;
553 FUNCTION: cl_mem clCreateFromD3D9VolumeTextureNV ( cl_context context, cl_mem_flags flags, void* id3dvt9-resource, uint miplevel, cl_int* errcode_ret ) ;
554 FUNCTION: cl_int clEnqueueAcquireD3D9ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
555 FUNCTION: cl_int clEnqueueReleaseD3D9ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
557 ! cl_nv_d3d10_sharing.txt
558 CONSTANT: CL_D3D10_DEVICE_NV HEX: 4010
559 CONSTANT: CL_D3D10_DXGI_ADAPTER_NV HEX: 4011
560 CONSTANT: CL_PREFERRED_DEVICES_FOR_D3D10_NV HEX: 4012
561 CONSTANT: CL_ALL_DEVICES_FOR_D3D10_NV HEX: 4013
562 CONSTANT: CL_CONTEXT_D3D10_DEVICE_NV HEX: 4014
563 CONSTANT: CL_MEM_D3D10_RESOURCE_NV HEX: 4015
564 CONSTANT: CL_IMAGE_D3D10_SUBRESOURCE_NV HEX: 4016
565 CONSTANT: CL_COMMAND_ACQUIRE_D3D10_OBJECTS_NV HEX: 4017
566 CONSTANT: CL_COMMAND_RELEASE_D3D10_OBJECTS_NV HEX: 4018
567 CONSTANT: CL_INVALID_D3D10_DEVICE_NV -1002
568 CONSTANT: CL_INVALID_D3D10_RESOURCE_NV -1003
569 CONSTANT: CL_D3D10_RESOURCE_ALREADY_ACQUIRED_NV -1004
570 CONSTANT: CL_D3D10_RESOURCE_NOT_ACQUIRED_NV -1005
572 TYPEDEF: void* cl_d3d10_device_source_nv
573 TYPEDEF: void* cl_d3d10_device_set_nv
575 FUNCTION: cl_int clGetDeviceIDsFromD3D10NV ( cl_platform_id platform, cl_d3d10_device_source_nv d3d_device_source, void* d3d_object, cl_d3d10_device_set_nv d3d_device_set, cl_uint num_entries, cl_device_id* devices, cl_uint* num_devices ) ;
576 FUNCTION: cl_mem clCreateFromD3D10BufferNV ( cl_context context, cl_mem_flags flags, void* id3d10buffer_resource, cl_int* errcode_ret ) ;
577 FUNCTION: cl_mem clCreateFromD3D10Texture2DNV ( cl_context context, cl_mem_flags flags, void* id3d10texture2d_resource, uint subresource, cl_int* errcode_ret ) ;
578 FUNCTION: cl_mem clCreateFromD3D10Texture3DNV ( cl_context context, cl_mem_flags flags, void* id3d10texture3d_resource, uint subresource, cl_int* errcode_ret ) ;
579 FUNCTION: cl_int clEnqueueAcquireD3D10ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
580 FUNCTION: cl_int clEnqueueReleaseD3D10ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
582 ! cl_nv_d3d11_sharing.txt
583 CONSTANT: CL_D3D11_DEVICE_NV HEX: 4019
584 CONSTANT: CL_D3D11_DXGI_ADAPTER_NV HEX: 401A
585 CONSTANT: CL_PREFERRED_DEVICES_FOR_D3D11_NV HEX: 401B
586 CONSTANT: CL_ALL_DEVICES_FOR_D3D11_NV HEX: 401C
587 CONSTANT: CL_CONTEXT_D3D11_DEVICE_NV HEX: 401D
588 CONSTANT: CL_MEM_D3D11_RESOURCE_NV HEX: 401E
589 CONSTANT: CL_IMAGE_D3D11_SUBRESOURCE_NV HEX: 401F
590 CONSTANT: CL_COMMAND_ACQUIRE_D3D11_OBJECTS_NV HEX: 4020
591 CONSTANT: CL_COMMAND_RELEASE_D3D11_OBJECTS_NV HEX: 4021
592 CONSTANT: CL_INVALID_D3D11_DEVICE_NV -1006
593 CONSTANT: CL_INVALID_D3D11_RESOURCE_NV -1007
594 CONSTANT: CL_D3D11_RESOURCE_ALREADY_ACQUIRED_NV -1008
595 CONSTANT: CL_D3D11_RESOURCE_NOT_ACQUIRED_NV -1009
597 TYPEDEF: void* cl_d3d11_device_source_nv
598 TYPEDEF: void* cl_d3d11_device_set_nv
600 FUNCTION: cl_int clGetDeviceIDsFromD3D11NV ( cl_platform_id platform, cl_d3d11_device_source_nv d3d_device_source, void* d3d_object, cl_d3d11_device_set_nv d3d_device_set, cl_uint num_entries, cl_device_id* devices, cl_uint* num_devices ) ;
601 FUNCTION: cl_mem clCreateFromD3D11BufferNV ( cl_context context, cl_mem_flags flags, void* id3d11buffer_resource, cl_int* errcode_ret ) ;
602 FUNCTION: cl_mem clCreateFromD3D11Texture2DNV ( cl_context context, cl_mem_flags flags, void* id3d11texture2d_resource, uint subresource, cl_int* errcode_ret ) ;
603 FUNCTION: cl_mem clCreateFromD3D11Texture3DNV ( cl_context context, cl_mem_flags flags, void* id3dtexture3d_resource, uint subresource, cl_int* errcode_ret ) ;
604 FUNCTION: cl_int clEnqueueAcquireD3D11ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
605 FUNCTION: cl_int clEnqueueReleaseD3D11ObjectsNV ( cl_command_queue command_queue, cl_uint num_objects, cl_mem* mem_objects, cl_uint num_events_in_wait_list, cl_event* event_wait_list, cl_event* event ) ;
607 ! Utility words needed for working with the API
608 : *size_t ( c-ptr -- value )
610 { 4 [ 0 alien-unsigned-4 ] }
611 { 8 [ 0 alien-unsigned-8 ] }
614 : <size_t> ( value -- c-ptr )
615 size_t heap-size [ (byte-array) ] keep {
616 { 4 [ [ 0 set-alien-unsigned-4 ] keep ] }
617 { 8 [ [ 0 set-alien-unsigned-8 ] keep ] }