Module cl_sys::cl_h [] [src]

Rust bindings for the OpenCL ABI.

For low level access still within the confines of Rust's safety and convenience, use the extremely lightweight functions and types in the core module.

This file was adapted from https://www.khronos.org/registry/cl/api/1.2/cl.h.

Supports OpenCL version 1.2. Version 1.0 and 1.1 support is currently disabled. Eventually there will be support for every version (including 2.0+) and an auto-detecting best version available system. [FIXME]: 1.2 implementation not 100% complete.

Structs

cl_buffer_region
cl_image_desc
cl_image_format

Enums

Status

TODO: MOVE ME AND LEAVE CONSTS AS THEY WERE. The status of an OpenCL API call. Used for returning success/error codes.

Constants

CL_A
CL_ADDRESS_CLAMP
CL_ADDRESS_CLAMP_TO_EDGE
CL_ADDRESS_MIRRORED_REPEAT
CL_ADDRESS_NONE
CL_ADDRESS_REPEAT
CL_ARGB
CL_BGRA
CL_BLOCKING
CL_BUFFER_CREATE_TYPE_REGION
CL_BUILD_ERROR
CL_BUILD_IN_PROGRESS
CL_BUILD_NONE
CL_BUILD_SUCCESS
CL_COMMAND_ACQUIRE_GL_OBJECTS
CL_COMMAND_BARRIER
CL_COMMAND_COPY_BUFFER
CL_COMMAND_COPY_BUFFER_RECT
CL_COMMAND_COPY_BUFFER_TO_IMAGE
CL_COMMAND_COPY_IMAGE
CL_COMMAND_COPY_IMAGE_TO_BUFFER
CL_COMMAND_FILL_BUFFER
CL_COMMAND_FILL_IMAGE
CL_COMMAND_MAP_BUFFER
CL_COMMAND_MAP_IMAGE
CL_COMMAND_MARKER
CL_COMMAND_MIGRATE_MEM_OBJECTS
CL_COMMAND_NATIVE_KERNEL
CL_COMMAND_NDRANGE_KERNEL
CL_COMMAND_READ_BUFFER
CL_COMMAND_READ_BUFFER_RECT
CL_COMMAND_READ_IMAGE
CL_COMMAND_RELEASE_GL_OBJECTS
CL_COMMAND_TASK
CL_COMMAND_UNMAP_MEM_OBJECT
CL_COMMAND_USER
CL_COMMAND_WRITE_BUFFER
CL_COMMAND_WRITE_BUFFER_RECT
CL_COMMAND_WRITE_IMAGE
CL_COMPLETE
CL_CONTEXT_DEVICES
CL_CONTEXT_INTEROP_USER_SYNC
CL_CONTEXT_NUM_DEVICES
CL_CONTEXT_PLATFORM
CL_CONTEXT_PROPERTIES
CL_CONTEXT_REFERENCE_COUNT
CL_DEPTH
CL_DEPTH_STENCIL
CL_DEVICE_ADDRESS_BITS
CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE
CL_DEVICE_AFFINITY_DOMAIN_NUMA
CL_DEVICE_AVAILABLE
CL_DEVICE_BUILT_IN_KERNELS
CL_DEVICE_COMPILER_AVAILABLE
CL_DEVICE_DOUBLE_FP_CONFIG
CL_DEVICE_ENDIAN_LITTLE
CL_DEVICE_ERROR_CORRECTION_SUPPORT
CL_DEVICE_EXECUTION_CAPABILITIES
CL_DEVICE_EXTENSIONS
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE
CL_DEVICE_GLOBAL_MEM_SIZE
CL_DEVICE_HALF_FP_CONFIG
CL_DEVICE_HOST_UNIFIED_MEMORY
CL_DEVICE_IMAGE2D_MAX_HEIGHT
CL_DEVICE_IMAGE2D_MAX_WIDTH
CL_DEVICE_IMAGE3D_MAX_DEPTH
CL_DEVICE_IMAGE3D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_WIDTH
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
CL_DEVICE_IMAGE_PITCH_ALIGNMENT
CL_DEVICE_IMAGE_SUPPORT
CL_DEVICE_LINKER_AVAILABLE
CL_DEVICE_LOCAL_MEM_SIZE
CL_DEVICE_LOCAL_MEM_TYPE
CL_DEVICE_MAX_CLOCK_FREQUENCY
CL_DEVICE_MAX_COMPUTE_UNITS
CL_DEVICE_MAX_CONSTANT_ARGS
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
CL_DEVICE_MAX_MEM_ALLOC_SIZE
CL_DEVICE_MAX_PARAMETER_SIZE
CL_DEVICE_MAX_READ_IMAGE_ARGS
CL_DEVICE_MAX_SAMPLERS
CL_DEVICE_MAX_WORK_GROUP_SIZE
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
CL_DEVICE_MAX_WORK_ITEM_SIZES
CL_DEVICE_MAX_WRITE_IMAGE_ARGS
CL_DEVICE_MEM_BASE_ADDR_ALIGN
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
CL_DEVICE_NAME
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT
CL_DEVICE_OPENCL_C_VERSION
CL_DEVICE_PARENT_DEVICE
CL_DEVICE_PARTITION_AFFINITY_DOMAIN
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN
CL_DEVICE_PARTITION_BY_COUNTS
CL_DEVICE_PARTITION_BY_COUNTS_LIST_END
CL_DEVICE_PARTITION_EQUALLY
CL_DEVICE_PARTITION_MAX_SUB_DEVICES
CL_DEVICE_PARTITION_PROPERTIES
CL_DEVICE_PARTITION_TYPE
CL_DEVICE_PLATFORM
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT
CL_DEVICE_PRINTF_BUFFER_SIZE
CL_DEVICE_PROFILE
CL_DEVICE_PROFILING_TIMER_RESOLUTION
CL_DEVICE_QUEUE_PROPERTIES
CL_DEVICE_REFERENCE_COUNT
CL_DEVICE_SINGLE_FP_CONFIG
CL_DEVICE_TYPE
CL_DEVICE_TYPE_ACCELERATOR
CL_DEVICE_TYPE_ALL
CL_DEVICE_TYPE_CPU
CL_DEVICE_TYPE_CUSTOM
CL_DEVICE_TYPE_DEFAULT
CL_DEVICE_TYPE_GPU
CL_DEVICE_VENDOR
CL_DEVICE_VENDOR_ID
CL_DEVICE_VERSION
CL_DRIVER_VERSION
CL_EVENT_COMMAND_EXECUTION_STATUS
CL_EVENT_COMMAND_QUEUE
CL_EVENT_COMMAND_TYPE
CL_EVENT_CONTEXT
CL_EVENT_REFERENCE_COUNT
CL_EXEC_KERNEL
CL_EXEC_NATIVE_KERNEL
CL_FALSE
CL_FILTER_LINEAR
CL_FILTER_NEAREST
CL_FLOAT
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT
CL_FP_DENORM
CL_FP_FMA
CL_FP_INF_NAN
CL_FP_ROUND_TO_INF
CL_FP_ROUND_TO_NEAREST
CL_FP_ROUND_TO_ZERO
CL_FP_SOFT_FLOAT
CL_GLOBAL
CL_HALF_FLOAT
CL_IMAGE_ARRAY_SIZE
CL_IMAGE_BUFFER
CL_IMAGE_DEPTH
CL_IMAGE_ELEMENT_SIZE
CL_IMAGE_FORMAT
CL_IMAGE_HEIGHT
CL_IMAGE_NUM_MIP_LEVELS
CL_IMAGE_NUM_SAMPLES
CL_IMAGE_ROW_PITCH
CL_IMAGE_SLICE_PITCH
CL_IMAGE_WIDTH
CL_INTENSITY
CL_KERNEL_ARG_ACCESS_NONE
CL_KERNEL_ARG_ACCESS_QUALIFIER
CL_KERNEL_ARG_ACCESS_READ_ONLY
CL_KERNEL_ARG_ACCESS_READ_WRITE
CL_KERNEL_ARG_ACCESS_WRITE_ONLY
CL_KERNEL_ARG_ADDRESS_CONSTANT
CL_KERNEL_ARG_ADDRESS_GLOBAL
CL_KERNEL_ARG_ADDRESS_LOCAL
CL_KERNEL_ARG_ADDRESS_PRIVATE
CL_KERNEL_ARG_ADDRESS_QUALIFIER
CL_KERNEL_ARG_NAME
CL_KERNEL_ARG_TYPE_CONST
CL_KERNEL_ARG_TYPE_NAME
CL_KERNEL_ARG_TYPE_NONE
CL_KERNEL_ARG_TYPE_QUALIFIER
CL_KERNEL_ARG_TYPE_RESTRICT
CL_KERNEL_ARG_TYPE_VOLATILE
CL_KERNEL_ATTRIBUTES
CL_KERNEL_COMPILE_WORK_GROUP_SIZE
CL_KERNEL_CONTEXT
CL_KERNEL_FUNCTION_NAME
CL_KERNEL_GLOBAL_WORK_SIZE
CL_KERNEL_LOCAL_MEM_SIZE
CL_KERNEL_NUM_ARGS
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
CL_KERNEL_PRIVATE_MEM_SIZE
CL_KERNEL_PROGRAM
CL_KERNEL_REFERENCE_COUNT
CL_KERNEL_WORK_GROUP_SIZE
CL_LOCAL
CL_LUMINANCE
CL_MAP_READ
CL_MAP_WRITE
CL_MAP_WRITE_INVALIDATE_REGION
CL_MEM_ALLOC_HOST_PTR
CL_MEM_ASSOCIATED_MEMOBJECT
CL_MEM_CONTEXT
CL_MEM_COPY_HOST_PTR
CL_MEM_FLAGS
CL_MEM_HOST_NO_ACCESS
CL_MEM_HOST_PTR
CL_MEM_HOST_READ_ONLY
CL_MEM_HOST_WRITE_ONLY
CL_MEM_MAP_COUNT
CL_MEM_OBJECT_BUFFER
CL_MEM_OBJECT_IMAGE1D
CL_MEM_OBJECT_IMAGE1D_ARRAY
CL_MEM_OBJECT_IMAGE1D_BUFFER
CL_MEM_OBJECT_IMAGE2D
CL_MEM_OBJECT_IMAGE2D_ARRAY
CL_MEM_OBJECT_IMAGE3D
CL_MEM_OFFSET
CL_MEM_READ_ONLY
CL_MEM_READ_WRITE
CL_MEM_REFERENCE_COUNT
CL_MEM_SIZE
CL_MEM_TYPE
CL_MEM_USE_HOST_PTR
CL_MEM_WRITE_ONLY
CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED
CL_MIGRATE_MEM_OBJECT_HOST
CL_NONE
CL_NON_BLOCKING
CL_PLATFORM_EXTENSIONS
CL_PLATFORM_NAME
CL_PLATFORM_PROFILE
CL_PLATFORM_VENDOR
CL_PLATFORM_VERSION
CL_PROFILING_COMMAND_END
CL_PROFILING_COMMAND_QUEUED
CL_PROFILING_COMMAND_START
CL_PROFILING_COMMAND_SUBMIT
CL_PROGRAM_BINARIES
CL_PROGRAM_BINARY_SIZES
CL_PROGRAM_BINARY_TYPE
CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT
CL_PROGRAM_BINARY_TYPE_EXECUTABLE
CL_PROGRAM_BINARY_TYPE_LIBRARY
CL_PROGRAM_BINARY_TYPE_NONE
CL_PROGRAM_BUILD_LOG
CL_PROGRAM_BUILD_OPTIONS
CL_PROGRAM_BUILD_STATUS
CL_PROGRAM_CONTEXT
CL_PROGRAM_DEVICES
CL_PROGRAM_KERNEL_NAMES
CL_PROGRAM_NUM_DEVICES
CL_PROGRAM_NUM_KERNELS
CL_PROGRAM_REFERENCE_COUNT
CL_PROGRAM_SOURCE
CL_QUEUED
CL_QUEUE_CONTEXT
CL_QUEUE_DEVICE
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
CL_QUEUE_PROFILING_ENABLE
CL_QUEUE_PROPERTIES
CL_QUEUE_REFERENCE_COUNT
CL_R
CL_RA
CL_READ_ONLY_CACHE
CL_READ_WRITE_CACHE
CL_RG
CL_RGB
CL_RGBA
CL_RGBx
CL_RGx
CL_RUNNING
CL_Rx
CL_SAMPLER_ADDRESSING_MODE
CL_SAMPLER_CONTEXT
CL_SAMPLER_FILTER_MODE
CL_SAMPLER_NORMALIZED_COORDS
CL_SAMPLER_REFERENCE_COUNT
CL_SIGNED_INT16
CL_SIGNED_INT32
CL_SIGNED_INT8
CL_SNORM_INT16
CL_SNORM_INT8
CL_SUBMITTED
CL_TRUE
CL_UNORM_INT16
CL_UNORM_INT24
CL_UNORM_INT8
CL_UNORM_INT_101010
CL_UNORM_SHORT_555
CL_UNORM_SHORT_565
CL_UNSIGNED_INT16
CL_UNSIGNED_INT32
CL_UNSIGNED_INT8
CL_VERSION_1_0
CL_VERSION_1_1
CL_VERSION_1_2

