Following are the enumerated types and their permitted values.

Enumerated Type Permitted Values

cl_addressing_mode

CL_ADDRESS_NONE
CL_ADDRESS_CLAMP_TO_EDGE
CL_ADDRESS_CLAMP
CL_ADDRESS_REPEAT
CL_ADDRESS_MIRRORED_REPEAT

cl_bool

CL_FALSE
CL_TRUE

Note: Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels.

cl_buffer_create_type

CL_BUFFER_CREATE_TYPE_REGION

cl_build_status

CL_BUILD_SUCCESS
CL_BUILD_NONE
CL_BUILD_ERROR
CL_BUILD_IN_PROGRESS

cl_channel_order

CL_A
CL_R
CL_RG
CL_RA
CL_RGB
CL_RGBA
CL_BGRA
CL_ARGB
CL_ABGR
CL_INTENSITY
CL_LUMINANCE
CL_DEPTH
CL_Rx
CL_RGx
CL_RGBx
CL_sRGB
CL_sRGBx
CL_sRGBA
CL_sBGRA
CL_DEPTH_STENCIL (applies if the
cl_khr_gl_depth_images
extension is enabled)

cl_channel_type

CL_SNORM_INT8
CL_SNORM_INT16
CL_UNORM_INT8
CL_UNORM_INT16
CL_UNORM_SHORT_565
CL_UNORM_SHORT_555
CL_UNORM_INT_101010
CL_UNORM_INT_101010_2
CL_SIGNED_INT8
CL_SIGNED_INT16
CL_SIGNED_INT32
CL_UNSIGNED_INT8
CL_UNSIGNED_INT16
CL_UNSIGNED_INT32
CL_HALF_FLOAT
CL_FLOAT
CL_FLOAT (applies if the
cl_khr_gl_depth_images
extension is enabled)
CL_UNORM_INT24 (applies if the
cl_khr_gl_depth_images
extension is enabled)

cl_command_queue_info

CL_QUEUE_CONTEXT
CL_QUEUE_DEVICE
CL_QUEUE_REFERENCE_COUNT
CL_QUEUE_PROPERTIES
CL_QUEUE_SIZE
CL_QUEUE_DEVICE_DEFAULT

cl_command_queue_properties

CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
CL_QUEUE_PROFILING_ENABLE

cl_command_type

CL_COMMAND_NDRANGE_KERNEL
CL_COMMAND_NATIVE_KERNEL
CL_COMMAND_READ_BUFFER
CL_COMMAND_WRITE_BUFFER
CL_COMMAND_COPY_BUFFER
CL_COMMAND_READ_IMAGE
CL_COMMAND_WRITE_IMAGE
CL_COMMAND_COPY_IMAGE
CL_COMMAND_COPY_IMAGE_TO_BUFFER
CL_COMMAND_COPY_BUFFER_TO_IMAGE
CL_COMMAND_MAP_BUFFER
CL_COMMAND_MAP_IMAGE
CL_COMMAND_UNMAP_MEM_OBJECT
CL_COMMAND_MARKER
CL_COMMAND_ACQUIRE_GL_OBJECTS
CL_COMMAND_RELEASE_GL_OBJECTS
CL_COMMAND_READ_BUFFER_RECT
CL_COMMAND_WRITE_BUFFER_RECT
CL_COMMAND_COPY_BUFFER_RECT
CL_COMMAND_USER
CL_COMMAND_BARRIER
CL_COMMAND_MIGRATE_MEM_OBJECTS
CL_COMMAND_FILL_BUFFER
CL_COMMAND_FILL_IMAGE
CL_COMMAND_SVM_FREE
CL_COMMAND_SVM_MEMCPY
CL_COMMAND_SVM_MEMFILL
CL_COMMAND_SVM_MAP
CL_COMMAND_SVM_UNMAP
CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR
CL_COMMAND_EGL_FENCE_SYNC_OBJECT_KHR
CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR
CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR
CL_COMMAND_ACQUIRE_D3D11_OBJECTS_KHR
CL_COMMAND_RELEASE_D3D11_OBJECTS_KHR
CL_COMMAND_ACQUIRE_DX9_MEDIA_SURFACES_KHR
CL_COMMAND_RELEASE_DX9_MEDIA_SURFACES_KHR

