view R/rdyncall/inst/dynports/opencl.R @ 30:baf087cf5971

- fixed two ref counting problems - minor improvements
author Tassilo Philipp
date Fri, 10 Apr 2020 20:35:19 +0200
parents 0cfcc391201f
children
line wrap: on
line source



dynbind("OpenCL", "
clBuildProgram(*<_cl_program>I**<_cl_device_id>*c*p*v)i;
clCreateBuffer(*<_cl_context>LJ*v*i)*<_cl_mem>;
clCreateCommandQueue(*<_cl_context>*<_cl_device_id>L*i)*<_cl_command_queue>;
clCreateContext(*jI**<_cl_device_id>*p*v*i)*<_cl_context>;
clCreateContextFromType(*jL*p*v*i)*<_cl_context>;
clCreateFromGLBuffer(*<_cl_context>LI*i)*<_cl_mem>;
clCreateFromGLRenderbuffer(*<_cl_context>LI*i)*<_cl_mem>;
clCreateFromGLTexture2D(*<_cl_context>LIiI*i)*<_cl_mem>;
clCreateFromGLTexture3D(*<_cl_context>LIiI*i)*<_cl_mem>;
clCreateImage2D(*<_cl_context>L*<_cl_image_format>JJJ*v*i)*<_cl_mem>;
clCreateImage3D(*<_cl_context>L*<_cl_image_format>JJJJJ*v*i)*<_cl_mem>;
clCreateKernel(*<_cl_program>*c*i)*<_cl_kernel>;
clCreateKernelsInProgram(*<_cl_program>I**<_cl_kernel>*I)i;
clCreateProgramWithBinary(*<_cl_context>I**<_cl_device_id>*J**C*i*i)*<_cl_program>;
clCreateProgramWithSource(*<_cl_context>I**c*J*i)*<_cl_program>;
clCreateSampler(*<_cl_context>III*i)*<_cl_sampler>;
clEnqueueAcquireGLObjects(*<_cl_command_queue>I**<_cl_mem>I**<_cl_event>**<_cl_event>)i;
clEnqueueBarrier(*<_cl_command_queue>)i;
clEnqueueCopyBuffer(*<_cl_command_queue>*<_cl_mem>*<_cl_mem>JJJI**<_cl_event>**<_cl_event>)i;
clEnqueueCopyBufferToImage(*<_cl_command_queue>*<_cl_mem>*<_cl_mem>J*J*JI**<_cl_event>**<_cl_event>)i;
clEnqueueCopyImage(*<_cl_command_queue>*<_cl_mem>*<_cl_mem>*J*J*JI**<_cl_event>**<_cl_event>)i;
clEnqueueCopyImageToBuffer(*<_cl_command_queue>*<_cl_mem>*<_cl_mem>*J*JJI**<_cl_event>**<_cl_event>)i;
clEnqueueMapBuffer(*<_cl_command_queue>*<_cl_mem>ILJJI**<_cl_event>**<_cl_event>*i)*v;
clEnqueueMapImage(*<_cl_command_queue>*<_cl_mem>IL*J*J*J*JI**<_cl_event>**<_cl_event>*i)*v;
clEnqueueMarker(*<_cl_command_queue>**<_cl_event>)i;
clEnqueueNDRangeKernel(*<_cl_command_queue>*<_cl_kernel>I*J*J*JI**<_cl_event>**<_cl_event>)i;
clEnqueueNativeKernel(*<_cl_command_queue>*p*vJI**<_cl_mem>**vI**<_cl_event>**<_cl_event>)i;
clEnqueueReadBuffer(*<_cl_command_queue>*<_cl_mem>IJJ*vI**<_cl_event>**<_cl_event>)i;
clEnqueueReadImage(*<_cl_command_queue>*<_cl_mem>I*J*JJJ*vI**<_cl_event>**<_cl_event>)i;
clEnqueueReleaseGLObjects(*<_cl_command_queue>I**<_cl_mem>I**<_cl_event>**<_cl_event>)i;
clEnqueueTask(*<_cl_command_queue>*<_cl_kernel>I**<_cl_event>**<_cl_event>)i;
clEnqueueUnmapMemObject(*<_cl_command_queue>*<_cl_mem>*vI**<_cl_event>**<_cl_event>)i;
clEnqueueWaitForEvents(*<_cl_command_queue>I**<_cl_event>)i;
clEnqueueWriteBuffer(*<_cl_command_queue>*<_cl_mem>IJJ*vI**<_cl_event>**<_cl_event>)i;
clEnqueueWriteImage(*<_cl_command_queue>*<_cl_mem>I*J*JJJ*vI**<_cl_event>**<_cl_event>)i;
clFinish(*<_cl_command_queue>)i;
clFlush(*<_cl_command_queue>)i;
clGetCommandQueueInfo(*<_cl_command_queue>IJ*v*J)i;
clGetContextInfo(*<_cl_context>IJ*v*J)i;
clGetDeviceIDs(*<_cl_platform_id>LI**<_cl_device_id>*I)i;
clGetDeviceInfo(*<_cl_device_id>IJ*v*J)i;
clGetEventInfo(*<_cl_event>IJ*v*J)i;
clGetEventProfilingInfo(*<_cl_event>IJ*v*J)i;
clGetExtensionFunctionAddress(*c)*v;
clGetGLContextInfoAPPLE(*<_cl_context>*vIJ*v*J)i;
clGetGLObjectInfo(*<_cl_mem>*I*I)i;
clGetGLTextureInfo(*<_cl_mem>IJ*v*J)i;
clGetImageInfo(*<_cl_mem>IJ*v*J)i;
clGetKernelInfo(*<_cl_kernel>IJ*v*J)i;
clGetKernelWorkGroupInfo(*<_cl_kernel>*<_cl_device_id>IJ*v*J)i;
clGetMemObjectInfo(*<_cl_mem>IJ*v*J)i;
clGetPlatformIDs(I**<_cl_platform_id>*I)i;
clGetPlatformInfo(*<_cl_platform_id>IJ*v*J)i;
clGetProgramBuildInfo(*<_cl_program>*<_cl_device_id>IJ*v*J)i;
clGetProgramInfo(*<_cl_program>IJ*v*J)i;
clGetSamplerInfo(*<_cl_sampler>IJ*v*J)i;
clGetSupportedImageFormats(*<_cl_context>LII*<_cl_image_format>*I)i;
clLogMessagesToStderrAPPLE(*c*vJ*v)v;
clLogMessagesToStdoutAPPLE(*c*vJ*v)v;
clLogMessagesToSystemLogAPPLE(*c*vJ*v)v;
clReleaseCommandQueue(*<_cl_command_queue>)i;
clReleaseContext(*<_cl_context>)i;
clReleaseEvent(*<_cl_event>)i;
clReleaseKernel(*<_cl_kernel>)i;
clReleaseMemObject(*<_cl_mem>)i;
clReleaseProgram(*<_cl_program>)i;
clReleaseSampler(*<_cl_sampler>)i;
clRetainCommandQueue(*<_cl_command_queue>)i;
clRetainContext(*<_cl_context>)i;
clRetainEvent(*<_cl_event>)i;
clRetainKernel(*<_cl_kernel>)i;
clRetainMemObject(*<_cl_mem>)i;
clRetainProgram(*<_cl_program>)i;
clRetainSampler(*<_cl_sampler>)i;
clSetCommandQueueProperty(*<_cl_command_queue>LI*L)i;
clSetKernelArg(*<_cl_kernel>IJ*v)i;
clSetMemObjectDestructorAPPLE(*<_cl_mem>*p*v)i;
clUnloadCompiler()i;
clWaitForEvents(I**<_cl_event>)i;
")
parseStructInfos("
_cl_image_format{II}image_channel_order image_channel_data_type ;
_cl_sampler{};
_cl_event{};
_cl_kernel{};
_cl_program{};
_cl_mem{};
_cl_command_queue{};
_cl_context{};
_cl_device_id{};
_cl_platform_id{};
")
CL_A=0x10B1
CL_ADDRESS_CLAMP=0x1132
CL_ADDRESS_CLAMP_TO_EDGE=0x1131
CL_ADDRESS_NONE=0x1130
CL_ADDRESS_REPEAT=0x1133
CL_API_CALL=
CL_API_ENTRY=
CL_API_SUFFIX__VERSION_1_0=
CL_ARGB=0x10B7
CL_BGRA=0x10B6
CL_BUILD_ERROR=-2
CL_BUILD_IN_PROGRESS=-3
CL_BUILD_NONE=-1
CL_BUILD_PROGRAM_FAILURE=-11
CL_BUILD_SUCCESS=0
CL_CGL_DEVICES_FOR_SUPPORTED_VIRTUAL_SCREENS_APPLE=0x10000003
CL_CGL_DEVICE_FOR_CURRENT_VIRTUAL_SCREEN_APPLE=0x10000002
CL_CHAR_BIT=8
CL_CHAR_MAX=127
CL_CHAR_MIN=(-127-1)
CL_COMMAND_ACQUIRE_GL_OBJECTS=0x11FF
CL_COMMAND_COPY_BUFFER=0x11F5
CL_COMMAND_COPY_BUFFER_TO_IMAGE=0x11FA
CL_COMMAND_COPY_IMAGE=0x11F8
CL_COMMAND_COPY_IMAGE_TO_BUFFER=0x11F9
CL_COMMAND_MAP_BUFFER=0x11FB
CL_COMMAND_MAP_IMAGE=0x11FC
CL_COMMAND_MARKER=0x11FE
CL_COMMAND_NATIVE_KERNEL=0x11F2
CL_COMMAND_NDRANGE_KERNEL=0x11F0
CL_COMMAND_READ_BUFFER=0x11F3
CL_COMMAND_READ_IMAGE=0x11F6
CL_COMMAND_RELEASE_GL_OBJECTS=0x1200
CL_COMMAND_TASK=0x11F1
CL_COMMAND_UNMAP_MEM_OBJECT=0x11FD
CL_COMMAND_WRITE_BUFFER=0x11F4
CL_COMMAND_WRITE_IMAGE=0x11F7
CL_COMPILER_NOT_AVAILABLE=-3
CL_COMPLETE=0x0
CL_CONTEXT_DEVICES=0x1081
CL_CONTEXT_PLATFORM=0x1084
CL_CONTEXT_PROPERTIES=0x1082
CL_CONTEXT_PROPERTY_USE_CGL_SHAREGROUP_APPLE=0x10000000
CL_CONTEXT_REFERENCE_COUNT=0x1080
CL_DBL_DIG=15
# CL_DBL_EPSILON=0x1.0p-52
CL_DBL_MANT_DIG=53
CL_DBL_MAX=0x1.fffffffffffffp1023
CL_DBL_MAX_10_EXP=+308
CL_DBL_MAX_EXP=+1024
CL_DBL_MIN=0x1.0p-1022
CL_DBL_MIN_10_EXP=-307
CL_DBL_MIN_EXP=-1021
CL_DBL_RADIX=2
CL_DEVICE_ADDRESS_BITS=0x100D
CL_DEVICE_AVAILABLE=0x1027
CL_DEVICE_COMPILER_AVAILABLE=0x1028
CL_DEVICE_COMPILER_NOT_AVAILABLE=-3
CL_DEVICE_ENDIAN_LITTLE=0x1026
CL_DEVICE_ERROR_CORRECTION_SUPPORT=0x1024
CL_DEVICE_EXECUTION_CAPABILITIES=0x1029
CL_DEVICE_EXTENSIONS=0x1030
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE=0x101D
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE=0x101E
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE=0x101C
CL_DEVICE_GLOBAL_MEM_SIZE=0x101F
CL_DEVICE_IMAGE2D_MAX_HEIGHT=0x1012
CL_DEVICE_IMAGE2D_MAX_WIDTH=0x1011
CL_DEVICE_IMAGE3D_MAX_DEPTH=0x1015
CL_DEVICE_IMAGE3D_MAX_HEIGHT=0x1014
CL_DEVICE_IMAGE3D_MAX_WIDTH=0x1013
CL_DEVICE_IMAGE_SUPPORT=0x1016
CL_DEVICE_LOCAL_MEM_SIZE=0x1023
CL_DEVICE_LOCAL_MEM_TYPE=0x1022
CL_DEVICE_MAX_CLOCK_FREQUENCY=0x100C
CL_DEVICE_MAX_COMPUTE_UNITS=0x1002
CL_DEVICE_MAX_CONSTANT_ARGS=0x1021
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE=0x1020
CL_DEVICE_MAX_MEM_ALLOC_SIZE=0x1010
CL_DEVICE_MAX_PARAMETER_SIZE=0x1017
CL_DEVICE_MAX_READ_IMAGE_ARGS=0x100E
CL_DEVICE_MAX_SAMPLERS=0x1018
CL_DEVICE_MAX_WORK_GROUP_SIZE=0x1004
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS=0x1003
CL_DEVICE_MAX_WORK_ITEM_SIZES=0x1005
CL_DEVICE_MAX_WRITE_IMAGE_ARGS=0x100F
CL_DEVICE_MEM_BASE_ADDR_ALIGN=0x1019
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE=0x101A
CL_DEVICE_NAME=0x102B
CL_DEVICE_NOT_AVAILABLE=-2
CL_DEVICE_NOT_FOUND=-1
CL_DEVICE_PLATFORM=0x1031
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR=0x1006
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE=0x100B
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT=0x100A
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT=0x1008
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG=0x1009
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT=0x1007
CL_DEVICE_PROFILE=0x102E
CL_DEVICE_PROFILING_TIMER_RESOLUTION=0x1025
CL_DEVICE_QUEUE_PROPERTIES=0x102A
CL_DEVICE_SINGLE_FP_CONFIG=0x101B
CL_DEVICE_TYPE=0x1000
CL_DEVICE_TYPE_ALL=0xFFFFFFFF
CL_DEVICE_VENDOR=0x102C
CL_DEVICE_VENDOR_ID=0x1001
CL_DEVICE_VERSION=0x102F
CL_DRIVER_VERSION=0x102D
CL_EVENT_COMMAND_EXECUTION_STATUS=0x11D3
CL_EVENT_COMMAND_QUEUE=0x11D0
CL_EVENT_COMMAND_TYPE=0x11D1
CL_EVENT_REFERENCE_COUNT=0x11D2
# CL_EXTENSION_WEAK_LINK=__attribute__((weak_import))
CL_FALSE=0
CL_FILTER_LINEAR=0x1141
CL_FILTER_NEAREST=0x1140
CL_FLOAT=0x10DE
CL_FLT_DIG=6
# CL_FLT_EPSILON=0x1.0p-23f
CL_FLT_MANT_DIG=24
# CL_FLT_MAX=0x1.fffffep127f
CL_FLT_MAX_10_EXP=+38
CL_FLT_MAX_EXP=+128
# CL_FLT_MIN=0x1.0p-126f
CL_FLT_MIN_10_EXP=-37
CL_FLT_MIN_EXP=-125
CL_FLT_RADIX=2
CL_GLOBAL=0x2
CL_GL_MIPMAP_LEVEL=0x2005
CL_GL_OBJECT_BUFFER=0x2000
CL_GL_OBJECT_RENDERBUFFER=0x2003
CL_GL_OBJECT_TEXTURE2D=0x2001
CL_GL_OBJECT_TEXTURE3D=0x2002
CL_GL_TEXTURE_TARGET=0x2004
CL_HALF_FLOAT=0x10DD
CL_IMAGE_DEPTH=0x1116
CL_IMAGE_ELEMENT_SIZE=0x1111
CL_IMAGE_FORMAT=0x1110
CL_IMAGE_FORMAT_MISMATCH=-9
CL_IMAGE_FORMAT_NOT_SUPPORTED=-10
CL_IMAGE_HEIGHT=0x1115
CL_IMAGE_ROW_PITCH=0x1112
CL_IMAGE_SLICE_PITCH=0x1113
CL_IMAGE_WIDTH=0x1114
CL_INTENSITY=0x10B8
CL_INT_MAX=2147483647
CL_INT_MIN=(-2147483647-1)
CL_INVALID_ARG_INDEX=-49
CL_INVALID_ARG_SIZE=-51
CL_INVALID_ARG_VALUE=-50
CL_INVALID_BINARY=-42
CL_INVALID_BUFFER_SIZE=-61
CL_INVALID_BUILD_OPTIONS=-43
CL_INVALID_COMMAND_QUEUE=-36
CL_INVALID_CONTEXT=-34
CL_INVALID_DEVICE=-33
CL_INVALID_DEVICE_TYPE=-31
CL_INVALID_EVENT=-58
CL_INVALID_EVENT_WAIT_LIST=-57
CL_INVALID_GLOBAL_OFFSET=-56
CL_INVALID_GL_CONTEXT_APPLE=-1000
CL_INVALID_GL_OBJECT=-60
CL_INVALID_HOST_PTR=-37
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR=-39
CL_INVALID_IMAGE_SIZE=-40
CL_INVALID_KERNEL=-48
CL_INVALID_KERNEL_ARGS=-52
CL_INVALID_KERNEL_DEFINITION=-47
CL_INVALID_KERNEL_NAME=-46
CL_INVALID_MEM_OBJECT=-38
CL_INVALID_MIP_LEVEL=-62
CL_INVALID_OPERATION=-59
CL_INVALID_PLATFORM=-32
CL_INVALID_PROGRAM=-44
CL_INVALID_PROGRAM_EXECUTABLE=-45
CL_INVALID_QUEUE_PROPERTIES=-35
CL_INVALID_SAMPLER=-41
CL_INVALID_VALUE=-30
CL_INVALID_WORK_DIMENSION=-53
CL_INVALID_WORK_GROUP_SIZE=-54
CL_INVALID_WORK_ITEM_SIZE=-55
CL_KERNEL_COMPILE_WORK_GROUP_SIZE=0x11B1
CL_KERNEL_CONTEXT=0x1193
CL_KERNEL_FUNCTION_NAME=0x1190
CL_KERNEL_LOCAL_MEM_SIZE=0x11B2
CL_KERNEL_NUM_ARGS=0x1191
CL_KERNEL_PROGRAM=0x1194
CL_KERNEL_REFERENCE_COUNT=0x1192
CL_KERNEL_WORK_GROUP_SIZE=0x11B0
CL_LOCAL=0x1
# CL_LONG_MAX=((cl_long) 0x7FFFFFFFFFFFFFFFLL)
# CL_LONG_MIN=((cl_long) -0x7FFFFFFFFFFFFFFFLL - 1LL)
CL_LUMINANCE=0x10B9
CL_MAP_FAILURE=-12
CL_MEM_CONTEXT=0x1106
CL_MEM_COPY_OVERLAP=-8
CL_MEM_FLAGS=0x1101
CL_MEM_HOST_PTR=0x1103
CL_MEM_MAP_COUNT=0x1104
CL_MEM_OBJECT_ALLOCATION_FAILURE=-4
CL_MEM_OBJECT_BUFFER=0x10F0
CL_MEM_OBJECT_IMAGE2D=0x10F1
CL_MEM_OBJECT_IMAGE3D=0x10F2
CL_MEM_REFERENCE_COUNT=0x1105
CL_MEM_SIZE=0x1102
CL_MEM_TYPE=0x1100
CL_NONE=0x0
CL_OUT_OF_HOST_MEMORY=-6
CL_OUT_OF_RESOURCES=-5
CL_PLATFORM_EXTENSIONS=0x0904
CL_PLATFORM_NAME=0x0902
CL_PLATFORM_PROFILE=0x0900
CL_PLATFORM_VENDOR=0x0903
CL_PLATFORM_VERSION=0x0901
CL_PROFILING_COMMAND_END=0x1283
CL_PROFILING_COMMAND_QUEUED=0x1280
CL_PROFILING_COMMAND_START=0x1282
CL_PROFILING_COMMAND_SUBMIT=0x1281
CL_PROFILING_INFO_NOT_AVAILABLE=-7
CL_PROGRAM_BINARIES=0x1166
CL_PROGRAM_BINARY_SIZES=0x1165
CL_PROGRAM_BUILD_LOG=0x1183
CL_PROGRAM_BUILD_OPTIONS=0x1182
CL_PROGRAM_BUILD_STATUS=0x1181
CL_PROGRAM_CONTEXT=0x1161
CL_PROGRAM_DEVICES=0x1163
CL_PROGRAM_NUM_DEVICES=0x1162
CL_PROGRAM_REFERENCE_COUNT=0x1160
CL_PROGRAM_SOURCE=0x1164
CL_QUEUED=0x3
CL_QUEUE_CONTEXT=0x1090
CL_QUEUE_DEVICE=0x1091
CL_QUEUE_PROPERTIES=0x1093
CL_QUEUE_REFERENCE_COUNT=0x1092
CL_R=0x10B0
CL_RA=0x10B3
CL_READ_ONLY_CACHE=0x1
CL_READ_WRITE_CACHE=0x2
CL_RG=0x10B2
CL_RGB=0x10B4
CL_RGBA=0x10B5
CL_RUNNING=0x1
CL_SAMPLER_ADDRESSING_MODE=0x1153
CL_SAMPLER_CONTEXT=0x1151
CL_SAMPLER_FILTER_MODE=0x1154
CL_SAMPLER_NORMALIZED_COORDS=0x1152
CL_SAMPLER_REFERENCE_COUNT=0x1150
CL_SCHAR_MAX=127
CL_SCHAR_MIN=(-127-1)
CL_SHRT_MAX=32767
CL_SHRT_MIN=(-32767-1)
CL_SIGNED_INT16=0x10D8
CL_SIGNED_INT32=0x10D9
CL_SIGNED_INT8=0x10D7
CL_SNORM_INT16=0x10D1
CL_SNORM_INT8=0x10D0
CL_SUBMITTED=0x2
CL_SUCCESS=0
CL_TRUE=1
CL_UCHAR_MAX=255
# CL_UINT_MAX=0xffffffffU
# CL_ULONG_MAX=((cl_ulong) 0xFFFFFFFFFFFFFFFFULL)
CL_UNORM_INT16=0x10D3
CL_UNORM_INT8=0x10D2
CL_UNORM_INT_101010=0x10D6
CL_UNORM_SHORT_555=0x10D5
CL_UNORM_SHORT_565=0x10D4
CL_UNSIGNED_INT16=0x10DB
CL_UNSIGNED_INT32=0x10DC
CL_UNSIGNED_INT8=0x10DA
CL_USHRT_MAX=65535
CL_VERSION_1_0=1