Functions

clBuildProgram
clCompileProgram
clCreateBuffer
clCreateCommandQueue
clCreateContext
clCreateContextFromType
clCreateImage
clCreateKernel
clCreateKernelsInProgram
clCreateProgramWithBinary
clCreateProgramWithBuiltInKernels
clCreateProgramWithSource
clCreateSampler
clCreateSubBuffer
clCreateSubDevices
clCreateUserEvent
clEnqueueBarrierWithWaitList
clEnqueueCopyBuffer
clEnqueueCopyBufferRect
clEnqueueCopyBufferToImage
clEnqueueCopyImage
clEnqueueCopyImageToBuffer
clEnqueueFillBuffer
clEnqueueFillImage
clEnqueueMapBuffer
clEnqueueMapImage
clEnqueueMarkerWithWaitList
clEnqueueMigrateMemObjects
clEnqueueNDRangeKernel
clEnqueueNativeKernel
clEnqueueReadBuffer
clEnqueueReadBufferRect
clEnqueueReadImage
clEnqueueTask
clEnqueueUnmapMemObject
clEnqueueWriteBuffer
clEnqueueWriteBufferRect
clEnqueueWriteImage
clFinish
clFlush
clGetCommandQueueInfo
clGetContextInfo
clGetDeviceIDs
clGetDeviceInfo
clGetEventInfo
clGetEventProfilingInfo
clGetExtensionFunctionAddressForPlatform
clGetImageInfo
clGetKernelArgInfo
clGetKernelInfo
clGetKernelWorkGroupInfo
clGetMemObjectInfo
clGetPlatformIDs
clGetPlatformInfo
clGetProgramBuildInfo
clGetProgramInfo
clGetSamplerInfo
clGetSupportedImageFormats
clLinkProgram
clReleaseCommandQueue
clReleaseContext
clReleaseDevice
clReleaseEvent
clReleaseKernel
clReleaseMemObject
clReleaseProgram
clReleaseSampler
clRetainCommandQueue
clRetainContext
clRetainDevice
clRetainEvent
clRetainKernel
clRetainMemObject
clRetainProgram
clRetainSampler
clSetEventCallback
clSetKernelArg
clSetMemObjectDestructorCallback
clSetUserEventStatus
clWaitForEvents

