1c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/******************************************************************************* 2beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez * Copyright (c) 2008 - 2012 The Khronos Group Inc. 3c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * 4c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * Permission is hereby granted, free of charge, to any person obtaining a 5c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * copy of this software and/or associated documentation files (the 6c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * "Materials"), to deal in the Materials without restriction, including 7c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * without limitation the rights to use, copy, modify, merge, publish, 8c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * distribute, sublicense, and/or sell copies of the Materials, and to 9c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * permit persons to whom the Materials are furnished to do so, subject to 10c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * the following conditions: 11c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * 12c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * The above copyright notice and this permission notice shall be included 13c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * in all copies or substantial portions of the Materials. 14c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * 15c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 22c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez ******************************************************************************/ 23c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 24c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#ifndef __OPENCL_CL_H 25c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define __OPENCL_CL_H 26c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 27c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#ifdef __APPLE__ 28c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#include <OpenCL/cl_platform.h> 29c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#else 30c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#include <CL/cl_platform.h> 31c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#endif 32c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 33c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#ifdef __cplusplus 34c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern "C" { 35c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#endif 36c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 37c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/******************************************************************************/ 38c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 39c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_platform_id * cl_platform_id; 40c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_device_id * cl_device_id; 41c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_context * cl_context; 42c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_command_queue * cl_command_queue; 43c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_mem * cl_mem; 44c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_program * cl_program; 45c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_kernel * cl_kernel; 46c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_event * cl_event; 47c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_sampler * cl_sampler; 48c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 49c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef 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. */ 50c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_ulong cl_bitfield; 51c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_device_type; 52c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_platform_info; 53c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_device_info; 54c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_device_fp_config; 55c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_device_mem_cache_type; 56c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_device_local_mem_type; 57c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_device_exec_capabilities; 58c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_command_queue_properties; 59beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef intptr_t cl_device_partition_property; 60beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_bitfield cl_device_affinity_domain; 61c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 62beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef intptr_t cl_context_properties; 63c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_context_info; 64c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_command_queue_info; 65c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_channel_order; 66c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_channel_type; 67c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_mem_flags; 68c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_mem_object_type; 69c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_mem_info; 70beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_bitfield cl_mem_migration_flags; 71c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_image_info; 72c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_buffer_create_type; 73c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_addressing_mode; 74c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_filter_mode; 75c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_sampler_info; 76c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_bitfield cl_map_flags; 77c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_program_info; 78c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_program_build_info; 79beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_uint cl_program_binary_type; 80c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_int cl_build_status; 81c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_kernel_info; 82beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_uint cl_kernel_arg_info; 83beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_uint cl_kernel_arg_address_qualifier; 84beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_uint cl_kernel_arg_access_qualifier; 85beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef cl_bitfield cl_kernel_arg_type_qualifier; 86c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_kernel_work_group_info; 87c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_event_info; 88c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_command_type; 89c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef cl_uint cl_profiling_info; 90c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 91beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 92c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_image_format { 93c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_channel_order image_channel_order; 94c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_channel_type image_channel_data_type; 95c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez} cl_image_format; 96c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 97beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jereztypedef struct _cl_image_desc { 98beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem_object_type image_type; 99beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_width; 100beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_height; 101beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_depth; 102beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_array_size; 103beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_row_pitch; 104beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t image_slice_pitch; 105beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint num_mip_levels; 106beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint num_samples; 107beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem buffer; 108beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez} cl_image_desc; 109c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 110c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jereztypedef struct _cl_buffer_region { 111c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t origin; 112c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t size; 113c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez} cl_buffer_region; 114c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 115beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 116c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/******************************************************************************/ 117c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 118c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Error Codes */ 119c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SUCCESS 0 120c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NOT_FOUND -1 121c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NOT_AVAILABLE -2 122c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMPILER_NOT_AVAILABLE -3 123c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_OBJECT_ALLOCATION_FAILURE -4 124c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_OUT_OF_RESOURCES -5 125c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_OUT_OF_HOST_MEMORY -6 126c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROFILING_INFO_NOT_AVAILABLE -7 127c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_COPY_OVERLAP -8 128c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_FORMAT_MISMATCH -9 129c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_FORMAT_NOT_SUPPORTED -10 130c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUILD_PROGRAM_FAILURE -11 131c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MAP_FAILURE -12 132c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MISALIGNED_SUB_BUFFER_OFFSET -13 133c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14 134beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_COMPILE_PROGRAM_FAILURE -15 135beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_LINKER_NOT_AVAILABLE -16 136beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_LINK_PROGRAM_FAILURE -17 137beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_FAILED -18 138beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_INFO_NOT_AVAILABLE -19 139c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 140c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_VALUE -30 141c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_DEVICE_TYPE -31 142c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_PLATFORM -32 143c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_DEVICE -33 144c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_CONTEXT -34 145c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_QUEUE_PROPERTIES -35 146c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_COMMAND_QUEUE -36 147c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_HOST_PTR -37 148c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_MEM_OBJECT -38 149c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_IMAGE_FORMAT_DESCRIPTOR -39 150c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_IMAGE_SIZE -40 151c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_SAMPLER -41 152c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_BINARY -42 153c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_BUILD_OPTIONS -43 154c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_PROGRAM -44 155c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_PROGRAM_EXECUTABLE -45 156c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_KERNEL_NAME -46 157c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_KERNEL_DEFINITION -47 158c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_KERNEL -48 159c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_ARG_INDEX -49 160c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_ARG_VALUE -50 161c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_ARG_SIZE -51 162c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_KERNEL_ARGS -52 163c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_WORK_DIMENSION -53 164c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_WORK_GROUP_SIZE -54 165c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_WORK_ITEM_SIZE -55 166c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_GLOBAL_OFFSET -56 167c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_EVENT_WAIT_LIST -57 168c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_EVENT -58 169c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_OPERATION -59 170c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_GL_OBJECT -60 171c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_BUFFER_SIZE -61 172c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_MIP_LEVEL -62 173c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_GLOBAL_WORK_SIZE -63 174c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INVALID_PROPERTY -64 175beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_INVALID_IMAGE_DESCRIPTOR -65 176beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_INVALID_COMPILER_OPTIONS -66 177beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_INVALID_LINKER_OPTIONS -67 178beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_INVALID_DEVICE_PARTITION_COUNT -68 179c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 180c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* OpenCL Version */ 181c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_VERSION_1_0 1 182c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_VERSION_1_1 1 183beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_VERSION_1_2 1 184c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 185c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_bool */ 186c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FALSE 0 187c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_TRUE 1 188beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_BLOCKING CL_TRUE 189beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_NON_BLOCKING CL_FALSE 190c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 191c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_platform_info */ 192c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PLATFORM_PROFILE 0x0900 193c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PLATFORM_VERSION 0x0901 194c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PLATFORM_NAME 0x0902 195c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PLATFORM_VENDOR 0x0903 196c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PLATFORM_EXTENSIONS 0x0904 197c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 198c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_type - bitfield */ 199c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE_DEFAULT (1 << 0) 200c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE_CPU (1 << 1) 201c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE_GPU (1 << 2) 202c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE_ACCELERATOR (1 << 3) 203beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_TYPE_CUSTOM (1 << 4) 204c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE_ALL 0xFFFFFFFF 205c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 206c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_info */ 207c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_TYPE 0x1000 208c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_VENDOR_ID 0x1001 209c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_COMPUTE_UNITS 0x1002 210c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS 0x1003 211c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_WORK_GROUP_SIZE 0x1004 212c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_WORK_ITEM_SIZES 0x1005 213c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR 0x1006 214c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT 0x1007 215c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT 0x1008 216c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG 0x1009 217c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT 0x100A 218c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE 0x100B 219c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_CLOCK_FREQUENCY 0x100C 220c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_ADDRESS_BITS 0x100D 221c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_READ_IMAGE_ARGS 0x100E 222c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_WRITE_IMAGE_ARGS 0x100F 223c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_MEM_ALLOC_SIZE 0x1010 224c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE2D_MAX_WIDTH 0x1011 225c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE2D_MAX_HEIGHT 0x1012 226c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE3D_MAX_WIDTH 0x1013 227c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE3D_MAX_HEIGHT 0x1014 228c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE3D_MAX_DEPTH 0x1015 229c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_IMAGE_SUPPORT 0x1016 230c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_PARAMETER_SIZE 0x1017 231c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_SAMPLERS 0x1018 232c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MEM_BASE_ADDR_ALIGN 0x1019 233c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE 0x101A 234c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_SINGLE_FP_CONFIG 0x101B 235c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_GLOBAL_MEM_CACHE_TYPE 0x101C 236c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE 0x101D 237c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_GLOBAL_MEM_CACHE_SIZE 0x101E 238c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_GLOBAL_MEM_SIZE 0x101F 239c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE 0x1020 240c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_MAX_CONSTANT_ARGS 0x1021 241c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_LOCAL_MEM_TYPE 0x1022 242c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_LOCAL_MEM_SIZE 0x1023 243c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_ERROR_CORRECTION_SUPPORT 0x1024 244c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PROFILING_TIMER_RESOLUTION 0x1025 245c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_ENDIAN_LITTLE 0x1026 246c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_AVAILABLE 0x1027 247c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_COMPILER_AVAILABLE 0x1028 248c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_EXECUTION_CAPABILITIES 0x1029 249c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_QUEUE_PROPERTIES 0x102A 250c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NAME 0x102B 251c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_VENDOR 0x102C 252c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DRIVER_VERSION 0x102D 253c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PROFILE 0x102E 254c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_VERSION 0x102F 255c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_EXTENSIONS 0x1030 256c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PLATFORM 0x1031 257beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032 258c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* 0x1033 reserved for CL_DEVICE_HALF_FP_CONFIG */ 259c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF 0x1034 260c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_HOST_UNIFIED_MEMORY 0x1035 261c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR 0x1036 262c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT 0x1037 263c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_INT 0x1038 264c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG 0x1039 265c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT 0x103A 266c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE 0x103B 267c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF 0x103C 268c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_DEVICE_OPENCL_C_VERSION 0x103D 269beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_LINKER_AVAILABLE 0x103E 270beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_BUILT_IN_KERNELS 0x103F 271beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_IMAGE_MAX_BUFFER_SIZE 0x1040 272beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_IMAGE_MAX_ARRAY_SIZE 0x1041 273beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARENT_DEVICE 0x1042 274beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_MAX_SUB_DEVICES 0x1043 275beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_PROPERTIES 0x1044 276beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_AFFINITY_DOMAIN 0x1045 277beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_TYPE 0x1046 278beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_REFERENCE_COUNT 0x1047 279beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PREFERRED_INTEROP_USER_SYNC 0x1048 280beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PRINTF_BUFFER_SIZE 0x1049 281beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_IMAGE_PITCH_ALIGNMENT 0x104A 282beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT 0x104B 283c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 284c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_fp_config - bitfield */ 285c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_DENORM (1 << 0) 286c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_INF_NAN (1 << 1) 287c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_ROUND_TO_NEAREST (1 << 2) 288c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_ROUND_TO_ZERO (1 << 3) 289c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_ROUND_TO_INF (1 << 4) 290c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_FMA (1 << 5) 291c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FP_SOFT_FLOAT (1 << 6) 292beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT (1 << 7) 293c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 294c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_mem_cache_type */ 295c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_NONE 0x0 296c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_READ_ONLY_CACHE 0x1 297c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_READ_WRITE_CACHE 0x2 298c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 299c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_local_mem_type */ 300c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_LOCAL 0x1 301c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_GLOBAL 0x2 302c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 303c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_device_exec_capabilities - bitfield */ 304c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EXEC_KERNEL (1 << 0) 305c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EXEC_NATIVE_KERNEL (1 << 1) 306c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 307c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_command_queue_properties - bitfield */ 308c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE (1 << 0) 309c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_PROFILING_ENABLE (1 << 1) 310c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 311c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_context_info */ 312c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_CONTEXT_REFERENCE_COUNT 0x1080 313c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_CONTEXT_DEVICES 0x1081 314c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_CONTEXT_PROPERTIES 0x1082 315c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_CONTEXT_NUM_DEVICES 0x1083 316c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 317beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_context_properties */ 318c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_CONTEXT_PLATFORM 0x1084 319beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_CONTEXT_INTEROP_USER_SYNC 0x1085 320beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 321beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_device_partition_property */ 322beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_EQUALLY 0x1086 323beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_BY_COUNTS 0x1087 324beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_BY_COUNTS_LIST_END 0x0 325beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN 0x1088 326beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 327beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_device_affinity_domain */ 328beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_NUMA (1 << 0) 329beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_L4_CACHE (1 << 1) 330beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_L3_CACHE (1 << 2) 331beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_L2_CACHE (1 << 3) 332beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_L1_CACHE (1 << 4) 333beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEVICE_AFFINITY_DOMAIN_NEXT_PARTITIONABLE (1 << 5) 334c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 335c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_command_queue_info */ 336c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_CONTEXT 0x1090 337c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_DEVICE 0x1091 338c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_REFERENCE_COUNT 0x1092 339c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUE_PROPERTIES 0x1093 340c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 341c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_mem_flags - bitfield */ 342c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_READ_WRITE (1 << 0) 343c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_WRITE_ONLY (1 << 1) 344c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_READ_ONLY (1 << 2) 345c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_USE_HOST_PTR (1 << 3) 346c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_ALLOC_HOST_PTR (1 << 4) 347c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_COPY_HOST_PTR (1 << 5) 348beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* reserved (1 << 6) */ 349beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_HOST_WRITE_ONLY (1 << 7) 350beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_HOST_READ_ONLY (1 << 8) 351beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_HOST_NO_ACCESS (1 << 9) 352beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 353beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_mem_migration_flags - bitfield */ 354beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MIGRATE_MEM_OBJECT_HOST (1 << 0) 355beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED (1 << 1) 356c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 357c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_channel_order */ 358c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_R 0x10B0 359c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_A 0x10B1 360c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RG 0x10B2 361c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RA 0x10B3 362c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RGB 0x10B4 363c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RGBA 0x10B5 364c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BGRA 0x10B6 365c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ARGB 0x10B7 366c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_INTENSITY 0x10B8 367c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_LUMINANCE 0x10B9 368c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_Rx 0x10BA 369c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RGx 0x10BB 370c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RGBx 0x10BC 371beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEPTH 0x10BD 372beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_DEPTH_STENCIL 0x10BE 373c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 374c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_channel_type */ 375c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SNORM_INT8 0x10D0 376c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SNORM_INT16 0x10D1 377c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNORM_INT8 0x10D2 378c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNORM_INT16 0x10D3 379c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNORM_SHORT_565 0x10D4 380c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNORM_SHORT_555 0x10D5 381c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNORM_INT_101010 0x10D6 382c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SIGNED_INT8 0x10D7 383c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SIGNED_INT16 0x10D8 384c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SIGNED_INT32 0x10D9 385c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNSIGNED_INT8 0x10DA 386c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNSIGNED_INT16 0x10DB 387c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_UNSIGNED_INT32 0x10DC 388c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_HALF_FLOAT 0x10DD 389c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FLOAT 0x10DE 390beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_UNORM_INT24 0x10DF 391c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 392c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_mem_object_type */ 393c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_OBJECT_BUFFER 0x10F0 394c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_OBJECT_IMAGE2D 0x10F1 395c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_OBJECT_IMAGE3D 0x10F2 396beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_OBJECT_IMAGE2D_ARRAY 0x10F3 397beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_OBJECT_IMAGE1D 0x10F4 398beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_OBJECT_IMAGE1D_ARRAY 0x10F5 399beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MEM_OBJECT_IMAGE1D_BUFFER 0x10F6 400c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 401c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_mem_info */ 402c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_TYPE 0x1100 403c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_FLAGS 0x1101 404c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_SIZE 0x1102 405c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_HOST_PTR 0x1103 406c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_MAP_COUNT 0x1104 407c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_REFERENCE_COUNT 0x1105 408c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_CONTEXT 0x1106 409c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_ASSOCIATED_MEMOBJECT 0x1107 410c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MEM_OFFSET 0x1108 411c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 412c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_image_info */ 413c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_FORMAT 0x1110 414c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_ELEMENT_SIZE 0x1111 415c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_ROW_PITCH 0x1112 416c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_SLICE_PITCH 0x1113 417c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_WIDTH 0x1114 418c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_HEIGHT 0x1115 419c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_IMAGE_DEPTH 0x1116 420beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_IMAGE_ARRAY_SIZE 0x1117 421beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_IMAGE_BUFFER 0x1118 422beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_IMAGE_NUM_MIP_LEVELS 0x1119 423beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_IMAGE_NUM_SAMPLES 0x111A 424c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 425c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_addressing_mode */ 426c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ADDRESS_NONE 0x1130 427c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ADDRESS_CLAMP_TO_EDGE 0x1131 428c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ADDRESS_CLAMP 0x1132 429c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ADDRESS_REPEAT 0x1133 430c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_ADDRESS_MIRRORED_REPEAT 0x1134 431c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 432c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_filter_mode */ 433c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FILTER_NEAREST 0x1140 434c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_FILTER_LINEAR 0x1141 435c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 436c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_sampler_info */ 437c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SAMPLER_REFERENCE_COUNT 0x1150 438c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SAMPLER_CONTEXT 0x1151 439c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SAMPLER_NORMALIZED_COORDS 0x1152 440c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SAMPLER_ADDRESSING_MODE 0x1153 441c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SAMPLER_FILTER_MODE 0x1154 442c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 443c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_map_flags - bitfield */ 444c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MAP_READ (1 << 0) 445c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_MAP_WRITE (1 << 1) 446beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_MAP_WRITE_INVALIDATE_REGION (1 << 2) 447c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 448c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_program_info */ 449c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_REFERENCE_COUNT 0x1160 450c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_CONTEXT 0x1161 451c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_NUM_DEVICES 0x1162 452c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_DEVICES 0x1163 453c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_SOURCE 0x1164 454c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_BINARY_SIZES 0x1165 455c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_BINARIES 0x1166 456beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_NUM_KERNELS 0x1167 457beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_KERNEL_NAMES 0x1168 458c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 459c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_program_build_info */ 460c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_BUILD_STATUS 0x1181 461c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_BUILD_OPTIONS 0x1182 462c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROGRAM_BUILD_LOG 0x1183 463beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_BINARY_TYPE 0x1184 464beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 465beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_program_binary_type */ 466beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_BINARY_TYPE_NONE 0x0 467beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_BINARY_TYPE_COMPILED_OBJECT 0x1 468beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_BINARY_TYPE_LIBRARY 0x2 469beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_PROGRAM_BINARY_TYPE_EXECUTABLE 0x4 470c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 471c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_build_status */ 472c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUILD_SUCCESS 0 473c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUILD_NONE -1 474c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUILD_ERROR -2 475c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUILD_IN_PROGRESS -3 476c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 477c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_kernel_info */ 478c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_FUNCTION_NAME 0x1190 479c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_NUM_ARGS 0x1191 480c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_REFERENCE_COUNT 0x1192 481c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_CONTEXT 0x1193 482c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_PROGRAM 0x1194 483beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ATTRIBUTES 0x1195 484beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 485beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_kernel_arg_info */ 486beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ADDRESS_QUALIFIER 0x1196 487beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ACCESS_QUALIFIER 0x1197 488beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_NAME 0x1198 489beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_QUALIFIER 0x1199 490beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_NAME 0x119A 491beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 492beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_kernel_arg_address_qualifier */ 493beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ADDRESS_GLOBAL 0x119B 494beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ADDRESS_LOCAL 0x119C 495beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ADDRESS_CONSTANT 0x119D 496beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ADDRESS_PRIVATE 0x119E 497beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 498beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_kernel_arg_access_qualifier */ 499beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ACCESS_READ_ONLY 0x11A0 500beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ACCESS_WRITE_ONLY 0x11A1 501beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ACCESS_READ_WRITE 0x11A2 502beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_ACCESS_NONE 0x11A3 503beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 504beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* cl_kernel_arg_type_qualifer */ 505beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_NONE 0 506beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_CONST (1 << 0) 507beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_RESTRICT (1 << 1) 508beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_ARG_TYPE_VOLATILE (1 << 2) 509c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 510c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_kernel_work_group_info */ 511c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_WORK_GROUP_SIZE 0x11B0 512c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_COMPILE_WORK_GROUP_SIZE 0x11B1 513c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_LOCAL_MEM_SIZE 0x11B2 514c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE 0x11B3 515c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_KERNEL_PRIVATE_MEM_SIZE 0x11B4 516beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_KERNEL_GLOBAL_WORK_SIZE 0x11B5 517c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 518c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_event_info */ 519c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EVENT_COMMAND_QUEUE 0x11D0 520c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EVENT_COMMAND_TYPE 0x11D1 521c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EVENT_REFERENCE_COUNT 0x11D2 522c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EVENT_COMMAND_EXECUTION_STATUS 0x11D3 523c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_EVENT_CONTEXT 0x11D4 524c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 525c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_command_type */ 526c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_NDRANGE_KERNEL 0x11F0 527c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_TASK 0x11F1 528c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_NATIVE_KERNEL 0x11F2 529c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_READ_BUFFER 0x11F3 530c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_WRITE_BUFFER 0x11F4 531c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_COPY_BUFFER 0x11F5 532c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_READ_IMAGE 0x11F6 533c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_WRITE_IMAGE 0x11F7 534c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_COPY_IMAGE 0x11F8 535c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_COPY_IMAGE_TO_BUFFER 0x11F9 536c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_COPY_BUFFER_TO_IMAGE 0x11FA 537c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_MAP_BUFFER 0x11FB 538c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_MAP_IMAGE 0x11FC 539c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_UNMAP_MEM_OBJECT 0x11FD 540c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_MARKER 0x11FE 541c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_ACQUIRE_GL_OBJECTS 0x11FF 542c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_RELEASE_GL_OBJECTS 0x1200 543c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_READ_BUFFER_RECT 0x1201 544c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_WRITE_BUFFER_RECT 0x1202 545c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_COPY_BUFFER_RECT 0x1203 546c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMMAND_USER 0x1204 547beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_COMMAND_BARRIER 0x1205 548beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_COMMAND_MIGRATE_MEM_OBJECTS 0x1206 549beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_COMMAND_FILL_BUFFER 0x1207 550beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez#define CL_COMMAND_FILL_IMAGE 0x1208 551c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 552c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* command execution status */ 553c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_COMPLETE 0x0 554c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_RUNNING 0x1 555c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_SUBMITTED 0x2 556c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_QUEUED 0x3 557beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 558c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_buffer_create_type */ 559c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_BUFFER_CREATE_TYPE_REGION 0x1220 560c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 561c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* cl_profiling_info */ 562c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROFILING_COMMAND_QUEUED 0x1280 563c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROFILING_COMMAND_SUBMIT 0x1281 564c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROFILING_COMMAND_START 0x1282 565c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#define CL_PROFILING_COMMAND_END 0x1283 566c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 567c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/********************************************************************************************************/ 568c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 569c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Platform API */ 570c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 571c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetPlatformIDs(cl_uint /* num_entries */, 572c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_platform_id * /* platforms */, 573c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint * /* num_platforms */) CL_API_SUFFIX__VERSION_1_0; 574c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 575c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 576c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetPlatformInfo(cl_platform_id /* platform */, 577c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_platform_info /* param_name */, 578c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 579c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 580c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 581c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 582c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Device APIs */ 583c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 584c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetDeviceIDs(cl_platform_id /* platform */, 585c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_type /* device_type */, 586c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_entries */, 587c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_id * /* devices */, 588c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint * /* num_devices */) CL_API_SUFFIX__VERSION_1_0; 589c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 590c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 591c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetDeviceInfo(cl_device_id /* device */, 592c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_info /* param_name */, 593c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 594c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 595c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 596beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 597beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 598beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCreateSubDevices(cl_device_id /* in_device */, 599beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_device_partition_property * /* properties */, 600beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_devices */, 601beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_device_id * /* out_devices */, 602beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint * /* num_devices_ret */) CL_API_SUFFIX__VERSION_1_2; 603c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 604beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 605beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclRetainDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; 606beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 607beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 608beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclReleaseDevice(cl_device_id /* device */) CL_API_SUFFIX__VERSION_1_2; 609beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 610c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Context APIs */ 611c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_context CL_API_CALL 612c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateContext(const cl_context_properties * /* properties */, 613beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_devices */, 614beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_device_id * /* devices */, 615c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void (CL_CALLBACK * /* pfn_notify */)(const char *, const void *, size_t, void *), 616beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* user_data */, 617beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 618c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 619c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_context CL_API_CALL 620c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateContextFromType(const cl_context_properties * /* properties */, 621beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_device_type /* device_type */, 622c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void (CL_CALLBACK * /* pfn_notify*/ )(const char *, const void *, size_t, void *), 623beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* user_data */, 624beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 625c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 626c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 627c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; 628c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 629c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 630c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseContext(cl_context /* context */) CL_API_SUFFIX__VERSION_1_0; 631c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 632c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 633c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetContextInfo(cl_context /* context */, 634c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_context_info /* param_name */, 635c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 636c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 637c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 638c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 639c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Command Queue APIs */ 640c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_command_queue CL_API_CALL 641c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateCommandQueue(cl_context /* context */, 642c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_id /* device */, 643c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_command_queue_properties /* properties */, 644c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 645c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 646c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 647c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 648c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 649c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 650c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseCommandQueue(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 651c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 652c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 653c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetCommandQueueInfo(cl_command_queue /* command_queue */, 654c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_command_queue_info /* param_name */, 655c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 656c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 657c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 658c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 659c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Memory Object APIs */ 660c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_mem CL_API_CALL 661c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateBuffer(cl_context /* context */, 662c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem_flags /* flags */, 663c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* size */, 664c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* host_ptr */, 665c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 666c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 667c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_mem CL_API_CALL 668c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateSubBuffer(cl_mem /* buffer */, 669c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem_flags /* flags */, 670c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_buffer_create_type /* buffer_create_type */, 671c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void * /* buffer_create_info */, 672c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 673c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 674c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_mem CL_API_CALL 675beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCreateImage(cl_context /* context */, 676beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem_flags /* flags */, 677beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_image_format * /* image_format */, 678beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_image_desc * /* image_desc */, 679beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* host_ptr */, 680beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; 681c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 682c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 683c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; 684c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 685c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 686c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseMemObject(cl_mem /* memobj */) CL_API_SUFFIX__VERSION_1_0; 687c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 688c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 689c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetSupportedImageFormats(cl_context /* context */, 690c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem_flags /* flags */, 691c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem_object_type /* image_type */, 692c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_entries */, 693c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_image_format * /* image_formats */, 694c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint * /* num_image_formats */) CL_API_SUFFIX__VERSION_1_0; 695c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 696c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 697c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetMemObjectInfo(cl_mem /* memobj */, 698c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem_info /* param_name */, 699c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 700c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 701c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 702c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 703c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 704c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetImageInfo(cl_mem /* image */, 705c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_image_info /* param_name */, 706c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 707c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 708c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 709c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 710c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 711c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclSetMemObjectDestructorCallback( cl_mem /* memobj */, 712c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void (CL_CALLBACK * /*pfn_notify*/)( cl_mem /* memobj */, void* /*user_data*/), 713c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /*user_data */ ) CL_API_SUFFIX__VERSION_1_1; 714c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 715beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* Sampler APIs */ 716c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_sampler CL_API_CALL 717c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateSampler(cl_context /* context */, 718c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* normalized_coords */, 719c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_addressing_mode /* addressing_mode */, 720c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_filter_mode /* filter_mode */, 721c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 722c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 723c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 724c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; 725c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 726c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 727c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseSampler(cl_sampler /* sampler */) CL_API_SUFFIX__VERSION_1_0; 728c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 729c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 730c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetSamplerInfo(cl_sampler /* sampler */, 731c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_sampler_info /* param_name */, 732c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 733c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 734c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 735c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 736c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Program Object APIs */ 737c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_program CL_API_CALL 738c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateProgramWithSource(cl_context /* context */, 739c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* count */, 740c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const char ** /* strings */, 741c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* lengths */, 742c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 743c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 744c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_program CL_API_CALL 745c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateProgramWithBinary(cl_context /* context */, 746c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_devices */, 747c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_device_id * /* device_list */, 748c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* lengths */, 749c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const unsigned char ** /* binaries */, 750c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* binary_status */, 751c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 752c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 753beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_program CL_API_CALL 754beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCreateProgramWithBuiltInKernels(cl_context /* context */, 755beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_devices */, 756beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_device_id * /* device_list */, 757beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const char * /* kernel_names */, 758beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_2; 759beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 760c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 761c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; 762c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 763c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 764c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseProgram(cl_program /* program */) CL_API_SUFFIX__VERSION_1_0; 765c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 766c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 767c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclBuildProgram(cl_program /* program */, 768c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_devices */, 769c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_device_id * /* device_list */, 770c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const char * /* options */, 771c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 772c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* user_data */) CL_API_SUFFIX__VERSION_1_0; 773c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 774c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 775beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCompileProgram(cl_program /* program */, 776beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_devices */, 777beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_device_id * /* device_list */, 778beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const char * /* options */, 779beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_input_headers */, 780beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_program * /* input_headers */, 781beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const char ** /* header_include_names */, 782beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 783beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* user_data */) CL_API_SUFFIX__VERSION_1_2; 784beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 785beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_program CL_API_CALL 786beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclLinkProgram(cl_context /* context */, 787beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_devices */, 788beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_device_id * /* device_list */, 789beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const char * /* options */, 790beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_input_programs */, 791beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_program * /* input_programs */, 792beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void (CL_CALLBACK * /* pfn_notify */)(cl_program /* program */, void * /* user_data */), 793beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* user_data */, 794beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */ ) CL_API_SUFFIX__VERSION_1_2; 795beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 796beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 797beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 798beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclUnloadPlatformCompiler(cl_platform_id /* platform */) CL_API_SUFFIX__VERSION_1_2; 799c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 800c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 801c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetProgramInfo(cl_program /* program */, 802c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_program_info /* param_name */, 803c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 804c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 805c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 806c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 807c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 808c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetProgramBuildInfo(cl_program /* program */, 809c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_id /* device */, 810c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_program_build_info /* param_name */, 811c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 812c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 813c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 814c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 815c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Kernel Object APIs */ 816c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_kernel CL_API_CALL 817c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateKernel(cl_program /* program */, 818c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const char * /* kernel_name */, 819c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 820c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 821c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 822c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateKernelsInProgram(cl_program /* program */, 823c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_kernels */, 824c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_kernel * /* kernels */, 825c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint * /* num_kernels_ret */) CL_API_SUFFIX__VERSION_1_0; 826c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 827c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 828c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; 829c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 830c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 831c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseKernel(cl_kernel /* kernel */) CL_API_SUFFIX__VERSION_1_0; 832c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 833c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 834c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclSetKernelArg(cl_kernel /* kernel */, 835c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* arg_index */, 836c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* arg_size */, 837c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void * /* arg_value */) CL_API_SUFFIX__VERSION_1_0; 838c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 839c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 840c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetKernelInfo(cl_kernel /* kernel */, 841c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_kernel_info /* param_name */, 842c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 843c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 844c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 845c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 846c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 847beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclGetKernelArgInfo(cl_kernel /* kernel */, 848beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* arg_indx */, 849beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_kernel_arg_info /* param_name */, 850beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* param_value_size */, 851beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* param_value */, 852beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_2; 853beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 854beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 855c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetKernelWorkGroupInfo(cl_kernel /* kernel */, 856c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_device_id /* device */, 857c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_kernel_work_group_info /* param_name */, 858c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 859c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 860c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 861c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 862beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* Event Object APIs */ 863c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 864c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclWaitForEvents(cl_uint /* num_events */, 865c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_list */) CL_API_SUFFIX__VERSION_1_0; 866c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 867c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 868c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetEventInfo(cl_event /* event */, 869c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event_info /* param_name */, 870c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 871c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 872c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 873c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 874c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_event CL_API_CALL 875c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclCreateUserEvent(cl_context /* context */, 876c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 877c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 878c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 879c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclRetainEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; 880c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 881c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 882c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclReleaseEvent(cl_event /* event */) CL_API_SUFFIX__VERSION_1_0; 883c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 884c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 885c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclSetUserEventStatus(cl_event /* event */, 886c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1; 887c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 888c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 889c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclSetEventCallback( cl_event /* event */, 890c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int /* command_exec_callback_type */, 891c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void (CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *), 892c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* user_data */) CL_API_SUFFIX__VERSION_1_1; 893c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 894beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* Profiling APIs */ 895c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 896c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclGetEventProfilingInfo(cl_event /* event */, 897c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_profiling_info /* param_name */, 898c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* param_value_size */, 899c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* param_value */, 900c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_1_0; 901c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 902c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Flush and Finish APIs */ 903c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 904c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclFlush(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 905c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 906c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 907c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclFinish(cl_command_queue /* command_queue */) CL_API_SUFFIX__VERSION_1_0; 908c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 909c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Enqueued Commands APIs */ 910c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 911c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueReadBuffer(cl_command_queue /* command_queue */, 912c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* buffer */, 913c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_read */, 914c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* offset */, 915beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* size */, 916c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* ptr */, 917c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 918c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 919c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 920c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 921c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 922c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueReadBufferRect(cl_command_queue /* command_queue */, 923c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* buffer */, 924c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_read */, 925beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* buffer_offset */, 926beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* host_offset */, 927c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region */, 928c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* buffer_row_pitch */, 929c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* buffer_slice_pitch */, 930c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* host_row_pitch */, 931c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* host_slice_pitch */, 932c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* ptr */, 933c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 934c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 935c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 936c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 937c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 938c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueWriteBuffer(cl_command_queue /* command_queue */, 939c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* buffer */, 940c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_write */, 941c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* offset */, 942beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* size */, 943c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void * /* ptr */, 944c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 945c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 946c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 947c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 948c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 949c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueWriteBufferRect(cl_command_queue /* command_queue */, 950c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* buffer */, 951c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_write */, 952beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* buffer_offset */, 953beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* host_offset */, 954c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region */, 955c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* buffer_row_pitch */, 956c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* buffer_slice_pitch */, 957c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* host_row_pitch */, 958c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* host_slice_pitch */, 959c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void * /* ptr */, 960c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 961c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 962c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 963c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 964c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 965beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueFillBuffer(cl_command_queue /* command_queue */, 966beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem /* buffer */, 967beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const void * /* pattern */, 968beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* pattern_size */, 969beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* offset */, 970beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* size */, 971beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events_in_wait_list */, 972beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_wait_list */, 973beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 974beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 975beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 976c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueCopyBuffer(cl_command_queue /* command_queue */, 977c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* src_buffer */, 978c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* dst_buffer */, 979c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* src_offset */, 980c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* dst_offset */, 981beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* size */, 982c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 983c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 984c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 985c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 986c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 987c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueCopyBufferRect(cl_command_queue /* command_queue */, 988c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* src_buffer */, 989c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* dst_buffer */, 990c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* src_origin */, 991c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* dst_origin */, 992c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region */, 993c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* src_row_pitch */, 994c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* src_slice_pitch */, 995c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* dst_row_pitch */, 996c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* dst_slice_pitch */, 997c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 998c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 999c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_1; 1000c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1001c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1002c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueReadImage(cl_command_queue /* command_queue */, 1003c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* image */, 1004c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_read */, 1005c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* origin[3] */, 1006c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1007c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* row_pitch */, 1008c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* slice_pitch */, 1009c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* ptr */, 1010c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1011c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1012c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1013c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1014c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1015c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueWriteImage(cl_command_queue /* command_queue */, 1016c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* image */, 1017c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_write */, 1018c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* origin[3] */, 1019c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1020c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* input_row_pitch */, 1021c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* input_slice_pitch */, 1022c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void * /* ptr */, 1023c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1024c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1025c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1026c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1027c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1028beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueFillImage(cl_command_queue /* command_queue */, 1029beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem /* image */, 1030beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const void * /* fill_color */, 1031beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* origin[3] */, 1032beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const size_t * /* region[3] */, 1033beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events_in_wait_list */, 1034beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_wait_list */, 1035beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1036beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1037beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1038c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueCopyImage(cl_command_queue /* command_queue */, 1039c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* src_image */, 1040c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* dst_image */, 1041c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* src_origin[3] */, 1042c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* dst_origin[3] */, 1043c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1044c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1045c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1046c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1047c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1048c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1049c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueCopyImageToBuffer(cl_command_queue /* command_queue */, 1050c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* src_image */, 1051c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* dst_buffer */, 1052c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* src_origin[3] */, 1053c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1054c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* dst_offset */, 1055c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1056c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1057c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1058c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1059c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1060c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueCopyBufferToImage(cl_command_queue /* command_queue */, 1061c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* src_buffer */, 1062c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* dst_image */, 1063c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* src_offset */, 1064c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* dst_origin[3] */, 1065c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1066c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1067c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1068c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1069c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1070c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY void * CL_API_CALL 1071c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueMapBuffer(cl_command_queue /* command_queue */, 1072c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* buffer */, 1073c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_map */, 1074c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_map_flags /* map_flags */, 1075c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* offset */, 1076beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* size */, 1077c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1078c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1079c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */, 1080c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 1081c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1082c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY void * CL_API_CALL 1083c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueMapImage(cl_command_queue /* command_queue */, 1084c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* image */, 1085c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_bool /* blocking_map */, 1086c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_map_flags /* map_flags */, 1087c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* origin[3] */, 1088c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* region[3] */, 1089c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* image_row_pitch */, 1090c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t * /* image_slice_pitch */, 1091c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1092c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1093c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */, 1094c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_0; 1095c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1096c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1097c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueUnmapMemObject(cl_command_queue /* command_queue */, 1098c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_mem /* memobj */, 1099c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* mapped_ptr */, 1100c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1101c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1102c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1103c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1104c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1105beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueMigrateMemObjects(cl_command_queue /* command_queue */, 1106beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_mem_objects */, 1107beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_mem * /* mem_objects */, 1108beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem_migration_flags /* flags */, 1109beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events_in_wait_list */, 1110beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_wait_list */, 1111beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1112beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1113beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1114c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueNDRangeKernel(cl_command_queue /* command_queue */, 1115c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_kernel /* kernel */, 1116c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* work_dim */, 1117c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* global_work_offset */, 1118c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* global_work_size */, 1119c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const size_t * /* local_work_size */, 1120c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1121c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1122c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1123c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1124c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1125c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueTask(cl_command_queue /* command_queue */, 1126c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_kernel /* kernel */, 1127c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1128c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1129c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1130c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1131c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1132c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco JerezclEnqueueNativeKernel(cl_command_queue /* command_queue */, 1133beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void (CL_CALLBACK * /*user_func*/)(void *), 1134c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez void * /* args */, 1135c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez size_t /* cb_args */, 1136c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_mem_objects */, 1137c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_mem * /* mem_list */, 1138c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const void ** /* args_mem_loc */, 1139c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_uint /* num_events_in_wait_list */, 1140c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez const cl_event * /* event_wait_list */, 1141c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_0; 1142c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1143c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1144beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueMarkerWithWaitList(cl_command_queue /* command_queue */, 1145beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events_in_wait_list */, 1146beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_wait_list */, 1147beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1148c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1149c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerezextern CL_API_ENTRY cl_int CL_API_CALL 1150beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueBarrierWithWaitList(cl_command_queue /* command_queue */, 1151beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events_in_wait_list */, 1152beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_wait_list */, 1153beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2; 1154c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1155c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1156c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez/* Extension function access 1157c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * 1158c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * Returns the extension function address for the given function name, 1159c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * or NULL if a valid function can not be found. The client must 1160c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * check to make sure the address is not NULL, before using or 1161c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez * calling the returned function address. 1162c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez */ 1163beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY void * CL_API_CALL 1164beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclGetExtensionFunctionAddressForPlatform(cl_platform_id /* platform */, 1165beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const char * /* func_name */) CL_API_SUFFIX__VERSION_1_2; 1166beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1167beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1168beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez/* Deprecated OpenCL 1.1 APIs */ 1169beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL 1170beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCreateImage2D(cl_context /* context */, 1171beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem_flags /* flags */, 1172beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_image_format * /* image_format */, 1173beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_width */, 1174beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_height */, 1175beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_row_pitch */, 1176beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* host_ptr */, 1177beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1178beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1179beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_mem CL_API_CALL 1180beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclCreateImage3D(cl_context /* context */, 1181beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_mem_flags /* flags */, 1182beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_image_format * /* image_format */, 1183beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_width */, 1184beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_height */, 1185beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_depth */, 1186beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_row_pitch */, 1187beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez size_t /* image_slice_pitch */, 1188beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez void * /* host_ptr */, 1189beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_int * /* errcode_ret */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1190beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1191beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1192beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueMarker(cl_command_queue /* command_queue */, 1193beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_event * /* event */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1194beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1195beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1196beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueWaitForEvents(cl_command_queue /* command_queue */, 1197beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez cl_uint /* num_events */, 1198beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez const cl_event * /* event_list */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1199beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1200beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1201beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclEnqueueBarrier(cl_command_queue /* command_queue */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1202beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1203beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED cl_int CL_API_CALL 1204beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclUnloadCompiler(void) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1205beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerez 1206beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco Jerezextern CL_API_ENTRY CL_EXT_PREFIX__VERSION_1_1_DEPRECATED void * CL_API_CALL 1207beadd6b0ccb3e0d58deaa649b267f02fd86648a0Francisco JerezclGetExtensionFunctionAddress(const char * /* func_name */) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 1208c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1209c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#ifdef __cplusplus 1210c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez} 1211c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#endif 1212c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1213c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez#endif /* __OPENCL_CL_H */ 1214c6db1b3396384186aab5b685fe1fd540e17b3a62Francisco Jerez 1215