cl.h revision 848b8605
1848b8605Smrg/******************************************************************************* 2848b8605Smrg * Copyright (c) 2008 - 2012 The Khronos Group Inc. 3848b8605Smrg * 4848b8605Smrg * Permission is hereby granted, free of charge, to any person obtaining a 5848b8605Smrg * copy of this software and/or associated documentation files (the 6848b8605Smrg * "Materials"), to deal in the Materials without restriction, including 7848b8605Smrg * without limitation the rights to use, copy, modify, merge, publish, 8848b8605Smrg * distribute, sublicense, and/or sell copies of the Materials, and to 9848b8605Smrg * permit persons to whom the Materials are furnished to do so, subject to 10848b8605Smrg * the following conditions: 11848b8605Smrg * 12848b8605Smrg * The above copyright notice and this permission notice shall be included 13848b8605Smrg * in all copies or substantial portions of the Materials. 14848b8605Smrg * 15848b8605Smrg * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16848b8605Smrg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17848b8605Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18848b8605Smrg * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19848b8605Smrg * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20848b8605Smrg * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21848b8605Smrg * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 22848b8605Smrg ******************************************************************************/ 23848b8605Smrg 24848b8605Smrg#ifndef __OPENCL_CL_H 25848b8605Smrg#define __OPENCL_CL_H 26848b8605Smrg 27848b8605Smrg#ifdef __APPLE__ 28848b8605Smrg#include <OpenCL/cl_platform.h> 29848b8605Smrg#else 30848b8605Smrg#include <CL/cl_platform.h> 31848b8605Smrg#endif 32848b8605Smrg 33848b8605Smrg#ifdef __cplusplus 34848b8605Smrgextern "C" { 35848b8605Smrg#endif 36848b8605Smrg 37848b8605Smrg/******************************************************************************/ 38848b8605Smrg 39848b8605Smrgtypedef struct _cl_platform_id * cl_platform_id; 40848b8605Smrgtypedef struct _cl_device_id * cl_device_id; 41848b8605Smrgtypedef struct _cl_context * cl_context; 42848b8605Smrgtypedef struct _cl_command_queue * cl_command_queue; 43848b8605Smrgtypedef struct _cl_mem * cl_mem; 44848b8605Smrgtypedef struct _cl_program * cl_program; 45848b8605Smrgtypedef struct _cl_kernel * cl_kernel; 46848b8605Smrgtypedef struct _cl_event * cl_event; 47848b8605Smrgtypedef struct _cl_sampler * cl_sampler; 48848b8605Smrg 49848b8605Smrgtypedef cl_uint cl_bool; /* WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels. */ 50848b8605Smrgtypedef cl_ulong cl_bitfield; 51848b8605Smrgtypedef cl_bitfield cl_device_type; 52848b8605Smrgtypedef cl_uint cl_platform_info; 53848b8605Smrgtypedef cl_uint cl_device_info; 54848b8605Smrgtypedef cl_bitfield cl_device_fp_config; 55848b8605Smrgtypedef cl_uint cl_device_mem_cache_type; 56848b8605Smrgtypedef cl_uint cl_device_local_mem_type; 57848b8605Smrgtypedef cl_bitfield cl_device_exec_capabilities; 58848b8605Smrgtypedef cl_bitfield cl_command_queue_properties; 59848b8605Smrgtypedef intptr_t cl_device_partition_property; 60848b8605Smrgtypedef cl_bitfield cl_device_affinity_domain; 61848b8605Smrg 62848b8605Smrgtypedef intptr_t cl_context_properties; 63848b8605Smrgtypedef cl_uint cl_context_info; 64848b8605Smrgtypedef cl_uint cl_command_queue_info; 65848b8605Smrgtypedef cl_uint cl_channel_order; 66848b8605Smrgtypedef cl_uint cl_channel_type; 67848b8605Smrgtypedef cl_bitfield cl_mem_flags; 68848b8605Smrgtypedef cl_uint cl_mem_object_type; 69848b8605Smrgtypedef cl_uint cl_mem_info; 70848b8605Smrgtypedef cl_bitfield cl_mem_migration_flags; 71848b8605Smrgtypedef cl_uint cl_image_info; 72848b8605Smrgtypedef cl_uint cl_buffer_create_type; 73848b8605Smrgtypedef cl_uint cl_addressing_mode; 74848b8605Smrgtypedef cl_uint cl_filter_mode; 75848b8605Smrgtypedef cl_uint cl_sampler_info; 76848b8605Smrgtypedef cl_bitfield cl_map_flags; 77848b8605Smrgtypedef cl_uint cl_program_info; 78848b8605Smrgtypedef cl_uint cl_program_build_info; 79848b8605Smrgtypedef cl_uint cl_program_binary_type; 80848b8605Smrgtypedef cl_int cl_build_status; 81848b8605Smrgtypedef cl_uint cl_kernel_info; 82848b8605Smrgtypedef cl_uint cl_kernel_arg_info; 83848b8605Smrgtypedef cl_uint cl_kernel_arg_address_qualifier; 84848b8605Smrgtypedef cl_uint cl_kernel_arg_access_qualifier; 85848b8605Smrgtypedef cl_bitfield cl_kernel_arg_type_qualifier; 86848b8605Smrgtypedef cl_uint cl_kernel_work_group_info; 87848b8605Smrgtypedef cl_uint cl_event_info; 88848b8605Smrgtypedef cl_uint cl_command_type; 89848b8605Smrgtypedef cl_uint cl_profiling_info; 90848b8605Smrg 91848b8605Smrg 92848b8605Smrgtypedef struct _cl_image_format { 93848b8605Smrg cl_channel_order image_channel_order; 94848b8605Smrg cl_channel_type image_channel_data_type; 95848b8605Smrg} cl_image_format; 96848b8605Smrg 97848b8605Smrgtypedef struct _cl_image_desc { 98848b8605Smrg cl_mem_object_type image_type; 99848b8605Smrg size_t image_width; 100848b8605Smrg size_t image_height; 101848b8605Smrg size_t image_depth; 102848b8605Smrg size_t image_array_size; 103848b8605Smrg size_t image_row_pitch; 104848b8605Smrg size_t image_slice_pitch; 105848b8605Smrg cl_uint num_mip_levels; 106848b8605Smrg cl_uint num_samples; 107848b8605Smrg cl_mem buffer; 108848b8605Smrg} cl_image_desc; 109848b8605Smrg 110848b8605Smrgtypedef struct _cl_buffer_region { 111848b8605Smrg size_t origin; 112848b8605Smrg size_t size; 113848b8605Smrg} cl_buffer_region; 114848b8605Smrg 115848b8605Smrg 116848b8605Smrg/******************************************************************************/ 117848b8605Smrg 118848b8605Smrg/* Error Codes */ 119848b8605Smrg#define CL_SUCCESS 0 120848b8605Smrg#define CL_DEVICE_NOT_FOUND -1 121848b8605Smrg#define CL_DEVICE_NOT_AVAILABLE -2 122848b8605Smrg#define CL_COMPILER_NOT_AVAILABLE -3 123848b8605Smrg#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 124848b8605Smrg#define CL_OUT_OF_RESOURCES -5 125848b8605Smrg#define CL_OUT_OF_HOST_MEMORY -6 126848b8605Smrg#define CL_PROFILING_INFO_NOT_AVAILABLE -7 127848b8605Smrg#define CL_MEM_COPY_OVERLAP -8 128848b8605Smrg#define CL_IMAGE_FORMAT_MISMATCH -9 129848b8605Smrg#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 130848b8605Smrg#define CL_BUILD_PROGRAM_FAILURE -11 131848b8605Smrg#define CL_MAP_FAILURE -12 132848b8605Smrg#define CL_MISALIGNED_SUB_BUFFER_OFFSET -13 133848b8605Smrg#define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14 134848b8605Smrg#define CL_COMPILE_PROGRAM_FAILURE -15 135848b8605Smrg#define CL_LINKER_NOT_AVAILABLE -16 136848b8605Smrg#define CL_LINK_PROGRAM_FAILURE -17 137848b8605Smrg#define CL_DEVICE_PARTITION_FAILED -18 138848b8605Smrg#define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19 139848b8605Smrg 140848b8605Smrg#define CL_INVALID_VALUE -30 141848b8605Smrg#define CL_INVALID_DEVICE_TYPE -31 142848b8605Smrg#define CL_INVALID_PLATFORM -32 143848b8605Smrg#define CL_INVALID_DEVICE -33 144848b8605Smrg#define CL_INVALID_CONTEXT -34 145848b8605Smrg#define CL_INVALID_QUEUE_PROPERTIES -35 146848b8605Smrg#define CL_INVALID_COMMAND_QUEUE -36 147848b8605Smrg#define CL_INVALID_HOST_PTR -37 148848b8605Smrg#define CL_INVALID_MEM_OBJECT -38 149848b8605Smrg#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 150848b8605Smrg#define CL_INVALID_IMAGE_SIZE -40 151848b8605Smrg#define CL_INVALID_SAMPLER -41 152848b8605Smrg#define CL_INVALID_BINARY -42 153848b8605Smrg#define CL_INVALID_BUILD_OPTIONS -43 154848b8605Smrg#define CL_INVALID_PROGRAM -44 155848b8605Smrg#define CL_INVALID_PROGRAM_EXECUTABLE -45 156848b8605Smrg#define CL_INVALID_KERNEL_NAME -46 157848b8605Smrg#define CL_INVALID_KERNEL_DEFINITION -47 158848b8605Smrg#define CL_INVALID_KERNEL -48 159848b8605Smrg#define CL_INVALID_ARG_INDEX -49 160848b8605Smrg#define CL_INVALID_ARG_VALUE -50 161848b8605Smrg#define CL_INVALID_ARG_SIZE -51 162848b8605Smrg#define CL_INVALID_KERNEL_ARGS -52 163848b8605Smrg#define CL_INVALID_WORK_DIMENSION -53 164848b8605Smrg#define CL_INVALID_WORK_GROUP_SIZE -54 165848b8605Smrg#define CL_INVALID_WORK_ITEM_SIZE -55 166848b8605Smrg#define CL_INVALID_GLOBAL_OFFSET -56 167848b8605Smrg#define CL_INVALID_EVENT_WAIT_LIST -57 168848b8605Smrg#define CL_INVALID_EVENT -58 169848b8605Smrg#define CL_INVALID_OPERATION -59 170848b8605Smrg#define CL_INVALID_GL_OBJECT -60 171848b8605Smrg#define CL_INVALID_BUFFER_SIZE -61 172848b8605Smrg#define CL_INVALID_MIP_LEVEL -62 173848b8605Smrg#define CL_INVALID_GLOBAL_WORK_SIZE -63 174848b8605Smrg#define CL_INVALID_PROPERTY -64 175848b8605Smrg#define CL_INVALID_IMAGE_DESCRIPTOR -65 176848b8605Smrg#define CL_INVALID_COMPILER_OPTIONS -66 177848b8605Smrg#define CL_INVALID_LINKER_OPTIONS -67 178848b8605Smrg#define CL_INVALID_DEVICE_PARTITION_COUNT -68 179848b8605Smrg 180848b8605Smrg/* OpenCL Version */ 181848b8605Smrg#define CL_VERSION_1_0 1 182848b8605Smrg#define CL_VERSION_1_1 1 183848b8605Smrg#define CL_VERSION_1_2 1 184848b8605Smrg 185848b8605Smrg/* cl_bool */ 186848b8605Smrg#define CL_FALSE 0 187848b8605Smrg#define CL_TRUE 1 188848b8605Smrg#define CL_BLOCKING CL_TRUE 189848b8605Smrg#define CL_NON_BLOCKING CL_FALSE 190848b8605Smrg 191848b8605Smrg/* cl_platform_info */ 192848b8605Smrg#define CL_PLATFORM_PROFILE 0x0900 193848b8605Smrg#define CL_PLATFORM_VERSION 0x0901 194848b8605Smrg#define CL_PLATFORM_NAME 0x0902 195848b8605Smrg#define CL_PLATFORM_VENDOR 0x0903 196848b8605Smrg#define CL_PLATFORM_EXTENSIONS 0x0904 197848b8605Smrg 198848b8605Smrg/* cl_device_type - bitfield */ 199848b8605Smrg#define CL_DEVICE_TYPE_DEFAULT (1 << 0) 200848b8605Smrg#define CL_DEVICE_TYPE_CPU (1 << 1) 201848b8605Smrg#define CL_DEVICE_TYPE_GPU (1 << 2) 202848b8605Smrg#define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) 203848b8605Smrg#define CL_DEVICE_TYPE_CUSTOM (1 << 4) 204848b8605Smrg#define CL_DEVICE_TYPE_ALL 0xFFFFFFFF 205848b8605Smrg 206848b8605Smrg/* cl_device_info */ 207848b8605Smrg#define CL_DEVICE_TYPE 0x1000 208848b8605Smrg#define CL_DEVICE_VENDOR_ID 0x1001 209848b8605Smrg#define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 210848b8605Smrg#define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 211848b8605Smrg#define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 212848b8605Smrg#define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 213848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 214848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 215848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 216848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 217848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A 218848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B 219848b8605Smrg#define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C 220848b8605Smrg#define CL_DEVICE_ADDRESS_BITS 0x100D 221848b8605Smrg#define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E 222848b8605Smrg#define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F 223848b8605Smrg#define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 224848b8605Smrg#define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 225848b8605Smrg#define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 226848b8605Smrg#define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 227848b8605Smrg#define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 228848b8605Smrg#define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 229848b8605Smrg#define CL_DEVICE_IMAGE_SUPPORT 0x1016 230848b8605Smrg#define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 231848b8605Smrg#define CL_DEVICE_MAX_SAMPLERS 0x1018 232848b8605Smrg#define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 233848b8605Smrg#define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A 234848b8605Smrg#define CL_DEVICE_SINGLE_FP_CONFIG 0x101B 235848b8605Smrg#define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C 236848b8605Smrg#define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D 237848b8605Smrg#define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E 238848b8605Smrg#define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F 239848b8605Smrg#define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 240848b8605Smrg#define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 241848b8605Smrg#define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 242848b8605Smrg#define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 243848b8605Smrg#define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 244848b8605Smrg#define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 245848b8605Smrg#define CL_DEVICE_ENDIAN_LITTLE 0x1026 246848b8605Smrg#define CL_DEVICE_AVAILABLE 0x1027 247848b8605Smrg#define CL_DEVICE_COMPILER_AVAILABLE 0x1028 248848b8605Smrg#define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 249848b8605Smrg#define CL_DEVICE_QUEUE_PROPERTIES 0x102A 250848b8605Smrg#define CL_DEVICE_NAME 0x102B 251848b8605Smrg#define CL_DEVICE_VENDOR 0x102C 252848b8605Smrg#define CL_DRIVER_VERSION 0x102D 253848b8605Smrg#define CL_DEVICE_PROFILE 0x102E 254848b8605Smrg#define CL_DEVICE_VERSION 0x102F 255848b8605Smrg#define CL_DEVICE_EXTENSIONS 0x1030 256848b8605Smrg#define CL_DEVICE_PLATFORM 0x1031 257848b8605Smrg#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 258848b8605Smrg/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */ 259848b8605Smrg#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034 260848b8605Smrg#define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 261848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036 262848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037 263848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038 264848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039 265848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A 266848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B 267848b8605Smrg#define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C 268848b8605Smrg#define CL_DEVICE_OPENCL_C_VERSION 0x103D 269848b8605Smrg#define CL_DEVICE_LINKER_AVAILABLE 0x103E 270848b8605Smrg#define CL_DEVICE_BUILT_IN_KERNELS 0x103F 271848b8605Smrg#define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040 272848b8605Smrg#define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041 273848b8605Smrg#define CL_DEVICE_PARENT_DEVICE 0x1042 274848b8605Smrg#define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043 275848b8605Smrg#define CL_DEVICE_PARTITION_PROPERTIES 0x1044 276848b8605Smrg#define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045 277848b8605Smrg#define CL_DEVICE_PARTITION_TYPE 0x1046 278848b8605Smrg#define CL_DEVICE_REFERENCE_COUNT 0x1047 279848b8605Smrg#define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048 280848b8605Smrg#define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049 281848b8605Smrg#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A 282848b8605Smrg#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B 283848b8605Smrg 284848b8605Smrg/* cl_device_fp_config - bitfield */ 285848b8605Smrg#define CL_FP_DENORM (1 << 0) 286848b8605Smrg#define CL_FP_INF_NAN (1 << 1) 287848b8605Smrg#define CL_FP_ROUND_TO_NEAREST (1 << 2) 288848b8605Smrg#define CL_FP_ROUND_TO_ZERO (1 << 3) 289848b8605Smrg#define CL_FP_ROUND_TO_INF (1 << 4) 290848b8605Smrg#define CL_FP_FMA (1 << 5) 291848b8605Smrg#define CL_FP_SOFT_FLOAT (1 << 6) 292848b8605Smrg#define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7) 293848b8605Smrg 294848b8605Smrg/* cl_device_mem_cache_type */ 295848b8605Smrg#define CL_NONE 0x0 296848b8605Smrg#define CL_READ_ONLY_CACHE 0x1 297848b8605Smrg#define CL_READ_WRITE_CACHE 0x2 298848b8605Smrg 299848b8605Smrg/* cl_device_local_mem_type */ 300848b8605Smrg#define CL_LOCAL 0x1 301848b8605Smrg#define CL_GLOBAL 0x2 302848b8605Smrg 303848b8605Smrg/* cl_device_exec_capabilities - bitfield */ 304848b8605Smrg#define CL_EXEC_KERNEL (1 << 0) 305848b8605Smrg#define CL_EXEC_NATIVE_KERNEL (1 << 1) 306848b8605Smrg 307848b8605Smrg/* cl_command_queue_properties - bitfield */ 308848b8605Smrg#define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) 309848b8605Smrg#define CL_QUEUE_PROFILING_ENABLE (1 << 1) 310848b8605Smrg 311848b8605Smrg/* cl_context_info */ 312848b8605Smrg#define CL_CONTEXT_REFERENCE_COUNT 0x1080 313848b8605Smrg#define CL_CONTEXT_DEVICES 0x1081 314848b8605Smrg#define CL_CONTEXT_PROPERTIES 0x1082 315848b8605Smrg#define CL_CONTEXT_NUM_DEVICES 0x1083 316848b8605Smrg 317848b8605Smrg/* cl_context_properties */ 318848b8605Smrg#define CL_CONTEXT_PLATFORM 0x1084 319848b8605Smrg#define CL_CONTEXT_INTEROP_USER_SYNC 0x1085 320848b8605Smrg 321848b8605Smrg/* cl_device_partition_property */ 322848b8605Smrg#define CL_DEVICE_PARTITION_EQUALLY 0x1086 323848b8605Smrg#define CL_DEVICE_PARTITION_BY_COUNTS 0x1087 324848b8605Smrg#define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0 325848b8605Smrg#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088 326848b8605Smrg 327848b8605Smrg/* cl_device_affinity_domain */ 328848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0) 329848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1) 330848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2) 331848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3) 332848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4) 333848b8605Smrg#define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5) 334848b8605Smrg 335848b8605Smrg/* cl_command_queue_info */ 336848b8605Smrg#define CL_QUEUE_CONTEXT 0x1090 337848b8605Smrg#define CL_QUEUE_DEVICE 0x1091 338848b8605Smrg#define CL_QUEUE_REFERENCE_COUNT 0x1092 339848b8605Smrg#define CL_QUEUE_PROPERTIES 0x1093 340848b8605Smrg 341848b8605Smrg/* cl_mem_flags - bitfield */ 342848b8605Smrg#define CL_MEM_READ_WRITE (1 << 0) 343848b8605Smrg#define CL_MEM_WRITE_ONLY (1 << 1) 344848b8605Smrg#define CL_MEM_READ_ONLY (1 << 2) 345848b8605Smrg#define CL_MEM_USE_HOST_PTR (1 << 3) 346848b8605Smrg#define CL_MEM_ALLOC_HOST_PTR (1 << 4) 347848b8605Smrg#define CL_MEM_COPY_HOST_PTR (1 << 5) 348848b8605Smrg/* reserved (1 << 6) */ 349848b8605Smrg#define CL_MEM_HOST_WRITE_ONLY (1 << 7) 350848b8605Smrg#define CL_MEM_HOST_READ_ONLY (1 << 8) 351848b8605Smrg#define CL_MEM_HOST_NO_ACCESS (1 << 9) 352848b8605Smrg 353848b8605Smrg/* cl_mem_migration_flags - bitfield */ 354848b8605Smrg#define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0) 355848b8605Smrg#define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1) 356848b8605Smrg 357848b8605Smrg/* cl_channel_order */ 358848b8605Smrg#define CL_R 0x10B0 359848b8605Smrg#define CL_A 0x10B1 360848b8605Smrg#define CL_RG 0x10B2 361848b8605Smrg#define CL_RA 0x10B3 362848b8605Smrg#define CL_RGB 0x10B4 363848b8605Smrg#define CL_RGBA 0x10B5 364848b8605Smrg#define CL_BGRA 0x10B6 365848b8605Smrg#define CL_ARGB 0x10B7 366848b8605Smrg#define CL_INTENSITY 0x10B8 367848b8605Smrg#define CL_LUMINANCE 0x10B9 368848b8605Smrg#define CL_Rx 0x10BA 369848b8605Smrg#define CL_RGx 0x10BB 370848b8605Smrg#define CL_RGBx 0x10BC 371848b8605Smrg#define CL_DEPTH 0x10BD 372848b8605Smrg#define CL_DEPTH_STENCIL 0x10BE 373848b8605Smrg 374848b8605Smrg/* cl_channel_type */ 375848b8605Smrg#define CL_SNORM_INT8 0x10D0 376848b8605Smrg#define CL_SNORM_INT16 0x10D1 377848b8605Smrg#define CL_UNORM_INT8 0x10D2 378848b8605Smrg#define CL_UNORM_INT16 0x10D3 379848b8605Smrg#define CL_UNORM_SHORT_565 0x10D4 380848b8605Smrg#define CL_UNORM_SHORT_555 0x10D5 381848b8605Smrg#define CL_UNORM_INT_101010 0x10D6 382848b8605Smrg#define CL_SIGNED_INT8 0x10D7 383848b8605Smrg#define CL_SIGNED_INT16 0x10D8 384848b8605Smrg#define CL_SIGNED_INT32 0x10D9 385848b8605Smrg#define CL_UNSIGNED_INT8 0x10DA 386848b8605Smrg#define CL_UNSIGNED_INT16 0x10DB 387848b8605Smrg#define CL_UNSIGNED_INT32 0x10DC 388848b8605Smrg#define CL_HALF_FLOAT 0x10DD 389848b8605Smrg#define CL_FLOAT 0x10DE 390848b8605Smrg#define CL_UNORM_INT24 0x10DF 391848b8605Smrg 392848b8605Smrg/* cl_mem_object_type */ 393848b8605Smrg#define CL_MEM_OBJECT_BUFFER 0x10F0 394848b8605Smrg#define CL_MEM_OBJECT_IMAGE2D 0x10F1 395848b8605Smrg#define CL_MEM_OBJECT_IMAGE3D 0x10F2 396848b8605Smrg#define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3 397848b8605Smrg#define CL_MEM_OBJECT_IMAGE1D 0x10F4 398848b8605Smrg#define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5 399848b8605Smrg#define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6 400848b8605Smrg 401848b8605Smrg/* cl_mem_info */ 402848b8605Smrg#define CL_MEM_TYPE 0x1100 403848b8605Smrg#define CL_MEM_FLAGS 0x1101 404848b8605Smrg#define CL_MEM_SIZE 0x1102 405848b8605Smrg#define CL_MEM_HOST_PTR 0x1103 406848b8605Smrg#define CL_MEM_MAP_COUNT 0x1104 407848b8605Smrg#define CL_MEM_REFERENCE_COUNT 0x1105 408848b8605Smrg#define CL_MEM_CONTEXT 0x1106 409848b8605Smrg#define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107 410848b8605Smrg#define CL_MEM_OFFSET 0x1108 411848b8605Smrg 412848b8605Smrg/* cl_image_info */ 413848b8605Smrg#define CL_IMAGE_FORMAT 0x1110 414848b8605Smrg#define CL_IMAGE_ELEMENT_SIZE 0x1111 415848b8605Smrg#define CL_IMAGE_ROW_PITCH 0x1112 416848b8605Smrg#define CL_IMAGE_SLICE_PITCH 0x1113 417848b8605Smrg#define CL_IMAGE_WIDTH 0x1114 418848b8605Smrg#define CL_IMAGE_HEIGHT 0x1115 419848b8605Smrg#define CL_IMAGE_DEPTH 0x1116 420848b8605Smrg#define CL_IMAGE_ARRAY_SIZE 0x1117 421848b8605Smrg#define CL_IMAGE_BUFFER 0x1118 422848b8605Smrg#define CL_IMAGE_NUM_MIP_LEVELS 0x1119 423848b8605Smrg#define CL_IMAGE_NUM_SAMPLES 0x111A 424848b8605Smrg 425848b8605Smrg/* cl_addressing_mode */ 426848b8605Smrg#define CL_ADDRESS_NONE 0x1130 427848b8605Smrg#define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 428848b8605Smrg#define CL_ADDRESS_CLAMP 0x1132 429848b8605Smrg#define CL_ADDRESS_REPEAT 0x1133 430848b8605Smrg#define CL_ADDRESS_MIRRORED_REPEAT 0x1134 431848b8605Smrg 432848b8605Smrg/* cl_filter_mode */ 433848b8605Smrg#define CL_FILTER_NEAREST 0x1140 434848b8605Smrg#define CL_FILTER_LINEAR 0x1141 435848b8605Smrg 436848b8605Smrg/* cl_sampler_info */ 437848b8605Smrg#define CL_SAMPLER_REFERENCE_COUNT 0x1150 438848b8605Smrg#define CL_SAMPLER_CONTEXT 0x1151 439848b8605Smrg#define CL_SAMPLER_NORMALIZED_COORDS 0x1152 440848b8605Smrg#define CL_SAMPLER_ADDRESSING_MODE 0x1153 441848b8605Smrg#define CL_SAMPLER_FILTER_MODE 0x1154 442848b8605Smrg 443848b8605Smrg/* cl_map_flags - bitfield */ 444848b8605Smrg#define CL_MAP_READ (1 << 0) 445848b8605Smrg#define CL_MAP_WRITE (1 << 1) 446848b8605Smrg#define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2) 447848b8605Smrg 448848b8605Smrg/* cl_program_info */ 449848b8605Smrg#define CL_PROGRAM_REFERENCE_COUNT 0x1160 450848b8605Smrg#define CL_PROGRAM_CONTEXT 0x1161 451848b8605Smrg#define CL_PROGRAM_NUM_DEVICES 0x1162 452848b8605Smrg#define CL_PROGRAM_DEVICES 0x1163 453848b8605Smrg#define CL_PROGRAM_SOURCE 0x1164 454848b8605Smrg#define CL_PROGRAM_BINARY_SIZES 0x1165 455848b8605Smrg#define CL_PROGRAM_BINARIES 0x1166 456848b8605Smrg#define CL_PROGRAM_NUM_KERNELS 0x1167 457848b8605Smrg#define CL_PROGRAM_KERNEL_NAMES 0x1168 458848b8605Smrg 459848b8605Smrg/* cl_program_build_info */ 460848b8605Smrg#define CL_PROGRAM_BUILD_STATUS 0x1181 461848b8605Smrg#define CL_PROGRAM_BUILD_OPTIONS 0x1182 462848b8605Smrg#define CL_PROGRAM_BUILD_LOG 0x1183 463848b8605Smrg#define CL_PROGRAM_BINARY_TYPE 0x1184 464848b8605Smrg 465848b8605Smrg/* cl_program_binary_type */ 466848b8605Smrg#define CL_PROGRAM_BINARY_TYPE_NONE 0x0 467848b8605Smrg#define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1 468848b8605Smrg#define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2 469848b8605Smrg#define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4 470848b8605Smrg 471848b8605Smrg/* cl_build_status */ 472848b8605Smrg#define CL_BUILD_SUCCESS 0 473848b8605Smrg#define CL_BUILD_NONE -1 474848b8605Smrg#define CL_BUILD_ERROR -2 475848b8605Smrg#define CL_BUILD_IN_PROGRESS -3 476848b8605Smrg 477848b8605Smrg/* cl_kernel_info */ 478848b8605Smrg#define CL_KERNEL_FUNCTION_NAME 0x1190 479848b8605Smrg#define CL_KERNEL_NUM_ARGS 0x1191 480848b8605Smrg#define CL_KERNEL_REFERENCE_COUNT 0x1192 481848b8605Smrg#define CL_KERNEL_CONTEXT 0x1193 482848b8605Smrg#define CL_KERNEL_PROGRAM 0x1194 483848b8605Smrg#define CL_KERNEL_ATTRIBUTES 0x1195 484848b8605Smrg 485848b8605Smrg/* cl_kernel_arg_info */ 486848b8605Smrg#define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196 487848b8605Smrg#define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197 488848b8605Smrg#define CL_KERNEL_ARG_TYPE_NAME 0x1198 489848b8605Smrg#define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199 490848b8605Smrg#define CL_KERNEL_ARG_NAME 0x119A 491848b8605Smrg 492848b8605Smrg/* cl_kernel_arg_address_qualifier */ 493848b8605Smrg#define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B 494848b8605Smrg#define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C 495848b8605Smrg#define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D 496848b8605Smrg#define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E 497848b8605Smrg 498848b8605Smrg/* cl_kernel_arg_access_qualifier */ 499848b8605Smrg#define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0 500848b8605Smrg#define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1 501848b8605Smrg#define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2 502848b8605Smrg#define CL_KERNEL_ARG_ACCESS_NONE 0x11A3 503848b8605Smrg 504848b8605Smrg/* cl_kernel_arg_type_qualifer */ 505848b8605Smrg#define CL_KERNEL_ARG_TYPE_NONE 0 506848b8605Smrg#define CL_KERNEL_ARG_TYPE_CONST (1 << 0) 507848b8605Smrg#define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1) 508848b8605Smrg#define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2) 509848b8605Smrg 510848b8605Smrg/* cl_kernel_work_group_info */ 511848b8605Smrg#define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 512848b8605Smrg#define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 513848b8605Smrg#define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 514848b8605Smrg#define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3 515848b8605Smrg#define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4 516848b8605Smrg#define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5 517848b8605Smrg 518848b8605Smrg/* cl_event_info */ 519848b8605Smrg#define CL_EVENT_COMMAND_QUEUE 0x11D0 520848b8605Smrg#define CL_EVENT_COMMAND_TYPE 0x11D1 521848b8605Smrg#define CL_EVENT_REFERENCE_COUNT 0x11D2 522848b8605Smrg#define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 523848b8605Smrg#define CL_EVENT_CONTEXT 0x11D4 524848b8605Smrg 525848b8605Smrg/* cl_command_type */ 526848b8605Smrg#define CL_COMMAND_NDRANGE_KERNEL 0x11F0 527848b8605Smrg#define CL_COMMAND_TASK 0x11F1 528848b8605Smrg#define CL_COMMAND_NATIVE_KERNEL 0x11F2 529848b8605Smrg#define CL_COMMAND_READ_BUFFER 0x11F3 530848b8605Smrg#define CL_COMMAND_WRITE_BUFFER 0x11F4 531848b8605Smrg#define CL_COMMAND_COPY_BUFFER 0x11F5 532848b8605Smrg#define CL_COMMAND_READ_IMAGE 0x11F6 533848b8605Smrg#define CL_COMMAND_WRITE_IMAGE 0x11F7 534848b8605Smrg#define CL_COMMAND_COPY_IMAGE 0x11F8 535848b8605Smrg#define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 536848b8605Smrg#define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA 537848b8605Smrg#define CL_COMMAND_MAP_BUFFER 0x11FB 538848b8605Smrg#define CL_COMMAND_MAP_IMAGE 0x11FC 539848b8605Smrg#define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD 540848b8605Smrg#define CL_COMMAND_MARKER 0x11FE 541848b8605Smrg#define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF 542848b8605Smrg#define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 543848b8605Smrg#define CL_COMMAND_READ_BUFFER_RECT 0x1201 544848b8605Smrg#define CL_COMMAND_WRITE_BUFFER_RECT 0x1202 545848b8605Smrg#define CL_COMMAND_COPY_BUFFER_RECT 0x1203 546848b8605Smrg#define CL_COMMAND_USER 0x1204 547848b8605Smrg#define CL_COMMAND_BARRIER 0x1205 548848b8605Smrg#define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206 549848b8605Smrg#define CL_COMMAND_FILL_BUFFER 0x1207 550848b8605Smrg#define CL_COMMAND_FILL_IMAGE 0x1208 551848b8605Smrg 552848b8605Smrg/* command execution status */ 553848b8605Smrg#define CL_COMPLETE 0x0 554848b8605Smrg#define CL_RUNNING 0x1 555848b8605Smrg#define CL_SUBMITTED 0x2 556848b8605Smrg#define CL_QUEUED 0x3 557848b8605Smrg 558848b8605Smrg/* cl_buffer_create_type */ 559848b8605Smrg#define CL_BUFFER_CREATE_TYPE_REGION 0x1220 560848b8605Smrg 561848b8605Smrg/* cl_profiling_info */ 562848b8605Smrg#define CL_PROFILING_COMMAND_QUEUED 0x1280 563848b8605Smrg#define CL_PROFILING_COMMAND_SUBMIT 0x1281 564848b8605Smrg#define CL_PROFILING_COMMAND_START 0x1282 565848b8605Smrg#define CL_PROFILING_COMMAND_END 0x1283 566848b8605Smrg 567848b8605Smrg/********************************************************************************************************/ 568848b8605Smrg 569848b8605Smrg/* Platform API */ 570848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 571848b8605SmrgclGetPlatformIDs(cl_uint /* num_entries */, 572848b8605Smrg cl_platform_id * /* platforms */, 573848b8605Smrg cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0; 574848b8605Smrg 575848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 576848b8605SmrgclGetPlatformInfo(cl_platform_id /* platform */, 577848b8605Smrg cl_platform_info /* param_name */, 578848b8605Smrg size_t /* param_value_size */, 579848b8605Smrg void * /* param_value */, 580848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 581848b8605Smrg 582848b8605Smrg/* Device APIs */ 583848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 584848b8605SmrgclGetDeviceIDs(cl_platform_id /* platform */, 585848b8605Smrg cl_device_type /* device_type */, 586848b8605Smrg cl_uint /* num_entries */, 587848b8605Smrg cl_device_id * /* devices */, 588848b8605Smrg cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0; 589848b8605Smrg 590848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 591848b8605SmrgclGetDeviceInfo(cl_device_id /* device */, 592848b8605Smrg cl_device_info /* param_name */, 593848b8605Smrg size_t /* param_value_size */, 594848b8605Smrg void * /* param_value */, 595848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 596848b8605Smrg 597848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 598848b8605SmrgclCreateSubDevices(cl_device_id /* in_device */, 599848b8605Smrg const cl_device_partition_property * /* properties */, 600848b8605Smrg cl_uint /* num_devices */, 601848b8605Smrg cl_device_id * /* out_devices */, 602848b8605Smrg cl_uint * /* num_devices_ret */) CL_API_SUFFIX__VERSION_1_2; 603848b8605Smrg 604848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 605848b8605SmrgclRetainDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; 606848b8605Smrg 607848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 608848b8605SmrgclReleaseDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; 609848b8605Smrg 610848b8605Smrg/* Context APIs */ 611848b8605Smrgextern CL_API_ENTRY cl_context CL_API_CALL 612848b8605SmrgclCreateContext(const cl_context_properties * /* properties */, 613848b8605Smrg cl_uint /* num_devices */, 614848b8605Smrg const cl_device_id * /* devices */, 615848b8605Smrg void (CL_CALLBACK * /* pfn_notify */)(const char *, const void *, size_t, void *), 616848b8605Smrg void * /* user_data */, 617848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 618848b8605Smrg 619848b8605Smrgextern CL_API_ENTRY cl_context CL_API_CALL 620848b8605SmrgclCreateContextFromType(const cl_context_properties * /* properties */, 621848b8605Smrg cl_device_type /* device_type */, 622848b8605Smrg void (CL_CALLBACK * /* pfn_notify*/ )(const char *, const void *, size_t, void *), 623848b8605Smrg void * /* user_data */, 624848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 625848b8605Smrg 626848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 627848b8605SmrgclRetainContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; 628848b8605Smrg 629848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 630848b8605SmrgclReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; 631848b8605Smrg 632848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 633848b8605SmrgclGetContextInfo(cl_context /* context */, 634848b8605Smrg cl_context_info /* param_name */, 635848b8605Smrg size_t /* param_value_size */, 636848b8605Smrg void * /* param_value */, 637848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 638848b8605Smrg 639848b8605Smrg/* Command Queue APIs */ 640848b8605Smrgextern CL_API_ENTRY cl_command_queue CL_API_CALL 641848b8605SmrgclCreateCommandQueue(cl_context /* context */, 642848b8605Smrg cl_device_id /* device */, 643848b8605Smrg cl_command_queue_properties /* properties */, 644848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 645848b8605Smrg 646848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 647848b8605SmrgclRetainCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 648848b8605Smrg 649848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 650848b8605SmrgclReleaseCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 651848b8605Smrg 652848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 653848b8605SmrgclGetCommandQueueInfo(cl_command_queue /* command_queue */, 654848b8605Smrg cl_command_queue_info /* param_name */, 655848b8605Smrg size_t /* param_value_size */, 656848b8605Smrg void * /* param_value */, 657848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 658848b8605Smrg 659848b8605Smrg/* Memory Object APIs */ 660848b8605Smrgextern CL_API_ENTRY cl_mem CL_API_CALL 661848b8605SmrgclCreateBuffer(cl_context /* context */, 662848b8605Smrg cl_mem_flags /* flags */, 663848b8605Smrg size_t /* size */, 664848b8605Smrg void * /* host_ptr */, 665848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 666848b8605Smrg 667848b8605Smrgextern CL_API_ENTRY cl_mem CL_API_CALL 668848b8605SmrgclCreateSubBuffer(cl_mem /* buffer */, 669848b8605Smrg cl_mem_flags /* flags */, 670848b8605Smrg cl_buffer_create_type /* buffer_create_type */, 671848b8605Smrg const void * /* buffer_create_info */, 672848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 673848b8605Smrg 674848b8605Smrgextern CL_API_ENTRY cl_mem CL_API_CALL 675848b8605SmrgclCreateImage(cl_context /* context */, 676848b8605Smrg cl_mem_flags /* flags */, 677848b8605Smrg const cl_image_format * /* image_format */, 678848b8605Smrg const cl_image_desc * /* image_desc */, 679848b8605Smrg void * /* host_ptr */, 680848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; 681848b8605Smrg 682848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 683848b8605SmrgclRetainMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; 684848b8605Smrg 685848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 686848b8605SmrgclReleaseMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; 687848b8605Smrg 688848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 689848b8605SmrgclGetSupportedImageFormats(cl_context /* context */, 690848b8605Smrg cl_mem_flags /* flags */, 691848b8605Smrg cl_mem_object_type /* image_type */, 692848b8605Smrg cl_uint /* num_entries */, 693848b8605Smrg cl_image_format * /* image_formats */, 694848b8605Smrg cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0; 695848b8605Smrg 696848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 697848b8605SmrgclGetMemObjectInfo(cl_mem /* memobj */, 698848b8605Smrg cl_mem_info /* param_name */, 699848b8605Smrg size_t /* param_value_size */, 700848b8605Smrg void * /* param_value */, 701848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 702848b8605Smrg 703848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 704848b8605SmrgclGetImageInfo(cl_mem /* image */, 705848b8605Smrg cl_image_info /* param_name */, 706848b8605Smrg size_t /* param_value_size */, 707848b8605Smrg void * /* param_value */, 708848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 709848b8605Smrg 710848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 711848b8605SmrgclSetMemObjectDestructorCallback( cl_mem /* memobj */, 712848b8605Smrg void (CL_CALLBACK * /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/), 713848b8605Smrg void * /*user_data */ ) CL_API_SUFFIX__VERSION_1_1; 714848b8605Smrg 715848b8605Smrg/* Sampler APIs */ 716848b8605Smrgextern CL_API_ENTRY cl_sampler CL_API_CALL 717848b8605SmrgclCreateSampler(cl_context /* context */, 718848b8605Smrg cl_bool /* normalized_coords */, 719848b8605Smrg cl_addressing_mode /* addressing_mode */, 720848b8605Smrg cl_filter_mode /* filter_mode */, 721848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 722848b8605Smrg 723848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 724848b8605SmrgclRetainSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; 725848b8605Smrg 726848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 727848b8605SmrgclReleaseSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; 728848b8605Smrg 729848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 730848b8605SmrgclGetSamplerInfo(cl_sampler /* sampler */, 731848b8605Smrg cl_sampler_info /* param_name */, 732848b8605Smrg size_t /* param_value_size */, 733848b8605Smrg void * /* param_value */, 734848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 735848b8605Smrg 736848b8605Smrg/* Program Object APIs */ 737848b8605Smrgextern CL_API_ENTRY cl_program CL_API_CALL 738848b8605SmrgclCreateProgramWithSource(cl_context /* context */, 739848b8605Smrg cl_uint /* count */, 740848b8605Smrg const char ** /* strings */, 741848b8605Smrg const size_t * /* lengths */, 742848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 743848b8605Smrg 744848b8605Smrgextern CL_API_ENTRY cl_program CL_API_CALL 745848b8605SmrgclCreateProgramWithBinary(cl_context /* context */, 746848b8605Smrg cl_uint /* num_devices */, 747848b8605Smrg const cl_device_id * /* device_list */, 748848b8605Smrg const size_t * /* lengths */, 749848b8605Smrg const unsigned char ** /* binaries */, 750848b8605Smrg cl_int * /* binary_status */, 751848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 752848b8605Smrg 753848b8605Smrgextern CL_API_ENTRY cl_program CL_API_CALL 754848b8605SmrgclCreateProgramWithBuiltInKernels(cl_context /* context */, 755848b8605Smrg cl_uint /* num_devices */, 756848b8605Smrg const cl_device_id * /* device_list */, 757848b8605Smrg const char * /* kernel_names */, 758848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; 759848b8605Smrg 760848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 761848b8605SmrgclRetainProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; 762848b8605Smrg 763848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 764848b8605SmrgclReleaseProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; 765848b8605Smrg 766848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 767848b8605SmrgclBuildProgram(cl_program /* program */, 768848b8605Smrg cl_uint /* num_devices */, 769848b8605Smrg const cl_device_id * /* device_list */, 770848b8605Smrg const char * /* options */, 771848b8605Smrg void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 772848b8605Smrg void * /* user_data */) CL_API_SUFFIX__VERSION_1_0; 773848b8605Smrg 774848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 775848b8605SmrgclCompileProgram(cl_program /* program */, 776848b8605Smrg cl_uint /* num_devices */, 777848b8605Smrg const cl_device_id * /* device_list */, 778848b8605Smrg const char * /* options */, 779848b8605Smrg cl_uint /* num_input_headers */, 780848b8605Smrg const cl_program * /* input_headers */, 781848b8605Smrg const char ** /* header_include_names */, 782848b8605Smrg void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 783848b8605Smrg void * /* user_data */) CL_API_SUFFIX__VERSION_1_2; 784848b8605Smrg 785848b8605Smrgextern CL_API_ENTRY cl_program CL_API_CALL 786848b8605SmrgclLinkProgram(cl_context /* context */, 787848b8605Smrg cl_uint /* num_devices */, 788848b8605Smrg const cl_device_id * /* device_list */, 789848b8605Smrg const char * /* options */, 790848b8605Smrg cl_uint /* num_input_programs */, 791848b8605Smrg const cl_program * /* input_programs */, 792848b8605Smrg void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 793848b8605Smrg void * /* user_data */, 794848b8605Smrg cl_int * /* errcode_ret */ ) CL_API_SUFFIX__VERSION_1_2; 795848b8605Smrg 796848b8605Smrg 797848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 798848b8605SmrgclUnloadPlatformCompiler(cl_platform_id /* platform */) CL_API_SUFFIX__VERSION_1_2; 799848b8605Smrg 800848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 801848b8605SmrgclGetProgramInfo(cl_program /* program */, 802848b8605Smrg cl_program_info /* param_name */, 803848b8605Smrg size_t /* param_value_size */, 804848b8605Smrg void * /* param_value */, 805848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 806848b8605Smrg 807848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 808848b8605SmrgclGetProgramBuildInfo(cl_program /* program */, 809848b8605Smrg cl_device_id /* device */, 810848b8605Smrg cl_program_build_info /* param_name */, 811848b8605Smrg size_t /* param_value_size */, 812848b8605Smrg void * /* param_value */, 813848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 814848b8605Smrg 815848b8605Smrg/* Kernel Object APIs */ 816848b8605Smrgextern CL_API_ENTRY cl_kernel CL_API_CALL 817848b8605SmrgclCreateKernel(cl_program /* program */, 818848b8605Smrg const char * /* kernel_name */, 819848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 820848b8605Smrg 821848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 822848b8605SmrgclCreateKernelsInProgram(cl_program /* program */, 823848b8605Smrg cl_uint /* num_kernels */, 824848b8605Smrg cl_kernel * /* kernels */, 825848b8605Smrg cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0; 826848b8605Smrg 827848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 828848b8605SmrgclRetainKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; 829848b8605Smrg 830848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 831848b8605SmrgclReleaseKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; 832848b8605Smrg 833848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 834848b8605SmrgclSetKernelArg(cl_kernel /* kernel */, 835848b8605Smrg cl_uint /* arg_index */, 836848b8605Smrg size_t /* arg_size */, 837848b8605Smrg const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0; 838848b8605Smrg 839848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 840848b8605SmrgclGetKernelInfo(cl_kernel /* kernel */, 841848b8605Smrg cl_kernel_info /* param_name */, 842848b8605Smrg size_t /* param_value_size */, 843848b8605Smrg void * /* param_value */, 844848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 845848b8605Smrg 846848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 847848b8605SmrgclGetKernelArgInfo(cl_kernel /* kernel */, 848848b8605Smrg cl_uint /* arg_indx */, 849848b8605Smrg cl_kernel_arg_info /* param_name */, 850848b8605Smrg size_t /* param_value_size */, 851848b8605Smrg void * /* param_value */, 852848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2; 853848b8605Smrg 854848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 855848b8605SmrgclGetKernelWorkGroupInfo(cl_kernel /* kernel */, 856848b8605Smrg cl_device_id /* device */, 857848b8605Smrg cl_kernel_work_group_info /* param_name */, 858848b8605Smrg size_t /* param_value_size */, 859848b8605Smrg void * /* param_value */, 860848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 861848b8605Smrg 862848b8605Smrg/* Event Object APIs */ 863848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 864848b8605SmrgclWaitForEvents(cl_uint /* num_events */, 865848b8605Smrg const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; 866848b8605Smrg 867848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 868848b8605SmrgclGetEventInfo(cl_event /* event */, 869848b8605Smrg cl_event_info /* param_name */, 870848b8605Smrg size_t /* param_value_size */, 871848b8605Smrg void * /* param_value */, 872848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 873848b8605Smrg 874848b8605Smrgextern CL_API_ENTRY cl_event CL_API_CALL 875848b8605SmrgclCreateUserEvent(cl_context /* context */, 876848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 877848b8605Smrg 878848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 879848b8605SmrgclRetainEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; 880848b8605Smrg 881848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 882848b8605SmrgclReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; 883848b8605Smrg 884848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 885848b8605SmrgclSetUserEventStatus(cl_event /* event */, 886848b8605Smrg cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1; 887848b8605Smrg 888848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 889848b8605SmrgclSetEventCallback( cl_event /* event */, 890848b8605Smrg cl_int /* command_exec_callback_type */, 891848b8605Smrg void (CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *), 892848b8605Smrg void * /* user_data */) CL_API_SUFFIX__VERSION_1_1; 893848b8605Smrg 894848b8605Smrg/* Profiling APIs */ 895848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 896848b8605SmrgclGetEventProfilingInfo(cl_event /* event */, 897848b8605Smrg cl_profiling_info /* param_name */, 898848b8605Smrg size_t /* param_value_size */, 899848b8605Smrg void * /* param_value */, 900848b8605Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 901848b8605Smrg 902848b8605Smrg/* Flush and Finish APIs */ 903848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 904848b8605SmrgclFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 905848b8605Smrg 906848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 907848b8605SmrgclFinish(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 908848b8605Smrg 909848b8605Smrg/* Enqueued Commands APIs */ 910848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 911848b8605SmrgclEnqueueReadBuffer(cl_command_queue /* command_queue */, 912848b8605Smrg cl_mem /* buffer */, 913848b8605Smrg cl_bool /* blocking_read */, 914848b8605Smrg size_t /* offset */, 915848b8605Smrg size_t /* size */, 916848b8605Smrg void * /* ptr */, 917848b8605Smrg cl_uint /* num_events_in_wait_list */, 918848b8605Smrg const cl_event * /* event_wait_list */, 919848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 920848b8605Smrg 921848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 922848b8605SmrgclEnqueueReadBufferRect(cl_command_queue /* command_queue */, 923848b8605Smrg cl_mem /* buffer */, 924848b8605Smrg cl_bool /* blocking_read */, 925848b8605Smrg const size_t * /* buffer_offset */, 926848b8605Smrg const size_t * /* host_offset */, 927848b8605Smrg const size_t * /* region */, 928848b8605Smrg size_t /* buffer_row_pitch */, 929848b8605Smrg size_t /* buffer_slice_pitch */, 930848b8605Smrg size_t /* host_row_pitch */, 931848b8605Smrg size_t /* host_slice_pitch */, 932848b8605Smrg void * /* ptr */, 933848b8605Smrg cl_uint /* num_events_in_wait_list */, 934848b8605Smrg const cl_event * /* event_wait_list */, 935848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 936848b8605Smrg 937848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 938848b8605SmrgclEnqueueWriteBuffer(cl_command_queue /* command_queue */, 939848b8605Smrg cl_mem /* buffer */, 940848b8605Smrg cl_bool /* blocking_write */, 941848b8605Smrg size_t /* offset */, 942848b8605Smrg size_t /* size */, 943848b8605Smrg const void * /* ptr */, 944848b8605Smrg cl_uint /* num_events_in_wait_list */, 945848b8605Smrg const cl_event * /* event_wait_list */, 946848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 947848b8605Smrg 948848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 949848b8605SmrgclEnqueueWriteBufferRect(cl_command_queue /* command_queue */, 950848b8605Smrg cl_mem /* buffer */, 951848b8605Smrg cl_bool /* blocking_write */, 952848b8605Smrg const size_t * /* buffer_offset */, 953848b8605Smrg const size_t * /* host_offset */, 954848b8605Smrg const size_t * /* region */, 955848b8605Smrg size_t /* buffer_row_pitch */, 956848b8605Smrg size_t /* buffer_slice_pitch */, 957848b8605Smrg size_t /* host_row_pitch */, 958848b8605Smrg size_t /* host_slice_pitch */, 959848b8605Smrg const void * /* ptr */, 960848b8605Smrg cl_uint /* num_events_in_wait_list */, 961848b8605Smrg const cl_event * /* event_wait_list */, 962848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 963848b8605Smrg 964848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 965848b8605SmrgclEnqueueFillBuffer(cl_command_queue /* command_queue */, 966848b8605Smrg cl_mem /* buffer */, 967848b8605Smrg const void * /* pattern */, 968848b8605Smrg size_t /* pattern_size */, 969848b8605Smrg size_t /* offset */, 970848b8605Smrg size_t /* size */, 971848b8605Smrg cl_uint /* num_events_in_wait_list */, 972848b8605Smrg const cl_event * /* event_wait_list */, 973848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 974848b8605Smrg 975848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 976848b8605SmrgclEnqueueCopyBuffer(cl_command_queue /* command_queue */, 977848b8605Smrg cl_mem /* src_buffer */, 978848b8605Smrg cl_mem /* dst_buffer */, 979848b8605Smrg size_t /* src_offset */, 980848b8605Smrg size_t /* dst_offset */, 981848b8605Smrg size_t /* size */, 982848b8605Smrg cl_uint /* num_events_in_wait_list */, 983848b8605Smrg const cl_event * /* event_wait_list */, 984848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 985848b8605Smrg 986848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 987848b8605SmrgclEnqueueCopyBufferRect(cl_command_queue /* command_queue */, 988848b8605Smrg cl_mem /* src_buffer */, 989848b8605Smrg cl_mem /* dst_buffer */, 990848b8605Smrg const size_t * /* src_origin */, 991848b8605Smrg const size_t * /* dst_origin */, 992848b8605Smrg const size_t * /* region */, 993848b8605Smrg size_t /* src_row_pitch */, 994848b8605Smrg size_t /* src_slice_pitch */, 995848b8605Smrg size_t /* dst_row_pitch */, 996848b8605Smrg size_t /* dst_slice_pitch */, 997848b8605Smrg cl_uint /* num_events_in_wait_list */, 998848b8605Smrg const cl_event * /* event_wait_list */, 999848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 1000848b8605Smrg 1001848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1002848b8605SmrgclEnqueueReadImage(cl_command_queue /* command_queue */, 1003848b8605Smrg cl_mem /* image */, 1004848b8605Smrg cl_bool /* blocking_read */, 1005848b8605Smrg const size_t * /* origin[3] */, 1006848b8605Smrg const size_t * /* region[3] */, 1007848b8605Smrg size_t /* row_pitch */, 1008848b8605Smrg size_t /* slice_pitch */, 1009848b8605Smrg void * /* ptr */, 1010848b8605Smrg cl_uint /* num_events_in_wait_list */, 1011848b8605Smrg const cl_event * /* event_wait_list */, 1012848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1013848b8605Smrg 1014848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1015848b8605SmrgclEnqueueWriteImage(cl_command_queue /* command_queue */, 1016848b8605Smrg cl_mem /* image */, 1017848b8605Smrg cl_bool /* blocking_write */, 1018848b8605Smrg const size_t * /* origin[3] */, 1019848b8605Smrg const size_t * /* region[3] */, 1020848b8605Smrg size_t /* input_row_pitch */, 1021848b8605Smrg size_t /* input_slice_pitch */, 1022848b8605Smrg const void * /* ptr */, 1023848b8605Smrg cl_uint /* num_events_in_wait_list */, 1024848b8605Smrg const cl_event * /* event_wait_list */, 1025848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1026848b8605Smrg 1027848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1028848b8605SmrgclEnqueueFillImage(cl_command_queue /* command_queue */, 1029848b8605Smrg cl_mem /* image */, 1030848b8605Smrg const void * /* fill_color */, 1031848b8605Smrg const size_t * /* origin[3] */, 1032848b8605Smrg const size_t * /* region[3] */, 1033848b8605Smrg cl_uint /* num_events_in_wait_list */, 1034848b8605Smrg const cl_event * /* event_wait_list */, 1035848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1036848b8605Smrg 1037848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1038848b8605SmrgclEnqueueCopyImage(cl_command_queue /* command_queue */, 1039848b8605Smrg cl_mem /* src_image */, 1040848b8605Smrg cl_mem /* dst_image */, 1041848b8605Smrg const size_t * /* src_origin[3] */, 1042848b8605Smrg const size_t * /* dst_origin[3] */, 1043848b8605Smrg const size_t * /* region[3] */, 1044848b8605Smrg cl_uint /* num_events_in_wait_list */, 1045848b8605Smrg const cl_event * /* event_wait_list */, 1046848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1047848b8605Smrg 1048848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1049848b8605SmrgclEnqueueCopyImageToBuffer(cl_command_queue /* command_queue */, 1050848b8605Smrg cl_mem /* src_image */, 1051848b8605Smrg cl_mem /* dst_buffer */, 1052848b8605Smrg const size_t * /* src_origin[3] */, 1053848b8605Smrg const size_t * /* region[3] */, 1054848b8605Smrg size_t /* dst_offset */, 1055848b8605Smrg cl_uint /* num_events_in_wait_list */, 1056848b8605Smrg const cl_event * /* event_wait_list */, 1057848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1058848b8605Smrg 1059848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1060848b8605SmrgclEnqueueCopyBufferToImage(cl_command_queue /* command_queue */, 1061848b8605Smrg cl_mem /* src_buffer */, 1062848b8605Smrg cl_mem /* dst_image */, 1063848b8605Smrg size_t /* src_offset */, 1064848b8605Smrg const size_t * /* dst_origin[3] */, 1065848b8605Smrg const size_t * /* region[3] */, 1066848b8605Smrg cl_uint /* num_events_in_wait_list */, 1067848b8605Smrg const cl_event * /* event_wait_list */, 1068848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1069848b8605Smrg 1070848b8605Smrgextern CL_API_ENTRY void * CL_API_CALL 1071848b8605SmrgclEnqueueMapBuffer(cl_command_queue /* command_queue */, 1072848b8605Smrg cl_mem /* buffer */, 1073848b8605Smrg cl_bool /* blocking_map */, 1074848b8605Smrg cl_map_flags /* map_flags */, 1075848b8605Smrg size_t /* offset */, 1076848b8605Smrg size_t /* size */, 1077848b8605Smrg cl_uint /* num_events_in_wait_list */, 1078848b8605Smrg const cl_event * /* event_wait_list */, 1079848b8605Smrg cl_event * /* event */, 1080848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 1081848b8605Smrg 1082848b8605Smrgextern CL_API_ENTRY void * CL_API_CALL 1083848b8605SmrgclEnqueueMapImage(cl_command_queue /* command_queue */, 1084848b8605Smrg cl_mem /* image */, 1085848b8605Smrg cl_bool /* blocking_map */, 1086848b8605Smrg cl_map_flags /* map_flags */, 1087848b8605Smrg const size_t * /* origin[3] */, 1088848b8605Smrg const size_t * /* region[3] */, 1089848b8605Smrg size_t * /* image_row_pitch */, 1090848b8605Smrg size_t * /* image_slice_pitch */, 1091848b8605Smrg cl_uint /* num_events_in_wait_list */, 1092848b8605Smrg const cl_event * /* event_wait_list */, 1093848b8605Smrg cl_event * /* event */, 1094848b8605Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 1095848b8605Smrg 1096848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1097848b8605SmrgclEnqueueUnmapMemObject(cl_command_queue /* command_queue */, 1098848b8605Smrg cl_mem /* memobj */, 1099848b8605Smrg void * /* mapped_ptr */, 1100848b8605Smrg cl_uint /* num_events_in_wait_list */, 1101848b8605Smrg const cl_event * /* event_wait_list */, 1102848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1103848b8605Smrg 1104848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1105848b8605SmrgclEnqueueMigrateMemObjects(cl_command_queue /* command_queue */, 1106848b8605Smrg cl_uint /* num_mem_objects */, 1107848b8605Smrg const cl_mem * /* mem_objects */, 1108848b8605Smrg cl_mem_migration_flags /* flags */, 1109848b8605Smrg cl_uint /* num_events_in_wait_list */, 1110848b8605Smrg const cl_event * /* event_wait_list */, 1111848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1112848b8605Smrg 1113848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1114848b8605SmrgclEnqueueNDRangeKernel(cl_command_queue /* command_queue */, 1115848b8605Smrg cl_kernel /* kernel */, 1116848b8605Smrg cl_uint /* work_dim */, 1117848b8605Smrg const size_t * /* global_work_offset */, 1118848b8605Smrg const size_t * /* global_work_size */, 1119848b8605Smrg const size_t * /* local_work_size */, 1120848b8605Smrg cl_uint /* num_events_in_wait_list */, 1121848b8605Smrg const cl_event * /* event_wait_list */, 1122848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1123848b8605Smrg 1124848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1125848b8605SmrgclEnqueueTask(cl_command_queue /* command_queue */, 1126848b8605Smrg cl_kernel /* kernel */, 1127848b8605Smrg cl_uint /* num_events_in_wait_list */, 1128848b8605Smrg const cl_event * /* event_wait_list */, 1129848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1130848b8605Smrg 1131848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1132848b8605SmrgclEnqueueNativeKernel(cl_command_queue /* command_queue */, 1133848b8605Smrg void (CL_CALLBACK * /*user_func*/)(void *), 1134848b8605Smrg void * /* args */, 1135848b8605Smrg size_t /* cb_args */, 1136848b8605Smrg cl_uint /* num_mem_objects */, 1137848b8605Smrg const cl_mem * /* mem_list */, 1138848b8605Smrg const void ** /* args_mem_loc */, 1139848b8605Smrg cl_uint /* num_events_in_wait_list */, 1140848b8605Smrg const cl_event * /* event_wait_list */, 1141848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1142848b8605Smrg 1143848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1144848b8605SmrgclEnqueueMarkerWithWaitList(cl_command_queue /* command_queue */, 1145848b8605Smrg cl_uint /* num_events_in_wait_list */, 1146848b8605Smrg const cl_event * /* event_wait_list */, 1147848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1148848b8605Smrg 1149848b8605Smrgextern CL_API_ENTRY cl_int CL_API_CALL 1150848b8605SmrgclEnqueueBarrierWithWaitList(cl_command_queue /* command_queue */, 1151848b8605Smrg cl_uint /* num_events_in_wait_list */, 1152848b8605Smrg const cl_event * /* event_wait_list */, 1153848b8605Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1154848b8605Smrg 1155848b8605Smrg 1156848b8605Smrg/* Extension function access 1157848b8605Smrg * 1158848b8605Smrg * Returns the extension function address for the given function name, 1159848b8605Smrg * or NULL if a valid function can not be found. The client must 1160848b8605Smrg * check to make sure the address is not NULL, before using or 1161848b8605Smrg * calling the returned function address. 1162848b8605Smrg */ 1163848b8605Smrgextern CL_API_ENTRY void * CL_API_CALL 1164848b8605SmrgclGetExtensionFunctionAddressForPlatform(cl_platform_id /* platform */, 1165848b8605Smrg const char * /* func_name */) CL_API_SUFFIX__VERSION_1_2; 1166848b8605Smrg 1167848b8605Smrg 1168848b8605Smrg/* Deprecated OpenCL 1.1 APIs */ 1169848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL 1170848b8605SmrgclCreateImage2D(cl_context /* context */, 1171848b8605Smrg cl_mem_flags /* flags */, 1172848b8605Smrg const cl_image_format * /* image_format */, 1173848b8605Smrg size_t /* image_width */, 1174848b8605Smrg size_t /* image_height */, 1175848b8605Smrg size_t /* image_row_pitch */, 1176848b8605Smrg void * /* host_ptr */, 1177848b8605Smrg cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1178848b8605Smrg 1179848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL 1180848b8605SmrgclCreateImage3D(cl_context /* context */, 1181848b8605Smrg cl_mem_flags /* flags */, 1182848b8605Smrg const cl_image_format * /* image_format */, 1183848b8605Smrg size_t /* image_width */, 1184848b8605Smrg size_t /* image_height */, 1185848b8605Smrg size_t /* image_depth */, 1186848b8605Smrg size_t /* image_row_pitch */, 1187848b8605Smrg size_t /* image_slice_pitch */, 1188848b8605Smrg void * /* host_ptr */, 1189848b8605Smrg cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1190848b8605Smrg 1191848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1192848b8605SmrgclEnqueueMarker(cl_command_queue /* command_queue */, 1193848b8605Smrg cl_event * /* event */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1194848b8605Smrg 1195848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1196848b8605SmrgclEnqueueWaitForEvents(cl_command_queue /* command_queue */, 1197848b8605Smrg cl_uint /* num_events */, 1198848b8605Smrg const cl_event * /* event_list */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1199848b8605Smrg 1200848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1201848b8605SmrgclEnqueueBarrier(cl_command_queue /* command_queue */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1202848b8605Smrg 1203848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1204848b8605SmrgclUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1205848b8605Smrg 1206848b8605Smrgextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL 1207848b8605SmrgclGetExtensionFunctionAddress(const char * /* func_name */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1208848b8605Smrg 1209848b8605Smrg#ifdef __cplusplus 1210848b8605Smrg} 1211848b8605Smrg#endif 1212848b8605Smrg 1213848b8605Smrg#endif /* __OPENCL_CL_H */ 1214848b8605Smrg 1215