17ec681f3Smrg/******************************************************************************* 27ec681f3Smrg * Copyright (c) 2019-2020 The Khronos Group Inc. 37ec681f3Smrg * 47ec681f3Smrg * Licensed under the Apache License, Version 2.0 (the "License"); 57ec681f3Smrg * you may not use this file except in compliance with the License. 67ec681f3Smrg * You may obtain a copy of the License at 77ec681f3Smrg * 87ec681f3Smrg * http://www.apache.org/licenses/LICENSE-2.0 97ec681f3Smrg * 107ec681f3Smrg * Unless required by applicable law or agreed to in writing, software 117ec681f3Smrg * distributed under the License is distributed on an "AS IS" BASIS, 127ec681f3Smrg * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137ec681f3Smrg * See the License for the specific language governing permissions and 147ec681f3Smrg * limitations under the License. 157ec681f3Smrg ******************************************************************************/ 167ec681f3Smrg 177ec681f3Smrg#ifndef OPENCL_CL_ICD_H 187ec681f3Smrg#define OPENCL_CL_ICD_H 197ec681f3Smrg 207ec681f3Smrg#include <CL/cl.h> 217ec681f3Smrg#include <CL/cl_egl.h> 227ec681f3Smrg#include <CL/cl_ext.h> 237ec681f3Smrg#include <CL/cl_gl.h> 247ec681f3Smrg 257ec681f3Smrg#if defined(_WIN32) 267ec681f3Smrg#include <CL/cl_d3d11.h> 277ec681f3Smrg#include <CL/cl_d3d10.h> 287ec681f3Smrg#include <CL/cl_dx9_media_sharing.h> 297ec681f3Smrg#endif 307ec681f3Smrg 317ec681f3Smrg#ifdef __cplusplus 327ec681f3Smrgextern "C" { 337ec681f3Smrg#endif 347ec681f3Smrg 357ec681f3Smrg/* 367ec681f3Smrg * This file contains pointer type definitions for each of the CL API calls as 377ec681f3Smrg * well as a type definition for the dispatch table used by the Khronos ICD 387ec681f3Smrg * loader (see cl_khr_icd extension specification for background). 397ec681f3Smrg */ 407ec681f3Smrg 417ec681f3Smrg/* API function pointer definitions */ 427ec681f3Smrg 437ec681f3Smrg// Platform APIs 447ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformIDs)( 457ec681f3Smrg cl_uint num_entries, cl_platform_id *platforms, 467ec681f3Smrg cl_uint *num_platforms) CL_API_SUFFIX__VERSION_1_0; 477ec681f3Smrg 487ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPlatformInfo)( 497ec681f3Smrg cl_platform_id platform, cl_platform_info param_name, 507ec681f3Smrg size_t param_value_size, void *param_value, 517ec681f3Smrg size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 527ec681f3Smrg 537ec681f3Smrg// Device APIs 547ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDs)( 557ec681f3Smrg cl_platform_id platform, cl_device_type device_type, cl_uint num_entries, 567ec681f3Smrg cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0; 577ec681f3Smrg 587ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceInfo)( 597ec681f3Smrg cl_device_id device, cl_device_info param_name, size_t param_value_size, 607ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 617ec681f3Smrg 627ec681f3Smrg#ifdef CL_VERSION_1_2 637ec681f3Smrg 647ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevices)( 657ec681f3Smrg cl_device_id in_device, 667ec681f3Smrg const cl_device_partition_property *partition_properties, 677ec681f3Smrg cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices); 687ec681f3Smrg 697ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDevice)( 707ec681f3Smrg cl_device_id device) CL_API_SUFFIX__VERSION_1_2; 717ec681f3Smrg 727ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDevice)( 737ec681f3Smrg cl_device_id device) CL_API_SUFFIX__VERSION_1_2; 747ec681f3Smrg 757ec681f3Smrg#else 767ec681f3Smrg 777ec681f3Smrgtypedef void *cl_api_clCreateSubDevices; 787ec681f3Smrgtypedef void *cl_api_clRetainDevice; 797ec681f3Smrgtypedef void *cl_api_clReleaseDevice; 807ec681f3Smrg 817ec681f3Smrg#endif 827ec681f3Smrg 837ec681f3Smrg// Context APIs 847ec681f3Smrgtypedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContext)( 857ec681f3Smrg const cl_context_properties *properties, cl_uint num_devices, 867ec681f3Smrg const cl_device_id *devices, 877ec681f3Smrg void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *), 887ec681f3Smrg void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 897ec681f3Smrg 907ec681f3Smrgtypedef CL_API_ENTRY cl_context(CL_API_CALL *cl_api_clCreateContextFromType)( 917ec681f3Smrg const cl_context_properties *properties, cl_device_type device_type, 927ec681f3Smrg void(CL_CALLBACK *pfn_notify)(const char *, const void *, size_t, void *), 937ec681f3Smrg void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 947ec681f3Smrg 957ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainContext)( 967ec681f3Smrg cl_context context) CL_API_SUFFIX__VERSION_1_0; 977ec681f3Smrg 987ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseContext)( 997ec681f3Smrg cl_context context) CL_API_SUFFIX__VERSION_1_0; 1007ec681f3Smrg 1017ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetContextInfo)( 1027ec681f3Smrg cl_context context, cl_context_info param_name, size_t param_value_size, 1037ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 1047ec681f3Smrg 1057ec681f3Smrg// Command Queue APIs 1067ec681f3Smrgtypedef CL_API_ENTRY cl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueue)( 1077ec681f3Smrg cl_context context, cl_device_id device, 1087ec681f3Smrg cl_command_queue_properties properties, 1097ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 1107ec681f3Smrg 1117ec681f3Smrg#ifdef CL_VERSION_2_0 1127ec681f3Smrg 1137ec681f3Smrgtypedef CL_API_ENTRY 1147ec681f3Smrgcl_command_queue(CL_API_CALL *cl_api_clCreateCommandQueueWithProperties)( 1157ec681f3Smrg cl_context /* context */, cl_device_id /* device */, 1167ec681f3Smrg const cl_queue_properties * /* properties */, 1177ec681f3Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0; 1187ec681f3Smrg 1197ec681f3Smrg#else 1207ec681f3Smrg 1217ec681f3Smrgtypedef void *cl_api_clCreateCommandQueueWithProperties; 1227ec681f3Smrg 1237ec681f3Smrg#endif 1247ec681f3Smrg 1257ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainCommandQueue)( 1267ec681f3Smrg cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0; 1277ec681f3Smrg 1287ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseCommandQueue)( 1297ec681f3Smrg cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0; 1307ec681f3Smrg 1317ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetCommandQueueInfo)( 1327ec681f3Smrg cl_command_queue command_queue, cl_command_queue_info param_name, 1337ec681f3Smrg size_t param_value_size, void *param_value, 1347ec681f3Smrg size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 1357ec681f3Smrg 1367ec681f3Smrg// Memory Object APIs 1377ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBuffer)( 1387ec681f3Smrg cl_context context, cl_mem_flags flags, size_t size, void *host_ptr, 1397ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 1407ec681f3Smrg 1417ec681f3Smrg#ifdef CL_VERSION_1_2 1427ec681f3Smrg 1437ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage)( 1447ec681f3Smrg cl_context context, cl_mem_flags flags, const cl_image_format *image_format, 1457ec681f3Smrg const cl_image_desc *image_desc, void *host_ptr, 1467ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 1477ec681f3Smrg 1487ec681f3Smrg#else 1497ec681f3Smrg 1507ec681f3Smrgtypedef void *cl_api_clCreateImage; 1517ec681f3Smrg 1527ec681f3Smrg#endif 1537ec681f3Smrg 1547ec681f3Smrg#ifdef CL_VERSION_3_0 1557ec681f3Smrg 1567ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateBufferWithProperties)( 1577ec681f3Smrg cl_context context, const cl_mem_properties *properties, cl_mem_flags flags, 1587ec681f3Smrg size_t size, void *host_ptr, 1597ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0; 1607ec681f3Smrg 1617ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImageWithProperties)( 1627ec681f3Smrg cl_context context, const cl_mem_properties *properties, cl_mem_flags flags, 1637ec681f3Smrg const cl_image_format *image_format, const cl_image_desc *image_desc, 1647ec681f3Smrg void *host_ptr, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_3_0; 1657ec681f3Smrg 1667ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL* cl_api_clSetContextDestructorCallback)( 1677ec681f3Smrg cl_context context, 1687ec681f3Smrg void(CL_CALLBACK* pfn_notify)(cl_context context, void* user_data), 1697ec681f3Smrg void* user_data) CL_API_SUFFIX__VERSION_3_0; 1707ec681f3Smrg 1717ec681f3Smrg#else 1727ec681f3Smrg 1737ec681f3Smrgtypedef void *cl_api_clCreateBufferWithProperties; 1747ec681f3Smrgtypedef void *cl_api_clCreateImageWithProperties; 1757ec681f3Smrgtypedef void *cl_api_clSetContextDestructorCallback; 1767ec681f3Smrg 1777ec681f3Smrg#endif 1787ec681f3Smrg 1797ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainMemObject)( 1807ec681f3Smrg cl_mem memobj) CL_API_SUFFIX__VERSION_1_0; 1817ec681f3Smrg 1827ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseMemObject)( 1837ec681f3Smrg cl_mem memobj) CL_API_SUFFIX__VERSION_1_0; 1847ec681f3Smrg 1857ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSupportedImageFormats)( 1867ec681f3Smrg cl_context context, cl_mem_flags flags, cl_mem_object_type image_type, 1877ec681f3Smrg cl_uint num_entries, cl_image_format *image_formats, 1887ec681f3Smrg cl_uint *num_image_formats) CL_API_SUFFIX__VERSION_1_0; 1897ec681f3Smrg 1907ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetMemObjectInfo)( 1917ec681f3Smrg cl_mem memobj, cl_mem_info param_name, size_t param_value_size, 1927ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 1937ec681f3Smrg 1947ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetImageInfo)( 1957ec681f3Smrg cl_mem image, cl_image_info param_name, size_t param_value_size, 1967ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 1977ec681f3Smrg 1987ec681f3Smrg#ifdef CL_VERSION_2_0 1997ec681f3Smrg 2007ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreatePipe)( 2017ec681f3Smrg cl_context /* context */, cl_mem_flags /* flags */, 2027ec681f3Smrg cl_uint /* pipe_packet_size */, cl_uint /* pipe_max_packets */, 2037ec681f3Smrg const cl_pipe_properties * /* properties */, 2047ec681f3Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0; 2057ec681f3Smrg 2067ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetPipeInfo)( 2077ec681f3Smrg cl_mem /* pipe */, cl_pipe_info /* param_name */, 2087ec681f3Smrg size_t /* param_value_size */, void * /* param_value */, 2097ec681f3Smrg size_t * /* param_value_size_ret */) CL_API_SUFFIX__VERSION_2_0; 2107ec681f3Smrg 2117ec681f3Smrgtypedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clSVMAlloc)( 2127ec681f3Smrg cl_context /* context */, cl_svm_mem_flags /* flags */, size_t /* size */, 2137ec681f3Smrg unsigned int /* alignment */)CL_API_SUFFIX__VERSION_2_0; 2147ec681f3Smrg 2157ec681f3Smrgtypedef CL_API_ENTRY void(CL_API_CALL *cl_api_clSVMFree)( 2167ec681f3Smrg cl_context /* context */, 2177ec681f3Smrg void * /* svm_pointer */) CL_API_SUFFIX__VERSION_2_0; 2187ec681f3Smrg 2197ec681f3Smrg#else 2207ec681f3Smrg 2217ec681f3Smrgtypedef void *cl_api_clCreatePipe; 2227ec681f3Smrgtypedef void *cl_api_clGetPipeInfo; 2237ec681f3Smrgtypedef void *cl_api_clSVMAlloc; 2247ec681f3Smrgtypedef void *cl_api_clSVMFree; 2257ec681f3Smrg 2267ec681f3Smrg#endif 2277ec681f3Smrg 2287ec681f3Smrg// Sampler APIs 2297ec681f3Smrgtypedef CL_API_ENTRY cl_sampler(CL_API_CALL *cl_api_clCreateSampler)( 2307ec681f3Smrg cl_context context, cl_bool normalized_coords, 2317ec681f3Smrg cl_addressing_mode addressing_mode, cl_filter_mode filter_mode, 2327ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 2337ec681f3Smrg 2347ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainSampler)( 2357ec681f3Smrg cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0; 2367ec681f3Smrg 2377ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseSampler)( 2387ec681f3Smrg cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0; 2397ec681f3Smrg 2407ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetSamplerInfo)( 2417ec681f3Smrg cl_sampler sampler, cl_sampler_info param_name, size_t param_value_size, 2427ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 2437ec681f3Smrg 2447ec681f3Smrg#ifdef CL_VERSION_2_0 2457ec681f3Smrg 2467ec681f3Smrgtypedef CL_API_ENTRY 2477ec681f3Smrgcl_sampler(CL_API_CALL *cl_api_clCreateSamplerWithProperties)( 2487ec681f3Smrg cl_context /* context */, 2497ec681f3Smrg const cl_sampler_properties * /* sampler_properties */, 2507ec681f3Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_2_0; 2517ec681f3Smrg 2527ec681f3Smrg#else 2537ec681f3Smrg 2547ec681f3Smrgtypedef void *cl_api_clCreateSamplerWithProperties; 2557ec681f3Smrg 2567ec681f3Smrg#endif 2577ec681f3Smrg 2587ec681f3Smrg// Program Object APIs 2597ec681f3Smrgtypedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithSource)( 2607ec681f3Smrg cl_context context, cl_uint count, const char **strings, 2617ec681f3Smrg const size_t *lengths, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 2627ec681f3Smrg 2637ec681f3Smrgtypedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithBinary)( 2647ec681f3Smrg cl_context context, cl_uint num_devices, const cl_device_id *device_list, 2657ec681f3Smrg const size_t *lengths, const unsigned char **binaries, 2667ec681f3Smrg cl_int *binary_status, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 2677ec681f3Smrg 2687ec681f3Smrg#ifdef CL_VERSION_1_2 2697ec681f3Smrg 2707ec681f3Smrgtypedef CL_API_ENTRY 2717ec681f3Smrgcl_program(CL_API_CALL *cl_api_clCreateProgramWithBuiltInKernels)( 2727ec681f3Smrg cl_context context, cl_uint num_devices, const cl_device_id *device_list, 2737ec681f3Smrg const char *kernel_names, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 2747ec681f3Smrg 2757ec681f3Smrg#else 2767ec681f3Smrg 2777ec681f3Smrgtypedef void *cl_api_clCreateProgramWithBuiltInKernels; 2787ec681f3Smrg 2797ec681f3Smrg#endif 2807ec681f3Smrg 2817ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainProgram)( 2827ec681f3Smrg cl_program program) CL_API_SUFFIX__VERSION_1_0; 2837ec681f3Smrg 2847ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseProgram)( 2857ec681f3Smrg cl_program program) CL_API_SUFFIX__VERSION_1_0; 2867ec681f3Smrg 2877ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clBuildProgram)( 2887ec681f3Smrg cl_program program, cl_uint num_devices, const cl_device_id *device_list, 2897ec681f3Smrg const char *options, 2907ec681f3Smrg void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), 2917ec681f3Smrg void *user_data) CL_API_SUFFIX__VERSION_1_0; 2927ec681f3Smrg 2937ec681f3Smrg#ifdef CL_VERSION_1_2 2947ec681f3Smrg 2957ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCompileProgram)( 2967ec681f3Smrg cl_program program, cl_uint num_devices, const cl_device_id *device_list, 2977ec681f3Smrg const char *options, cl_uint num_input_headers, 2987ec681f3Smrg const cl_program *input_headers, const char **header_include_names, 2997ec681f3Smrg void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), 3007ec681f3Smrg void *user_data) CL_API_SUFFIX__VERSION_1_2; 3017ec681f3Smrg 3027ec681f3Smrgtypedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clLinkProgram)( 3037ec681f3Smrg cl_context context, cl_uint num_devices, const cl_device_id *device_list, 3047ec681f3Smrg const char *options, cl_uint num_input_programs, 3057ec681f3Smrg const cl_program *input_programs, 3067ec681f3Smrg void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), 3077ec681f3Smrg void *user_data, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 3087ec681f3Smrg 3097ec681f3Smrg#else 3107ec681f3Smrg 3117ec681f3Smrgtypedef void *cl_api_clCompileProgram; 3127ec681f3Smrgtypedef void *cl_api_clLinkProgram; 3137ec681f3Smrg 3147ec681f3Smrg#endif 3157ec681f3Smrg 3167ec681f3Smrg#ifdef CL_VERSION_2_2 3177ec681f3Smrg 3187ec681f3Smrgtypedef CL_API_ENTRY 3197ec681f3Smrgcl_int(CL_API_CALL *cl_api_clSetProgramSpecializationConstant)( 3207ec681f3Smrg cl_program program, cl_uint spec_id, size_t spec_size, 3217ec681f3Smrg const void *spec_value) CL_API_SUFFIX__VERSION_2_2; 3227ec681f3Smrg 3237ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetProgramReleaseCallback)( 3247ec681f3Smrg cl_program program, 3257ec681f3Smrg void(CL_CALLBACK *pfn_notify)(cl_program program, void *user_data), 3267ec681f3Smrg void *user_data) CL_API_SUFFIX__VERSION_2_2; 3277ec681f3Smrg 3287ec681f3Smrg#else 3297ec681f3Smrg 3307ec681f3Smrgtypedef void *cl_api_clSetProgramSpecializationConstant; 3317ec681f3Smrgtypedef void *cl_api_clSetProgramReleaseCallback; 3327ec681f3Smrg 3337ec681f3Smrg#endif 3347ec681f3Smrg 3357ec681f3Smrg#ifdef CL_VERSION_1_2 3367ec681f3Smrg 3377ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadPlatformCompiler)( 3387ec681f3Smrg cl_platform_id platform) CL_API_SUFFIX__VERSION_1_2; 3397ec681f3Smrg 3407ec681f3Smrg#else 3417ec681f3Smrg 3427ec681f3Smrgtypedef void *cl_api_clUnloadPlatformCompiler; 3437ec681f3Smrg 3447ec681f3Smrg#endif 3457ec681f3Smrg 3467ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramInfo)( 3477ec681f3Smrg cl_program program, cl_program_info param_name, size_t param_value_size, 3487ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 3497ec681f3Smrg 3507ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetProgramBuildInfo)( 3517ec681f3Smrg cl_program program, cl_device_id device, cl_program_build_info param_name, 3527ec681f3Smrg size_t param_value_size, void *param_value, 3537ec681f3Smrg size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 3547ec681f3Smrg 3557ec681f3Smrg// Kernel Object APIs 3567ec681f3Smrgtypedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCreateKernel)( 3577ec681f3Smrg cl_program program, const char *kernel_name, 3587ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 3597ec681f3Smrg 3607ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateKernelsInProgram)( 3617ec681f3Smrg cl_program program, cl_uint num_kernels, cl_kernel *kernels, 3627ec681f3Smrg cl_uint *num_kernels_ret) CL_API_SUFFIX__VERSION_1_0; 3637ec681f3Smrg 3647ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainKernel)( 3657ec681f3Smrg cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0; 3667ec681f3Smrg 3677ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseKernel)( 3687ec681f3Smrg cl_kernel kernel) CL_API_SUFFIX__VERSION_1_0; 3697ec681f3Smrg 3707ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArg)( 3717ec681f3Smrg cl_kernel kernel, cl_uint arg_index, size_t arg_size, 3727ec681f3Smrg const void *arg_value) CL_API_SUFFIX__VERSION_1_0; 3737ec681f3Smrg 3747ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelInfo)( 3757ec681f3Smrg cl_kernel kernel, cl_kernel_info param_name, size_t param_value_size, 3767ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 3777ec681f3Smrg 3787ec681f3Smrg#ifdef CL_VERSION_1_2 3797ec681f3Smrg 3807ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelArgInfo)( 3817ec681f3Smrg cl_kernel kernel, cl_uint arg_indx, cl_kernel_arg_info param_name, 3827ec681f3Smrg size_t param_value_size, void *param_value, 3837ec681f3Smrg size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_2; 3847ec681f3Smrg 3857ec681f3Smrg#else 3867ec681f3Smrg 3877ec681f3Smrgtypedef void *cl_api_clGetKernelArgInfo; 3887ec681f3Smrg 3897ec681f3Smrg#endif 3907ec681f3Smrg 3917ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelWorkGroupInfo)( 3927ec681f3Smrg cl_kernel kernel, cl_device_id device, cl_kernel_work_group_info param_name, 3937ec681f3Smrg size_t param_value_size, void *param_value, 3947ec681f3Smrg size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 3957ec681f3Smrg 3967ec681f3Smrg#ifdef CL_VERSION_2_0 3977ec681f3Smrg 3987ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelArgSVMPointer)( 3997ec681f3Smrg cl_kernel /* kernel */, cl_uint /* arg_index */, 4007ec681f3Smrg const void * /* arg_value */) CL_API_SUFFIX__VERSION_2_0; 4017ec681f3Smrg 4027ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetKernelExecInfo)( 4037ec681f3Smrg cl_kernel /* kernel */, cl_kernel_exec_info /* param_name */, 4047ec681f3Smrg size_t /* param_value_size */, 4057ec681f3Smrg const void * /* param_value */) CL_API_SUFFIX__VERSION_2_0; 4067ec681f3Smrg 4077ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfoKHR)( 4087ec681f3Smrg cl_kernel /* in_kernel */, cl_device_id /*in_device*/, 4097ec681f3Smrg cl_kernel_sub_group_info /* param_name */, size_t /*input_value_size*/, 4107ec681f3Smrg const void * /*input_value*/, size_t /*param_value_size*/, 4117ec681f3Smrg void * /*param_value*/, 4127ec681f3Smrg size_t * /*param_value_size_ret*/) CL_EXT_SUFFIX__VERSION_2_0; 4137ec681f3Smrg 4147ec681f3Smrg#else 4157ec681f3Smrg 4167ec681f3Smrgtypedef void *cl_api_clSetKernelArgSVMPointer; 4177ec681f3Smrgtypedef void *cl_api_clSetKernelExecInfo; 4187ec681f3Smrgtypedef void *cl_api_clGetKernelSubGroupInfoKHR; 4197ec681f3Smrg 4207ec681f3Smrg#endif 4217ec681f3Smrg 4227ec681f3Smrg// Event Object APIs 4237ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clWaitForEvents)( 4247ec681f3Smrg cl_uint num_events, const cl_event *event_list) CL_API_SUFFIX__VERSION_1_0; 4257ec681f3Smrg 4267ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventInfo)( 4277ec681f3Smrg cl_event event, cl_event_info param_name, size_t param_value_size, 4287ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 4297ec681f3Smrg 4307ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainEvent)(cl_event event) 4317ec681f3Smrg CL_API_SUFFIX__VERSION_1_0; 4327ec681f3Smrg 4337ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseEvent)(cl_event event) 4347ec681f3Smrg CL_API_SUFFIX__VERSION_1_0; 4357ec681f3Smrg 4367ec681f3Smrg// Profiling APIs 4377ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetEventProfilingInfo)( 4387ec681f3Smrg cl_event event, cl_profiling_info param_name, size_t param_value_size, 4397ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 4407ec681f3Smrg 4417ec681f3Smrg// Flush and Finish APIs 4427ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFlush)( 4437ec681f3Smrg cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0; 4447ec681f3Smrg 4457ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clFinish)( 4467ec681f3Smrg cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0; 4477ec681f3Smrg 4487ec681f3Smrg// Enqueued Commands APIs 4497ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBuffer)( 4507ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, 4517ec681f3Smrg size_t offset, size_t cb, void *ptr, cl_uint num_events_in_wait_list, 4527ec681f3Smrg const cl_event *event_wait_list, 4537ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 4547ec681f3Smrg 4557ec681f3Smrg#ifdef CL_VERSION_1_1 4567ec681f3Smrg 4577ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadBufferRect)( 4587ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, 4597ec681f3Smrg const size_t *buffer_origin, const size_t *host_origin, 4607ec681f3Smrg const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch, 4617ec681f3Smrg size_t host_row_pitch, size_t host_slice_pitch, void *ptr, 4627ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 4637ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_1; 4647ec681f3Smrg 4657ec681f3Smrg#else 4667ec681f3Smrg 4677ec681f3Smrgtypedef void *cl_api_clEnqueueReadBufferRect; 4687ec681f3Smrg 4697ec681f3Smrg#endif 4707ec681f3Smrg 4717ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBuffer)( 4727ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_write, 4737ec681f3Smrg size_t offset, size_t cb, const void *ptr, cl_uint num_events_in_wait_list, 4747ec681f3Smrg const cl_event *event_wait_list, 4757ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 4767ec681f3Smrg 4777ec681f3Smrg#ifdef CL_VERSION_1_1 4787ec681f3Smrg 4797ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteBufferRect)( 4807ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_read, 4817ec681f3Smrg const size_t *buffer_origin, const size_t *host_origin, 4827ec681f3Smrg const size_t *region, size_t buffer_row_pitch, size_t buffer_slice_pitch, 4837ec681f3Smrg size_t host_row_pitch, size_t host_slice_pitch, const void *ptr, 4847ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 4857ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_1; 4867ec681f3Smrg 4877ec681f3Smrg#else 4887ec681f3Smrg 4897ec681f3Smrgtypedef void *cl_api_clEnqueueWriteBufferRect; 4907ec681f3Smrg 4917ec681f3Smrg#endif 4927ec681f3Smrg 4937ec681f3Smrg#ifdef CL_VERSION_1_2 4947ec681f3Smrg 4957ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillBuffer)( 4967ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, const void *pattern, 4977ec681f3Smrg size_t pattern_size, size_t offset, size_t cb, 4987ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 4997ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 5007ec681f3Smrg 5017ec681f3Smrg#else 5027ec681f3Smrg 5037ec681f3Smrgtypedef void *cl_api_clEnqueueFillBuffer; 5047ec681f3Smrg 5057ec681f3Smrg#endif 5067ec681f3Smrg 5077ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBuffer)( 5087ec681f3Smrg cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, 5097ec681f3Smrg size_t src_offset, size_t dst_offset, size_t cb, 5107ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5117ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5127ec681f3Smrg 5137ec681f3Smrg#ifdef CL_VERSION_1_1 5147ec681f3Smrg 5157ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferRect)( 5167ec681f3Smrg cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_buffer, 5177ec681f3Smrg const size_t *src_origin, const size_t *dst_origin, const size_t *region, 5187ec681f3Smrg size_t src_row_pitch, size_t src_slice_pitch, size_t dst_row_pitch, 5197ec681f3Smrg size_t dst_slice_pitch, cl_uint num_events_in_wait_list, 5207ec681f3Smrg const cl_event *event_wait_list, 5217ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_1; 5227ec681f3Smrg 5237ec681f3Smrg#else 5247ec681f3Smrg 5257ec681f3Smrgtypedef void *cl_api_clEnqueueCopyBufferRect; 5267ec681f3Smrg 5277ec681f3Smrg#endif 5287ec681f3Smrg 5297ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReadImage)( 5307ec681f3Smrg cl_command_queue command_queue, cl_mem image, cl_bool blocking_read, 5317ec681f3Smrg const size_t *origin, const size_t *region, size_t row_pitch, 5327ec681f3Smrg size_t slice_pitch, void *ptr, cl_uint num_events_in_wait_list, 5337ec681f3Smrg const cl_event *event_wait_list, 5347ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5357ec681f3Smrg 5367ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWriteImage)( 5377ec681f3Smrg cl_command_queue command_queue, cl_mem image, cl_bool blocking_write, 5387ec681f3Smrg const size_t *origin, const size_t *region, size_t input_row_pitch, 5397ec681f3Smrg size_t input_slice_pitch, const void *ptr, cl_uint num_events_in_wait_list, 5407ec681f3Smrg const cl_event *event_wait_list, 5417ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5427ec681f3Smrg 5437ec681f3Smrg#ifdef CL_VERSION_1_2 5447ec681f3Smrg 5457ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueFillImage)( 5467ec681f3Smrg cl_command_queue command_queue, cl_mem image, const void *fill_color, 5477ec681f3Smrg const size_t origin[3], const size_t region[3], 5487ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5497ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 5507ec681f3Smrg 5517ec681f3Smrg#else 5527ec681f3Smrg 5537ec681f3Smrgtypedef void *cl_api_clEnqueueFillImage; 5547ec681f3Smrg 5557ec681f3Smrg#endif 5567ec681f3Smrg 5577ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImage)( 5587ec681f3Smrg cl_command_queue command_queue, cl_mem src_image, cl_mem dst_image, 5597ec681f3Smrg const size_t *src_origin, const size_t *dst_origin, const size_t *region, 5607ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5617ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5627ec681f3Smrg 5637ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyImageToBuffer)( 5647ec681f3Smrg cl_command_queue command_queue, cl_mem src_image, cl_mem dst_buffer, 5657ec681f3Smrg const size_t *src_origin, const size_t *region, size_t dst_offset, 5667ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5677ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5687ec681f3Smrg 5697ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueCopyBufferToImage)( 5707ec681f3Smrg cl_command_queue command_queue, cl_mem src_buffer, cl_mem dst_image, 5717ec681f3Smrg size_t src_offset, const size_t *dst_origin, const size_t *region, 5727ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5737ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5747ec681f3Smrg 5757ec681f3Smrgtypedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clEnqueueMapBuffer)( 5767ec681f3Smrg cl_command_queue command_queue, cl_mem buffer, cl_bool blocking_map, 5777ec681f3Smrg cl_map_flags map_flags, size_t offset, size_t cb, 5787ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5797ec681f3Smrg cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0; 5807ec681f3Smrg 5817ec681f3Smrgtypedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clEnqueueMapImage)( 5827ec681f3Smrg cl_command_queue command_queue, cl_mem image, cl_bool blocking_map, 5837ec681f3Smrg cl_map_flags map_flags, const size_t *origin, const size_t *region, 5847ec681f3Smrg size_t *image_row_pitch, size_t *image_slice_pitch, 5857ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5867ec681f3Smrg cl_event *event, cl_int *errcode_ret)CL_API_SUFFIX__VERSION_1_0; 5877ec681f3Smrg 5887ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueUnmapMemObject)( 5897ec681f3Smrg cl_command_queue command_queue, cl_mem memobj, void *mapped_ptr, 5907ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5917ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 5927ec681f3Smrg 5937ec681f3Smrg#ifdef CL_VERSION_1_2 5947ec681f3Smrg 5957ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMigrateMemObjects)( 5967ec681f3Smrg cl_command_queue command_queue, cl_uint num_mem_objects, 5977ec681f3Smrg const cl_mem *mem_objects, cl_mem_migration_flags flags, 5987ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 5997ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 6007ec681f3Smrg 6017ec681f3Smrg#else 6027ec681f3Smrg 6037ec681f3Smrgtypedef void *cl_api_clEnqueueMigrateMemObjects; 6047ec681f3Smrg 6057ec681f3Smrg#endif 6067ec681f3Smrg 6077ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNDRangeKernel)( 6087ec681f3Smrg cl_command_queue command_queue, cl_kernel kernel, cl_uint work_dim, 6097ec681f3Smrg const size_t *global_work_offset, const size_t *global_work_size, 6107ec681f3Smrg const size_t *local_work_size, cl_uint num_events_in_wait_list, 6117ec681f3Smrg const cl_event *event_wait_list, 6127ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 6137ec681f3Smrg 6147ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueTask)( 6157ec681f3Smrg cl_command_queue command_queue, cl_kernel kernel, 6167ec681f3Smrg cl_uint num_events_in_wait_list, const cl_event *event_wait_list, 6177ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 6187ec681f3Smrg 6197ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueNativeKernel)( 6207ec681f3Smrg cl_command_queue command_queue, void(CL_CALLBACK *user_func)(void *), 6217ec681f3Smrg void *args, size_t cb_args, cl_uint num_mem_objects, const cl_mem *mem_list, 6227ec681f3Smrg const void **args_mem_loc, cl_uint num_events_in_wait_list, 6237ec681f3Smrg const cl_event *event_wait_list, 6247ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 6257ec681f3Smrg 6267ec681f3Smrg#ifdef CL_VERSION_1_2 6277ec681f3Smrg 6287ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarkerWithWaitList)( 6297ec681f3Smrg cl_command_queue command_queue, cl_uint num_events_in_wait_list, 6307ec681f3Smrg const cl_event *event_wait_list, 6317ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 6327ec681f3Smrg 6337ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrierWithWaitList)( 6347ec681f3Smrg cl_command_queue command_queue, cl_uint num_events_in_wait_list, 6357ec681f3Smrg const cl_event *event_wait_list, 6367ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 6377ec681f3Smrg 6387ec681f3Smrgtypedef CL_API_ENTRY void *( 6397ec681f3Smrg CL_API_CALL *cl_api_clGetExtensionFunctionAddressForPlatform)( 6407ec681f3Smrg cl_platform_id platform, 6417ec681f3Smrg const char *function_name)CL_API_SUFFIX__VERSION_1_2; 6427ec681f3Smrg 6437ec681f3Smrg#else 6447ec681f3Smrg 6457ec681f3Smrgtypedef void *cl_api_clEnqueueMarkerWithWaitList; 6467ec681f3Smrgtypedef void *cl_api_clEnqueueBarrierWithWaitList; 6477ec681f3Smrgtypedef void *cl_api_clGetExtensionFunctionAddressForPlatform; 6487ec681f3Smrg 6497ec681f3Smrg#endif 6507ec681f3Smrg 6517ec681f3Smrg// Shared Virtual Memory APIs 6527ec681f3Smrg 6537ec681f3Smrg#ifdef CL_VERSION_2_0 6547ec681f3Smrg 6557ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMFree)( 6567ec681f3Smrg cl_command_queue /* command_queue */, cl_uint /* num_svm_pointers */, 6577ec681f3Smrg void ** /* svm_pointers */, 6587ec681f3Smrg void(CL_CALLBACK *pfn_free_func)(cl_command_queue /* queue */, 6597ec681f3Smrg cl_uint /* num_svm_pointers */, 6607ec681f3Smrg void ** /* svm_pointers[] */, 6617ec681f3Smrg void * /* user_data */), 6627ec681f3Smrg void * /* user_data */, cl_uint /* num_events_in_wait_list */, 6637ec681f3Smrg const cl_event * /* event_wait_list */, 6647ec681f3Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0; 6657ec681f3Smrg 6667ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemcpy)( 6677ec681f3Smrg cl_command_queue /* command_queue */, cl_bool /* blocking_copy */, 6687ec681f3Smrg void * /* dst_ptr */, const void * /* src_ptr */, size_t /* size */, 6697ec681f3Smrg cl_uint /* num_events_in_wait_list */, 6707ec681f3Smrg const cl_event * /* event_wait_list */, 6717ec681f3Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0; 6727ec681f3Smrg 6737ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMemFill)( 6747ec681f3Smrg cl_command_queue /* command_queue */, void * /* svm_ptr */, 6757ec681f3Smrg const void * /* pattern */, size_t /* pattern_size */, size_t /* size */, 6767ec681f3Smrg cl_uint /* num_events_in_wait_list */, 6777ec681f3Smrg const cl_event * /* event_wait_list */, 6787ec681f3Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0; 6797ec681f3Smrg 6807ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMap)( 6817ec681f3Smrg cl_command_queue /* command_queue */, cl_bool /* blocking_map */, 6827ec681f3Smrg cl_map_flags /* map_flags */, void * /* svm_ptr */, size_t /* size */, 6837ec681f3Smrg cl_uint /* num_events_in_wait_list */, 6847ec681f3Smrg const cl_event * /* event_wait_list */, 6857ec681f3Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0; 6867ec681f3Smrg 6877ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMUnmap)( 6887ec681f3Smrg cl_command_queue /* command_queue */, void * /* svm_ptr */, 6897ec681f3Smrg cl_uint /* num_events_in_wait_list */, 6907ec681f3Smrg const cl_event * /* event_wait_list */, 6917ec681f3Smrg cl_event * /* event */) CL_API_SUFFIX__VERSION_2_0; 6927ec681f3Smrg 6937ec681f3Smrg#else 6947ec681f3Smrg 6957ec681f3Smrgtypedef void *cl_api_clEnqueueSVMFree; 6967ec681f3Smrgtypedef void *cl_api_clEnqueueSVMMemcpy; 6977ec681f3Smrgtypedef void *cl_api_clEnqueueSVMMemFill; 6987ec681f3Smrgtypedef void *cl_api_clEnqueueSVMMap; 6997ec681f3Smrgtypedef void *cl_api_clEnqueueSVMUnmap; 7007ec681f3Smrg 7017ec681f3Smrg#endif 7027ec681f3Smrg 7037ec681f3Smrg// Deprecated APIs 7047ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetCommandQueueProperty)( 7057ec681f3Smrg cl_command_queue command_queue, cl_command_queue_properties properties, 7067ec681f3Smrg cl_bool enable, cl_command_queue_properties *old_properties) 7077ec681f3Smrg CL_EXT_SUFFIX__VERSION_1_0_DEPRECATED; 7087ec681f3Smrg 7097ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage2D)( 7107ec681f3Smrg cl_context context, cl_mem_flags flags, const cl_image_format *image_format, 7117ec681f3Smrg size_t image_width, size_t image_height, size_t image_row_pitch, 7127ec681f3Smrg void *host_ptr, cl_int *errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7137ec681f3Smrg 7147ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateImage3D)( 7157ec681f3Smrg cl_context context, cl_mem_flags flags, const cl_image_format *image_format, 7167ec681f3Smrg size_t image_width, size_t image_height, size_t image_depth, 7177ec681f3Smrg size_t image_row_pitch, size_t image_slice_pitch, void *host_ptr, 7187ec681f3Smrg cl_int *errcode_ret) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7197ec681f3Smrg 7207ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clUnloadCompiler)(void) 7217ec681f3Smrg CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7227ec681f3Smrg 7237ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueMarker)( 7247ec681f3Smrg cl_command_queue command_queue, 7257ec681f3Smrg cl_event *event) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7267ec681f3Smrg 7277ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueWaitForEvents)( 7287ec681f3Smrg cl_command_queue command_queue, cl_uint num_events, 7297ec681f3Smrg const cl_event *event_list) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7307ec681f3Smrg 7317ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueBarrier)( 7327ec681f3Smrg cl_command_queue command_queue) CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7337ec681f3Smrg 7347ec681f3Smrgtypedef CL_API_ENTRY void *(CL_API_CALL *cl_api_clGetExtensionFunctionAddress)( 7357ec681f3Smrg const char *function_name)CL_EXT_SUFFIX__VERSION_1_1_DEPRECATED; 7367ec681f3Smrg 7377ec681f3Smrg// GL and other APIs 7387ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLBuffer)( 7397ec681f3Smrg cl_context context, cl_mem_flags flags, cl_GLuint bufobj, 7407ec681f3Smrg int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 7417ec681f3Smrg 7427ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture)( 7437ec681f3Smrg cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, 7447ec681f3Smrg cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 7457ec681f3Smrg 7467ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture2D)( 7477ec681f3Smrg cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, 7487ec681f3Smrg cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 7497ec681f3Smrg 7507ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLTexture3D)( 7517ec681f3Smrg cl_context context, cl_mem_flags flags, cl_GLenum target, cl_GLint miplevel, 7527ec681f3Smrg cl_GLuint texture, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 7537ec681f3Smrg 7547ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromGLRenderbuffer)( 7557ec681f3Smrg cl_context context, cl_mem_flags flags, cl_GLuint renderbuffer, 7567ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 7577ec681f3Smrg 7587ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLObjectInfo)( 7597ec681f3Smrg cl_mem memobj, cl_gl_object_type *gl_object_type, 7607ec681f3Smrg cl_GLuint *gl_object_name) CL_API_SUFFIX__VERSION_1_0; 7617ec681f3Smrg 7627ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLTextureInfo)( 7637ec681f3Smrg cl_mem memobj, cl_gl_texture_info param_name, size_t param_value_size, 7647ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_1_0; 7657ec681f3Smrg 7667ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireGLObjects)( 7677ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 7687ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 7697ec681f3Smrg const cl_event *event_wait_list, 7707ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 7717ec681f3Smrg 7727ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseGLObjects)( 7737ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 7747ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 7757ec681f3Smrg const cl_event *event_wait_list, 7767ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 7777ec681f3Smrg 7787ec681f3Smrg/* cl_khr_gl_sharing */ 7797ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetGLContextInfoKHR)( 7807ec681f3Smrg const cl_context_properties *properties, cl_gl_context_info param_name, 7817ec681f3Smrg size_t param_value_size, void *param_value, size_t *param_value_size_ret); 7827ec681f3Smrg 7837ec681f3Smrg/* cl_khr_gl_event */ 7847ec681f3Smrgtypedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromGLsyncKHR)( 7857ec681f3Smrg cl_context context, cl_GLsync sync, cl_int *errcode_ret); 7867ec681f3Smrg 7877ec681f3Smrg#if defined(_WIN32) 7887ec681f3Smrg 7897ec681f3Smrg/* cl_khr_d3d10_sharing */ 7907ec681f3Smrg 7917ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D10KHR)( 7927ec681f3Smrg cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source, 7937ec681f3Smrg void *d3d_object, cl_d3d10_device_set_khr d3d_device_set, 7947ec681f3Smrg cl_uint num_entries, cl_device_id *devices, 7957ec681f3Smrg cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_0; 7967ec681f3Smrg 7977ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10BufferKHR)( 7987ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D10Buffer *resource, 7997ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 8007ec681f3Smrg 8017ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture2DKHR)( 8027ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource, 8037ec681f3Smrg UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 8047ec681f3Smrg 8057ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D10Texture3DKHR)( 8067ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource, 8077ec681f3Smrg UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_0; 8087ec681f3Smrg 8097ec681f3Smrgtypedef CL_API_ENTRY 8107ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D10ObjectsKHR)( 8117ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8127ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8137ec681f3Smrg const cl_event *event_wait_list, 8147ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 8157ec681f3Smrg 8167ec681f3Smrgtypedef CL_API_ENTRY 8177ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D10ObjectsKHR)( 8187ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8197ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8207ec681f3Smrg const cl_event *event_wait_list, 8217ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_0; 8227ec681f3Smrg 8237ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR( 8247ec681f3Smrg cl_platform_id platform, cl_d3d10_device_source_khr d3d_device_source, 8257ec681f3Smrg void *d3d_object, cl_d3d10_device_set_khr d3d_device_set, 8267ec681f3Smrg cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices); 8277ec681f3Smrg 8287ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL 8297ec681f3SmrgclCreateFromD3D10BufferKHR(cl_context context, cl_mem_flags flags, 8307ec681f3Smrg ID3D10Buffer *resource, cl_int *errcode_ret); 8317ec681f3Smrg 8327ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR( 8337ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D10Texture2D *resource, 8347ec681f3Smrg UINT subresource, cl_int *errcode_ret); 8357ec681f3Smrg 8367ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR( 8377ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D10Texture3D *resource, 8387ec681f3Smrg UINT subresource, cl_int *errcode_ret); 8397ec681f3Smrg 8407ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR( 8417ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8427ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8437ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 8447ec681f3Smrg 8457ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR( 8467ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8477ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8487ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 8497ec681f3Smrg 8507ec681f3Smrg/* cl_khr_d3d11_sharing */ 8517ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromD3D11KHR)( 8527ec681f3Smrg cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source, 8537ec681f3Smrg void *d3d_object, cl_d3d11_device_set_khr d3d_device_set, 8547ec681f3Smrg cl_uint num_entries, cl_device_id *devices, 8557ec681f3Smrg cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2; 8567ec681f3Smrg 8577ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11BufferKHR)( 8587ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D11Buffer *resource, 8597ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 8607ec681f3Smrg 8617ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture2DKHR)( 8627ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource, 8637ec681f3Smrg UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 8647ec681f3Smrg 8657ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromD3D11Texture3DKHR)( 8667ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource, 8677ec681f3Smrg UINT subresource, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 8687ec681f3Smrg 8697ec681f3Smrgtypedef CL_API_ENTRY 8707ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueAcquireD3D11ObjectsKHR)( 8717ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8727ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8737ec681f3Smrg const cl_event *event_wait_list, 8747ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 8757ec681f3Smrg 8767ec681f3Smrgtypedef CL_API_ENTRY 8777ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueReleaseD3D11ObjectsKHR)( 8787ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8797ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 8807ec681f3Smrg const cl_event *event_wait_list, 8817ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 8827ec681f3Smrg 8837ec681f3Smrg/* cl_khr_dx9_media_sharing */ 8847ec681f3Smrgtypedef CL_API_ENTRY 8857ec681f3Smrgcl_int(CL_API_CALL *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR)( 8867ec681f3Smrg cl_platform_id platform, cl_uint num_media_adapters, 8877ec681f3Smrg cl_dx9_media_adapter_type_khr *media_adapters_type, void *media_adapters, 8887ec681f3Smrg cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries, 8897ec681f3Smrg cl_device_id *devices, cl_uint *num_devices) CL_API_SUFFIX__VERSION_1_2; 8907ec681f3Smrg 8917ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromDX9MediaSurfaceKHR)( 8927ec681f3Smrg cl_context context, cl_mem_flags flags, 8937ec681f3Smrg cl_dx9_media_adapter_type_khr adapter_type, void *surface_info, 8947ec681f3Smrg cl_uint plane, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_1_2; 8957ec681f3Smrg 8967ec681f3Smrgtypedef CL_API_ENTRY 8977ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR)( 8987ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 8997ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9007ec681f3Smrg const cl_event *event_wait_list, 9017ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 9027ec681f3Smrg 9037ec681f3Smrgtypedef CL_API_ENTRY 9047ec681f3Smrgcl_int(CL_API_CALL *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR)( 9057ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 9067ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9077ec681f3Smrg const cl_event *event_wait_list, 9087ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_1_2; 9097ec681f3Smrg 9107ec681f3Smrg/* cl_khr_d3d11_sharing */ 9117ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR( 9127ec681f3Smrg cl_platform_id platform, cl_d3d11_device_source_khr d3d_device_source, 9137ec681f3Smrg void *d3d_object, cl_d3d11_device_set_khr d3d_device_set, 9147ec681f3Smrg cl_uint num_entries, cl_device_id *devices, cl_uint *num_devices); 9157ec681f3Smrg 9167ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL 9177ec681f3SmrgclCreateFromD3D11BufferKHR(cl_context context, cl_mem_flags flags, 9187ec681f3Smrg ID3D11Buffer *resource, cl_int *errcode_ret); 9197ec681f3Smrg 9207ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR( 9217ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D11Texture2D *resource, 9227ec681f3Smrg UINT subresource, cl_int *errcode_ret); 9237ec681f3Smrg 9247ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR( 9257ec681f3Smrg cl_context context, cl_mem_flags flags, ID3D11Texture3D *resource, 9267ec681f3Smrg UINT subresource, cl_int *errcode_ret); 9277ec681f3Smrg 9287ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR( 9297ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 9307ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9317ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 9327ec681f3Smrg 9337ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR( 9347ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 9357ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9367ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 9377ec681f3Smrg 9387ec681f3Smrg/* cl_khr_dx9_media_sharing */ 9397ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR( 9407ec681f3Smrg cl_platform_id platform, cl_uint num_media_adapters, 9417ec681f3Smrg cl_dx9_media_adapter_type_khr *media_adapter_type, void *media_adapters, 9427ec681f3Smrg cl_dx9_media_adapter_set_khr media_adapter_set, cl_uint num_entries, 9437ec681f3Smrg cl_device_id *devices, cl_uint *num_devices); 9447ec681f3Smrg 9457ec681f3Smrgextern CL_API_ENTRY cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR( 9467ec681f3Smrg cl_context context, cl_mem_flags flags, 9477ec681f3Smrg cl_dx9_media_adapter_type_khr adapter_type, void *surface_info, 9487ec681f3Smrg cl_uint plane, cl_int *errcode_ret); 9497ec681f3Smrg 9507ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR( 9517ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 9527ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9537ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 9547ec681f3Smrg 9557ec681f3Smrgextern CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR( 9567ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 9577ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 9587ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 9597ec681f3Smrg 9607ec681f3Smrg#else 9617ec681f3Smrg 9627ec681f3Smrg/* cl_khr_d3d10_sharing */ 9637ec681f3Smrgtypedef void *cl_api_clGetDeviceIDsFromD3D10KHR; 9647ec681f3Smrgtypedef void *cl_api_clCreateFromD3D10BufferKHR; 9657ec681f3Smrgtypedef void *cl_api_clCreateFromD3D10Texture2DKHR; 9667ec681f3Smrgtypedef void *cl_api_clCreateFromD3D10Texture3DKHR; 9677ec681f3Smrgtypedef void *cl_api_clEnqueueAcquireD3D10ObjectsKHR; 9687ec681f3Smrgtypedef void *cl_api_clEnqueueReleaseD3D10ObjectsKHR; 9697ec681f3Smrg 9707ec681f3Smrg/* cl_khr_d3d11_sharing */ 9717ec681f3Smrgtypedef void *cl_api_clGetDeviceIDsFromD3D11KHR; 9727ec681f3Smrgtypedef void *cl_api_clCreateFromD3D11BufferKHR; 9737ec681f3Smrgtypedef void *cl_api_clCreateFromD3D11Texture2DKHR; 9747ec681f3Smrgtypedef void *cl_api_clCreateFromD3D11Texture3DKHR; 9757ec681f3Smrgtypedef void *cl_api_clEnqueueAcquireD3D11ObjectsKHR; 9767ec681f3Smrgtypedef void *cl_api_clEnqueueReleaseD3D11ObjectsKHR; 9777ec681f3Smrg 9787ec681f3Smrg/* cl_khr_dx9_media_sharing */ 9797ec681f3Smrgtypedef void *cl_api_clCreateFromDX9MediaSurfaceKHR; 9807ec681f3Smrgtypedef void *cl_api_clEnqueueAcquireDX9MediaSurfacesKHR; 9817ec681f3Smrgtypedef void *cl_api_clEnqueueReleaseDX9MediaSurfacesKHR; 9827ec681f3Smrgtypedef void *cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR; 9837ec681f3Smrg 9847ec681f3Smrg#endif 9857ec681f3Smrg 9867ec681f3Smrg/* OpenCL 1.1 */ 9877ec681f3Smrg 9887ec681f3Smrg#ifdef CL_VERSION_1_1 9897ec681f3Smrg 9907ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetEventCallback)( 9917ec681f3Smrg cl_event /* event */, cl_int /* command_exec_callback_type */, 9927ec681f3Smrg void(CL_CALLBACK * /* pfn_notify */)(cl_event, cl_int, void *), 9937ec681f3Smrg void * /* user_data */) CL_API_SUFFIX__VERSION_1_1; 9947ec681f3Smrg 9957ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateSubBuffer)( 9967ec681f3Smrg cl_mem /* buffer */, cl_mem_flags /* flags */, 9977ec681f3Smrg cl_buffer_create_type /* buffer_create_type */, 9987ec681f3Smrg const void * /* buffer_create_info */, 9997ec681f3Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 10007ec681f3Smrg 10017ec681f3Smrgtypedef CL_API_ENTRY 10027ec681f3Smrgcl_int(CL_API_CALL *cl_api_clSetMemObjectDestructorCallback)( 10037ec681f3Smrg cl_mem /* memobj */, 10047ec681f3Smrg void(CL_CALLBACK * /*pfn_notify*/)(cl_mem /* memobj */, 10057ec681f3Smrg void * /*user_data*/), 10067ec681f3Smrg void * /*user_data */) CL_API_SUFFIX__VERSION_1_1; 10077ec681f3Smrg 10087ec681f3Smrgtypedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateUserEvent)( 10097ec681f3Smrg cl_context /* context */, 10107ec681f3Smrg cl_int * /* errcode_ret */) CL_API_SUFFIX__VERSION_1_1; 10117ec681f3Smrg 10127ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetUserEventStatus)( 10137ec681f3Smrg cl_event /* event */, 10147ec681f3Smrg cl_int /* execution_status */) CL_API_SUFFIX__VERSION_1_1; 10157ec681f3Smrg 10167ec681f3Smrg#else 10177ec681f3Smrg 10187ec681f3Smrgtypedef void *cl_api_clSetEventCallback; 10197ec681f3Smrgtypedef void *cl_api_clCreateSubBuffer; 10207ec681f3Smrgtypedef void *cl_api_clSetMemObjectDestructorCallback; 10217ec681f3Smrgtypedef void *cl_api_clCreateUserEvent; 10227ec681f3Smrgtypedef void *cl_api_clSetUserEventStatus; 10237ec681f3Smrg 10247ec681f3Smrg#endif 10257ec681f3Smrg 10267ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clCreateSubDevicesEXT)( 10277ec681f3Smrg cl_device_id in_device, 10287ec681f3Smrg const cl_device_partition_property_ext *partition_properties, 10297ec681f3Smrg cl_uint num_entries, cl_device_id *out_devices, cl_uint *num_devices); 10307ec681f3Smrg 10317ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clRetainDeviceEXT)( 10327ec681f3Smrg cl_device_id device) CL_API_SUFFIX__VERSION_1_0; 10337ec681f3Smrg 10347ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clReleaseDeviceEXT)( 10357ec681f3Smrg cl_device_id device) CL_API_SUFFIX__VERSION_1_0; 10367ec681f3Smrg 10377ec681f3Smrg/* cl_khr_egl_image */ 10387ec681f3Smrgtypedef CL_API_ENTRY cl_mem(CL_API_CALL *cl_api_clCreateFromEGLImageKHR)( 10397ec681f3Smrg cl_context context, CLeglDisplayKHR display, CLeglImageKHR image, 10407ec681f3Smrg cl_mem_flags flags, const cl_egl_image_properties_khr *properties, 10417ec681f3Smrg cl_int *errcode_ret); 10427ec681f3Smrg 10437ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueAcquireEGLObjectsKHR)( 10447ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 10457ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 10467ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 10477ec681f3Smrg 10487ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueReleaseEGLObjectsKHR)( 10497ec681f3Smrg cl_command_queue command_queue, cl_uint num_objects, 10507ec681f3Smrg const cl_mem *mem_objects, cl_uint num_events_in_wait_list, 10517ec681f3Smrg const cl_event *event_wait_list, cl_event *event); 10527ec681f3Smrg 10537ec681f3Smrg/* cl_khr_egl_event */ 10547ec681f3Smrgtypedef CL_API_ENTRY cl_event(CL_API_CALL *cl_api_clCreateEventFromEGLSyncKHR)( 10557ec681f3Smrg cl_context context, CLeglSyncKHR sync, CLeglDisplayKHR display, 10567ec681f3Smrg cl_int *errcode_ret); 10577ec681f3Smrg 10587ec681f3Smrg#ifdef CL_VERSION_2_1 10597ec681f3Smrg 10607ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clSetDefaultDeviceCommandQueue)( 10617ec681f3Smrg cl_context context, cl_device_id device, 10627ec681f3Smrg cl_command_queue command_queue) CL_API_SUFFIX__VERSION_2_1; 10637ec681f3Smrg 10647ec681f3Smrgtypedef CL_API_ENTRY cl_program(CL_API_CALL *cl_api_clCreateProgramWithIL)( 10657ec681f3Smrg cl_context context, const void *il, size_t length, 10667ec681f3Smrg cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1; 10677ec681f3Smrg 10687ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetKernelSubGroupInfo)( 10697ec681f3Smrg cl_kernel kernel, cl_device_id device, cl_kernel_sub_group_info param_name, 10707ec681f3Smrg size_t input_value_size, const void *input_value, size_t param_value_size, 10717ec681f3Smrg void *param_value, size_t *param_value_size_ret) CL_API_SUFFIX__VERSION_2_1; 10727ec681f3Smrg 10737ec681f3Smrgtypedef CL_API_ENTRY cl_kernel(CL_API_CALL *cl_api_clCloneKernel)( 10747ec681f3Smrg cl_kernel source_kernel, cl_int *errcode_ret) CL_API_SUFFIX__VERSION_2_1; 10757ec681f3Smrg 10767ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clEnqueueSVMMigrateMem)( 10777ec681f3Smrg cl_command_queue command_queue, cl_uint num_svm_pointers, 10787ec681f3Smrg const void **svm_pointers, const size_t *sizes, 10797ec681f3Smrg cl_mem_migration_flags flags, cl_uint num_events_in_wait_list, 10807ec681f3Smrg const cl_event *event_wait_list, 10817ec681f3Smrg cl_event *event) CL_API_SUFFIX__VERSION_2_1; 10827ec681f3Smrg 10837ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetDeviceAndHostTimer)( 10847ec681f3Smrg cl_device_id device, cl_ulong *device_timestamp, 10857ec681f3Smrg cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1; 10867ec681f3Smrg 10877ec681f3Smrgtypedef CL_API_ENTRY cl_int(CL_API_CALL *cl_api_clGetHostTimer)( 10887ec681f3Smrg cl_device_id device, cl_ulong *host_timestamp) CL_API_SUFFIX__VERSION_2_1; 10897ec681f3Smrg 10907ec681f3Smrg#else 10917ec681f3Smrg 10927ec681f3Smrgtypedef void *cl_api_clSetDefaultDeviceCommandQueue; 10937ec681f3Smrgtypedef void *cl_api_clCreateProgramWithIL; 10947ec681f3Smrgtypedef void *cl_api_clGetKernelSubGroupInfo; 10957ec681f3Smrgtypedef void *cl_api_clCloneKernel; 10967ec681f3Smrgtypedef void *cl_api_clEnqueueSVMMigrateMem; 10977ec681f3Smrgtypedef void *cl_api_clGetDeviceAndHostTimer; 10987ec681f3Smrgtypedef void *cl_api_clGetHostTimer; 10997ec681f3Smrg 11007ec681f3Smrg#endif 11017ec681f3Smrg 11027ec681f3Smrg/* Vendor dispatch table struture */ 11037ec681f3Smrg 11047ec681f3Smrgtypedef struct _cl_icd_dispatch { 11057ec681f3Smrg /* OpenCL 1.0 */ 11067ec681f3Smrg cl_api_clGetPlatformIDs clGetPlatformIDs; 11077ec681f3Smrg cl_api_clGetPlatformInfo clGetPlatformInfo; 11087ec681f3Smrg cl_api_clGetDeviceIDs clGetDeviceIDs; 11097ec681f3Smrg cl_api_clGetDeviceInfo clGetDeviceInfo; 11107ec681f3Smrg cl_api_clCreateContext clCreateContext; 11117ec681f3Smrg cl_api_clCreateContextFromType clCreateContextFromType; 11127ec681f3Smrg cl_api_clRetainContext clRetainContext; 11137ec681f3Smrg cl_api_clReleaseContext clReleaseContext; 11147ec681f3Smrg cl_api_clGetContextInfo clGetContextInfo; 11157ec681f3Smrg cl_api_clCreateCommandQueue clCreateCommandQueue; 11167ec681f3Smrg cl_api_clRetainCommandQueue clRetainCommandQueue; 11177ec681f3Smrg cl_api_clReleaseCommandQueue clReleaseCommandQueue; 11187ec681f3Smrg cl_api_clGetCommandQueueInfo clGetCommandQueueInfo; 11197ec681f3Smrg cl_api_clSetCommandQueueProperty clSetCommandQueueProperty; 11207ec681f3Smrg cl_api_clCreateBuffer clCreateBuffer; 11217ec681f3Smrg cl_api_clCreateImage2D clCreateImage2D; 11227ec681f3Smrg cl_api_clCreateImage3D clCreateImage3D; 11237ec681f3Smrg cl_api_clRetainMemObject clRetainMemObject; 11247ec681f3Smrg cl_api_clReleaseMemObject clReleaseMemObject; 11257ec681f3Smrg cl_api_clGetSupportedImageFormats clGetSupportedImageFormats; 11267ec681f3Smrg cl_api_clGetMemObjectInfo clGetMemObjectInfo; 11277ec681f3Smrg cl_api_clGetImageInfo clGetImageInfo; 11287ec681f3Smrg cl_api_clCreateSampler clCreateSampler; 11297ec681f3Smrg cl_api_clRetainSampler clRetainSampler; 11307ec681f3Smrg cl_api_clReleaseSampler clReleaseSampler; 11317ec681f3Smrg cl_api_clGetSamplerInfo clGetSamplerInfo; 11327ec681f3Smrg cl_api_clCreateProgramWithSource clCreateProgramWithSource; 11337ec681f3Smrg cl_api_clCreateProgramWithBinary clCreateProgramWithBinary; 11347ec681f3Smrg cl_api_clRetainProgram clRetainProgram; 11357ec681f3Smrg cl_api_clReleaseProgram clReleaseProgram; 11367ec681f3Smrg cl_api_clBuildProgram clBuildProgram; 11377ec681f3Smrg cl_api_clUnloadCompiler clUnloadCompiler; 11387ec681f3Smrg cl_api_clGetProgramInfo clGetProgramInfo; 11397ec681f3Smrg cl_api_clGetProgramBuildInfo clGetProgramBuildInfo; 11407ec681f3Smrg cl_api_clCreateKernel clCreateKernel; 11417ec681f3Smrg cl_api_clCreateKernelsInProgram clCreateKernelsInProgram; 11427ec681f3Smrg cl_api_clRetainKernel clRetainKernel; 11437ec681f3Smrg cl_api_clReleaseKernel clReleaseKernel; 11447ec681f3Smrg cl_api_clSetKernelArg clSetKernelArg; 11457ec681f3Smrg cl_api_clGetKernelInfo clGetKernelInfo; 11467ec681f3Smrg cl_api_clGetKernelWorkGroupInfo clGetKernelWorkGroupInfo; 11477ec681f3Smrg cl_api_clWaitForEvents clWaitForEvents; 11487ec681f3Smrg cl_api_clGetEventInfo clGetEventInfo; 11497ec681f3Smrg cl_api_clRetainEvent clRetainEvent; 11507ec681f3Smrg cl_api_clReleaseEvent clReleaseEvent; 11517ec681f3Smrg cl_api_clGetEventProfilingInfo clGetEventProfilingInfo; 11527ec681f3Smrg cl_api_clFlush clFlush; 11537ec681f3Smrg cl_api_clFinish clFinish; 11547ec681f3Smrg cl_api_clEnqueueReadBuffer clEnqueueReadBuffer; 11557ec681f3Smrg cl_api_clEnqueueWriteBuffer clEnqueueWriteBuffer; 11567ec681f3Smrg cl_api_clEnqueueCopyBuffer clEnqueueCopyBuffer; 11577ec681f3Smrg cl_api_clEnqueueReadImage clEnqueueReadImage; 11587ec681f3Smrg cl_api_clEnqueueWriteImage clEnqueueWriteImage; 11597ec681f3Smrg cl_api_clEnqueueCopyImage clEnqueueCopyImage; 11607ec681f3Smrg cl_api_clEnqueueCopyImageToBuffer clEnqueueCopyImageToBuffer; 11617ec681f3Smrg cl_api_clEnqueueCopyBufferToImage clEnqueueCopyBufferToImage; 11627ec681f3Smrg cl_api_clEnqueueMapBuffer clEnqueueMapBuffer; 11637ec681f3Smrg cl_api_clEnqueueMapImage clEnqueueMapImage; 11647ec681f3Smrg cl_api_clEnqueueUnmapMemObject clEnqueueUnmapMemObject; 11657ec681f3Smrg cl_api_clEnqueueNDRangeKernel clEnqueueNDRangeKernel; 11667ec681f3Smrg cl_api_clEnqueueTask clEnqueueTask; 11677ec681f3Smrg cl_api_clEnqueueNativeKernel clEnqueueNativeKernel; 11687ec681f3Smrg cl_api_clEnqueueMarker clEnqueueMarker; 11697ec681f3Smrg cl_api_clEnqueueWaitForEvents clEnqueueWaitForEvents; 11707ec681f3Smrg cl_api_clEnqueueBarrier clEnqueueBarrier; 11717ec681f3Smrg cl_api_clGetExtensionFunctionAddress clGetExtensionFunctionAddress; 11727ec681f3Smrg cl_api_clCreateFromGLBuffer clCreateFromGLBuffer; 11737ec681f3Smrg cl_api_clCreateFromGLTexture2D clCreateFromGLTexture2D; 11747ec681f3Smrg cl_api_clCreateFromGLTexture3D clCreateFromGLTexture3D; 11757ec681f3Smrg cl_api_clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer; 11767ec681f3Smrg cl_api_clGetGLObjectInfo clGetGLObjectInfo; 11777ec681f3Smrg cl_api_clGetGLTextureInfo clGetGLTextureInfo; 11787ec681f3Smrg cl_api_clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects; 11797ec681f3Smrg cl_api_clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects; 11807ec681f3Smrg cl_api_clGetGLContextInfoKHR clGetGLContextInfoKHR; 11817ec681f3Smrg 11827ec681f3Smrg /* cl_khr_d3d10_sharing */ 11837ec681f3Smrg cl_api_clGetDeviceIDsFromD3D10KHR clGetDeviceIDsFromD3D10KHR; 11847ec681f3Smrg cl_api_clCreateFromD3D10BufferKHR clCreateFromD3D10BufferKHR; 11857ec681f3Smrg cl_api_clCreateFromD3D10Texture2DKHR clCreateFromD3D10Texture2DKHR; 11867ec681f3Smrg cl_api_clCreateFromD3D10Texture3DKHR clCreateFromD3D10Texture3DKHR; 11877ec681f3Smrg cl_api_clEnqueueAcquireD3D10ObjectsKHR clEnqueueAcquireD3D10ObjectsKHR; 11887ec681f3Smrg cl_api_clEnqueueReleaseD3D10ObjectsKHR clEnqueueReleaseD3D10ObjectsKHR; 11897ec681f3Smrg 11907ec681f3Smrg /* OpenCL 1.1 */ 11917ec681f3Smrg cl_api_clSetEventCallback clSetEventCallback; 11927ec681f3Smrg cl_api_clCreateSubBuffer clCreateSubBuffer; 11937ec681f3Smrg cl_api_clSetMemObjectDestructorCallback clSetMemObjectDestructorCallback; 11947ec681f3Smrg cl_api_clCreateUserEvent clCreateUserEvent; 11957ec681f3Smrg cl_api_clSetUserEventStatus clSetUserEventStatus; 11967ec681f3Smrg cl_api_clEnqueueReadBufferRect clEnqueueReadBufferRect; 11977ec681f3Smrg cl_api_clEnqueueWriteBufferRect clEnqueueWriteBufferRect; 11987ec681f3Smrg cl_api_clEnqueueCopyBufferRect clEnqueueCopyBufferRect; 11997ec681f3Smrg 12007ec681f3Smrg /* cl_ext_device_fission */ 12017ec681f3Smrg cl_api_clCreateSubDevicesEXT clCreateSubDevicesEXT; 12027ec681f3Smrg cl_api_clRetainDeviceEXT clRetainDeviceEXT; 12037ec681f3Smrg cl_api_clReleaseDeviceEXT clReleaseDeviceEXT; 12047ec681f3Smrg 12057ec681f3Smrg /* cl_khr_gl_event */ 12067ec681f3Smrg cl_api_clCreateEventFromGLsyncKHR clCreateEventFromGLsyncKHR; 12077ec681f3Smrg 12087ec681f3Smrg /* OpenCL 1.2 */ 12097ec681f3Smrg cl_api_clCreateSubDevices clCreateSubDevices; 12107ec681f3Smrg cl_api_clRetainDevice clRetainDevice; 12117ec681f3Smrg cl_api_clReleaseDevice clReleaseDevice; 12127ec681f3Smrg cl_api_clCreateImage clCreateImage; 12137ec681f3Smrg cl_api_clCreateProgramWithBuiltInKernels clCreateProgramWithBuiltInKernels; 12147ec681f3Smrg cl_api_clCompileProgram clCompileProgram; 12157ec681f3Smrg cl_api_clLinkProgram clLinkProgram; 12167ec681f3Smrg cl_api_clUnloadPlatformCompiler clUnloadPlatformCompiler; 12177ec681f3Smrg cl_api_clGetKernelArgInfo clGetKernelArgInfo; 12187ec681f3Smrg cl_api_clEnqueueFillBuffer clEnqueueFillBuffer; 12197ec681f3Smrg cl_api_clEnqueueFillImage clEnqueueFillImage; 12207ec681f3Smrg cl_api_clEnqueueMigrateMemObjects clEnqueueMigrateMemObjects; 12217ec681f3Smrg cl_api_clEnqueueMarkerWithWaitList clEnqueueMarkerWithWaitList; 12227ec681f3Smrg cl_api_clEnqueueBarrierWithWaitList clEnqueueBarrierWithWaitList; 12237ec681f3Smrg cl_api_clGetExtensionFunctionAddressForPlatform 12247ec681f3Smrg clGetExtensionFunctionAddressForPlatform; 12257ec681f3Smrg cl_api_clCreateFromGLTexture clCreateFromGLTexture; 12267ec681f3Smrg 12277ec681f3Smrg /* cl_khr_d3d11_sharing */ 12287ec681f3Smrg cl_api_clGetDeviceIDsFromD3D11KHR clGetDeviceIDsFromD3D11KHR; 12297ec681f3Smrg cl_api_clCreateFromD3D11BufferKHR clCreateFromD3D11BufferKHR; 12307ec681f3Smrg cl_api_clCreateFromD3D11Texture2DKHR clCreateFromD3D11Texture2DKHR; 12317ec681f3Smrg cl_api_clCreateFromD3D11Texture3DKHR clCreateFromD3D11Texture3DKHR; 12327ec681f3Smrg cl_api_clCreateFromDX9MediaSurfaceKHR clCreateFromDX9MediaSurfaceKHR; 12337ec681f3Smrg cl_api_clEnqueueAcquireD3D11ObjectsKHR clEnqueueAcquireD3D11ObjectsKHR; 12347ec681f3Smrg cl_api_clEnqueueReleaseD3D11ObjectsKHR clEnqueueReleaseD3D11ObjectsKHR; 12357ec681f3Smrg 12367ec681f3Smrg /* cl_khr_dx9_media_sharing */ 12377ec681f3Smrg cl_api_clGetDeviceIDsFromDX9MediaAdapterKHR 12387ec681f3Smrg clGetDeviceIDsFromDX9MediaAdapterKHR; 12397ec681f3Smrg cl_api_clEnqueueAcquireDX9MediaSurfacesKHR 12407ec681f3Smrg clEnqueueAcquireDX9MediaSurfacesKHR; 12417ec681f3Smrg cl_api_clEnqueueReleaseDX9MediaSurfacesKHR 12427ec681f3Smrg clEnqueueReleaseDX9MediaSurfacesKHR; 12437ec681f3Smrg 12447ec681f3Smrg /* cl_khr_egl_image */ 12457ec681f3Smrg cl_api_clCreateFromEGLImageKHR clCreateFromEGLImageKHR; 12467ec681f3Smrg cl_api_clEnqueueAcquireEGLObjectsKHR clEnqueueAcquireEGLObjectsKHR; 12477ec681f3Smrg cl_api_clEnqueueReleaseEGLObjectsKHR clEnqueueReleaseEGLObjectsKHR; 12487ec681f3Smrg 12497ec681f3Smrg /* cl_khr_egl_event */ 12507ec681f3Smrg cl_api_clCreateEventFromEGLSyncKHR clCreateEventFromEGLSyncKHR; 12517ec681f3Smrg 12527ec681f3Smrg /* OpenCL 2.0 */ 12537ec681f3Smrg cl_api_clCreateCommandQueueWithProperties clCreateCommandQueueWithProperties; 12547ec681f3Smrg cl_api_clCreatePipe clCreatePipe; 12557ec681f3Smrg cl_api_clGetPipeInfo clGetPipeInfo; 12567ec681f3Smrg cl_api_clSVMAlloc clSVMAlloc; 12577ec681f3Smrg cl_api_clSVMFree clSVMFree; 12587ec681f3Smrg cl_api_clEnqueueSVMFree clEnqueueSVMFree; 12597ec681f3Smrg cl_api_clEnqueueSVMMemcpy clEnqueueSVMMemcpy; 12607ec681f3Smrg cl_api_clEnqueueSVMMemFill clEnqueueSVMMemFill; 12617ec681f3Smrg cl_api_clEnqueueSVMMap clEnqueueSVMMap; 12627ec681f3Smrg cl_api_clEnqueueSVMUnmap clEnqueueSVMUnmap; 12637ec681f3Smrg cl_api_clCreateSamplerWithProperties clCreateSamplerWithProperties; 12647ec681f3Smrg cl_api_clSetKernelArgSVMPointer clSetKernelArgSVMPointer; 12657ec681f3Smrg cl_api_clSetKernelExecInfo clSetKernelExecInfo; 12667ec681f3Smrg 12677ec681f3Smrg /* cl_khr_sub_groups */ 12687ec681f3Smrg cl_api_clGetKernelSubGroupInfoKHR clGetKernelSubGroupInfoKHR; 12697ec681f3Smrg 12707ec681f3Smrg /* OpenCL 2.1 */ 12717ec681f3Smrg cl_api_clCloneKernel clCloneKernel; 12727ec681f3Smrg cl_api_clCreateProgramWithIL clCreateProgramWithIL; 12737ec681f3Smrg cl_api_clEnqueueSVMMigrateMem clEnqueueSVMMigrateMem; 12747ec681f3Smrg cl_api_clGetDeviceAndHostTimer clGetDeviceAndHostTimer; 12757ec681f3Smrg cl_api_clGetHostTimer clGetHostTimer; 12767ec681f3Smrg cl_api_clGetKernelSubGroupInfo clGetKernelSubGroupInfo; 12777ec681f3Smrg cl_api_clSetDefaultDeviceCommandQueue clSetDefaultDeviceCommandQueue; 12787ec681f3Smrg 12797ec681f3Smrg /* OpenCL 2.2 */ 12807ec681f3Smrg cl_api_clSetProgramReleaseCallback clSetProgramReleaseCallback; 12817ec681f3Smrg cl_api_clSetProgramSpecializationConstant clSetProgramSpecializationConstant; 12827ec681f3Smrg 12837ec681f3Smrg /* OpenCL 3.0 */ 12847ec681f3Smrg cl_api_clCreateBufferWithProperties clCreateBufferWithProperties; 12857ec681f3Smrg cl_api_clCreateImageWithProperties clCreateImageWithProperties; 12867ec681f3Smrg cl_api_clSetContextDestructorCallback clSetContextDestructorCallback; 12877ec681f3Smrg 12887ec681f3Smrg} cl_icd_dispatch; 12897ec681f3Smrg 12907ec681f3Smrg#ifdef __cplusplus 12917ec681f3Smrg} 12927ec681f3Smrg#endif 12937ec681f3Smrg 12947ec681f3Smrg#endif /* #ifndef OPENCL_CL_ICD_H */ 1295