cl_context_info

CL_CONTEXT_REFERENCE_COUNT
CL_CONTEXT_NUM_DEVICES
CL_CONTEXT_DEVICES
CL_CONTEXT_PROPERTIES
CL_CONTEXT_NUM_DEVICES
CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR
CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES_KHR

cl_context_properties

CL_CONTEXT_PLATFORM
CL_CONTEXT_INTEROP_USER_SYNC
CL_GL_CONTEXT_KHR
CL_EGL_DISPLAY_KHR
CL_GLX_DISPLAY_KHR
CL_WGL_HDC_KHR
CL_CGL_SHAREGROUP_KHR
CL_CONTEXT_D3D10_DEVICE_KHR
CL_CONTEXT_D3D11_DEVICE_KHR
CL_CONTEXT_ADAPTER_D3D9_KHR
CL_CONTEXT_ADAPTER_D3D9EX_KHR
CL_CONTEXT_ADAPTER_DXVA_KHR
CL_CONTEXT_MEMORY_INITIALIZE_KHR
CL_CONTEXT_TERMINATE_KHR

cl_d3d10_device_set_khr

CL_PREFERRED_DEVICES_FOR_D3D10_KHR
CL_ALL_DEVICES_FOR_D3D10_KHR

cl_d3d10_device_source_khr

CL_D3D10_DEVICE_KHR
CL_D3D10_DXGI_ADAPTER_KHR

cl_d3d11_device_set_khr

CL_PREFERRED_DEVICES_FOR_D3D11_KHR
CL_ALL_DEVICES_FOR_D3D11_KHR

cl_d3d11_device_source_khr

CL_D3D11_DEVICE_KHR
CL_D3D11_DXGI_ADAPTER_KHR

cl_device_affinity_domain

CL_DEVICE_AFFINITY_DOMAIN_NUMA
CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE
CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE
CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE

cl_device_exec_capabilities

CL_EXEC_KERNEL
CL_EXEC_NATIVE_KERNEL

cl_device_fp_config

CL_FP_DENORM
CL_FP_INF_NAN
CL_FP_ROUND_TO_NEAREST
CL_FP_ROUND_TO_ZERO
CL_FP_ROUND_TO_INF
CL_FP_FMA
CL_FP_SOFT_FLOAT
CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT

cl_device_info