Type Definitions

cl_addressing_mode
cl_bitfield
cl_bool
cl_buffer_create_type
cl_build_status
cl_channel_order
cl_channel_type
cl_char
cl_command_queue
cl_command_queue_info
cl_command_queue_properties
cl_command_type
cl_context
cl_context_info
cl_context_properties
cl_device_affinity_domain
cl_device_exec_capabilities
cl_device_fp_config
cl_device_id
cl_device_info
cl_device_local_mem_type
cl_device_mem_cache_type
cl_device_partition_property
cl_device_type
cl_double
cl_event
cl_event_info
cl_filter_mode
cl_float
cl_half
cl_image_info
cl_int
cl_kernel
cl_kernel_arg_access_qualifier
cl_kernel_arg_address_qualifier
cl_kernel_arg_info
cl_kernel_arg_type_qualifier
cl_kernel_info
cl_kernel_work_group_info
cl_long
cl_map_flags
cl_mem
cl_mem_flags
cl_mem_info
cl_mem_migration_flags
cl_mem_object_type
cl_platform_id
cl_platform_info
cl_profiling_info
cl_program
cl_program_binary_type
cl_program_build_info
cl_program_info
cl_sampler
cl_sampler_info
cl_short
cl_uchar
cl_uint
cl_ulong
cl_ushort