Commit b704486ac71d38a1aebfa03b9be455d5ed8e319a

Jan S. (Milania1) 2017-09-11T21:38:56

Simplified regexes for OpenCL language

diff --git a/components/prism-opencl.js b/components/prism-opencl.js
index efb14bf..83545e3 100644
--- a/components/prism-opencl.js
+++ b/components/prism-opencl.js
@@ -2,15 +2,15 @@
 	/* OpenCL kernel language */
 	Prism.languages.opencl = Prism.languages.extend('c', {
 		// Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)
-		'keyword': /\b(__attribute__|__constant|__global|__kernel|__local|__private|__read_only|__read_write|__write_only|_cl_command_queue|_cl_context|_cl_device_id|_cl_event|_cl_kernel|_cl_mem|_cl_platform_id|_cl_program|_cl_sampler|auto|bool|bool16|bool2|bool3|bool4|bool8|break|case|char|char16|char2|char3|char4|char8|cl_image_format|cl_mem_fence_flags|clk_event_t|complex|const|constant|continue|default|do|double|double16|double16x1|double16x16|double16x2|double16x4|double16x8|double1x1|double1x16|double1x2|double1x4|double1x8|double2|double2x1|double2x16|double2x2|double2x4|double2x8|double3|double4|double4x1|double4x16|double4x2|double4x4|double4x8|double8|double8x1|double8x16|double8x2|double8x4|double8x8|else|enum|event_t|extern|float|float16|float16x1|float16x16|float16x2|float16x4|float16x8|float1x1|float1x16|float1x2|float1x4|float1x8|float2|float2x1|float2x16|float2x2|float2x4|float2x8|float3|float4|float4x1|float4x16|float4x2|float4x4|float4x8|float8|float8x1|float8x16|float8x2|float8x4|float8x8|for|global|goto|half|half16|half2|half3|half4|half8|if|image1d_array_t|image1d_buffer_t|image1d_t|image2d_array_depth_t|image2d_array_msaa_depth_t|image2d_array_msaa_t|image2d_array_t|image2d_depth_t|image2d_msaa_depth_t|image2d_msaa_t|image2d_t|image3d_t|imaginary|inline|int|int16|int2|int3|int4|int8|intptr_t|kernel|local|long|long16|long2|long3|long4|long8|ndrange_t|packed|pipe|private|ptrdiff_t|quad|quad16|quad2|quad3|quad4|quad8|queue_t|read_only|read_write|register|reserve_id_t|restrict|return|sampler_t|short|short16|short2|short3|short4|short8|signed|size_t|sizeof|static|struct|switch|typedef|uchar|uchar16|uchar2|uchar3|uchar4|uchar8|uint|uint16|uint2|uint3|uint4|uint8|uintptr_t|ulong|ulong16|ulong2|ulong3|ulong4|ulong8|uniform|union|unsigned|ushort|ushort16|ushort2|ushort3|ushort4|ushort8|void|volatile|while|write_only)\b/,
+		'keyword': /\b(__attribute__|(__)?(constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(float|double)(16(x(1|16|2|4|8))?|1x(1|16|2|4|8)|2(x(1|16|2|4|8))?|3|4(x(1|16|2|4|8))?|8(x(1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(u?(char|short|int|long)|half|quad|bool)(2|3|4|8|16)?|if|image(1d_(array_|buffer_)?t|2d_(array_(depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/,
 		// Extracted from http://streamcomputing.eu/downloads/?opencl.lang (global-vars, opencl-dev)
 		'function-opencl-kernel': {
-			pattern: /\b(abs|abs_diff|acos|acosh|acospi|add_sat|aligned|all|and|any|asin|asinh|asinpi|async|async_work_group_copy|async_work_group_strided_copy|atan|atan2|atan2pi|atanh|atanpi|atom_add|atom_and|atom_cmpxchg|atom_dec|atom_inc|atom_max|atom_min|atom_or|atom_sub|atom_xchg|atom_xor|barrier|bitselect|cbrt|ceil|clamp|clz|copies|copysign|cos|cosh|cospi|cross|degrees|distance|dot|endian|erf|erfc|exp|exp10|exp2|expm1|fabs|fast_distance|fast_length|fast_normalize|fdim|floor|fma|fmax|fmin|fract|frexp|fro|from|get_global_id|get_global_offset|get_global_size|get_group_id|get_image_channel_data_type|get_image_channel_order|get_image_depth|get_image_dim|get_image_height|get_image_width|get_local_id|get_local_size|get_num_groups|get_work_dim|hadd|half_cos|half_divide|half_exp|half_exp10|half_exp2|half_log|half_log10|half_log2|half_powr|half_recip|half_rsqrt|half_sin|half_sqrt|half_tan|hypot|ilogb|isequal|isfinite|isgreater|isgreaterequal|isinf|isless|islessequal|islessgreater|isnan|isnormal|isnotequal|isordered|isunordered|ldexp|length|lgamma|lgamma_r|log|log10|log1p|log2|logb|mad|mad24|mad_hi|mad_sat|max|mem|mem_fence|min|mix|modf|mul24|mul_hi|nan|native_cos|native_divide|native_exp|native_exp10|native_exp2|native_log|native_log10|native_log2|native_powr|native_recip|native_rsqrt|native_sin|native_sqrt|native_tan|nextafter|normalize|pow|pown|powr|prefetch|radians|read_imagef|read_imageh|read_imagei|read_imageui|read_mem_fence|remainder|remquo|reqd_work_group_size|rhadd|rint|rootn|rotate|round|rsqrt|select|shuffle|shuffle2|sign|signbit|sin|sincos|sinh|sinpi|smoothstep|sqrt|step|sub_sat|tan|tanh|tanpi|tgamma|to|trunc|upsample|vec_step|vec_type_hint|vload16|vload2|vload3|vload4|vload8|vload_half|vload_half16|vload_half2|vload_half3|vload_half4|vload_half8|vloada_half16|vloada_half16_rte|vloada_half16_rtp|vloada_half16_rtz|vloada_half2|vloada_half2_rte|vloada_half2_rtp|vloada_half2_rtz|vloada_half3|vloada_half3_rte|vloada_half3_rtp|vloada_half3_rtz|vloada_half4|vloada_half4_rte|vloada_half4_rtp|vloada_half4_rtz|vloada_half8|vloada_half8_rte|vloada_half8_rtp|vloada_half8_rtz|vstore16|vstore2|vstore3|vstore4|vstore8|vstore_half|vstore_half16|vstore_half16_rte|vstore_half16_rtn|vstore_half16_rtp|vstore_half16_rtz|vstore_half2|vstore_half2_rte|vstore_half2_rtn|vstore_half2_rtp|vstore_half2_rtz|vstore_half3|vstore_half3_rte|vstore_half3_rtn|vstore_half3_rtp|vstore_half3_rtz|vstore_half4|vstore_half4_rte|vstore_half4_rtn|vstore_half4_rtp|vstore_half4_rtz|vstore_half8|vstore_half8_rte|vstore_half8_rtn|vstore_half8_rtp|vstore_half8_rtz|vstore_half_rte|vstore_half_rtn|vstore_half_rtp|vstore_half_rtz|vstore_rte|vstore_rtn|vstore_rtp|vstore_rtz|vstorea_half16|vstorea_half16_rte|vstorea_half16_rtn|vstorea_half16_rtp|vstorea_half16_rtz|vstorea_half2|vstorea_half2_rte|vstorea_half2_rtn|vstorea_half2_rtp|vstorea_half2_rtz|vstorea_half3|vstorea_half3_rte|vstorea_half3_rtn|vstorea_half3_rtp|vstorea_half3_rtz|vstorea_half4|vstorea_half4_rte|vstorea_half4_rtn|vstorea_half4_rtp|vstorea_half4_rtz|vstorea_half8|vstorea_half8_rte|vstorea_half8_rtn|vstorea_half8_rtp|vstorea_half8_rtz|vstorea_half_rte|vstorea_half_rtn|vstorea_half_rtp|vstorea_half_rtz|wait_group_events|work_group_size_hint|write_imagef|write_imageh|write_imagei|write_imageui|write_mem_fence)\b/,
+			pattern: /\b(abs(_diff)?|a?(cos|sin)(h|pi)?|add_sat|aligned|all|and|any|async(_work_group_copy|_work_group_strided_copy)?|atan(2?(pi)?|h)?|atom_(add|and|cmpxchg|dec|inc|max|min|or|sub|xchg|xor)|barrier|bitselect|cbrt|ceil|clamp|clz|copies|copysign|cross|degrees|distance|dot|endian|erf|erfc|exp(2|10)?|expm1|fabs|fast_(distance|length|normalize)|fdim|floor|fma|fmax|fmin|fract|frexp|fro|from|get_(global_(id|offset|size)|group_id|image_(channel_data_type|channel_order|depth|dim|height|width)|local(_id|_size)|num_groups|work_dim)|hadd|(half|native)_(cos|divide|exp(2|10)?|log(2|10)?|powr|recip|r?sqrt|sin|tan)|hypot|ilogb|is(equal|finite|greater(equal)?|inf|less(equal|greater)?|nan|normal|notequal|(un)?ordered)|ldexp|length|lgamma|lgamma_r|log(b|1p|2|10)?|mad(24|_hi|_sat)?|max|mem(_fence)?|min|mix|modf|mul24|mul_hi|nan|nextafter|normalize|pow(n|r)?|prefetch|radians|read_(image)(f|h|u?i)|read_mem_fence|remainder|remquo|reqd_work_group_size|rhadd|rint|rootn|rotate|round|rsqrt|select|shuffle2?|sign|signbit|sincos|smoothstep|sqrt|step|sub_sat|tan|tanh|tanpi|tgamma|to|trunc|upsample|vec_(step|type_hint)|v(load|store)(_half)?(2|3|4|8|16)?|v(loada_half|storea?(_half)?)(2|3|4|8|16)?(_(rte|rtn|rtp|rtz))?|wait_group_events|work_group_size_hint|write_image(f|h|u?i)|write_mem_fence)\b/,
 			alias: 'function'
 		},
 		// Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)
 		'constant-opencl-kernel': {
-			pattern: /\b(CHAR_BIT|CHAR_MAX|CHAR_MIN|CLK_ADDRESS_CLAMP|CLK_ADDRESS_CLAMP_TO_EDGE|CLK_ADDRESS_NONE|CLK_ADDRESS_REPEAT|CLK_FILTER_LINEAR|CLK_FILTER_NEAREST|CLK_GLOBAL_MEM_FENCE|CLK_LOCAL_MEM_FENCE|CLK_NORMALIZED_COORDS_FALSE|CLK_NORMALIZED_COORDS_TRUE|CL_A|CL_ARGB|CL_BGRA|CL_FLOAT|CL_HALF_FLOAT|CL_INTENSITY|CL_LUMINANCE|CL_R|CL_RA|CL_RG|CL_RGB|CL_RGBA|CL_RGBx|CL_RGx|CL_Rx|CL_SIGNED_INT16|CL_SIGNED_INT32|CL_SIGNED_INT8|CL_SNORM_INT16|CL_SNORM_INT8|CL_UNORM_INT16|CL_UNORM_INT8|CL_UNORM_INT_101010|CL_UNORM_SHORT_555|CL_UNORM_SHORT_565|CL_UNSIGNED_INT16|CL_UNSIGNED_INT32|CL_UNSIGNED_INT8|DBL_DIG|DBL_EPSILON|DBL_MANT_DIG|DBL_MAX|DBL_MAX_10_EXP|DBL_MIN|DBL_MIN_10_EXP|DBL_MIN_EXP|FLT_DIG|FLT_EPSILON|FLT_MANT_DIG|FLT_MAX|FLT_MAX_10_EXP|FLT_MAX_EXP|FLT_MIN|FLT_MIN_10_EXP|FLT_MIN_EXP|FLT_RADIX|HUGE_VALF|INFINITY|INT_MAX|INT_MIN|LONG_MAX|LONG_MIN|MAXFLOAT|M_1_PI|M_2_PI|M_2_SQRTPI|M_E|M_LN10|M_LN2|M_LOG10E|M_LOG2E|M_PI|M_PI2|M_PI4|M_SQRT1_2|M_SQRT2|NAN|SCHAR_MAX|SCHAR_MIN|SHRT_MAX|SHRT_MIN|UCHAR_MAX|UCHAR_MIN|UINT_MAX|ULONG_MAX)\b/,
+			pattern: /\b(CHAR_(BIT|MAX|MIN)|CLK_(ADDRESS_(CLAMP(_TO_EDGE)?|NONE|REPEAT)|FILTER_(LINEAR|NEAREST)|(LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(FALSE|TRUE))|CL_(BGRA|(HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?(A|x)?|((UN)?SIGNED|(U|S)NORM)_(INT(8|16|32))|UNORM_(INT_101010|SHORT_(555|565)))|(DBL|FLT)_(DIG|EPSILON|MANT_DIG|(MIN|MAX)((_10)?_EXP)?)|FLT_RADIX|HUGE_VALF|INFINITY|(INT|LONG|SCHAR|SHRT|UCHAR|UINT|ULONG)_(MAX|MIN)|MAXFLOAT|M_((1|2)_PI|2_SQRTPI|E|LN(2|10)|LOG(10|2)E?|PI(2|4)?|SQRT(1_2|2))|NAN)\b/,
 			alias: 'constant'
 		}
 	});
@@ -18,21 +18,21 @@
 	var attributes = {
 		// Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)
 		'type-opencl-host': {
-			pattern: /\b(cl_GLenum|cl_GLint|cl_GLuin|cl_addressing_mode|cl_bitfield|cl_bool|cl_buffer_create_type|cl_build_status|cl_channel_order|cl_channel_type|cl_char|cl_char16|cl_char2|cl_char3|cl_char4|cl_char8|cl_command_queue|cl_command_queue_info|cl_command_queue_properties|cl_command_type|cl_context|cl_context_info|cl_context_properties|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_type|cl_double|cl_double16|cl_double2|cl_double3|cl_double4|cl_double8|cl_event|cl_event_info|cl_filter_mode|cl_float|cl_float16|cl_float2|cl_float3|cl_float4|cl_float8|cl_half|cl_image_info|cl_int|cl_int16|cl_int2|cl_int3|cl_int4|cl_int8|cl_kernel|cl_kernel_info|cl_kernel_work_group_info|cl_long|cl_long16|cl_long2|cl_long3|cl_long4|cl_long8|cl_map_flags|cl_mem|cl_mem_flags|cl_mem_info|cl_mem_object_type|cl_platform_id|cl_platform_info|cl_profiling_info|cl_program|cl_program_build_info|cl_program_info|cl_sampler|cl_sampler_info|cl_short|cl_short16|cl_short2|cl_short3|cl_short4|cl_short8|cl_uchar|cl_uchar16|cl_uchar2|cl_uchar3|cl_uchar4|cl_uchar8|cl_uint|cl_uint16|cl_uint2|cl_uint3|cl_uint4|cl_uint8|cl_ulong|cl_ulong16|cl_ulong2|cl_ulong3|cl_ulong4|cl_ulong8|cl_ushort|cl_ushort16|cl_ushort2|cl_ushort3|cl_ushort4|cl_ushort8)\b/,
+			pattern: /\b(cl_(GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(order|type)|(u?(char|short|int|long)|float|double)(2|3|4|8|16)?|command_(queue(_info|_properties)?|type)|context(_info|_properties)?|device_(exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(event|sampler)(_info)?|filter_mode|half|image_info|kernel(_info|_work_group_info)?|map_flags|mem(_flags|_info|_object_type)?|platform_(id|info)|profiling_info|program(_build_info|_info)?))\b/,
 			alias: 'keyword'
 		},
 		'boolean-opencl-host': {
-			pattern: /\b(CL_TRUE|CL_FALSE)\b/,
+			pattern: /\bCL_(TRUE|FALSE)\b/,
 			alias: 'boolean'
 		},
 		// Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)
 		'constant-opencl-host': {
-			pattern: /\b(CL_A|CL_ABGR|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_PROGRAM_FAILURE|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_MIGRATE_SVM_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_SVM_FREE|CL_COMMAND_SVM_MAP|CL_COMMAND_SVM_MEMCPY|CL_COMMAND_SVM_MEMFILL|CL_COMMAND_SVM_UNMAP|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_COMPILER_NOT_AVAILABLE|CL_COMPILE_PROGRAM_FAILURE|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_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE|CL_DEVICE_HOST_UNIFIED_MEMORY|CL_DEVICE_IL_VERSION|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_GLOBAL_VARIABLE_SIZE|CL_DEVICE_MAX_MEM_ALLOC_SIZE|CL_DEVICE_MAX_NUM_SUB_GROUPS|CL_DEVICE_MAX_ON_DEVICE_EVENTS|CL_DEVICE_MAX_ON_DEVICE_QUEUES|CL_DEVICE_MAX_PARAMETER_SIZE|CL_DEVICE_MAX_PIPE_ARGS|CL_DEVICE_MAX_READ_IMAGE_ARGS|CL_DEVICE_MAX_READ_WRITE_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_NOT_AVAILABLE|CL_DEVICE_NOT_FOUND|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_FAILED|CL_DEVICE_PARTITION_MAX_SUB_DEVICES|CL_DEVICE_PARTITION_PROPERTIES|CL_DEVICE_PARTITION_TYPE|CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS|CL_DEVICE_PIPE_MAX_PACKET_SIZE|CL_DEVICE_PLATFORM|CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT|CL_DEVICE_PREFERRED_INTEROP_USER_SYNC|CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT|CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT|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_ON_DEVICE_MAX_SIZE|CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE|CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES|CL_DEVICE_QUEUE_ON_HOST_PROPERTIES|CL_DEVICE_QUEUE_PROPERTIES|CL_DEVICE_REFERENCE_COUNT|CL_DEVICE_SINGLE_FP_CONFIG|CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|CL_DEVICE_SVM_ATOMICS|CL_DEVICE_SVM_CAPABILITIES|CL_DEVICE_SVM_COARSE_GRAIN_BUFFER|CL_DEVICE_SVM_FINE_GRAIN_BUFFER|CL_DEVICE_SVM_FINE_GRAIN_SYSTEM|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_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST|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_FORMAT_MISMATCH|CL_IMAGE_FORMAT_NOT_SUPPORTED|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_INVALID_ARG_INDEX|CL_INVALID_ARG_SIZE|CL_INVALID_ARG_VALUE|CL_INVALID_BINARY|CL_INVALID_BUFFER_SIZE|CL_INVALID_BUILD_OPTIONS|CL_INVALID_COMMAND_QUEUE|CL_INVALID_COMPILER_OPTIONS|CL_INVALID_CONTEXT|CL_INVALID_DEVICE|CL_INVALID_DEVICE_PARTITION_COUNT|CL_INVALID_DEVICE_QUEUE|CL_INVALID_DEVICE_TYPE|CL_INVALID_EVENT|CL_INVALID_EVENT_WAIT_LIST|CL_INVALID_GLOBAL_OFFSET|CL_INVALID_GLOBAL_WORK_SIZE|CL_INVALID_GL_OBJECT|CL_INVALID_HOST_PTR|CL_INVALID_IMAGE_DESCRIPTOR|CL_INVALID_IMAGE_FORMAT_DESCRIPTOR|CL_INVALID_IMAGE_SIZE|CL_INVALID_KERNEL|CL_INVALID_KERNEL_ARGS|CL_INVALID_KERNEL_DEFINITION|CL_INVALID_KERNEL_NAME|CL_INVALID_LINKER_OPTIONS|CL_INVALID_MEM_OBJECT|CL_INVALID_MIP_LEVEL|CL_INVALID_OPERATION|CL_INVALID_PIPE_SIZE|CL_INVALID_PLATFORM|CL_INVALID_PROGRAM|CL_INVALID_PROGRAM_EXECUTABLE|CL_INVALID_PROPERTY|CL_INVALID_QUEUE_PROPERTIES|CL_INVALID_SAMPLER|CL_INVALID_VALUE|CL_INVALID_WORK_DIMENSION|CL_INVALID_WORK_GROUP_SIZE|CL_INVALID_WORK_ITEM_SIZE|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_INFO_NOT_AVAILABLE|CL_KERNEL_ARG_NAME|CL_KERNEL_ARG_TYPE_CONST|CL_KERNEL_ARG_TYPE_NAME|CL_KERNEL_ARG_TYPE_NONE|CL_KERNEL_ARG_TYPE_PIPE|CL_KERNEL_ARG_TYPE_QUALIFIER|CL_KERNEL_ARG_TYPE_RESTRICT|CL_KERNEL_ARG_TYPE_VOLATILE|CL_KERNEL_ATTRIBUTES|CL_KERNEL_COMPILE_NUM_SUB_GROUPS|CL_KERNEL_COMPILE_WORK_GROUP_SIZE|CL_KERNEL_CONTEXT|CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|CL_KERNEL_EXEC_INFO_SVM_PTRS|CL_KERNEL_FUNCTION_NAME|CL_KERNEL_GLOBAL_WORK_SIZE|CL_KERNEL_LOCAL_MEM_SIZE|CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT|CL_KERNEL_MAX_NUM_SUB_GROUPS|CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE|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_SUB_GROUP_COUNT_FOR_NDRANGE|CL_KERNEL_WORK_GROUP_SIZE|CL_LINKER_NOT_AVAILABLE|CL_LINK_PROGRAM_FAILURE|CL_LOCAL|CL_LUMINANCE|CL_MAP_FAILURE|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_COPY_OVERLAP|CL_MEM_FLAGS|CL_MEM_HOST_NO_ACCESS|CL_MEM_HOST_PTR|CL_MEM_HOST_READ_ONLY|CL_MEM_HOST_WRITE_ONLY|CL_MEM_KERNEL_READ_AND_WRITE|CL_MEM_MAP_COUNT|CL_MEM_OBJECT_ALLOCATION_FAILURE|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_OBJECT_PIPE|CL_MEM_OFFSET|CL_MEM_READ_ONLY|CL_MEM_READ_WRITE|CL_MEM_REFERENCE_COUNT|CL_MEM_SIZE|CL_MEM_SVM_ATOMICS|CL_MEM_SVM_FINE_GRAIN_BUFFER|CL_MEM_TYPE|CL_MEM_USES_SVM_POINTER|CL_MEM_USE_HOST_PTR|CL_MEM_WRITE_ONLY|CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED|CL_MIGRATE_MEM_OBJECT_HOST|CL_MISALIGNED_SUB_BUFFER_OFFSET|CL_NONE|CL_NON_BLOCKING|CL_OUT_OF_HOST_MEMORY|CL_OUT_OF_RESOURCES|CL_PIPE_MAX_PACKETS|CL_PIPE_PACKET_SIZE|CL_PLATFORM_EXTENSIONS|CL_PLATFORM_HOST_TIMER_RESOLUTION|CL_PLATFORM_NAME|CL_PLATFORM_PROFILE|CL_PLATFORM_VENDOR|CL_PLATFORM_VERSION|CL_PROFILING_COMMAND_COMPLETE|CL_PROFILING_COMMAND_END|CL_PROFILING_COMMAND_QUEUED|CL_PROFILING_COMMAND_START|CL_PROFILING_COMMAND_SUBMIT|CL_PROFILING_INFO_NOT_AVAILABLE|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_GLOBAL_VARIABLE_TOTAL_SIZE|CL_PROGRAM_BUILD_LOG|CL_PROGRAM_BUILD_OPTIONS|CL_PROGRAM_BUILD_STATUS|CL_PROGRAM_CONTEXT|CL_PROGRAM_DEVICES|CL_PROGRAM_IL|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_DEVICE_DEFAULT|CL_QUEUE_ON_DEVICE|CL_QUEUE_ON_DEVICE_DEFAULT|CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE|CL_QUEUE_PROFILING_ENABLE|CL_QUEUE_PROPERTIES|CL_QUEUE_REFERENCE_COUNT|CL_QUEUE_SIZE|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_LOD_MAX|CL_SAMPLER_LOD_MIN|CL_SAMPLER_MIP_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_SUCCESS|CL_UNORM_INT16|CL_UNORM_INT24|CL_UNORM_INT8|CL_UNORM_INT_101010|CL_UNORM_INT_101010_2|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|CL_VERSION_2_0|CL_VERSION_2_1|CL_sBGRA|CL_sRGB|CL_sRGBA|CL_sRGBx)\b/,
+			pattern: /\bCL_(A|ABGR|ADDRESS_(CLAMP(_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(ACQUIRE_GL_OBJECTS|BARRIER|COPY_(BUFFER(_RECT|_TO_IMAGE)?|IMAGE(_TO_BUFFER)?)|FILL_(BUFFER|IMAGE)|MAP(_BUFFER|_IMAGE)|MARKER|MIGRATE(_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(BUFFER(_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(BUFFER(_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(_STENCIL)?|DEVICE_(ADDRESS_BITS|AFFINITY_DOMAIN_(L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(MEM_(CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(2D_MAX_(HEIGHT|WIDTH)|3D_MAX_(DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(ON_(DEVICE_(MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(_ID)?|VERSION)|DRIVER_VERSION|EVENT_(COMMAND_(EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(LINEAR|NEAREST)|FLOAT|FP_(CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(ARG_(ACCESS_(NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(HOST_MEMORY|RESOURCES)|PIPE_(MAX_PACKETS|PACKET_SIZE)|PLATFORM_(EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(COMMAND_(COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(BINARIES|BINARY_SIZES|BINARY_TYPE(_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(UN)?SIGNED_INT(8|16|32)|SNORM_INT(8|16)|SUBMITTED|SUCCESS|UNORM_INT(16|24|8|_101010|_101010_2)|UNORM_SHORT_(555|565)|VERSION_(1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,
 			alias: 'constant'
 		},
 		// Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)
 		'function-opencl-host': {
-			pattern: /\b(clBuildProgram|clCloneKernel|clCompileProgram|clCreateBuffer|clCreateCommandQueue|clCreateCommandQueueWithProperties|clCreateContext|clCreateContextFromType|clCreateImage|clCreateImage2D|clCreateImage3D|clCreateKernel|clCreateKernelsInProgram|clCreatePipe|clCreateProgramWithBinary|clCreateProgramWithBuiltInKernels|clCreateProgramWithIL|clCreateProgramWithSource|clCreateSampler|clCreateSamplerWithProperties|clCreateSubBuffer|clCreateSubDevices|clCreateUserEvent|clEnqueueBarrier|clEnqueueBarrierWithWaitList|clEnqueueCopyBuffer|clEnqueueCopyBufferRect|clEnqueueCopyBufferToImage|clEnqueueCopyImage|clEnqueueCopyImageToBuffer|clEnqueueFillBuffer|clEnqueueFillImage|clEnqueueMapBuffer|clEnqueueMapImage|clEnqueueMarker|clEnqueueMarkerWithWaitList|clEnqueueMigrateMemObjects|clEnqueueNDRangeKernel|clEnqueueNativeKernel|clEnqueueReadBuffer|clEnqueueReadBufferRect|clEnqueueReadImage|clEnqueueSVMFree|clEnqueueSVMMap|clEnqueueSVMMemFill|clEnqueueSVMMemcpy|clEnqueueSVMMigrateMem|clEnqueueSVMUnmap|clEnqueueTask|clEnqueueUnmapMemObject|clEnqueueWaitForEvents|clEnqueueWriteBuffer|clEnqueueWriteBufferRect|clEnqueueWriteImage|clFinish|clFlush|clGetCommandQueueInfo|clGetContextInfo|clGetDeviceAndHostTimer|clGetDeviceIDs|clGetDeviceInfo|clGetEventInfo|clGetEventProfilingInfo|clGetExtensionFunctionAddress|clGetExtensionFunctionAddressForPlatform|clGetHostTimer|clGetImageInfo|clGetKernelArgInfo|clGetKernelInfo|clGetKernelSubGroupInfo|clGetKernelWorkGroupInfo|clGetMemObjectInfo|clGetPipeInfo|clGetPlatformIDs|clGetPlatformInfo|clGetProgramBuildInfo|clGetProgramInfo|clGetSamplerInfo|clGetSupportedImageFormats|clLinkProgram|clReleaseCommandQueue|clReleaseContext|clReleaseDevice|clReleaseEvent|clReleaseKernel|clReleaseMemObject|clReleaseProgram|clReleaseSampler|clRetainCommandQueue|clRetainContext|clRetainDevice|clRetainEvent|clRetainKernel|clRetainMemObject|clRetainProgram|clRetainSampler|clSVMAlloc|clSVMFree|clSetCommandQueueProperty|clSetDefaultDeviceCommandQueue|clSetEventCallback|clSetKernelArg|clSetKernelArgSVMPointer|clSetKernelExecInfo|clSetMemObjectDestructorCallback|clSetUserEventStatus|clUnloadCompiler|clUnloadPlatformCompiler|clWaitForEvents)\b/,
+			pattern: /\bcl(BuildProgram|CloneKernel|CompileProgram|Create(Buffer|CommandQueue(WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue((Barrier|Marker)(WithWaitList)?|Copy(Buffer(Rect|ToImage)?|Image(ToBuffer)?)|(Fill|Map)(Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(Read|Write)(Buffer(Rect)?|Image)|SVM(Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(CommandQueueInfo|ContextInfo|Device(AndHostTimer|IDs|Info)|Event(Profiling)?Info|ExtensionFunctionAddress(ForPlatform)?|HostTimer|ImageInfo|Kernel(ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(IDs|Info)|Program(Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(Release|Retain)(CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(Alloc|Free)|Set(CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(Arg(SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(Platform)?Compiler|WaitForEvents)\b/,
 			alias: 'function'
 		}
 	};
diff --git a/components/prism-opencl.min.js b/components/prism-opencl.min.js
index 12fc0d6..d55224c 100644
--- a/components/prism-opencl.min.js
+++ b/components/prism-opencl.min.js
@@ -1 +1 @@
-!function(_){_.languages.opencl=_.languages.extend("c",{keyword:/\b(__attribute__|__constant|__global|__kernel|__local|__private|__read_only|__read_write|__write_only|_cl_command_queue|_cl_context|_cl_device_id|_cl_event|_cl_kernel|_cl_mem|_cl_platform_id|_cl_program|_cl_sampler|auto|bool|bool16|bool2|bool3|bool4|bool8|break|case|char|char16|char2|char3|char4|char8|cl_image_format|cl_mem_fence_flags|clk_event_t|complex|const|constant|continue|default|do|double|double16|double16x1|double16x16|double16x2|double16x4|double16x8|double1x1|double1x16|double1x2|double1x4|double1x8|double2|double2x1|double2x16|double2x2|double2x4|double2x8|double3|double4|double4x1|double4x16|double4x2|double4x4|double4x8|double8|double8x1|double8x16|double8x2|double8x4|double8x8|else|enum|event_t|extern|float|float16|float16x1|float16x16|float16x2|float16x4|float16x8|float1x1|float1x16|float1x2|float1x4|float1x8|float2|float2x1|float2x16|float2x2|float2x4|float2x8|float3|float4|float4x1|float4x16|float4x2|float4x4|float4x8|float8|float8x1|float8x16|float8x2|float8x4|float8x8|for|global|goto|half|half16|half2|half3|half4|half8|if|image1d_array_t|image1d_buffer_t|image1d_t|image2d_array_depth_t|image2d_array_msaa_depth_t|image2d_array_msaa_t|image2d_array_t|image2d_depth_t|image2d_msaa_depth_t|image2d_msaa_t|image2d_t|image3d_t|imaginary|inline|int|int16|int2|int3|int4|int8|intptr_t|kernel|local|long|long16|long2|long3|long4|long8|ndrange_t|packed|pipe|private|ptrdiff_t|quad|quad16|quad2|quad3|quad4|quad8|queue_t|read_only|read_write|register|reserve_id_t|restrict|return|sampler_t|short|short16|short2|short3|short4|short8|signed|size_t|sizeof|static|struct|switch|typedef|uchar|uchar16|uchar2|uchar3|uchar4|uchar8|uint|uint16|uint2|uint3|uint4|uint8|uintptr_t|ulong|ulong16|ulong2|ulong3|ulong4|ulong8|uniform|union|unsigned|ushort|ushort16|ushort2|ushort3|ushort4|ushort8|void|volatile|while|write_only)\b/,"function-opencl-kernel":{pattern:/\b(abs|abs_diff|acos|acosh|acospi|add_sat|aligned|all|and|any|asin|asinh|asinpi|async|async_work_group_copy|async_work_group_strided_copy|atan|atan2|atan2pi|atanh|atanpi|atom_add|atom_and|atom_cmpxchg|atom_dec|atom_inc|atom_max|atom_min|atom_or|atom_sub|atom_xchg|atom_xor|barrier|bitselect|cbrt|ceil|clamp|clz|copies|copysign|cos|cosh|cospi|cross|degrees|distance|dot|endian|erf|erfc|exp|exp10|exp2|expm1|fabs|fast_distance|fast_length|fast_normalize|fdim|floor|fma|fmax|fmin|fract|frexp|fro|from|get_global_id|get_global_offset|get_global_size|get_group_id|get_image_channel_data_type|get_image_channel_order|get_image_depth|get_image_dim|get_image_height|get_image_width|get_local_id|get_local_size|get_num_groups|get_work_dim|hadd|half_cos|half_divide|half_exp|half_exp10|half_exp2|half_log|half_log10|half_log2|half_powr|half_recip|half_rsqrt|half_sin|half_sqrt|half_tan|hypot|ilogb|isequal|isfinite|isgreater|isgreaterequal|isinf|isless|islessequal|islessgreater|isnan|isnormal|isnotequal|isordered|isunordered|ldexp|length|lgamma|lgamma_r|log|log10|log1p|log2|logb|mad|mad24|mad_hi|mad_sat|max|mem|mem_fence|min|mix|modf|mul24|mul_hi|nan|native_cos|native_divide|native_exp|native_exp10|native_exp2|native_log|native_log10|native_log2|native_powr|native_recip|native_rsqrt|native_sin|native_sqrt|native_tan|nextafter|normalize|pow|pown|powr|prefetch|radians|read_imagef|read_imageh|read_imagei|read_imageui|read_mem_fence|remainder|remquo|reqd_work_group_size|rhadd|rint|rootn|rotate|round|rsqrt|select|shuffle|shuffle2|sign|signbit|sin|sincos|sinh|sinpi|smoothstep|sqrt|step|sub_sat|tan|tanh|tanpi|tgamma|to|trunc|upsample|vec_step|vec_type_hint|vload16|vload2|vload3|vload4|vload8|vload_half|vload_half16|vload_half2|vload_half3|vload_half4|vload_half8|vloada_half16|vloada_half16_rte|vloada_half16_rtp|vloada_half16_rtz|vloada_half2|vloada_half2_rte|vloada_half2_rtp|vloada_half2_rtz|vloada_half3|vloada_half3_rte|vloada_half3_rtp|vloada_half3_rtz|vloada_half4|vloada_half4_rte|vloada_half4_rtp|vloada_half4_rtz|vloada_half8|vloada_half8_rte|vloada_half8_rtp|vloada_half8_rtz|vstore16|vstore2|vstore3|vstore4|vstore8|vstore_half|vstore_half16|vstore_half16_rte|vstore_half16_rtn|vstore_half16_rtp|vstore_half16_rtz|vstore_half2|vstore_half2_rte|vstore_half2_rtn|vstore_half2_rtp|vstore_half2_rtz|vstore_half3|vstore_half3_rte|vstore_half3_rtn|vstore_half3_rtp|vstore_half3_rtz|vstore_half4|vstore_half4_rte|vstore_half4_rtn|vstore_half4_rtp|vstore_half4_rtz|vstore_half8|vstore_half8_rte|vstore_half8_rtn|vstore_half8_rtp|vstore_half8_rtz|vstore_half_rte|vstore_half_rtn|vstore_half_rtp|vstore_half_rtz|vstore_rte|vstore_rtn|vstore_rtp|vstore_rtz|vstorea_half16|vstorea_half16_rte|vstorea_half16_rtn|vstorea_half16_rtp|vstorea_half16_rtz|vstorea_half2|vstorea_half2_rte|vstorea_half2_rtn|vstorea_half2_rtp|vstorea_half2_rtz|vstorea_half3|vstorea_half3_rte|vstorea_half3_rtn|vstorea_half3_rtp|vstorea_half3_rtz|vstorea_half4|vstorea_half4_rte|vstorea_half4_rtn|vstorea_half4_rtp|vstorea_half4_rtz|vstorea_half8|vstorea_half8_rte|vstorea_half8_rtn|vstorea_half8_rtp|vstorea_half8_rtz|vstorea_half_rte|vstorea_half_rtn|vstorea_half_rtp|vstorea_half_rtz|wait_group_events|work_group_size_hint|write_imagef|write_imageh|write_imagei|write_imageui|write_mem_fence)\b/,alias:"function"},"constant-opencl-kernel":{pattern:/\b(CHAR_BIT|CHAR_MAX|CHAR_MIN|CLK_ADDRESS_CLAMP|CLK_ADDRESS_CLAMP_TO_EDGE|CLK_ADDRESS_NONE|CLK_ADDRESS_REPEAT|CLK_FILTER_LINEAR|CLK_FILTER_NEAREST|CLK_GLOBAL_MEM_FENCE|CLK_LOCAL_MEM_FENCE|CLK_NORMALIZED_COORDS_FALSE|CLK_NORMALIZED_COORDS_TRUE|CL_A|CL_ARGB|CL_BGRA|CL_FLOAT|CL_HALF_FLOAT|CL_INTENSITY|CL_LUMINANCE|CL_R|CL_RA|CL_RG|CL_RGB|CL_RGBA|CL_RGBx|CL_RGx|CL_Rx|CL_SIGNED_INT16|CL_SIGNED_INT32|CL_SIGNED_INT8|CL_SNORM_INT16|CL_SNORM_INT8|CL_UNORM_INT16|CL_UNORM_INT8|CL_UNORM_INT_101010|CL_UNORM_SHORT_555|CL_UNORM_SHORT_565|CL_UNSIGNED_INT16|CL_UNSIGNED_INT32|CL_UNSIGNED_INT8|DBL_DIG|DBL_EPSILON|DBL_MANT_DIG|DBL_MAX|DBL_MAX_10_EXP|DBL_MIN|DBL_MIN_10_EXP|DBL_MIN_EXP|FLT_DIG|FLT_EPSILON|FLT_MANT_DIG|FLT_MAX|FLT_MAX_10_EXP|FLT_MAX_EXP|FLT_MIN|FLT_MIN_10_EXP|FLT_MIN_EXP|FLT_RADIX|HUGE_VALF|INFINITY|INT_MAX|INT_MIN|LONG_MAX|LONG_MIN|MAXFLOAT|M_1_PI|M_2_PI|M_2_SQRTPI|M_E|M_LN10|M_LN2|M_LOG10E|M_LOG2E|M_PI|M_PI2|M_PI4|M_SQRT1_2|M_SQRT2|NAN|SCHAR_MAX|SCHAR_MIN|SHRT_MAX|SHRT_MIN|UCHAR_MAX|UCHAR_MIN|UINT_MAX|ULONG_MAX)\b/,alias:"constant"}});var E={"type-opencl-host":{pattern:/\b(cl_GLenum|cl_GLint|cl_GLuin|cl_addressing_mode|cl_bitfield|cl_bool|cl_buffer_create_type|cl_build_status|cl_channel_order|cl_channel_type|cl_char|cl_char16|cl_char2|cl_char3|cl_char4|cl_char8|cl_command_queue|cl_command_queue_info|cl_command_queue_properties|cl_command_type|cl_context|cl_context_info|cl_context_properties|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_type|cl_double|cl_double16|cl_double2|cl_double3|cl_double4|cl_double8|cl_event|cl_event_info|cl_filter_mode|cl_float|cl_float16|cl_float2|cl_float3|cl_float4|cl_float8|cl_half|cl_image_info|cl_int|cl_int16|cl_int2|cl_int3|cl_int4|cl_int8|cl_kernel|cl_kernel_info|cl_kernel_work_group_info|cl_long|cl_long16|cl_long2|cl_long3|cl_long4|cl_long8|cl_map_flags|cl_mem|cl_mem_flags|cl_mem_info|cl_mem_object_type|cl_platform_id|cl_platform_info|cl_profiling_info|cl_program|cl_program_build_info|cl_program_info|cl_sampler|cl_sampler_info|cl_short|cl_short16|cl_short2|cl_short3|cl_short4|cl_short8|cl_uchar|cl_uchar16|cl_uchar2|cl_uchar3|cl_uchar4|cl_uchar8|cl_uint|cl_uint16|cl_uint2|cl_uint3|cl_uint4|cl_uint8|cl_ulong|cl_ulong16|cl_ulong2|cl_ulong3|cl_ulong4|cl_ulong8|cl_ushort|cl_ushort16|cl_ushort2|cl_ushort3|cl_ushort4|cl_ushort8)\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\b(CL_TRUE|CL_FALSE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\b(CL_A|CL_ABGR|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_PROGRAM_FAILURE|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_MIGRATE_SVM_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_SVM_FREE|CL_COMMAND_SVM_MAP|CL_COMMAND_SVM_MEMCPY|CL_COMMAND_SVM_MEMFILL|CL_COMMAND_SVM_UNMAP|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_COMPILER_NOT_AVAILABLE|CL_COMPILE_PROGRAM_FAILURE|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_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE|CL_DEVICE_HOST_UNIFIED_MEMORY|CL_DEVICE_IL_VERSION|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_GLOBAL_VARIABLE_SIZE|CL_DEVICE_MAX_MEM_ALLOC_SIZE|CL_DEVICE_MAX_NUM_SUB_GROUPS|CL_DEVICE_MAX_ON_DEVICE_EVENTS|CL_DEVICE_MAX_ON_DEVICE_QUEUES|CL_DEVICE_MAX_PARAMETER_SIZE|CL_DEVICE_MAX_PIPE_ARGS|CL_DEVICE_MAX_READ_IMAGE_ARGS|CL_DEVICE_MAX_READ_WRITE_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_NOT_AVAILABLE|CL_DEVICE_NOT_FOUND|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_FAILED|CL_DEVICE_PARTITION_MAX_SUB_DEVICES|CL_DEVICE_PARTITION_PROPERTIES|CL_DEVICE_PARTITION_TYPE|CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS|CL_DEVICE_PIPE_MAX_PACKET_SIZE|CL_DEVICE_PLATFORM|CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT|CL_DEVICE_PREFERRED_INTEROP_USER_SYNC|CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT|CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT|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_ON_DEVICE_MAX_SIZE|CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE|CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES|CL_DEVICE_QUEUE_ON_HOST_PROPERTIES|CL_DEVICE_QUEUE_PROPERTIES|CL_DEVICE_REFERENCE_COUNT|CL_DEVICE_SINGLE_FP_CONFIG|CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|CL_DEVICE_SVM_ATOMICS|CL_DEVICE_SVM_CAPABILITIES|CL_DEVICE_SVM_COARSE_GRAIN_BUFFER|CL_DEVICE_SVM_FINE_GRAIN_BUFFER|CL_DEVICE_SVM_FINE_GRAIN_SYSTEM|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_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST|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_FORMAT_MISMATCH|CL_IMAGE_FORMAT_NOT_SUPPORTED|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_INVALID_ARG_INDEX|CL_INVALID_ARG_SIZE|CL_INVALID_ARG_VALUE|CL_INVALID_BINARY|CL_INVALID_BUFFER_SIZE|CL_INVALID_BUILD_OPTIONS|CL_INVALID_COMMAND_QUEUE|CL_INVALID_COMPILER_OPTIONS|CL_INVALID_CONTEXT|CL_INVALID_DEVICE|CL_INVALID_DEVICE_PARTITION_COUNT|CL_INVALID_DEVICE_QUEUE|CL_INVALID_DEVICE_TYPE|CL_INVALID_EVENT|CL_INVALID_EVENT_WAIT_LIST|CL_INVALID_GLOBAL_OFFSET|CL_INVALID_GLOBAL_WORK_SIZE|CL_INVALID_GL_OBJECT|CL_INVALID_HOST_PTR|CL_INVALID_IMAGE_DESCRIPTOR|CL_INVALID_IMAGE_FORMAT_DESCRIPTOR|CL_INVALID_IMAGE_SIZE|CL_INVALID_KERNEL|CL_INVALID_KERNEL_ARGS|CL_INVALID_KERNEL_DEFINITION|CL_INVALID_KERNEL_NAME|CL_INVALID_LINKER_OPTIONS|CL_INVALID_MEM_OBJECT|CL_INVALID_MIP_LEVEL|CL_INVALID_OPERATION|CL_INVALID_PIPE_SIZE|CL_INVALID_PLATFORM|CL_INVALID_PROGRAM|CL_INVALID_PROGRAM_EXECUTABLE|CL_INVALID_PROPERTY|CL_INVALID_QUEUE_PROPERTIES|CL_INVALID_SAMPLER|CL_INVALID_VALUE|CL_INVALID_WORK_DIMENSION|CL_INVALID_WORK_GROUP_SIZE|CL_INVALID_WORK_ITEM_SIZE|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_INFO_NOT_AVAILABLE|CL_KERNEL_ARG_NAME|CL_KERNEL_ARG_TYPE_CONST|CL_KERNEL_ARG_TYPE_NAME|CL_KERNEL_ARG_TYPE_NONE|CL_KERNEL_ARG_TYPE_PIPE|CL_KERNEL_ARG_TYPE_QUALIFIER|CL_KERNEL_ARG_TYPE_RESTRICT|CL_KERNEL_ARG_TYPE_VOLATILE|CL_KERNEL_ATTRIBUTES|CL_KERNEL_COMPILE_NUM_SUB_GROUPS|CL_KERNEL_COMPILE_WORK_GROUP_SIZE|CL_KERNEL_CONTEXT|CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|CL_KERNEL_EXEC_INFO_SVM_PTRS|CL_KERNEL_FUNCTION_NAME|CL_KERNEL_GLOBAL_WORK_SIZE|CL_KERNEL_LOCAL_MEM_SIZE|CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT|CL_KERNEL_MAX_NUM_SUB_GROUPS|CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE|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_SUB_GROUP_COUNT_FOR_NDRANGE|CL_KERNEL_WORK_GROUP_SIZE|CL_LINKER_NOT_AVAILABLE|CL_LINK_PROGRAM_FAILURE|CL_LOCAL|CL_LUMINANCE|CL_MAP_FAILURE|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_COPY_OVERLAP|CL_MEM_FLAGS|CL_MEM_HOST_NO_ACCESS|CL_MEM_HOST_PTR|CL_MEM_HOST_READ_ONLY|CL_MEM_HOST_WRITE_ONLY|CL_MEM_KERNEL_READ_AND_WRITE|CL_MEM_MAP_COUNT|CL_MEM_OBJECT_ALLOCATION_FAILURE|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_OBJECT_PIPE|CL_MEM_OFFSET|CL_MEM_READ_ONLY|CL_MEM_READ_WRITE|CL_MEM_REFERENCE_COUNT|CL_MEM_SIZE|CL_MEM_SVM_ATOMICS|CL_MEM_SVM_FINE_GRAIN_BUFFER|CL_MEM_TYPE|CL_MEM_USES_SVM_POINTER|CL_MEM_USE_HOST_PTR|CL_MEM_WRITE_ONLY|CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED|CL_MIGRATE_MEM_OBJECT_HOST|CL_MISALIGNED_SUB_BUFFER_OFFSET|CL_NONE|CL_NON_BLOCKING|CL_OUT_OF_HOST_MEMORY|CL_OUT_OF_RESOURCES|CL_PIPE_MAX_PACKETS|CL_PIPE_PACKET_SIZE|CL_PLATFORM_EXTENSIONS|CL_PLATFORM_HOST_TIMER_RESOLUTION|CL_PLATFORM_NAME|CL_PLATFORM_PROFILE|CL_PLATFORM_VENDOR|CL_PLATFORM_VERSION|CL_PROFILING_COMMAND_COMPLETE|CL_PROFILING_COMMAND_END|CL_PROFILING_COMMAND_QUEUED|CL_PROFILING_COMMAND_START|CL_PROFILING_COMMAND_SUBMIT|CL_PROFILING_INFO_NOT_AVAILABLE|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_GLOBAL_VARIABLE_TOTAL_SIZE|CL_PROGRAM_BUILD_LOG|CL_PROGRAM_BUILD_OPTIONS|CL_PROGRAM_BUILD_STATUS|CL_PROGRAM_CONTEXT|CL_PROGRAM_DEVICES|CL_PROGRAM_IL|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_DEVICE_DEFAULT|CL_QUEUE_ON_DEVICE|CL_QUEUE_ON_DEVICE_DEFAULT|CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE|CL_QUEUE_PROFILING_ENABLE|CL_QUEUE_PROPERTIES|CL_QUEUE_REFERENCE_COUNT|CL_QUEUE_SIZE|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_LOD_MAX|CL_SAMPLER_LOD_MIN|CL_SAMPLER_MIP_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_SUCCESS|CL_UNORM_INT16|CL_UNORM_INT24|CL_UNORM_INT8|CL_UNORM_INT_101010|CL_UNORM_INT_101010_2|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|CL_VERSION_2_0|CL_VERSION_2_1|CL_sBGRA|CL_sRGB|CL_sRGBA|CL_sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\b(clBuildProgram|clCloneKernel|clCompileProgram|clCreateBuffer|clCreateCommandQueue|clCreateCommandQueueWithProperties|clCreateContext|clCreateContextFromType|clCreateImage|clCreateImage2D|clCreateImage3D|clCreateKernel|clCreateKernelsInProgram|clCreatePipe|clCreateProgramWithBinary|clCreateProgramWithBuiltInKernels|clCreateProgramWithIL|clCreateProgramWithSource|clCreateSampler|clCreateSamplerWithProperties|clCreateSubBuffer|clCreateSubDevices|clCreateUserEvent|clEnqueueBarrier|clEnqueueBarrierWithWaitList|clEnqueueCopyBuffer|clEnqueueCopyBufferRect|clEnqueueCopyBufferToImage|clEnqueueCopyImage|clEnqueueCopyImageToBuffer|clEnqueueFillBuffer|clEnqueueFillImage|clEnqueueMapBuffer|clEnqueueMapImage|clEnqueueMarker|clEnqueueMarkerWithWaitList|clEnqueueMigrateMemObjects|clEnqueueNDRangeKernel|clEnqueueNativeKernel|clEnqueueReadBuffer|clEnqueueReadBufferRect|clEnqueueReadImage|clEnqueueSVMFree|clEnqueueSVMMap|clEnqueueSVMMemFill|clEnqueueSVMMemcpy|clEnqueueSVMMigrateMem|clEnqueueSVMUnmap|clEnqueueTask|clEnqueueUnmapMemObject|clEnqueueWaitForEvents|clEnqueueWriteBuffer|clEnqueueWriteBufferRect|clEnqueueWriteImage|clFinish|clFlush|clGetCommandQueueInfo|clGetContextInfo|clGetDeviceAndHostTimer|clGetDeviceIDs|clGetDeviceInfo|clGetEventInfo|clGetEventProfilingInfo|clGetExtensionFunctionAddress|clGetExtensionFunctionAddressForPlatform|clGetHostTimer|clGetImageInfo|clGetKernelArgInfo|clGetKernelInfo|clGetKernelSubGroupInfo|clGetKernelWorkGroupInfo|clGetMemObjectInfo|clGetPipeInfo|clGetPlatformIDs|clGetPlatformInfo|clGetProgramBuildInfo|clGetProgramInfo|clGetSamplerInfo|clGetSupportedImageFormats|clLinkProgram|clReleaseCommandQueue|clReleaseContext|clReleaseDevice|clReleaseEvent|clReleaseKernel|clReleaseMemObject|clReleaseProgram|clReleaseSampler|clRetainCommandQueue|clRetainContext|clRetainDevice|clRetainEvent|clRetainKernel|clRetainMemObject|clRetainProgram|clRetainSampler|clSVMAlloc|clSVMFree|clSetCommandQueueProperty|clSetDefaultDeviceCommandQueue|clSetEventCallback|clSetKernelArg|clSetKernelArgSVMPointer|clSetKernelExecInfo|clSetMemObjectDestructorCallback|clSetUserEventStatus|clUnloadCompiler|clUnloadPlatformCompiler|clWaitForEvents)\b/,alias:"function"}};_.languages.insertBefore("c","keyword",E),E["type-opencl-host-c++"]={pattern:/\b(Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/,alias:"keyword"},_.languages.insertBefore("cpp","keyword",E)}(Prism);
\ No newline at end of file
+!function(E){E.languages.opencl=E.languages.extend("c",{keyword:/\b(__attribute__|(__)?(constant|global|kernel|local|private|read_only|read_write|write_only)|_cl_(command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|auto|break|case|cl_(image_format|mem_fence_flags)|clk_event_t|complex|const|continue|default|do|(float|double)(16(x(1|16|2|4|8))?|1x(1|16|2|4|8)|2(x(1|16|2|4|8))?|3|4(x(1|16|2|4|8))?|8(x(1|16|2|4|8))?)?|else|enum|event_t|extern|for|goto|(u?(char|short|int|long)|half|quad|bool)(2|3|4|8|16)?|if|image(1d_(array_|buffer_)?t|2d_(array_(depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|imaginary|inline|intptr_t|ndrange_t|packed|pipe|ptrdiff_t|queue_t|register|reserve_id_t|restrict|return|sampler_t|signed|size_t|sizeof|static|struct|switch|typedef|uintptr_t|uniform|union|unsigned|void|volatile|while)\b/,"function-opencl-kernel":{pattern:/\b(abs(_diff)?|a?(cos|sin)(h|pi)?|add_sat|aligned|all|and|any|async(_work_group_copy|_work_group_strided_copy)?|atan(2?(pi)?|h)?|atom_(add|and|cmpxchg|dec|inc|max|min|or|sub|xchg|xor)|barrier|bitselect|cbrt|ceil|clamp|clz|copies|copysign|cross|degrees|distance|dot|endian|erf|erfc|exp(2|10)?|expm1|fabs|fast_(distance|length|normalize)|fdim|floor|fma|fmax|fmin|fract|frexp|fro|from|get_(global_(id|offset|size)|group_id|image_(channel_data_type|channel_order|depth|dim|height|width)|local(_id|_size)|num_groups|work_dim)|hadd|(half|native)_(cos|divide|exp(2|10)?|log(2|10)?|powr|recip|r?sqrt|sin|tan)|hypot|ilogb|is(equal|finite|greater(equal)?|inf|less(equal|greater)?|nan|normal|notequal|(un)?ordered)|ldexp|length|lgamma|lgamma_r|log(b|1p|2|10)?|mad(24|_hi|_sat)?|max|mem(_fence)?|min|mix|modf|mul24|mul_hi|nan|nextafter|normalize|pow(n|r)?|prefetch|radians|read_(image)(f|h|u?i)|read_mem_fence|remainder|remquo|reqd_work_group_size|rhadd|rint|rootn|rotate|round|rsqrt|select|shuffle2?|sign|signbit|sincos|smoothstep|sqrt|step|sub_sat|tan|tanh|tanpi|tgamma|to|trunc|upsample|vec_(step|type_hint)|v(load|store)(_half)?(2|3|4|8|16)?|v(loada_half|storea?(_half)?)(2|3|4|8|16)?(_(rte|rtn|rtp|rtz))?|wait_group_events|work_group_size_hint|write_image(f|h|u?i)|write_mem_fence)\b/,alias:"function"},"constant-opencl-kernel":{pattern:/\b(CHAR_(BIT|MAX|MIN)|CLK_(ADDRESS_(CLAMP(_TO_EDGE)?|NONE|REPEAT)|FILTER_(LINEAR|NEAREST)|(LOCAL|GLOBAL)_MEM_FENCE|NORMALIZED_COORDS_(FALSE|TRUE))|CL_(BGRA|(HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?(A|x)?|((UN)?SIGNED|(U|S)NORM)_(INT(8|16|32))|UNORM_(INT_101010|SHORT_(555|565)))|(DBL|FLT)_(DIG|EPSILON|MANT_DIG|(MIN|MAX)((_10)?_EXP)?)|FLT_RADIX|HUGE_VALF|INFINITY|(INT|LONG|SCHAR|SHRT|UCHAR|UINT|ULONG)_(MAX|MIN)|MAXFLOAT|M_((1|2)_PI|2_SQRTPI|E|LN(2|10)|LOG(10|2)E?|PI(2|4)?|SQRT(1_2|2))|NAN)\b/,alias:"constant"}});var _={"type-opencl-host":{pattern:/\b(cl_(GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(order|type)|(u?(char|short|int|long)|float|double)(2|3|4|8|16)?|command_(queue(_info|_properties)?|type)|context(_info|_properties)?|device_(exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(event|sampler)(_info)?|filter_mode|half|image_info|kernel(_info|_work_group_info)?|map_flags|mem(_flags|_info|_object_type)?|platform_(id|info)|profiling_info|program(_build_info|_info)?))\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(TRUE|FALSE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\bCL_(A|ABGR|ADDRESS_(CLAMP(_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(ACQUIRE_GL_OBJECTS|BARRIER|COPY_(BUFFER(_RECT|_TO_IMAGE)?|IMAGE(_TO_BUFFER)?)|FILL_(BUFFER|IMAGE)|MAP(_BUFFER|_IMAGE)|MARKER|MIGRATE(_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(BUFFER(_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(BUFFER(_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(_STENCIL)?|DEVICE_(ADDRESS_BITS|AFFINITY_DOMAIN_(L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(MEM_(CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(2D_MAX_(HEIGHT|WIDTH)|3D_MAX_(DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(ON_(DEVICE_(MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(_ID)?|VERSION)|DRIVER_VERSION|EVENT_(COMMAND_(EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(LINEAR|NEAREST)|FLOAT|FP_(CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(ARG_(ACCESS_(NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(HOST_MEMORY|RESOURCES)|PIPE_(MAX_PACKETS|PACKET_SIZE)|PLATFORM_(EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(COMMAND_(COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(BINARIES|BINARY_SIZES|BINARY_TYPE(_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(UN)?SIGNED_INT(8|16|32)|SNORM_INT(8|16)|SUBMITTED|SUCCESS|UNORM_INT(16|24|8|_101010|_101010_2)|UNORM_SHORT_(555|565)|VERSION_(1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\bcl(BuildProgram|CloneKernel|CompileProgram|Create(Buffer|CommandQueue(WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue((Barrier|Marker)(WithWaitList)?|Copy(Buffer(Rect|ToImage)?|Image(ToBuffer)?)|(Fill|Map)(Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(Read|Write)(Buffer(Rect)?|Image)|SVM(Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(CommandQueueInfo|ContextInfo|Device(AndHostTimer|IDs|Info)|Event(Profiling)?Info|ExtensionFunctionAddress(ForPlatform)?|HostTimer|ImageInfo|Kernel(ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(IDs|Info)|Program(Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(Release|Retain)(CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(Alloc|Free)|Set(CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel(Arg(SVMPointer)?|ExecInfo)|Kernel|MemObjectDestructorCallback|UserEventStatus)|Unload(Platform)?Compiler|WaitForEvents)\b/,alias:"function"}};E.languages.insertBefore("c","keyword",_),_["type-opencl-host-c++"]={pattern:/\b(Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|Sampler|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|UserEvent)\b/,alias:"keyword"},E.languages.insertBefore("cpp","keyword",_)}(Prism);
\ No newline at end of file