CL_DEVICE_TYPE
CL_DEVICE_VENDOR_ID
CL_DEVICE_MAX_COMPUTE_UNITS
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
CL_DEVICE_MAX_WORK_GROUP_SIZE
CL_DEVICE_MAX_WORK_ITEM_SIZES
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_DEVICE_MAX_CLOCK_FREQUENCY
CL_DEVICE_ADDRESS_BITS
CL_DEVICE_MAX_READ_IMAGE_ARGS
CL_DEVICE_MAX_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS
CL_DEVICE_MAX_MEM_ALLOC_SIZE
CL_DEVICE_IMAGE2D_MAX_WIDTH
CL_DEVICE_IMAGE2D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_WIDTH
CL_DEVICE_IMAGE3D_MAX_HEIGHT
CL_DEVICE_IMAGE3D_MAX_DEPTH
CL_DEVICE_IMAGE_SUPPORT
CL_DEVICE_MAX_PARAMETER_SIZE
CL_DEVICE_MAX_SAMPLERS
CL_DEVICE_IMAGE_PITCH_ALIGNMENT
CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT
CL_DEVICE_MAX_PIPE_ARGS
CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS
CL_DEVICE_PIPE_MAX_PACKET_SIZE
CL_DEVICE_MEM_BASE_ADDR_ALIGN
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
CL_DEVICE_SINGLE_FP_CONFIG
CL_DEVICE_GLOBAL_MEM_CACHE_TYPE
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
CL_DEVICE_GLOBAL_MEM_SIZE
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
CL_DEVICE_MAX_CONSTANT_ARGS
CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE
CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE
CL_DEVICE_LOCAL_MEM_TYPE
CL_DEVICE_LOCAL_MEM_SIZE
CL_DEVICE_ERROR_CORRECTION_SUPPORT
CL_DEVICE_PROFILING_TIMER_RESOLUTION
CL_DEVICE_ENDIAN_LITTLE
CL_DEVICE_AVAILABLE
CL_DEVICE_COMPILER_AVAILABLE
CL_DEVICE_EXECUTION_CAPABILITIES
CL_DEVICE_QUEUE_ON_HOST_PROPERTIES
CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES
CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE
CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE
CL_DEVICE_MAX_ON_DEVICE_QUEUES
CL_DEVICE_MAX_ON_DEVICE_EVENTS
CL_DEVICE_NAME
CL_DEVICE_VENDOR
CL_DRIVER_VERSION
CL_DEVICE_PROFILE
CL_DEVICE_VERSION
CL_DEVICE_EXTENSIONS
CL_DEVICE_PLATFORM
CL_DEVICE_DOUBLE_FP_CONFIG
CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF
CL_DEVICE_HOST_UNIFIED_MEMORY (deprecated)
CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR
CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT
CL_DEVICE_NATIVE_VECTOR_WIDTH_INT
CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG
CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT
CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE
CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF
CL_DEVICE_OPENCL_C_VERSION
CL_DEVICE_LINKER_AVAILABLE
CL_DEVICE_BUILT_IN_KERNELS
CL_DEVICE_IMAGE_MAX_BUFFER_SIZE
CL_DEVICE_IMAGE_MAX_ARRAY_SIZE
CL_DEVICE_PARENT_DEVICE
CL_DEVICE_PARTITION_MAX_SUB_DEVICES
CL_DEVICE_PARTITION_PROPERTIES
CL_DEVICE_PARTITION_AFFINITY_DOMAIN
CL_DEVICE_PARTITION_TYPE
CL_DEVICE_REFERENCE_COUNT
CL_DEVICE_SVM_CAPABILITIES
CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT
CL_DEVICE_PREFERRED_INTEROP_USER_SYNC
CL_DEVICE_PRINTF_BUFFER_SIZE
CL_DEVICE_HALF_FP_CONFIG
CL_DEVICE_TERMINATE_CAPABILITY_KHR
CL_DEVICE_SPIR_VERSIONS

cl_device_local_mem_type

CL_GLOBAL
CL_LOCAL

CL_NONE

cl_device_mem_cache_type

CL_NONE
CL_READ_ONLY_CACHE
CL_READ_WRITE_CACHE

cl_device_partition_property

CL_DEVICE_PARTITION_EQUALLY
CL_DEVICE_PARTITION_BY_COUNTS
CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN

0

cl_device_type

CL_DEVICE_TYPE_DEFAULT
CL_DEVICE_TYPE_CPU
CL_DEVICE_TYPE_GPU
CL_DEVICE_TYPE_ACCELERATOR
CL_DEVICE_TYPE_CUSTOM
CL_DEVICE_TYPE_ALL

cl_event_info

CL_EVENT_COMMAND_QUEUE
CL_EVENT_COMMAND_TYPE
CL_EVENT_REFERENCE_COUNT
CL_EVENT_COMMAND_EXECUTION_STATUS
CL_EVENT_CONTEXT

cl_filter_mode

CL_FILTER_NEAREST
CL_FILTER_LINEAR

cl_gl_context_info

CL_CURRENT_DEVICE_FOR_GL_CONTEXT_KHR
CL_DEVICES_FOR_GL_CONTEXT_KHR

cl_gl_object_type

CL_GL_OBJECT_BUFFER
CL_GL_OBJECT_TEXTURE2D
CL_GL_OBJECT_TEXTURE3D
CL_GL_OBJECT_RENDERBUFFER
CL_GL_OBJECT_TEXTURE2D_ARRAY
CL_GL_OBJECT_TEXTURE1D
CL_GL_OBJECT_TEXTURE1D_ARRAY
CL_GL_OBJECT_TEXTURE_BUFFER

