Enumerated Types
Enumerated Types
2007-2011 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.
3
Enumerated Types 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
    CL_BLOCKING = CL_TRUE
    CL_NON_BLOCKING = CL_FALSE
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_INTENSITY
    CL_LUMINANCE
    CL_Rx
    CL_RGx
    CL_RGBx
`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_SIGNED_INT8
    CL_SIGNED_INT16
    CL_SIGNED_INT32
    CL_UNSIGNED_INT8
    CL_UNSIGNED_INT16
    CL_UNSIGNED_INT32
    CL_HALF_FLOAT
    CL_FLOAT
`cl_command_queue_info` |
    CL_QUEUE_CONTEXT
    CL_QUEUE_DEVICE
    CL_QUEUE_REFERENCE_COUNT
    CL_QUEUE_PROPERTIES
`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_TASK
    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_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_DEVICES
    CL_CONTEXT_PROPERTIES
    CL_CONTEXT_NUM_DEVICES
    CL_CONTEXT_D3D10_DEVICE_KHR
    CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR
    CL_CONTEXT_D3D11_DEVICE_KHR
    CL_CONTEXT_D3D11_PREFER_SHARED_RESOURCES_KHR
    CL_CONTEXT_D3D9_DEVICE_KHR
    CL_CONTEXT_D3D9EX_DEVICE_KHR
    CL_CONTEXT_DXVA_DEVICE_KHR
    CL_GL_CONTEXT_KHR
    CL_EGL_DISPLAY_KHR
    CL_GLX_DISPLAY_KHR
    CL_WGL_HDC_KHR
    CL_CGL_SHAREGROUP_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_d3d10_device_set_khr` |
`// cl_d3d10_device_set_nv` |
    CL_PREFERRED_DEVICES_FOR_D3D10_KHR
    CL_ALL_DEVICES_FOR_D3D10_KHR
`cl_d3d10_device_source_khr` |
`// cl_d3d10_device_source_nv` |
    CL_D3D10_DEVICE_KHR
    CL_D3D10_DXGI_ADAPTER_KHR
`cl_d3d11_device_set_khr` |
    CL_PREFERRED_DEVICES_FOR_D3D10_KHR
    CL_ALL_DEVICES_FOR_D3D10_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_MAX_CLOCK_FREQUENCY
    CL_DEVICE_ADDRESS_BITS
    CL_DEVICE_MAX_READ_IMAGE_ARGS
    CL_DEVICE_MAX_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_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_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_PROPERTIES
    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
    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_PREFERRED_INTEROP_USER_SYNC
    CL_DEVICE_PRINTF_BUFFER_SIZE
`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_COUNTS_LIST_END
    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_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
    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_NAME
`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_map_flags` |
    CL_MAP_READ
    CL_MAP_WRITE
    CL_MAP_WRITE_INVALIDATE_REGION
`// cl_media_adapter_set_khr` |
    CL_PREFERRED_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR
    CL_ALL_DEVICES_FOR_DX9_MEDIA_ADAPTER_KHR
`// cl_media_adapter_type_khr` |
    CL_D3D9_DEVICE_KHR
    CL_D3D9EX_DEVICE_KHR
    CL_DXVA_DEVICE_KHR
`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_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_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_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_platform_info` |
    CL_PLATFORM_PROFILE
    CL_PLATFORM_VERSION
    CL_PLATFORM_NAME
    CL_PLATFORM_VENDOR
    CL_PLATFORM_EXTENSIONS
    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_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_build_info` |
    CL_PROGRAM_BUILD_STATUS
    CL_PROGRAM_BUILD_OPTIONS
    CL_PROGRAM_BUILD_LOG
    CL_PROGRAM_BINARY_TYPE
`cl_program_info` |
    CL_PROGRAM_REFERENCE_COUNT
    CL_PROGRAM_CONTEXT
    CL_PROGRAM_NUM_DEVICES
    CL_PROGRAM_DEVICES
    CL_PROGRAM_SOURCE
    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

##