37 #include <OpenCL/cl.h>
38 #include <AvailabilityMacros.h>
44 #define CL_DEVICE_DOUBLE_FP_CONFIG 0x1032
47 #define CL_DEVICE_HALF_FP_CONFIG 0x1033
66 #define cl_APPLE_SetMemObjectDestructor 1
67 cl_int CL_API_ENTRY clSetMemObjectDestructorAPPLE( cl_mem ,
68 void (* )( cl_mem ,
void* ),
69 void * ) CL_EXT_SUFFIX__VERSION_1_0;
80 #define cl_APPLE_ContextLoggingFunctions 1
81 extern void CL_API_ENTRY clLogMessagesToSystemLogAPPLE(
const char * ,
84 void * ) CL_EXT_SUFFIX__VERSION_1_0;
87 extern
void CL_API_ENTRY clLogMessagesToStdoutAPPLE( const
char * ,
90 void * ) CL_EXT_SUFFIX__VERSION_1_0;
93 extern
void CL_API_ENTRY clLogMessagesToStderrAPPLE( const
char * ,
96 void * ) CL_EXT_SUFFIX__VERSION_1_0;
105 #define CL_PLATFORM_ICD_SUFFIX_KHR 0x0920
108 #define CL_PLATFORM_NOT_FOUND_KHR -1001
110 extern CL_API_ENTRY cl_int CL_API_CALL
111 clIcdGetPlatformIDsKHR(cl_uint ,
115 typedef CL_API_ENTRY cl_int (CL_API_CALL *clIcdGetPlatformIDsKHR_fn)(
125 #define CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV 0x4000
126 #define CL_DEVICE_COMPUTE_CAPABILITY_MINOR_NV 0x4001
127 #define CL_DEVICE_REGISTERS_PER_BLOCK_NV 0x4002
128 #define CL_DEVICE_WARP_SIZE_NV 0x4003
129 #define CL_DEVICE_GPU_OVERLAP_NV 0x4004
130 #define CL_DEVICE_KERNEL_EXEC_TIMEOUT_NV 0x4005
131 #define CL_DEVICE_INTEGRATED_MEMORY_NV 0x4006
136 #define CL_DEVICE_PROFILING_TIMER_OFFSET_AMD 0x4036
141 #define CL_PRINTF_CALLBACK_ARM 0x40B0
142 #define CL_PRINTF_BUFFERSIZE_ARM 0x40B1
144 #ifdef CL_VERSION_1_1
148 #define cl_ext_device_fission 1
150 extern CL_API_ENTRY cl_int CL_API_CALL
151 clReleaseDeviceEXT( cl_device_id ) CL_EXT_SUFFIX__VERSION_1_1;
153 typedef CL_API_ENTRY cl_int
154 (CL_API_CALL *clReleaseDeviceEXT_fn)( cl_device_id ) CL_EXT_SUFFIX__VERSION_1_1;
156 extern CL_API_ENTRY cl_int CL_API_CALL
157 clRetainDeviceEXT( cl_device_id ) CL_EXT_SUFFIX__VERSION_1_1;
159 typedef CL_API_ENTRY cl_int
160 (CL_API_CALL *clRetainDeviceEXT_fn)( cl_device_id ) CL_EXT_SUFFIX__VERSION_1_1;
162 typedef cl_ulong cl_device_partition_property_ext;
163 extern CL_API_ENTRY cl_int CL_API_CALL
164 clCreateSubDevicesEXT( cl_device_id ,
165 const cl_device_partition_property_ext * ,
168 cl_uint * ) CL_EXT_SUFFIX__VERSION_1_1;
170 typedef CL_API_ENTRY cl_int
171 ( CL_API_CALL * clCreateSubDevicesEXT_fn)( cl_device_id ,
172 const cl_device_partition_property_ext * ,
175 cl_uint * ) CL_EXT_SUFFIX__VERSION_1_1;
178 #define CL_DEVICE_PARTITION_EQUALLY_EXT 0x4050
179 #define CL_DEVICE_PARTITION_BY_COUNTS_EXT 0x4051
180 #define CL_DEVICE_PARTITION_BY_NAMES_EXT 0x4052
181 #define CL_DEVICE_PARTITION_BY_AFFINITY_DOMAIN_EXT 0x4053
184 #define CL_DEVICE_PARENT_DEVICE_EXT 0x4054
185 #define CL_DEVICE_PARTITION_TYPES_EXT 0x4055
186 #define CL_DEVICE_AFFINITY_DOMAINS_EXT 0x4056
187 #define CL_DEVICE_REFERENCE_COUNT_EXT 0x4057
188 #define CL_DEVICE_PARTITION_STYLE_EXT 0x4058
191 #define CL_DEVICE_PARTITION_FAILED_EXT -1057
192 #define CL_INVALID_PARTITION_COUNT_EXT -1058
193 #define CL_INVALID_PARTITION_NAME_EXT -1059
196 #define CL_AFFINITY_DOMAIN_L1_CACHE_EXT 0x1
197 #define CL_AFFINITY_DOMAIN_L2_CACHE_EXT 0x2
198 #define CL_AFFINITY_DOMAIN_L3_CACHE_EXT 0x3
199 #define CL_AFFINITY_DOMAIN_L4_CACHE_EXT 0x4
200 #define CL_AFFINITY_DOMAIN_NUMA_EXT 0x10
201 #define CL_AFFINITY_DOMAIN_NEXT_FISSIONABLE_EXT 0x100
204 #define CL_PROPERTIES_LIST_END_EXT ((cl_device_partition_property_ext) 0)
205 #define CL_PARTITION_BY_COUNTS_LIST_END_EXT ((cl_device_partition_property_ext) 0)
206 #define CL_PARTITION_BY_NAMES_LIST_END_EXT ((cl_device_partition_property_ext) 0 - 1)
212 #define CL_MEM_EXT_HOST_PTR_QCOM (1 << 29)
214 #define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM 0x40A0
215 #define CL_DEVICE_PAGE_SIZE_QCOM 0x40A1
216 #define CL_IMAGE_ROW_ALIGNMENT_QCOM 0x40A2
217 #define CL_IMAGE_SLICE_ALIGNMENT_QCOM 0x40A3
218 #define CL_MEM_HOST_UNCACHED_QCOM 0x40A4
219 #define CL_MEM_HOST_WRITEBACK_QCOM 0x40A5
220 #define CL_MEM_HOST_WRITETHROUGH_QCOM 0x40A6
221 #define CL_MEM_HOST_WRITE_COMBINING_QCOM 0x40A7
223 typedef cl_uint cl_image_pitch_info_qcom;
225 extern CL_API_ENTRY cl_int CL_API_CALL
226 clGetDeviceImageInfoQCOM(cl_device_id device,
230 cl_image_pitch_info_qcom param_name,
231 size_t param_value_size,
233 size_t *param_value_size_ret);
235 typedef struct _cl_mem_ext_host_ptr
239 cl_uint allocation_type;
242 cl_uint host_cache_policy;
244 } cl_mem_ext_host_ptr;
250 #define CL_MEM_ION_HOST_PTR_QCOM 0x40A8
252 typedef struct _cl_mem_ion_host_ptr
256 cl_mem_ext_host_ptr ext_host_ptr;
264 } cl_mem_ion_host_ptr;