cl_gl_texture_info

CL_GL_TEXTURE_TARGET
CL_GL_MIPMAP_LEVEL
CL_GL_NUM_SAMPLES

cl_image_info

CL_IMAGE_FORMAT
CL_IMAGE_ELEMENT_SIZE
CL_IMAGE_ROW_PITCH
CL_IMAGE_SLICE_PITCH
CL_IMAGE_WIDTH
CL_IMAGE_HEIGHT
CL_IMAGE_DEPTH
CL_IMAGE_ARRAY_SIZE
CL_IMAGE_BUFFER (deprecated)
CL_IMAGE_NUM_MIP_LEVELS
CL_IMAGE_NUM_SAMPLES
CL_IMAGE_D3D10_SUBRESOURCE_KHR
CL_IMAGE_D3D11_SUBRESOURCE_KHR
CL_IMAGE_DX9_MEDIA_PLANE_KHR

cl_kernel_arg_address_qualifier

CL_KERNEL_ARG_ADDRESS_GLOBAL
CL_KERNEL_ARG_ADDRESS_LOCAL
CL_KERNEL_ARG_ADDRESS_CONSTANT
CL_KERNEL_ARG_ADDRESS_PRIVATE

cl_kernel_arg_access_qualifier

CL_KERNEL_ARG_ACCESS_READ_ONLY
CL_KERNEL_ARG_ACCESS_WRITE_ONLY
CL_KERNEL_ARG_ACCESS_READ_WRITE
CL_KERNEL_ARG_ACCESS_NONE

cl_kernel_arg_info

CL_KERNEL_ARG_ADDRESS_QUALIFIER
CL_KERNEL_ARG_ACCESS_QUALIFIER
CL_KERNEL_ARG_TYPE_NAME
CL_KERNEL_ARG_TYPE_QUALIFIER
CL_KERNEL_ARG_NAME

cl_kernel_arg_type_qualifier

CL_KERNEL_ARG_TYPE_CONST
CL_KERNEL_ARG_TYPE_RESTRICT
CL_KERNEL_ARG_TYPE_VOLATILE
CL_KERNEL_ARG_TYPE_PIPE
CL_KERNEL_ARG_TYPE_NONE

cl_kernel_exec_info

CL_KERNEL_EXEC_INFO_SVM_PTRS
CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM

cl_kernel_info

CL_KERNEL_FUNCTION_NAME
CL_KERNEL_NUM_ARGS
CL_KERNEL_REFERENCE_COUNT
CL_KERNEL_CONTEXT
CL_KERNEL_PROGRAM
CL_KERNEL_ATTRIBUTES

cl_kernel_work_group_info

CL_KERNEL_WORK_GROUP_SIZE
CL_KERNEL_COMPILE_WORK_GROUP_SIZE
CL_KERNEL_LOCAL_MEM_SIZE
CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE
CL_KERNEL_PRIVATE_MEM_SIZE
CL_KERNEL_GLOBAL_WORK_SIZE
CL_KERNEL_MAX_NUM_SUB_GROUPS
CL_KERNEL_COMPILE_NUM_SUB_GROUPS

cl_map_flags

CL_MAP_READ
CL_MAP_WRITE
CL_MAP_WRITE_INVALIDATE_REGION

cl_mem_fence_flags

CLK_GLOBAL_MEM_FENCE
CLK_LOCAL_MEM_FENCE
CLK_IMAGE_MEM_FENCE

cl_mem_flags

CL_MEM_READ_WRITE
CL_MEM_WRITE_ONLY
CL_MEM_READ_ONLY
CL_MEM_USE_HOST_PTR
CL_MEM_ALLOC_HOST_PTR
CL_MEM_COPY_HOST_PTR
CL_MEM_HOST_WRITE_ONLY
CL_MEM_HOST_READ_ONLY

cl_mem_info

CL_MEM_TYPE
CL_MEM_FLAGS
CL_MEM_SIZE
CL_MEM_HOST_PTR
CL_MEM_MAP_COUNT
CL_MEM_REFERENCE_COUNT
CL_MEM_CONTEXT
CL_MEM_ASSOCIATED_MEMOBJECT
CL_MEM_OFFSET
CL_MEM_USES_SVM_POINTER
CL_MEM_D3D10_RESOURCE_KHR
CL_MEM_D3D11_RESOURCE_KHR
CL_MEM_DX9_MEDIA_ADAPTER_TYPE_KHR
CL_MEM_DX9_MEDIA_SURFACE_INFO_KHR

cl_mem_migration_flags

CL_MIGRATE_MEM_OBJECT_HOST
CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED

cl_mem_object_type

CL_MEM_OBJECT_BUFFER

CL_MEM_OBJECT_PIPE

CL_MEM_OBJECT_IMAGE2D
CL_MEM_OBJECT_IMAGE3D
CL_MEM_OBJECT_IMAGE2D_ARRAY
CL_MEM_OBJECT_IMAGE1D
CL_MEM_OBJECT_IMAGE1D_ARRAY
CL_MEM_OBJECT_IMAGE1D_BUFFER

cl_pipe_info

CL_PIPE_PACKET_SIZE
CL_PIPE_MAX_PACKETS

cl_platform_info

CL_PLATFORM_PROFILE
CL_PLATFORM_VERSION
CL_PLATFORM_NAME
CL_PLATFORM_VENDOR
CL_PLATFORM_EXTENSIONS
CL_PLATFORM_HOST_TIMER_RESOLUTION
CL_PLATFORM_ICD_SUFFIX_KHR

cl_profiling_info

CL_PROFILING_COMMAND_QUEUED
CL_PROFILING_COMMAND_SUBMIT
CL_PROFILING_COMMAND_START
CL_PROFILING_COMMAND_END
CL_PROFILING_COMMAND_COMPLETE

cl_program_binary_type

CL_PROGRAM_BINARY_TYPE_NONE
CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT
CL_PROGRAM_BINARY_TYPE_LIBRARY
CL_PROGRAM_BINARY_TYPE_EXECUTABLE
CL_PROGRAM_BINARY_TYPE_INTERMEDIATE

cl_program_build_info

CL_PROGRAM_BUILD_STATUS
CL_PROGRAM_BUILD_OPTIONS
CL_PROGRAM_BUILD_LOG
CL_PROGRAM_BINARY_TYPE
CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE

cl_program_info

CL_PROGRAM_REFERENCE_COUNT
CL_PROGRAM_CONTEXT
CL_PROGRAM_NUM_DEVICES
CL_PROGRAM_DEVICES
CL_PROGRAM_SOURCE
CL_PROGRAM_IL
CL_PROGRAM_BINARY_SIZES
CL_PROGRAM_BINARIES
CL_PROGRAM_NUM_KERNELS
CL_PROGRAM_KERNEL_NAMES

cl_sampler_info

CL_SAMPLER_REFERENCE_COUNT
CL_SAMPLER_CONTEXT
CL_SAMPLER_NORMALIZED_COORDS
CL_SAMPLER_ADDRESSING_MODE
CL_SAMPLER_FILTER_MODE

cl_sampler_properties

CL_SAMPLER_NORMALIZED_COORDS
CL_SAMPLER_ADDRESSING_MODE
CL_SAMPLER_FILTER_MODE
CL_SAMPLER_MIP_FILTER_MODE_KHR
CL_SAMPLER_LOD_MIN_KHR
CL_SAMPLER_LOD_MAX_KHR

cl_svm_mem_flags

CL_MEM_READ_WRITE
CL_MEM_WRITE_ONLY
CL_MEM_READ_ONLY
CL_MEM_SVM_FINE_GRAIN_BUFFER
CL_MEM_SVM_ATOMICS

memory_order

memory_order_relaxed
memory_order_acquire
memory_order_release
memory_order_acq_rel
memory_order_seq_cst

memory_scope

memory_scope_work_item
memory_scope_work_group
memory_scope_device
memory_scope_all_svm_devices