blob: 43060bc1b3350b0170ea09db82bf4c7df3e8521c [file] [edit]
/*
* Copyright (c) 2012-2026 The Khronos Group Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* OpenCL is a trademark of Apple Inc. used under license by Khronos.
*/
#include "icd.h"
#include "icd_dispatch.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////
// Core APIs:
#if defined(CL_ENABLE_LAYERS)
extern cl_int CL_API_CALL clGetPlatformIDs_disp(
cl_uint num_entries,
cl_platform_id* platforms,
cl_uint* num_platforms) CL_API_SUFFIX__VERSION_1_0;
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clGetPlatformInfo(
cl_platform_id platform,
cl_platform_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetPlatformInfo(
platform,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clGetPlatformInfo(
platform,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetPlatformInfo_disp(
cl_platform_id platform,
cl_platform_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clGetPlatformInfo(
platform,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDs(
cl_platform_id platform,
cl_device_type device_type,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceIDs(
platform,
device_type,
num_entries,
devices,
num_devices);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDs(
platform,
device_type,
num_entries,
devices,
num_devices);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceIDs_disp(
cl_platform_id platform,
cl_device_type device_type,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDs(
platform,
device_type,
num_entries,
devices,
num_devices);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceInfo(
cl_device_id device,
cl_device_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceInfo(
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetDeviceInfo(
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceInfo_disp(
cl_device_id device,
cl_device_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetDeviceInfo(
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_context CL_API_CALL clCreateContext(
const cl_context_properties* properties,
cl_uint num_devices,
const cl_device_id* devices,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateContext(
properties,
num_devices,
devices,
pfn_notify,
user_data,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
if (num_devices == 0 || devices == NULL) {
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(NULL, CL_INVALID_VALUE);
}
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(devices[0], CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(devices[0])->clCreateContext(
properties,
num_devices,
devices,
pfn_notify,
user_data,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_context CL_API_CALL clCreateContext_disp(
const cl_context_properties* properties,
cl_uint num_devices,
const cl_device_id* devices,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
if (num_devices == 0 || devices == NULL) {
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(NULL, CL_INVALID_VALUE);
}
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(devices[0], CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(devices[0])->clCreateContext(
properties,
num_devices,
devices,
pfn_notify,
user_data,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_context CL_API_CALL clCreateContextFromType(
const cl_context_properties* properties,
cl_device_type device_type,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
khrIcdInitialize();
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateContextFromType(
properties,
device_type,
pfn_notify,
user_data,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
cl_platform_id platform = NULL;
khrIcdContextPropertiesGetPlatform(properties, &platform);
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clCreateContextFromType(
properties,
device_type,
pfn_notify,
user_data,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_context CL_API_CALL clCreateContextFromType_disp(
const cl_context_properties* properties,
cl_device_type device_type,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
khrIcdInitialize();
cl_platform_id platform = NULL;
khrIcdContextPropertiesGetPlatform(properties, &platform);
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clCreateContextFromType(
properties,
device_type,
pfn_notify,
user_data,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainContext(
cl_context context)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainContext(
context);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clRetainContext(
context);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainContext_disp(
cl_context context)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clRetainContext(
context);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseContext(
cl_context context)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseContext(
context);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clReleaseContext(
context);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseContext_disp(
cl_context context)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clReleaseContext(
context);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetContextInfo(
cl_context context,
cl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetContextInfo(
context,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clGetContextInfo(
context,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetContextInfo_disp(
cl_context context,
cl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clGetContextInfo(
context,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainCommandQueue(
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainCommandQueue(
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clRetainCommandQueue(
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainCommandQueue_disp(
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clRetainCommandQueue(
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseCommandQueue(
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseCommandQueue(
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clReleaseCommandQueue(
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseCommandQueue_disp(
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clReleaseCommandQueue(
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetCommandQueueInfo(
cl_command_queue command_queue,
cl_command_queue_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetCommandQueueInfo(
command_queue,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clGetCommandQueueInfo(
command_queue,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetCommandQueueInfo_disp(
cl_command_queue command_queue,
cl_command_queue_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clGetCommandQueueInfo(
command_queue,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateBuffer(
cl_context context,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateBuffer(
context,
flags,
size,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateBuffer(
context,
flags,
size,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateBuffer_disp(
cl_context context,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateBuffer(
context,
flags,
size,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainMemObject(
cl_mem memobj)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainMemObject(
memobj);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clRetainMemObject(
memobj);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainMemObject_disp(
cl_mem memobj)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clRetainMemObject(
memobj);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseMemObject(
cl_mem memobj)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseMemObject(
memobj);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clReleaseMemObject(
memobj);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseMemObject_disp(
cl_mem memobj)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clReleaseMemObject(
memobj);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetSupportedImageFormats(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint num_entries,
cl_image_format* image_formats,
cl_uint* num_image_formats)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetSupportedImageFormats(
context,
flags,
image_type,
num_entries,
image_formats,
num_image_formats);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clGetSupportedImageFormats(
context,
flags,
image_type,
num_entries,
image_formats,
num_image_formats);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetSupportedImageFormats_disp(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint num_entries,
cl_image_format* image_formats,
cl_uint* num_image_formats)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clGetSupportedImageFormats(
context,
flags,
image_type,
num_entries,
image_formats,
num_image_formats);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetMemObjectInfo(
cl_mem memobj,
cl_mem_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetMemObjectInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clGetMemObjectInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetMemObjectInfo_disp(
cl_mem memobj,
cl_mem_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clGetMemObjectInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetImageInfo(
cl_mem image,
cl_image_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetImageInfo(
image,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(image, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(image)->clGetImageInfo(
image,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetImageInfo_disp(
cl_mem image,
cl_image_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(image, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(image)->clGetImageInfo(
image,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainSampler(
cl_sampler sampler)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainSampler(
sampler);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clRetainSampler(
sampler);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainSampler_disp(
cl_sampler sampler)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clRetainSampler(
sampler);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseSampler(
cl_sampler sampler)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseSampler(
sampler);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clReleaseSampler(
sampler);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseSampler_disp(
cl_sampler sampler)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clReleaseSampler(
sampler);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetSamplerInfo(
cl_sampler sampler,
cl_sampler_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetSamplerInfo(
sampler,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clGetSamplerInfo(
sampler,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetSamplerInfo_disp(
cl_sampler sampler,
cl_sampler_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(sampler, CL_INVALID_SAMPLER);
return KHR_ICD2_DISPATCH(sampler)->clGetSamplerInfo(
sampler,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithSource(
cl_context context,
cl_uint count,
const char** strings,
const size_t* lengths,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateProgramWithSource(
context,
count,
strings,
lengths,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithSource(
context,
count,
strings,
lengths,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_program CL_API_CALL clCreateProgramWithSource_disp(
cl_context context,
cl_uint count,
const char** strings,
const size_t* lengths,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithSource(
context,
count,
strings,
lengths,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithBinary(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const size_t* lengths,
const unsigned char** binaries,
cl_int* binary_status,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateProgramWithBinary(
context,
num_devices,
device_list,
lengths,
binaries,
binary_status,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithBinary(
context,
num_devices,
device_list,
lengths,
binaries,
binary_status,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_program CL_API_CALL clCreateProgramWithBinary_disp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const size_t* lengths,
const unsigned char** binaries,
cl_int* binary_status,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithBinary(
context,
num_devices,
device_list,
lengths,
binaries,
binary_status,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainProgram(
cl_program program)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainProgram(
program);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clRetainProgram(
program);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainProgram_disp(
cl_program program)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clRetainProgram(
program);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseProgram(
cl_program program)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseProgram(
program);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clReleaseProgram(
program);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseProgram_disp(
cl_program program)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clReleaseProgram(
program);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clBuildProgram(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clBuildProgram(
program,
num_devices,
device_list,
options,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clBuildProgram(
program,
num_devices,
device_list,
options,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clBuildProgram_disp(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clBuildProgram(
program,
num_devices,
device_list,
options,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetProgramInfo(
cl_program program,
cl_program_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetProgramInfo(
program,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clGetProgramInfo(
program,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetProgramInfo_disp(
cl_program program,
cl_program_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clGetProgramInfo(
program,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetProgramBuildInfo(
cl_program program,
cl_device_id device,
cl_program_build_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetProgramBuildInfo(
program,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clGetProgramBuildInfo(
program,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetProgramBuildInfo_disp(
cl_program program,
cl_device_id device,
cl_program_build_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clGetProgramBuildInfo(
program,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_kernel CL_API_CALL clCreateKernel(
cl_program program,
const char* kernel_name,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateKernel(
program,
kernel_name,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCreateKernel(
program,
kernel_name,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_kernel CL_API_CALL clCreateKernel_disp(
cl_program program,
const char* kernel_name,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCreateKernel(
program,
kernel_name,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clCreateKernelsInProgram(
cl_program program,
cl_uint num_kernels,
cl_kernel* kernels,
cl_uint* num_kernels_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateKernelsInProgram(
program,
num_kernels,
kernels,
num_kernels_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCreateKernelsInProgram(
program,
num_kernels,
kernels,
num_kernels_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clCreateKernelsInProgram_disp(
cl_program program,
cl_uint num_kernels,
cl_kernel* kernels,
cl_uint* num_kernels_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCreateKernelsInProgram(
program,
num_kernels,
kernels,
num_kernels_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainKernel(
cl_kernel kernel)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainKernel(
kernel);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clRetainKernel(
kernel);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainKernel_disp(
cl_kernel kernel)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clRetainKernel(
kernel);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseKernel(
cl_kernel kernel)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseKernel(
kernel);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clReleaseKernel(
kernel);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseKernel_disp(
cl_kernel kernel)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clReleaseKernel(
kernel);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetKernelArg(
cl_kernel kernel,
cl_uint arg_index,
size_t arg_size,
const void* arg_value)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetKernelArg(
kernel,
arg_index,
arg_size,
arg_value);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelArg(
kernel,
arg_index,
arg_size,
arg_value);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetKernelArg_disp(
cl_kernel kernel,
cl_uint arg_index,
size_t arg_size,
const void* arg_value)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelArg(
kernel,
arg_index,
arg_size,
arg_value);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetKernelInfo(
cl_kernel kernel,
cl_kernel_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelInfo(
kernel,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelInfo(
kernel,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelInfo_disp(
cl_kernel kernel,
cl_kernel_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelInfo(
kernel,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetKernelWorkGroupInfo(
cl_kernel kernel,
cl_device_id device,
cl_kernel_work_group_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelWorkGroupInfo(
kernel,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelWorkGroupInfo(
kernel,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelWorkGroupInfo_disp(
cl_kernel kernel,
cl_device_id device,
cl_kernel_work_group_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelWorkGroupInfo(
kernel,
device,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clWaitForEvents(
cl_uint num_events,
const cl_event* event_list)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clWaitForEvents(
num_events,
event_list);
#endif // defined(CL_ENABLE_LAYERS)
if (num_events == 0 || event_list == NULL) {
return CL_INVALID_VALUE;
}
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event_list[0], CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event_list[0])->clWaitForEvents(
num_events,
event_list);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clWaitForEvents_disp(
cl_uint num_events,
const cl_event* event_list)
{
if (num_events == 0 || event_list == NULL) {
return CL_INVALID_VALUE;
}
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event_list[0], CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event_list[0])->clWaitForEvents(
num_events,
event_list);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetEventInfo(
cl_event event,
cl_event_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetEventInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clGetEventInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetEventInfo_disp(
cl_event event,
cl_event_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clGetEventInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainEvent(
cl_event event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainEvent(
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clRetainEvent(
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainEvent_disp(
cl_event event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clRetainEvent(
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseEvent(
cl_event event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseEvent(
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clReleaseEvent(
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseEvent_disp(
cl_event event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clReleaseEvent(
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetEventProfilingInfo(
cl_event event,
cl_profiling_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetEventProfilingInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clGetEventProfilingInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetEventProfilingInfo_disp(
cl_event event,
cl_profiling_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clGetEventProfilingInfo(
event,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clFlush(
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clFlush(
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clFlush(
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clFlush_disp(
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clFlush(
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clFinish(
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clFinish(
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clFinish(
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clFinish_disp(
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clFinish(
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadBuffer(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
size_t offset,
size_t size,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReadBuffer(
command_queue,
buffer,
blocking_read,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadBuffer(
command_queue,
buffer,
blocking_read,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReadBuffer_disp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
size_t offset,
size_t size,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadBuffer(
command_queue,
buffer,
blocking_read,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteBuffer(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
size_t offset,
size_t size,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueWriteBuffer(
command_queue,
buffer,
blocking_write,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteBuffer(
command_queue,
buffer,
blocking_write,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueWriteBuffer_disp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
size_t offset,
size_t size,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteBuffer(
command_queue,
buffer,
blocking_write,
offset,
size,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBuffer(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
size_t src_offset,
size_t dst_offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueCopyBuffer(
command_queue,
src_buffer,
dst_buffer,
src_offset,
dst_offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBuffer(
command_queue,
src_buffer,
dst_buffer,
src_offset,
dst_offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueCopyBuffer_disp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
size_t src_offset,
size_t dst_offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBuffer(
command_queue,
src_buffer,
dst_buffer,
src_offset,
dst_offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadImage(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_read,
const size_t* origin,
const size_t* region,
size_t row_pitch,
size_t slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReadImage(
command_queue,
image,
blocking_read,
origin,
region,
row_pitch,
slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadImage(
command_queue,
image,
blocking_read,
origin,
region,
row_pitch,
slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReadImage_disp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_read,
const size_t* origin,
const size_t* region,
size_t row_pitch,
size_t slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadImage(
command_queue,
image,
blocking_read,
origin,
region,
row_pitch,
slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteImage(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_write,
const size_t* origin,
const size_t* region,
size_t input_row_pitch,
size_t input_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueWriteImage(
command_queue,
image,
blocking_write,
origin,
region,
input_row_pitch,
input_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteImage(
command_queue,
image,
blocking_write,
origin,
region,
input_row_pitch,
input_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueWriteImage_disp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_write,
const size_t* origin,
const size_t* region,
size_t input_row_pitch,
size_t input_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteImage(
command_queue,
image,
blocking_write,
origin,
region,
input_row_pitch,
input_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImage(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_image,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueCopyImage(
command_queue,
src_image,
dst_image,
src_origin,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyImage(
command_queue,
src_image,
dst_image,
src_origin,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueCopyImage_disp(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_image,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyImage(
command_queue,
src_image,
dst_image,
src_origin,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyImageToBuffer(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* region,
size_t dst_offset,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueCopyImageToBuffer(
command_queue,
src_image,
dst_buffer,
src_origin,
region,
dst_offset,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyImageToBuffer(
command_queue,
src_image,
dst_buffer,
src_origin,
region,
dst_offset,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueCopyImageToBuffer_disp(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* region,
size_t dst_offset,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyImageToBuffer(
command_queue,
src_image,
dst_buffer,
src_origin,
region,
dst_offset,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBufferToImage(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_image,
size_t src_offset,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueCopyBufferToImage(
command_queue,
src_buffer,
dst_image,
src_offset,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBufferToImage(
command_queue,
src_buffer,
dst_image,
src_offset,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueCopyBufferToImage_disp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_image,
size_t src_offset,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBufferToImage(
command_queue,
src_buffer,
dst_image,
src_offset,
dst_origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY void* CL_API_CALL clEnqueueMapBuffer(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_map,
cl_map_flags map_flags,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueMapBuffer(
command_queue,
buffer,
blocking_map,
map_flags,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMapBuffer(
command_queue,
buffer,
blocking_map,
map_flags,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static void* CL_API_CALL clEnqueueMapBuffer_disp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_map,
cl_map_flags map_flags,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMapBuffer(
command_queue,
buffer,
blocking_map,
map_flags,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY void* CL_API_CALL clEnqueueMapImage(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_map,
cl_map_flags map_flags,
const size_t* origin,
const size_t* region,
size_t* image_row_pitch,
size_t* image_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueMapImage(
command_queue,
image,
blocking_map,
map_flags,
origin,
region,
image_row_pitch,
image_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMapImage(
command_queue,
image,
blocking_map,
map_flags,
origin,
region,
image_row_pitch,
image_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static void* CL_API_CALL clEnqueueMapImage_disp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_map,
cl_map_flags map_flags,
const size_t* origin,
const size_t* region,
size_t* image_row_pitch,
size_t* image_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMapImage(
command_queue,
image,
blocking_map,
map_flags,
origin,
region,
image_row_pitch,
image_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueUnmapMemObject(
cl_command_queue command_queue,
cl_mem memobj,
void* mapped_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueUnmapMemObject(
command_queue,
memobj,
mapped_ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueUnmapMemObject(
command_queue,
memobj,
mapped_ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueUnmapMemObject_disp(
cl_command_queue command_queue,
cl_mem memobj,
void* mapped_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueUnmapMemObject(
command_queue,
memobj,
mapped_ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueNDRangeKernel(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
const size_t* local_work_size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueNDRangeKernel(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
local_work_size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueNDRangeKernel(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
local_work_size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueNDRangeKernel_disp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
const size_t* local_work_size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueNDRangeKernel(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
local_work_size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueNativeKernel(
cl_command_queue command_queue,
void (CL_CALLBACK* user_func)(void*),
void* args,
size_t cb_args,
cl_uint num_mem_objects,
const cl_mem* mem_list,
const void** args_mem_loc,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueNativeKernel(
command_queue,
user_func,
args,
cb_args,
num_mem_objects,
mem_list,
args_mem_loc,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueNativeKernel(
command_queue,
user_func,
args,
cb_args,
num_mem_objects,
mem_list,
args_mem_loc,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueNativeKernel_disp(
cl_command_queue command_queue,
void (CL_CALLBACK* user_func)(void*),
void* args,
size_t cb_args,
cl_uint num_mem_objects,
const cl_mem* mem_list,
const void** args_mem_loc,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueNativeKernel(
command_queue,
user_func,
args,
cb_args,
num_mem_objects,
mem_list,
args_mem_loc,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetCommandQueueProperty(
cl_command_queue command_queue,
cl_command_queue_properties properties,
cl_bool enable,
cl_command_queue_properties* old_properties)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetCommandQueueProperty(
command_queue,
properties,
enable,
old_properties);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clSetCommandQueueProperty(
command_queue,
properties,
enable,
old_properties);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetCommandQueueProperty_disp(
cl_command_queue command_queue,
cl_command_queue_properties properties,
cl_bool enable,
cl_command_queue_properties* old_properties)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clSetCommandQueueProperty(
command_queue,
properties,
enable,
old_properties);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateImage2D(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_row_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateImage2D(
context,
flags,
image_format,
image_width,
image_height,
image_row_pitch,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage2D(
context,
flags,
image_format,
image_width,
image_height,
image_row_pitch,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateImage2D_disp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_row_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage2D(
context,
flags,
image_format,
image_width,
image_height,
image_row_pitch,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateImage3D(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_depth,
size_t image_row_pitch,
size_t image_slice_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateImage3D(
context,
flags,
image_format,
image_width,
image_height,
image_depth,
image_row_pitch,
image_slice_pitch,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage3D(
context,
flags,
image_format,
image_width,
image_height,
image_depth,
image_row_pitch,
image_slice_pitch,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateImage3D_disp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_depth,
size_t image_row_pitch,
size_t image_slice_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage3D(
context,
flags,
image_format,
image_width,
image_height,
image_depth,
image_row_pitch,
image_slice_pitch,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMarker(
cl_command_queue command_queue,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueMarker(
command_queue,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMarker(
command_queue,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueMarker_disp(
cl_command_queue command_queue,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMarker(
command_queue,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWaitForEvents(
cl_command_queue command_queue,
cl_uint num_events,
const cl_event* event_list)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueWaitForEvents(
command_queue,
num_events,
event_list);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWaitForEvents(
command_queue,
num_events,
event_list);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueWaitForEvents_disp(
cl_command_queue command_queue,
cl_uint num_events,
const cl_event* event_list)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWaitForEvents(
command_queue,
num_events,
event_list);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueBarrier(
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueBarrier(
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueBarrier(
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueBarrier_disp(
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueBarrier(
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clUnloadCompiler(
void )
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clUnloadCompiler(
);
#endif // defined(CL_ENABLE_LAYERS)
// Nothing!
return CL_SUCCESS;
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clUnloadCompiler_disp(
void )
{
// Nothing!
return CL_SUCCESS;
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
extern void* CL_API_CALL clGetExtensionFunctionAddress_disp(
const char* func_name) CL_API_SUFFIX__VERSION_1_1_DEPRECATED;
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_command_queue CL_API_CALL clCreateCommandQueue(
cl_context context,
cl_device_id device,
cl_command_queue_properties properties,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateCommandQueue(
context,
device,
properties,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateCommandQueue(
context,
device,
properties,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_command_queue CL_API_CALL clCreateCommandQueue_disp(
cl_context context,
cl_device_id device,
cl_command_queue_properties properties,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateCommandQueue(
context,
device,
properties,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_sampler CL_API_CALL clCreateSampler(
cl_context context,
cl_bool normalized_coords,
cl_addressing_mode addressing_mode,
cl_filter_mode filter_mode,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateSampler(
context,
normalized_coords,
addressing_mode,
filter_mode,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateSampler(
context,
normalized_coords,
addressing_mode,
filter_mode,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_sampler CL_API_CALL clCreateSampler_disp(
cl_context context,
cl_bool normalized_coords,
cl_addressing_mode addressing_mode,
cl_filter_mode filter_mode,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateSampler(
context,
normalized_coords,
addressing_mode,
filter_mode,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueTask(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueTask(
command_queue,
kernel,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueTask(
command_queue,
kernel,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueTask_disp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueTask(
command_queue,
kernel,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateSubBuffer(
cl_mem buffer,
cl_mem_flags flags,
cl_buffer_create_type buffer_create_type,
const void* buffer_create_info,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateSubBuffer(
buffer,
flags,
buffer_create_type,
buffer_create_info,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(buffer, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(buffer)->clCreateSubBuffer(
buffer,
flags,
buffer_create_type,
buffer_create_info,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateSubBuffer_disp(
cl_mem buffer,
cl_mem_flags flags,
cl_buffer_create_type buffer_create_type,
const void* buffer_create_info,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(buffer, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(buffer)->clCreateSubBuffer(
buffer,
flags,
buffer_create_type,
buffer_create_info,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetMemObjectDestructorCallback(
cl_mem memobj,
void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetMemObjectDestructorCallback(
memobj,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clSetMemObjectDestructorCallback(
memobj,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetMemObjectDestructorCallback_disp(
cl_mem memobj,
void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(memobj)->clSetMemObjectDestructorCallback(
memobj,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_event CL_API_CALL clCreateUserEvent(
cl_context context,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateUserEvent(
context,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateUserEvent(
context,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_event CL_API_CALL clCreateUserEvent_disp(
cl_context context,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateUserEvent(
context,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetUserEventStatus(
cl_event event,
cl_int execution_status)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetUserEventStatus(
event,
execution_status);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clSetUserEventStatus(
event,
execution_status);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetUserEventStatus_disp(
cl_event event,
cl_int execution_status)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clSetUserEventStatus(
event,
execution_status);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetEventCallback(
cl_event event,
cl_int command_exec_callback_type,
void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetEventCallback(
event,
command_exec_callback_type,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clSetEventCallback(
event,
command_exec_callback_type,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetEventCallback_disp(
cl_event event,
cl_int command_exec_callback_type,
void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(event, CL_INVALID_EVENT);
return KHR_ICD2_DISPATCH(event)->clSetEventCallback(
event,
command_exec_callback_type,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReadBufferRect(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReadBufferRect(
command_queue,
buffer,
blocking_read,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadBufferRect(
command_queue,
buffer,
blocking_read,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReadBufferRect_disp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReadBufferRect(
command_queue,
buffer,
blocking_read,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueWriteBufferRect(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueWriteBufferRect(
command_queue,
buffer,
blocking_write,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteBufferRect(
command_queue,
buffer,
blocking_write,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueWriteBufferRect_disp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueWriteBufferRect(
command_queue,
buffer,
blocking_write,
buffer_origin,
host_origin,
region,
buffer_row_pitch,
buffer_slice_pitch,
host_row_pitch,
host_slice_pitch,
ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueCopyBufferRect(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
size_t src_row_pitch,
size_t src_slice_pitch,
size_t dst_row_pitch,
size_t dst_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueCopyBufferRect(
command_queue,
src_buffer,
dst_buffer,
src_origin,
dst_origin,
region,
src_row_pitch,
src_slice_pitch,
dst_row_pitch,
dst_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBufferRect(
command_queue,
src_buffer,
dst_buffer,
src_origin,
dst_origin,
region,
src_row_pitch,
src_slice_pitch,
dst_row_pitch,
dst_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueCopyBufferRect_disp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
size_t src_row_pitch,
size_t src_slice_pitch,
size_t dst_row_pitch,
size_t dst_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueCopyBufferRect(
command_queue,
src_buffer,
dst_buffer,
src_origin,
dst_origin,
region,
src_row_pitch,
src_slice_pitch,
dst_row_pitch,
dst_slice_pitch,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clCreateSubDevices(
cl_device_id in_device,
const cl_device_partition_property* properties,
cl_uint num_devices,
cl_device_id* out_devices,
cl_uint* num_devices_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateSubDevices(
in_device,
properties,
num_devices,
out_devices,
num_devices_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(in_device)->clCreateSubDevices(
in_device,
properties,
num_devices,
out_devices,
num_devices_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clCreateSubDevices_disp(
cl_device_id in_device,
const cl_device_partition_property* properties,
cl_uint num_devices,
cl_device_id* out_devices,
cl_uint* num_devices_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(in_device)->clCreateSubDevices(
in_device,
properties,
num_devices,
out_devices,
num_devices_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clRetainDevice(
cl_device_id device)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainDevice(
device);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clRetainDevice(
device);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainDevice_disp(
cl_device_id device)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clRetainDevice(
device);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clReleaseDevice(
cl_device_id device)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseDevice(
device);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clReleaseDevice(
device);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseDevice_disp(
cl_device_id device)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clReleaseDevice(
device);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateImage(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateImage(
context,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage(
context,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateImage_disp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImage(
context,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithBuiltInKernels(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* kernel_names,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateProgramWithBuiltInKernels(
context,
num_devices,
device_list,
kernel_names,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithBuiltInKernels(
context,
num_devices,
device_list,
kernel_names,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_program CL_API_CALL clCreateProgramWithBuiltInKernels_disp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* kernel_names,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithBuiltInKernels(
context,
num_devices,
device_list,
kernel_names,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clCompileProgram(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_headers,
const cl_program* input_headers,
const char** header_include_names,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCompileProgram(
program,
num_devices,
device_list,
options,
num_input_headers,
input_headers,
header_include_names,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCompileProgram(
program,
num_devices,
device_list,
options,
num_input_headers,
input_headers,
header_include_names,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clCompileProgram_disp(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_headers,
const cl_program* input_headers,
const char** header_include_names,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clCompileProgram(
program,
num_devices,
device_list,
options,
num_input_headers,
input_headers,
header_include_names,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_program CL_API_CALL clLinkProgram(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_programs,
const cl_program* input_programs,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clLinkProgram(
context,
num_devices,
device_list,
options,
num_input_programs,
input_programs,
pfn_notify,
user_data,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clLinkProgram(
context,
num_devices,
device_list,
options,
num_input_programs,
input_programs,
pfn_notify,
user_data,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_program CL_API_CALL clLinkProgram_disp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_programs,
const cl_program* input_programs,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clLinkProgram(
context,
num_devices,
device_list,
options,
num_input_programs,
input_programs,
pfn_notify,
user_data,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clUnloadPlatformCompiler(
cl_platform_id platform)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clUnloadPlatformCompiler(
platform);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clUnloadPlatformCompiler(
platform);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clUnloadPlatformCompiler_disp(
cl_platform_id platform)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
return KHR_ICD2_DISPATCH(platform)->clUnloadPlatformCompiler(
platform);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetKernelArgInfo(
cl_kernel kernel,
cl_uint arg_index,
cl_kernel_arg_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelArgInfo(
kernel,
arg_index,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelArgInfo(
kernel,
arg_index,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelArgInfo_disp(
cl_kernel kernel,
cl_uint arg_index,
cl_kernel_arg_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelArgInfo(
kernel,
arg_index,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueFillBuffer(
cl_command_queue command_queue,
cl_mem buffer,
const void* pattern,
size_t pattern_size,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueFillBuffer(
command_queue,
buffer,
pattern,
pattern_size,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueFillBuffer(
command_queue,
buffer,
pattern,
pattern_size,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueFillBuffer_disp(
cl_command_queue command_queue,
cl_mem buffer,
const void* pattern,
size_t pattern_size,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueFillBuffer(
command_queue,
buffer,
pattern,
pattern_size,
offset,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueFillImage(
cl_command_queue command_queue,
cl_mem image,
const void* fill_color,
const size_t* origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueFillImage(
command_queue,
image,
fill_color,
origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueFillImage(
command_queue,
image,
fill_color,
origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueFillImage_disp(
cl_command_queue command_queue,
cl_mem image,
const void* fill_color,
const size_t* origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueFillImage(
command_queue,
image,
fill_color,
origin,
region,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMigrateMemObjects(
cl_command_queue command_queue,
cl_uint num_mem_objects,
const cl_mem* mem_objects,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueMigrateMemObjects(
command_queue,
num_mem_objects,
mem_objects,
flags,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMigrateMemObjects(
command_queue,
num_mem_objects,
mem_objects,
flags,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueMigrateMemObjects_disp(
cl_command_queue command_queue,
cl_uint num_mem_objects,
const cl_mem* mem_objects,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMigrateMemObjects(
command_queue,
num_mem_objects,
mem_objects,
flags,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueMarkerWithWaitList(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueMarkerWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMarkerWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueMarkerWithWaitList_disp(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueMarkerWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueBarrierWithWaitList(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueBarrierWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueBarrierWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueBarrierWithWaitList_disp(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueBarrierWithWaitList(
command_queue,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
extern void* CL_API_CALL clGetExtensionFunctionAddressForPlatform_disp(
cl_platform_id platform,
const char* func_name) CL_API_SUFFIX__VERSION_1_2;
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_command_queue CL_API_CALL clCreateCommandQueueWithProperties(
cl_context context,
cl_device_id device,
const cl_queue_properties* properties,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateCommandQueueWithProperties(
context,
device,
properties,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateCommandQueueWithProperties(
context,
device,
properties,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_command_queue CL_API_CALL clCreateCommandQueueWithProperties_disp(
cl_context context,
cl_device_id device,
const cl_queue_properties* properties,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateCommandQueueWithProperties(
context,
device,
properties,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreatePipe(
cl_context context,
cl_mem_flags flags,
cl_uint pipe_packet_size,
cl_uint pipe_max_packets,
const cl_pipe_properties* properties,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreatePipe(
context,
flags,
pipe_packet_size,
pipe_max_packets,
properties,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreatePipe(
context,
flags,
pipe_packet_size,
pipe_max_packets,
properties,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreatePipe_disp(
cl_context context,
cl_mem_flags flags,
cl_uint pipe_packet_size,
cl_uint pipe_max_packets,
const cl_pipe_properties* properties,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreatePipe(
context,
flags,
pipe_packet_size,
pipe_max_packets,
properties,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetPipeInfo(
cl_mem pipe,
cl_pipe_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetPipeInfo(
pipe,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(pipe, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(pipe)->clGetPipeInfo(
pipe,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetPipeInfo_disp(
cl_mem pipe,
cl_pipe_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(pipe, CL_INVALID_MEM_OBJECT);
return KHR_ICD2_DISPATCH(pipe)->clGetPipeInfo(
pipe,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY void* CL_API_CALL clSVMAlloc(
cl_context context,
cl_svm_mem_flags flags,
size_t size,
cl_uint alignment)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSVMAlloc(
context,
flags,
size,
alignment);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, NULL);
return KHR_ICD2_DISPATCH(context)->clSVMAlloc(
context,
flags,
size,
alignment);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static void* CL_API_CALL clSVMAlloc_disp(
cl_context context,
cl_svm_mem_flags flags,
size_t size,
cl_uint alignment)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, NULL);
return KHR_ICD2_DISPATCH(context)->clSVMAlloc(
context,
flags,
size,
alignment);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY void CL_API_CALL clSVMFree(
cl_context context,
void* svm_pointer)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
{
khrFirstLayer->dispatch.clSVMFree(
context,
svm_pointer);
}
else
#endif // defined(CL_ENABLE_LAYERS)
if (context != NULL)
KHR_ICD2_DISPATCH(context)->clSVMFree(
context,
svm_pointer);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static void CL_API_CALL clSVMFree_disp(
cl_context context,
void* svm_pointer)
{
if (context != NULL)
KHR_ICD2_DISPATCH(context)->clSVMFree(
context,
svm_pointer);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_sampler CL_API_CALL clCreateSamplerWithProperties(
cl_context context,
const cl_sampler_properties* sampler_properties,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateSamplerWithProperties(
context,
sampler_properties,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateSamplerWithProperties(
context,
sampler_properties,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_sampler CL_API_CALL clCreateSamplerWithProperties_disp(
cl_context context,
const cl_sampler_properties* sampler_properties,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateSamplerWithProperties(
context,
sampler_properties,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetKernelArgSVMPointer(
cl_kernel kernel,
cl_uint arg_index,
const void* arg_value)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetKernelArgSVMPointer(
kernel,
arg_index,
arg_value);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelArgSVMPointer(
kernel,
arg_index,
arg_value);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetKernelArgSVMPointer_disp(
cl_kernel kernel,
cl_uint arg_index,
const void* arg_value)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelArgSVMPointer(
kernel,
arg_index,
arg_value);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetKernelExecInfo(
cl_kernel kernel,
cl_kernel_exec_info param_name,
size_t param_value_size,
const void* param_value)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetKernelExecInfo(
kernel,
param_name,
param_value_size,
param_value);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelExecInfo(
kernel,
param_name,
param_value_size,
param_value);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetKernelExecInfo_disp(
cl_kernel kernel,
cl_kernel_exec_info param_name,
size_t param_value_size,
const void* param_value)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clSetKernelExecInfo(
kernel,
param_name,
param_value_size,
param_value);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMFree(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
void* svm_pointers[],
void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data),
void* user_data,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMFree(
command_queue,
num_svm_pointers,
svm_pointers,
pfn_free_func,
user_data,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMFree(
command_queue,
num_svm_pointers,
svm_pointers,
pfn_free_func,
user_data,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMFree_disp(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
void* svm_pointers[],
void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data),
void* user_data,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMFree(
command_queue,
num_svm_pointers,
svm_pointers,
pfn_free_func,
user_data,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMemcpy(
cl_command_queue command_queue,
cl_bool blocking_copy,
void* dst_ptr,
const void* src_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMMemcpy(
command_queue,
blocking_copy,
dst_ptr,
src_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMemcpy(
command_queue,
blocking_copy,
dst_ptr,
src_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMMemcpy_disp(
cl_command_queue command_queue,
cl_bool blocking_copy,
void* dst_ptr,
const void* src_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMemcpy(
command_queue,
blocking_copy,
dst_ptr,
src_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMemFill(
cl_command_queue command_queue,
void* svm_ptr,
const void* pattern,
size_t pattern_size,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMMemFill(
command_queue,
svm_ptr,
pattern,
pattern_size,
size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMemFill(
command_queue,
svm_ptr,
pattern,
pattern_size,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMMemFill_disp(
cl_command_queue command_queue,
void* svm_ptr,
const void* pattern,
size_t pattern_size,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMemFill(
command_queue,
svm_ptr,
pattern,
pattern_size,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMap(
cl_command_queue command_queue,
cl_bool blocking_map,
cl_map_flags flags,
void* svm_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMMap(
command_queue,
blocking_map,
flags,
svm_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMap(
command_queue,
blocking_map,
flags,
svm_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMMap_disp(
cl_command_queue command_queue,
cl_bool blocking_map,
cl_map_flags flags,
void* svm_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMap(
command_queue,
blocking_map,
flags,
svm_ptr,
size,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMUnmap(
cl_command_queue command_queue,
void* svm_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMUnmap(
command_queue,
svm_ptr,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMUnmap(
command_queue,
svm_ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMUnmap_disp(
cl_command_queue command_queue,
void* svm_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMUnmap(
command_queue,
svm_ptr,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetDefaultDeviceCommandQueue(
cl_context context,
cl_device_id device,
cl_command_queue command_queue)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetDefaultDeviceCommandQueue(
context,
device,
command_queue);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clSetDefaultDeviceCommandQueue(
context,
device,
command_queue);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetDefaultDeviceCommandQueue_disp(
cl_context context,
cl_device_id device,
cl_command_queue command_queue)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clSetDefaultDeviceCommandQueue(
context,
device,
command_queue);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceAndHostTimer(
cl_device_id device,
cl_ulong* device_timestamp,
cl_ulong* host_timestamp)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceAndHostTimer(
device,
device_timestamp,
host_timestamp);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetDeviceAndHostTimer(
device,
device_timestamp,
host_timestamp);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceAndHostTimer_disp(
cl_device_id device,
cl_ulong* device_timestamp,
cl_ulong* host_timestamp)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetDeviceAndHostTimer(
device,
device_timestamp,
host_timestamp);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetHostTimer(
cl_device_id device,
cl_ulong* host_timestamp)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetHostTimer(
device,
host_timestamp);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetHostTimer(
device,
host_timestamp);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetHostTimer_disp(
cl_device_id device,
cl_ulong* host_timestamp)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
return KHR_ICD2_DISPATCH(device)->clGetHostTimer(
device,
host_timestamp);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_program CL_API_CALL clCreateProgramWithIL(
cl_context context,
const void* il,
size_t length,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateProgramWithIL(
context,
il,
length,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithIL(
context,
il,
length,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_program CL_API_CALL clCreateProgramWithIL_disp(
cl_context context,
const void* il,
size_t length,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateProgramWithIL(
context,
il,
length,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_kernel CL_API_CALL clCloneKernel(
cl_kernel source_kernel,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCloneKernel(
source_kernel,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(source_kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(source_kernel)->clCloneKernel(
source_kernel,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_kernel CL_API_CALL clCloneKernel_disp(
cl_kernel source_kernel,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(source_kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(source_kernel)->clCloneKernel(
source_kernel,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetKernelSubGroupInfo(
cl_kernel kernel,
cl_device_id device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelSubGroupInfo(
kernel,
device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelSubGroupInfo(
kernel,
device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelSubGroupInfo_disp(
cl_kernel kernel,
cl_device_id device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
return KHR_ICD2_DISPATCH(kernel)->clGetKernelSubGroupInfo(
kernel,
device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clEnqueueSVMMigrateMem(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
const void** svm_pointers,
const size_t* sizes,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueSVMMigrateMem(
command_queue,
num_svm_pointers,
svm_pointers,
sizes,
flags,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMigrateMem(
command_queue,
num_svm_pointers,
svm_pointers,
sizes,
flags,
num_events_in_wait_list,
event_wait_list,
event);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueSVMMigrateMem_disp(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
const void** svm_pointers,
const size_t* sizes,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueSVMMigrateMem(
command_queue,
num_svm_pointers,
svm_pointers,
sizes,
flags,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetProgramSpecializationConstant(
cl_program program,
cl_uint spec_id,
size_t spec_size,
const void* spec_value)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetProgramSpecializationConstant(
program,
spec_id,
spec_size,
spec_value);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clSetProgramSpecializationConstant(
program,
spec_id,
spec_size,
spec_value);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetProgramSpecializationConstant_disp(
cl_program program,
cl_uint spec_id,
size_t spec_size,
const void* spec_value)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clSetProgramSpecializationConstant(
program,
spec_id,
spec_size,
spec_value);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetProgramReleaseCallback(
cl_program program,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetProgramReleaseCallback(
program,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clSetProgramReleaseCallback(
program,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetProgramReleaseCallback_disp(
cl_program program,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(program, CL_INVALID_PROGRAM);
return KHR_ICD2_DISPATCH(program)->clSetProgramReleaseCallback(
program,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clSetContextDestructorCallback(
cl_context context,
void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
void* user_data)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clSetContextDestructorCallback(
context,
pfn_notify,
user_data);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clSetContextDestructorCallback(
context,
pfn_notify,
user_data);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clSetContextDestructorCallback_disp(
cl_context context,
void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
void* user_data)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clSetContextDestructorCallback(
context,
pfn_notify,
user_data);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateBufferWithProperties(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateBufferWithProperties(
context,
properties,
flags,
size,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateBufferWithProperties(
context,
properties,
flags,
size,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateBufferWithProperties_disp(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateBufferWithProperties(
context,
properties,
flags,
size,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_mem CL_API_CALL clCreateImageWithProperties(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateImageWithProperties(
context,
properties,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImageWithProperties(
context,
properties,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateImageWithProperties_disp(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
return KHR_ICD2_DISPATCH(context)->clCreateImageWithProperties(
context,
properties,
flags,
image_format,
image_desc,
host_ptr,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
CL_API_ENTRY cl_int CL_API_CALL clGetKernelSuggestedLocalWorkSize(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
size_t* suggested_local_work_size)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelSuggestedLocalWorkSize(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
suggested_local_work_size);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clGetKernelSuggestedLocalWorkSize(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
suggested_local_work_size);
}
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelSuggestedLocalWorkSize_disp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
size_t* suggested_local_work_size)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
return KHR_ICD2_DISPATCH(command_queue)->clGetKernelSuggestedLocalWorkSize(
command_queue,
kernel,
work_dim,
global_work_offset,
global_work_size,
suggested_local_work_size);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_ext_device_fission
CL_API_ENTRY cl_int CL_API_CALL clReleaseDeviceEXT(
cl_device_id device)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clReleaseDeviceEXT(
device);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(device)->clReleaseDeviceEXT);
return KHR_ICD2_DISPATCH(device)->clReleaseDeviceEXT(
device);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clReleaseDeviceEXT_disp(
cl_device_id device)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(device)->clReleaseDeviceEXT);
return KHR_ICD2_DISPATCH(device)->clReleaseDeviceEXT(
device);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clRetainDeviceEXT(
cl_device_id device)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clRetainDeviceEXT(
device);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(device)->clRetainDeviceEXT);
return KHR_ICD2_DISPATCH(device)->clRetainDeviceEXT(
device);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clRetainDeviceEXT_disp(
cl_device_id device)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(device)->clRetainDeviceEXT);
return KHR_ICD2_DISPATCH(device)->clRetainDeviceEXT(
device);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clCreateSubDevicesEXT(
cl_device_id in_device,
const cl_device_partition_property_ext* properties,
cl_uint num_entries,
cl_device_id* out_devices,
cl_uint* num_devices)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateSubDevicesEXT(
in_device,
properties,
num_entries,
out_devices,
num_devices);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(in_device)->clCreateSubDevicesEXT);
return KHR_ICD2_DISPATCH(in_device)->clCreateSubDevicesEXT(
in_device,
properties,
num_entries,
out_devices,
num_devices);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clCreateSubDevicesEXT_disp(
cl_device_id in_device,
const cl_device_partition_property_ext* properties,
cl_uint num_entries,
cl_device_id* out_devices,
cl_uint* num_devices)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_device, CL_INVALID_DEVICE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(in_device)->clCreateSubDevicesEXT);
return KHR_ICD2_DISPATCH(in_device)->clCreateSubDevicesEXT(
in_device,
properties,
num_entries,
out_devices,
num_devices);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d10_sharing
#if defined(_WIN32)
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR(
cl_platform_id platform,
cl_d3d10_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d10_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceIDsFromD3D10KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D10KHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D10KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR_disp(
cl_platform_id platform,
cl_d3d10_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d10_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D10KHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D10KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10BufferKHR(
cl_context context,
cl_mem_flags flags,
ID3D10Buffer* resource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D10BufferKHR(
context,
flags,
resource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10BufferKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10BufferKHR(
context,
flags,
resource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D10BufferKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D10Buffer* resource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10BufferKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10BufferKHR(
context,
flags,
resource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR(
cl_context context,
cl_mem_flags flags,
ID3D10Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D10Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture2DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D10Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture2DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR(
cl_context context,
cl_mem_flags flags,
ID3D10Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D10Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture3DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D10Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture3DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D10Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueAcquireD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D10ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D10ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReleaseD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D10ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D10ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D10ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d11_sharing
#if defined(_WIN32)
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR(
cl_platform_id platform,
cl_d3d11_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d11_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceIDsFromD3D11KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D11KHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D11KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR_disp(
cl_platform_id platform,
cl_d3d11_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d11_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D11KHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromD3D11KHR(
platform,
d3d_device_source,
d3d_object,
d3d_device_set,
num_entries,
devices,
num_devices);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11BufferKHR(
cl_context context,
cl_mem_flags flags,
ID3D11Buffer* resource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D11BufferKHR(
context,
flags,
resource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11BufferKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11BufferKHR(
context,
flags,
resource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D11BufferKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D11Buffer* resource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11BufferKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11BufferKHR(
context,
flags,
resource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR(
cl_context context,
cl_mem_flags flags,
ID3D11Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D11Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture2DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D11Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture2DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture2DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR(
cl_context context,
cl_mem_flags flags,
ID3D11Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromD3D11Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture3DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR_disp(
cl_context context,
cl_mem_flags flags,
ID3D11Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture3DKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromD3D11Texture3DKHR(
context,
flags,
resource,
subresource,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueAcquireD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D11ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D11ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReleaseD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D11ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D11ObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseD3D11ObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_dx9_media_sharing
#if defined(_WIN32)
CL_API_ENTRY cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR(
cl_platform_id platform,
cl_uint num_media_adapters,
cl_dx9_media_adapter_type_khr* media_adapter_type,
void* media_adapters,
cl_dx9_media_adapter_set_khr media_adapter_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetDeviceIDsFromDX9MediaAdapterKHR(
platform,
num_media_adapters,
media_adapter_type,
media_adapters,
media_adapter_set,
num_entries,
devices,
num_devices);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromDX9MediaAdapterKHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromDX9MediaAdapterKHR(
platform,
num_media_adapters,
media_adapter_type,
media_adapters,
media_adapter_set,
num_entries,
devices,
num_devices);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR_disp(
cl_platform_id platform,
cl_uint num_media_adapters,
cl_dx9_media_adapter_type_khr* media_adapter_type,
void* media_adapters,
cl_dx9_media_adapter_set_khr media_adapter_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromDX9MediaAdapterKHR);
return KHR_ICD2_DISPATCH(platform)->clGetDeviceIDsFromDX9MediaAdapterKHR(
platform,
num_media_adapters,
media_adapter_type,
media_adapters,
media_adapter_set,
num_entries,
devices,
num_devices);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR(
cl_context context,
cl_mem_flags flags,
cl_dx9_media_adapter_type_khr adapter_type,
void* surface_info,
cl_uint plane,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromDX9MediaSurfaceKHR(
context,
flags,
adapter_type,
surface_info,
plane,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromDX9MediaSurfaceKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromDX9MediaSurfaceKHR(
context,
flags,
adapter_type,
surface_info,
plane,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR_disp(
cl_context context,
cl_mem_flags flags,
cl_dx9_media_adapter_type_khr adapter_type,
void* surface_info,
cl_uint plane,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromDX9MediaSurfaceKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromDX9MediaSurfaceKHR(
context,
flags,
adapter_type,
surface_info,
plane,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueAcquireDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireDX9MediaSurfacesKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireDX9MediaSurfacesKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReleaseDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseDX9MediaSurfacesKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseDX9MediaSurfacesKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseDX9MediaSurfacesKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_event
CL_API_ENTRY cl_event CL_API_CALL clCreateEventFromEGLSyncKHR(
cl_context context,
CLeglSyncKHR sync,
CLeglDisplayKHR display,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateEventFromEGLSyncKHR(
context,
sync,
display,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateEventFromEGLSyncKHR);
return KHR_ICD2_DISPATCH(context)->clCreateEventFromEGLSyncKHR(
context,
sync,
display,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_event CL_API_CALL clCreateEventFromEGLSyncKHR_disp(
cl_context context,
CLeglSyncKHR sync,
CLeglDisplayKHR display,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateEventFromEGLSyncKHR);
return KHR_ICD2_DISPATCH(context)->clCreateEventFromEGLSyncKHR(
context,
sync,
display,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_image
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromEGLImageKHR(
cl_context context,
CLeglDisplayKHR egldisplay,
CLeglImageKHR eglimage,
cl_mem_flags flags,
const cl_egl_image_properties_khr* properties,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromEGLImageKHR(
context,
egldisplay,
eglimage,
flags,
properties,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromEGLImageKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromEGLImageKHR(
context,
egldisplay,
eglimage,
flags,
properties,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromEGLImageKHR_disp(
cl_context context,
CLeglDisplayKHR egldisplay,
CLeglImageKHR eglimage,
cl_mem_flags flags,
const cl_egl_image_properties_khr* properties,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromEGLImageKHR);
return KHR_ICD2_DISPATCH(context)->clCreateFromEGLImageKHR(
context,
egldisplay,
eglimage,
flags,
properties,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireEGLObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueAcquireEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireEGLObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueAcquireEGLObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireEGLObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseEGLObjectsKHR(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReleaseEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseEGLObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReleaseEGLObjectsKHR_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseEGLObjectsKHR);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseEGLObjectsKHR(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_event
CL_API_ENTRY cl_event CL_API_CALL clCreateEventFromGLsyncKHR(
cl_context context,
cl_GLsync sync,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateEventFromGLsyncKHR(
context,
sync,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateEventFromGLsyncKHR);
return KHR_ICD2_DISPATCH(context)->clCreateEventFromGLsyncKHR(
context,
sync,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_event CL_API_CALL clCreateEventFromGLsyncKHR_disp(
cl_context context,
cl_GLsync sync,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateEventFromGLsyncKHR);
return KHR_ICD2_DISPATCH(context)->clCreateEventFromGLsyncKHR(
context,
sync,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_sharing
CL_API_ENTRY cl_int CL_API_CALL clGetGLContextInfoKHR(
const cl_context_properties* properties,
cl_gl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetGLContextInfoKHR(
properties,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
cl_platform_id platform = NULL;
khrIcdContextPropertiesGetPlatform(properties, &platform);
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetGLContextInfoKHR);
return KHR_ICD2_DISPATCH(platform)->clGetGLContextInfoKHR(
properties,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetGLContextInfoKHR_disp(
const cl_context_properties* properties,
cl_gl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
cl_platform_id platform = NULL;
khrIcdContextPropertiesGetPlatform(properties, &platform);
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(platform, CL_INVALID_PLATFORM);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(platform)->clGetGLContextInfoKHR);
return KHR_ICD2_DISPATCH(platform)->clGetGLContextInfoKHR(
properties,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLBuffer(
cl_context context,
cl_mem_flags flags,
cl_GLuint bufobj,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromGLBuffer(
context,
flags,
bufobj,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLBuffer);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLBuffer(
context,
flags,
bufobj,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromGLBuffer_disp(
cl_context context,
cl_mem_flags flags,
cl_GLuint bufobj,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLBuffer);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLBuffer(
context,
flags,
bufobj,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLTexture(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromGLTexture(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromGLTexture_disp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLRenderbuffer(
cl_context context,
cl_mem_flags flags,
cl_GLuint renderbuffer,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromGLRenderbuffer(
context,
flags,
renderbuffer,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLRenderbuffer);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLRenderbuffer(
context,
flags,
renderbuffer,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromGLRenderbuffer_disp(
cl_context context,
cl_mem_flags flags,
cl_GLuint renderbuffer,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLRenderbuffer);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLRenderbuffer(
context,
flags,
renderbuffer,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clGetGLObjectInfo(
cl_mem memobj,
cl_gl_object_type* gl_object_type,
cl_GLuint* gl_object_name)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetGLObjectInfo(
memobj,
gl_object_type,
gl_object_name);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(memobj)->clGetGLObjectInfo);
return KHR_ICD2_DISPATCH(memobj)->clGetGLObjectInfo(
memobj,
gl_object_type,
gl_object_name);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetGLObjectInfo_disp(
cl_mem memobj,
cl_gl_object_type* gl_object_type,
cl_GLuint* gl_object_name)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(memobj)->clGetGLObjectInfo);
return KHR_ICD2_DISPATCH(memobj)->clGetGLObjectInfo(
memobj,
gl_object_type,
gl_object_name);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clGetGLTextureInfo(
cl_mem memobj,
cl_gl_texture_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetGLTextureInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(memobj)->clGetGLTextureInfo);
return KHR_ICD2_DISPATCH(memobj)->clGetGLTextureInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetGLTextureInfo_disp(
cl_mem memobj,
cl_gl_texture_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(memobj, CL_INVALID_MEM_OBJECT);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(memobj)->clGetGLTextureInfo);
return KHR_ICD2_DISPATCH(memobj)->clGetGLTextureInfo(
memobj,
param_name,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueAcquireGLObjects(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueAcquireGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireGLObjects);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueAcquireGLObjects_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireGLObjects);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueAcquireGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_int CL_API_CALL clEnqueueReleaseGLObjects(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clEnqueueReleaseGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseGLObjects);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clEnqueueReleaseGLObjects_disp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseGLObjects);
return KHR_ICD2_DISPATCH(command_queue)->clEnqueueReleaseGLObjects(
command_queue,
num_objects,
mem_objects,
num_events_in_wait_list,
event_wait_list,
event);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLTexture2D(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromGLTexture2D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture2D);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture2D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromGLTexture2D_disp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture2D);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture2D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
CL_API_ENTRY cl_mem CL_API_CALL clCreateFromGLTexture3D(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clCreateFromGLTexture3D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture3D);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture3D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_mem CL_API_CALL clCreateFromGLTexture3D_disp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
KHR_ICD_VALIDATE_POINTER_RETURN_HANDLE(KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture3D);
return KHR_ICD2_DISPATCH(context)->clCreateFromGLTexture3D(
context,
flags,
target,
miplevel,
texture,
errcode_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_subgroups
CL_API_ENTRY cl_int CL_API_CALL clGetKernelSubGroupInfoKHR(
cl_kernel in_kernel,
cl_device_id in_device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
#if defined(CL_ENABLE_LAYERS)
if (khrFirstLayer)
return khrFirstLayer->dispatch.clGetKernelSubGroupInfoKHR(
in_kernel,
in_device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
#endif // defined(CL_ENABLE_LAYERS)
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_kernel, CL_INVALID_KERNEL);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(in_kernel)->clGetKernelSubGroupInfoKHR);
return KHR_ICD2_DISPATCH(in_kernel)->clGetKernelSubGroupInfoKHR(
in_kernel,
in_device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
}
#if defined(CL_ENABLE_LAYERS)
static cl_int CL_API_CALL clGetKernelSubGroupInfoKHR_disp(
cl_kernel in_kernel,
cl_device_id in_device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_kernel, CL_INVALID_KERNEL);
KHR_ICD_VALIDATE_POINTER_RETURN_ERROR(KHR_ICD2_DISPATCH(in_kernel)->clGetKernelSubGroupInfoKHR);
return KHR_ICD2_DISPATCH(in_kernel)->clGetKernelSubGroupInfoKHR(
in_kernel,
in_device,
param_name,
input_value_size,
input_value,
param_value_size,
param_value,
param_value_size_ret);
}
#endif // defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
#if defined(CL_ENABLE_LAYERS)
const struct _cl_icd_dispatch khrMainDispatch = {
ICD_ANON_UNION_INIT_MEMBER(&clGetPlatformIDs_disp),
&clGetPlatformInfo_disp,
&clGetDeviceIDs_disp,
&clGetDeviceInfo_disp,
&clCreateContext_disp,
&clCreateContextFromType_disp,
&clRetainContext_disp,
&clReleaseContext_disp,
&clGetContextInfo_disp,
&clCreateCommandQueue_disp,
&clRetainCommandQueue_disp,
&clReleaseCommandQueue_disp,
&clGetCommandQueueInfo_disp,
&clSetCommandQueueProperty_disp,
&clCreateBuffer_disp,
&clCreateImage2D_disp,
&clCreateImage3D_disp,
&clRetainMemObject_disp,
&clReleaseMemObject_disp,
&clGetSupportedImageFormats_disp,
&clGetMemObjectInfo_disp,
&clGetImageInfo_disp,
&clCreateSampler_disp,
&clRetainSampler_disp,
&clReleaseSampler_disp,
&clGetSamplerInfo_disp,
&clCreateProgramWithSource_disp,
&clCreateProgramWithBinary_disp,
&clRetainProgram_disp,
&clReleaseProgram_disp,
&clBuildProgram_disp,
ICD_ANON_UNION_INIT_MEMBER(&clUnloadCompiler_disp),
&clGetProgramInfo_disp,
&clGetProgramBuildInfo_disp,
&clCreateKernel_disp,
&clCreateKernelsInProgram_disp,
&clRetainKernel_disp,
&clReleaseKernel_disp,
&clSetKernelArg_disp,
&clGetKernelInfo_disp,
&clGetKernelWorkGroupInfo_disp,
&clWaitForEvents_disp,
&clGetEventInfo_disp,
&clRetainEvent_disp,
&clReleaseEvent_disp,
&clGetEventProfilingInfo_disp,
&clFlush_disp,
&clFinish_disp,
&clEnqueueReadBuffer_disp,
&clEnqueueWriteBuffer_disp,
&clEnqueueCopyBuffer_disp,
&clEnqueueReadImage_disp,
&clEnqueueWriteImage_disp,
&clEnqueueCopyImage_disp,
&clEnqueueCopyImageToBuffer_disp,
&clEnqueueCopyBufferToImage_disp,
&clEnqueueMapBuffer_disp,
&clEnqueueMapImage_disp,
&clEnqueueUnmapMemObject_disp,
&clEnqueueNDRangeKernel_disp,
&clEnqueueTask_disp,
&clEnqueueNativeKernel_disp,
&clEnqueueMarker_disp,
&clEnqueueWaitForEvents_disp,
&clEnqueueBarrier_disp,
&clGetExtensionFunctionAddress_disp,
&clCreateFromGLBuffer_disp,
&clCreateFromGLTexture2D_disp,
&clCreateFromGLTexture3D_disp,
&clCreateFromGLRenderbuffer_disp,
&clGetGLObjectInfo_disp,
&clGetGLTextureInfo_disp,
&clEnqueueAcquireGLObjects_disp,
&clEnqueueReleaseGLObjects_disp,
&clGetGLContextInfoKHR_disp,
/* cl_khr_d3d10_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromD3D10KHR_disp,
&clCreateFromD3D10BufferKHR_disp,
&clCreateFromD3D10Texture2DKHR_disp,
&clCreateFromD3D10Texture3DKHR_disp,
&clEnqueueAcquireD3D10ObjectsKHR_disp,
&clEnqueueReleaseD3D10ObjectsKHR_disp,
#else
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
#endif
/* OpenCL 1.1 */
&clSetEventCallback_disp,
&clCreateSubBuffer_disp,
&clSetMemObjectDestructorCallback_disp,
&clCreateUserEvent_disp,
&clSetUserEventStatus_disp,
&clEnqueueReadBufferRect_disp,
&clEnqueueWriteBufferRect_disp,
&clEnqueueCopyBufferRect_disp,
/* cl_ext_device_fission */
&clCreateSubDevicesEXT_disp,
&clRetainDeviceEXT_disp,
&clReleaseDeviceEXT_disp,
/* cl_khr_gl_event */
&clCreateEventFromGLsyncKHR_disp,
/* OpenCL 1.2 */
&clCreateSubDevices_disp,
&clRetainDevice_disp,
&clReleaseDevice_disp,
&clCreateImage_disp,
&clCreateProgramWithBuiltInKernels_disp,
&clCompileProgram_disp,
&clLinkProgram_disp,
&clUnloadPlatformCompiler_disp,
&clGetKernelArgInfo_disp,
&clEnqueueFillBuffer_disp,
&clEnqueueFillImage_disp,
&clEnqueueMigrateMemObjects_disp,
&clEnqueueMarkerWithWaitList_disp,
&clEnqueueBarrierWithWaitList_disp,
&clGetExtensionFunctionAddressForPlatform_disp,
&clCreateFromGLTexture_disp,
/* cl_khr_d3d11_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromD3D11KHR_disp,
&clCreateFromD3D11BufferKHR_disp,
&clCreateFromD3D11Texture2DKHR_disp,
&clCreateFromD3D11Texture3DKHR_disp,
&clCreateFromDX9MediaSurfaceKHR_disp,
&clEnqueueAcquireD3D11ObjectsKHR_disp,
&clEnqueueReleaseD3D11ObjectsKHR_disp,
#else
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
#endif
/* cl_khr_dx9_media_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromDX9MediaAdapterKHR_disp,
&clEnqueueAcquireDX9MediaSurfacesKHR_disp,
&clEnqueueReleaseDX9MediaSurfacesKHR_disp,
#else
NULL,
NULL,
NULL,
#endif
/* cl_khr_egl_image */
&clCreateFromEGLImageKHR_disp,
&clEnqueueAcquireEGLObjectsKHR_disp,
&clEnqueueReleaseEGLObjectsKHR_disp,
/* cl_khr_egl_event */
&clCreateEventFromEGLSyncKHR_disp,
/* OpenCL 2.0 */
&clCreateCommandQueueWithProperties_disp,
&clCreatePipe_disp,
&clGetPipeInfo_disp,
&clSVMAlloc_disp,
&clSVMFree_disp,
&clEnqueueSVMFree_disp,
&clEnqueueSVMMemcpy_disp,
&clEnqueueSVMMemFill_disp,
&clEnqueueSVMMap_disp,
&clEnqueueSVMUnmap_disp,
&clCreateSamplerWithProperties_disp,
&clSetKernelArgSVMPointer_disp,
&clSetKernelExecInfo_disp,
/* cl_khr_sub_groups */
&clGetKernelSubGroupInfoKHR_disp,
/* OpenCL 2.1 */
&clCloneKernel_disp,
&clCreateProgramWithIL_disp,
&clEnqueueSVMMigrateMem_disp,
&clGetDeviceAndHostTimer_disp,
&clGetHostTimer_disp,
&clGetKernelSubGroupInfo_disp,
&clSetDefaultDeviceCommandQueue_disp,
/* OpenCL 2.2 */
&clSetProgramReleaseCallback_disp,
&clSetProgramSpecializationConstant_disp,
/* OpenCL 3.0 */
&clCreateBufferWithProperties_disp,
&clCreateImageWithProperties_disp,
&clSetContextDestructorCallback_disp,
/* OpenCL 3.1 */
&clGetKernelSuggestedLocalWorkSize_disp,
}
;
#endif // defined(CL_ENABLE_LAYERS)
#if defined(CL_ENABLE_LOADER_MANAGED_DISPATCH) || defined(CL_ENABLE_LAYERS)
///////////////////////////////////////////////////////////////////////////////
// Core APIs:
static cl_int CL_API_CALL clGetPlatformIDs_unsupp(
cl_uint num_entries,
cl_platform_id* platforms,
cl_uint* num_platforms)
{
(void)num_entries;
(void)platforms;
(void)num_platforms;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetPlatformInfo_unsupp(
cl_platform_id platform,
cl_platform_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)platform;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetDeviceIDs_unsupp(
cl_platform_id platform,
cl_device_type device_type,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
(void)platform;
(void)device_type;
(void)num_entries;
(void)devices;
(void)num_devices;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetDeviceInfo_unsupp(
cl_device_id device,
cl_device_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)device;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_context CL_API_CALL clCreateContext_unsupp(
const cl_context_properties* properties,
cl_uint num_devices,
const cl_device_id* devices,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
(void)properties;
(void)num_devices;
(void)devices;
(void)pfn_notify;
(void)user_data;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_context CL_API_CALL clCreateContextFromType_unsupp(
const cl_context_properties* properties,
cl_device_type device_type,
void (CL_CALLBACK* pfn_notify)(const char* errinfo, const void* private_info, size_t cb, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
(void)properties;
(void)device_type;
(void)pfn_notify;
(void)user_data;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainContext_unsupp(
cl_context context)
{
(void)context;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseContext_unsupp(
cl_context context)
{
(void)context;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetContextInfo_unsupp(
cl_context context,
cl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)context;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainCommandQueue_unsupp(
cl_command_queue command_queue)
{
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseCommandQueue_unsupp(
cl_command_queue command_queue)
{
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetCommandQueueInfo_unsupp(
cl_command_queue command_queue,
cl_command_queue_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)command_queue;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateBuffer_unsupp(
cl_context context,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)size;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainMemObject_unsupp(
cl_mem memobj)
{
(void)memobj;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseMemObject_unsupp(
cl_mem memobj)
{
(void)memobj;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetSupportedImageFormats_unsupp(
cl_context context,
cl_mem_flags flags,
cl_mem_object_type image_type,
cl_uint num_entries,
cl_image_format* image_formats,
cl_uint* num_image_formats)
{
(void)context;
(void)flags;
(void)image_type;
(void)num_entries;
(void)image_formats;
(void)num_image_formats;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetMemObjectInfo_unsupp(
cl_mem memobj,
cl_mem_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)memobj;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetImageInfo_unsupp(
cl_mem image,
cl_image_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)image;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainSampler_unsupp(
cl_sampler sampler)
{
(void)sampler;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseSampler_unsupp(
cl_sampler sampler)
{
(void)sampler;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetSamplerInfo_unsupp(
cl_sampler sampler,
cl_sampler_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)sampler;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_program CL_API_CALL clCreateProgramWithSource_unsupp(
cl_context context,
cl_uint count,
const char** strings,
const size_t* lengths,
cl_int* errcode_ret)
{
(void)context;
(void)count;
(void)strings;
(void)lengths;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_program CL_API_CALL clCreateProgramWithBinary_unsupp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const size_t* lengths,
const unsigned char** binaries,
cl_int* binary_status,
cl_int* errcode_ret)
{
(void)context;
(void)num_devices;
(void)device_list;
(void)lengths;
(void)binaries;
(void)binary_status;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainProgram_unsupp(
cl_program program)
{
(void)program;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseProgram_unsupp(
cl_program program)
{
(void)program;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clBuildProgram_unsupp(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
(void)program;
(void)num_devices;
(void)device_list;
(void)options;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetProgramInfo_unsupp(
cl_program program,
cl_program_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)program;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetProgramBuildInfo_unsupp(
cl_program program,
cl_device_id device,
cl_program_build_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)program;
(void)device;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_kernel CL_API_CALL clCreateKernel_unsupp(
cl_program program,
const char* kernel_name,
cl_int* errcode_ret)
{
(void)program;
(void)kernel_name;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clCreateKernelsInProgram_unsupp(
cl_program program,
cl_uint num_kernels,
cl_kernel* kernels,
cl_uint* num_kernels_ret)
{
(void)program;
(void)num_kernels;
(void)kernels;
(void)num_kernels_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainKernel_unsupp(
cl_kernel kernel)
{
(void)kernel;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseKernel_unsupp(
cl_kernel kernel)
{
(void)kernel;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetKernelArg_unsupp(
cl_kernel kernel,
cl_uint arg_index,
size_t arg_size,
const void* arg_value)
{
(void)kernel;
(void)arg_index;
(void)arg_size;
(void)arg_value;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetKernelInfo_unsupp(
cl_kernel kernel,
cl_kernel_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)kernel;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetKernelWorkGroupInfo_unsupp(
cl_kernel kernel,
cl_device_id device,
cl_kernel_work_group_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)kernel;
(void)device;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clWaitForEvents_unsupp(
cl_uint num_events,
const cl_event* event_list)
{
(void)num_events;
(void)event_list;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetEventInfo_unsupp(
cl_event event,
cl_event_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)event;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainEvent_unsupp(
cl_event event)
{
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseEvent_unsupp(
cl_event event)
{
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetEventProfilingInfo_unsupp(
cl_event event,
cl_profiling_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)event;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clFlush_unsupp(
cl_command_queue command_queue)
{
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clFinish_unsupp(
cl_command_queue command_queue)
{
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReadBuffer_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
size_t offset,
size_t size,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)buffer;
(void)blocking_read;
(void)offset;
(void)size;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueWriteBuffer_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
size_t offset,
size_t size,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)buffer;
(void)blocking_write;
(void)offset;
(void)size;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueCopyBuffer_unsupp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
size_t src_offset,
size_t dst_offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)src_buffer;
(void)dst_buffer;
(void)src_offset;
(void)dst_offset;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReadImage_unsupp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_read,
const size_t* origin,
const size_t* region,
size_t row_pitch,
size_t slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)image;
(void)blocking_read;
(void)origin;
(void)region;
(void)row_pitch;
(void)slice_pitch;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueWriteImage_unsupp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_write,
const size_t* origin,
const size_t* region,
size_t input_row_pitch,
size_t input_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)image;
(void)blocking_write;
(void)origin;
(void)region;
(void)input_row_pitch;
(void)input_slice_pitch;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueCopyImage_unsupp(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_image,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)src_image;
(void)dst_image;
(void)src_origin;
(void)dst_origin;
(void)region;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueCopyImageToBuffer_unsupp(
cl_command_queue command_queue,
cl_mem src_image,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* region,
size_t dst_offset,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)src_image;
(void)dst_buffer;
(void)src_origin;
(void)region;
(void)dst_offset;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueCopyBufferToImage_unsupp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_image,
size_t src_offset,
const size_t* dst_origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)src_buffer;
(void)dst_image;
(void)src_offset;
(void)dst_origin;
(void)region;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static void* CL_API_CALL clEnqueueMapBuffer_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_map,
cl_map_flags map_flags,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
(void)command_queue;
(void)buffer;
(void)blocking_map;
(void)map_flags;
(void)offset;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static void* CL_API_CALL clEnqueueMapImage_unsupp(
cl_command_queue command_queue,
cl_mem image,
cl_bool blocking_map,
cl_map_flags map_flags,
const size_t* origin,
const size_t* region,
size_t* image_row_pitch,
size_t* image_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event,
cl_int* errcode_ret)
{
(void)command_queue;
(void)image;
(void)blocking_map;
(void)map_flags;
(void)origin;
(void)region;
(void)image_row_pitch;
(void)image_slice_pitch;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueUnmapMemObject_unsupp(
cl_command_queue command_queue,
cl_mem memobj,
void* mapped_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)memobj;
(void)mapped_ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueNDRangeKernel_unsupp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
const size_t* local_work_size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)kernel;
(void)work_dim;
(void)global_work_offset;
(void)global_work_size;
(void)local_work_size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueNativeKernel_unsupp(
cl_command_queue command_queue,
void (CL_CALLBACK* user_func)(void*),
void* args,
size_t cb_args,
cl_uint num_mem_objects,
const cl_mem* mem_list,
const void** args_mem_loc,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)user_func;
(void)args;
(void)cb_args;
(void)num_mem_objects;
(void)mem_list;
(void)args_mem_loc;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetCommandQueueProperty_unsupp(
cl_command_queue command_queue,
cl_command_queue_properties properties,
cl_bool enable,
cl_command_queue_properties* old_properties)
{
(void)command_queue;
(void)properties;
(void)enable;
(void)old_properties;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateImage2D_unsupp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_row_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)image_format;
(void)image_width;
(void)image_height;
(void)image_row_pitch;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateImage3D_unsupp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
size_t image_width,
size_t image_height,
size_t image_depth,
size_t image_row_pitch,
size_t image_slice_pitch,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)image_format;
(void)image_width;
(void)image_height;
(void)image_depth;
(void)image_row_pitch;
(void)image_slice_pitch;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueMarker_unsupp(
cl_command_queue command_queue,
cl_event* event)
{
(void)command_queue;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueWaitForEvents_unsupp(
cl_command_queue command_queue,
cl_uint num_events,
const cl_event* event_list)
{
(void)command_queue;
(void)num_events;
(void)event_list;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueBarrier_unsupp(
cl_command_queue command_queue)
{
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clUnloadCompiler_unsupp(
void )
{
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static void* CL_API_CALL clGetExtensionFunctionAddress_unsupp(
const char* func_name)
{
(void)func_name;
KHR_ICD_ERROR_RETURN_ERROR(NULL);
}
static cl_command_queue CL_API_CALL clCreateCommandQueue_unsupp(
cl_context context,
cl_device_id device,
cl_command_queue_properties properties,
cl_int* errcode_ret)
{
(void)context;
(void)device;
(void)properties;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_sampler CL_API_CALL clCreateSampler_unsupp(
cl_context context,
cl_bool normalized_coords,
cl_addressing_mode addressing_mode,
cl_filter_mode filter_mode,
cl_int* errcode_ret)
{
(void)context;
(void)normalized_coords;
(void)addressing_mode;
(void)filter_mode;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueTask_unsupp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)kernel;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateSubBuffer_unsupp(
cl_mem buffer,
cl_mem_flags flags,
cl_buffer_create_type buffer_create_type,
const void* buffer_create_info,
cl_int* errcode_ret)
{
(void)buffer;
(void)flags;
(void)buffer_create_type;
(void)buffer_create_info;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetMemObjectDestructorCallback_unsupp(
cl_mem memobj,
void (CL_CALLBACK* pfn_notify)(cl_mem memobj, void* user_data),
void* user_data)
{
(void)memobj;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_event CL_API_CALL clCreateUserEvent_unsupp(
cl_context context,
cl_int* errcode_ret)
{
(void)context;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetUserEventStatus_unsupp(
cl_event event,
cl_int execution_status)
{
(void)event;
(void)execution_status;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetEventCallback_unsupp(
cl_event event,
cl_int command_exec_callback_type,
void (CL_CALLBACK* pfn_notify)(cl_event event, cl_int event_command_status, void *user_data),
void* user_data)
{
(void)event;
(void)command_exec_callback_type;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReadBufferRect_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_read,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)buffer;
(void)blocking_read;
(void)buffer_origin;
(void)host_origin;
(void)region;
(void)buffer_row_pitch;
(void)buffer_slice_pitch;
(void)host_row_pitch;
(void)host_slice_pitch;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueWriteBufferRect_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
cl_bool blocking_write,
const size_t* buffer_origin,
const size_t* host_origin,
const size_t* region,
size_t buffer_row_pitch,
size_t buffer_slice_pitch,
size_t host_row_pitch,
size_t host_slice_pitch,
const void* ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)buffer;
(void)blocking_write;
(void)buffer_origin;
(void)host_origin;
(void)region;
(void)buffer_row_pitch;
(void)buffer_slice_pitch;
(void)host_row_pitch;
(void)host_slice_pitch;
(void)ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueCopyBufferRect_unsupp(
cl_command_queue command_queue,
cl_mem src_buffer,
cl_mem dst_buffer,
const size_t* src_origin,
const size_t* dst_origin,
const size_t* region,
size_t src_row_pitch,
size_t src_slice_pitch,
size_t dst_row_pitch,
size_t dst_slice_pitch,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)src_buffer;
(void)dst_buffer;
(void)src_origin;
(void)dst_origin;
(void)region;
(void)src_row_pitch;
(void)src_slice_pitch;
(void)dst_row_pitch;
(void)dst_slice_pitch;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clCreateSubDevices_unsupp(
cl_device_id in_device,
const cl_device_partition_property* properties,
cl_uint num_devices,
cl_device_id* out_devices,
cl_uint* num_devices_ret)
{
(void)in_device;
(void)properties;
(void)num_devices;
(void)out_devices;
(void)num_devices_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainDevice_unsupp(
cl_device_id device)
{
(void)device;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clReleaseDevice_unsupp(
cl_device_id device)
{
(void)device;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateImage_unsupp(
cl_context context,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)image_format;
(void)image_desc;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_program CL_API_CALL clCreateProgramWithBuiltInKernels_unsupp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* kernel_names,
cl_int* errcode_ret)
{
(void)context;
(void)num_devices;
(void)device_list;
(void)kernel_names;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clCompileProgram_unsupp(
cl_program program,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_headers,
const cl_program* input_headers,
const char** header_include_names,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
(void)program;
(void)num_devices;
(void)device_list;
(void)options;
(void)num_input_headers;
(void)input_headers;
(void)header_include_names;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_program CL_API_CALL clLinkProgram_unsupp(
cl_context context,
cl_uint num_devices,
const cl_device_id* device_list,
const char* options,
cl_uint num_input_programs,
const cl_program* input_programs,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data,
cl_int* errcode_ret)
{
(void)context;
(void)num_devices;
(void)device_list;
(void)options;
(void)num_input_programs;
(void)input_programs;
(void)pfn_notify;
(void)user_data;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clUnloadPlatformCompiler_unsupp(
cl_platform_id platform)
{
(void)platform;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetKernelArgInfo_unsupp(
cl_kernel kernel,
cl_uint arg_index,
cl_kernel_arg_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)kernel;
(void)arg_index;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueFillBuffer_unsupp(
cl_command_queue command_queue,
cl_mem buffer,
const void* pattern,
size_t pattern_size,
size_t offset,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)buffer;
(void)pattern;
(void)pattern_size;
(void)offset;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueFillImage_unsupp(
cl_command_queue command_queue,
cl_mem image,
const void* fill_color,
const size_t* origin,
const size_t* region,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)image;
(void)fill_color;
(void)origin;
(void)region;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueMigrateMemObjects_unsupp(
cl_command_queue command_queue,
cl_uint num_mem_objects,
const cl_mem* mem_objects,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_mem_objects;
(void)mem_objects;
(void)flags;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueMarkerWithWaitList_unsupp(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueBarrierWithWaitList_unsupp(
cl_command_queue command_queue,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static void* CL_API_CALL clGetExtensionFunctionAddressForPlatform_unsupp(
cl_platform_id platform,
const char* func_name)
{
(void)platform;
(void)func_name;
KHR_ICD_ERROR_RETURN_ERROR(NULL);
}
static cl_command_queue CL_API_CALL clCreateCommandQueueWithProperties_unsupp(
cl_context context,
cl_device_id device,
const cl_queue_properties* properties,
cl_int* errcode_ret)
{
(void)context;
(void)device;
(void)properties;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreatePipe_unsupp(
cl_context context,
cl_mem_flags flags,
cl_uint pipe_packet_size,
cl_uint pipe_max_packets,
const cl_pipe_properties* properties,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)pipe_packet_size;
(void)pipe_max_packets;
(void)properties;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetPipeInfo_unsupp(
cl_mem pipe,
cl_pipe_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)pipe;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static void* CL_API_CALL clSVMAlloc_unsupp(
cl_context context,
cl_svm_mem_flags flags,
size_t size,
cl_uint alignment)
{
(void)context;
(void)flags;
(void)size;
(void)alignment;
KHR_ICD_ERROR_RETURN_ERROR(NULL);
}
static void CL_API_CALL clSVMFree_unsupp(
cl_context context,
void* svm_pointer)
{
(void)context;
(void)svm_pointer;
return;
}
static cl_sampler CL_API_CALL clCreateSamplerWithProperties_unsupp(
cl_context context,
const cl_sampler_properties* sampler_properties,
cl_int* errcode_ret)
{
(void)context;
(void)sampler_properties;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetKernelArgSVMPointer_unsupp(
cl_kernel kernel,
cl_uint arg_index,
const void* arg_value)
{
(void)kernel;
(void)arg_index;
(void)arg_value;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetKernelExecInfo_unsupp(
cl_kernel kernel,
cl_kernel_exec_info param_name,
size_t param_value_size,
const void* param_value)
{
(void)kernel;
(void)param_name;
(void)param_value_size;
(void)param_value;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMFree_unsupp(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
void* svm_pointers[],
void (CL_CALLBACK* pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data),
void* user_data,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_svm_pointers;
(void)svm_pointers;
(void)pfn_free_func;
(void)user_data;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMMemcpy_unsupp(
cl_command_queue command_queue,
cl_bool blocking_copy,
void* dst_ptr,
const void* src_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)blocking_copy;
(void)dst_ptr;
(void)src_ptr;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMMemFill_unsupp(
cl_command_queue command_queue,
void* svm_ptr,
const void* pattern,
size_t pattern_size,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)svm_ptr;
(void)pattern;
(void)pattern_size;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMMap_unsupp(
cl_command_queue command_queue,
cl_bool blocking_map,
cl_map_flags flags,
void* svm_ptr,
size_t size,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)blocking_map;
(void)flags;
(void)svm_ptr;
(void)size;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMUnmap_unsupp(
cl_command_queue command_queue,
void* svm_ptr,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)svm_ptr;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetDefaultDeviceCommandQueue_unsupp(
cl_context context,
cl_device_id device,
cl_command_queue command_queue)
{
(void)context;
(void)device;
(void)command_queue;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetDeviceAndHostTimer_unsupp(
cl_device_id device,
cl_ulong* device_timestamp,
cl_ulong* host_timestamp)
{
(void)device;
(void)device_timestamp;
(void)host_timestamp;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetHostTimer_unsupp(
cl_device_id device,
cl_ulong* host_timestamp)
{
(void)device;
(void)host_timestamp;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_program CL_API_CALL clCreateProgramWithIL_unsupp(
cl_context context,
const void* il,
size_t length,
cl_int* errcode_ret)
{
(void)context;
(void)il;
(void)length;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_kernel CL_API_CALL clCloneKernel_unsupp(
cl_kernel source_kernel,
cl_int* errcode_ret)
{
(void)source_kernel;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetKernelSubGroupInfo_unsupp(
cl_kernel kernel,
cl_device_id device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)kernel;
(void)device;
(void)param_name;
(void)input_value_size;
(void)input_value;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueSVMMigrateMem_unsupp(
cl_command_queue command_queue,
cl_uint num_svm_pointers,
const void** svm_pointers,
const size_t* sizes,
cl_mem_migration_flags flags,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_svm_pointers;
(void)svm_pointers;
(void)sizes;
(void)flags;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetProgramSpecializationConstant_unsupp(
cl_program program,
cl_uint spec_id,
size_t spec_size,
const void* spec_value)
{
(void)program;
(void)spec_id;
(void)spec_size;
(void)spec_value;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetProgramReleaseCallback_unsupp(
cl_program program,
void (CL_CALLBACK* pfn_notify)(cl_program program, void* user_data),
void* user_data)
{
(void)program;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clSetContextDestructorCallback_unsupp(
cl_context context,
void (CL_CALLBACK* pfn_notify)(cl_context context, void* user_data),
void* user_data)
{
(void)context;
(void)pfn_notify;
(void)user_data;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateBufferWithProperties_unsupp(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
size_t size,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)properties;
(void)flags;
(void)size;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateImageWithProperties_unsupp(
cl_context context,
const cl_mem_properties* properties,
cl_mem_flags flags,
const cl_image_format* image_format,
const cl_image_desc* image_desc,
void* host_ptr,
cl_int* errcode_ret)
{
(void)context;
(void)properties;
(void)flags;
(void)image_format;
(void)image_desc;
(void)host_ptr;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetKernelSuggestedLocalWorkSize_unsupp(
cl_command_queue command_queue,
cl_kernel kernel,
cl_uint work_dim,
const size_t* global_work_offset,
const size_t* global_work_size,
size_t* suggested_local_work_size)
{
(void)command_queue;
(void)kernel;
(void)work_dim;
(void)global_work_offset;
(void)global_work_size;
(void)suggested_local_work_size;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_ext_device_fission
static cl_int CL_API_CALL clReleaseDeviceEXT_unsupp(
cl_device_id device)
{
(void)device;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clRetainDeviceEXT_unsupp(
cl_device_id device)
{
(void)device;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clCreateSubDevicesEXT_unsupp(
cl_device_id in_device,
const cl_device_partition_property_ext* properties,
cl_uint num_entries,
cl_device_id* out_devices,
cl_uint* num_devices)
{
(void)in_device;
(void)properties;
(void)num_entries;
(void)out_devices;
(void)num_devices;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d10_sharing
#if defined(_WIN32)
static cl_int CL_API_CALL clGetDeviceIDsFromD3D10KHR_unsupp(
cl_platform_id platform,
cl_d3d10_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d10_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
(void)platform;
(void)d3d_device_source;
(void)d3d_object;
(void)d3d_device_set;
(void)num_entries;
(void)devices;
(void)num_devices;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D10BufferKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D10Buffer* resource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D10Texture2DKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D10Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)subresource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D10Texture3DKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D10Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)subresource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueAcquireD3D10ObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReleaseD3D10ObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d11_sharing
#if defined(_WIN32)
static cl_int CL_API_CALL clGetDeviceIDsFromD3D11KHR_unsupp(
cl_platform_id platform,
cl_d3d11_device_source_khr d3d_device_source,
void* d3d_object,
cl_d3d11_device_set_khr d3d_device_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
(void)platform;
(void)d3d_device_source;
(void)d3d_object;
(void)d3d_device_set;
(void)num_entries;
(void)devices;
(void)num_devices;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D11BufferKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D11Buffer* resource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D11Texture2DKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D11Texture2D* resource,
UINT subresource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)subresource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromD3D11Texture3DKHR_unsupp(
cl_context context,
cl_mem_flags flags,
ID3D11Texture3D* resource,
UINT subresource,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)resource;
(void)subresource;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueAcquireD3D11ObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReleaseD3D11ObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_dx9_media_sharing
#if defined(_WIN32)
static cl_int CL_API_CALL clGetDeviceIDsFromDX9MediaAdapterKHR_unsupp(
cl_platform_id platform,
cl_uint num_media_adapters,
cl_dx9_media_adapter_type_khr* media_adapter_type,
void* media_adapters,
cl_dx9_media_adapter_set_khr media_adapter_set,
cl_uint num_entries,
cl_device_id* devices,
cl_uint* num_devices)
{
(void)platform;
(void)num_media_adapters;
(void)media_adapter_type;
(void)media_adapters;
(void)media_adapter_set;
(void)num_entries;
(void)devices;
(void)num_devices;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromDX9MediaSurfaceKHR_unsupp(
cl_context context,
cl_mem_flags flags,
cl_dx9_media_adapter_type_khr adapter_type,
void* surface_info,
cl_uint plane,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)adapter_type;
(void)surface_info;
(void)plane;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueAcquireDX9MediaSurfacesKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReleaseDX9MediaSurfacesKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_event
static cl_event CL_API_CALL clCreateEventFromEGLSyncKHR_unsupp(
cl_context context,
CLeglSyncKHR sync,
CLeglDisplayKHR display,
cl_int* errcode_ret)
{
(void)context;
(void)sync;
(void)display;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_image
static cl_mem CL_API_CALL clCreateFromEGLImageKHR_unsupp(
cl_context context,
CLeglDisplayKHR egldisplay,
CLeglImageKHR eglimage,
cl_mem_flags flags,
const cl_egl_image_properties_khr* properties,
cl_int* errcode_ret)
{
(void)context;
(void)egldisplay;
(void)eglimage;
(void)flags;
(void)properties;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueAcquireEGLObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReleaseEGLObjectsKHR_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_event
static cl_event CL_API_CALL clCreateEventFromGLsyncKHR_unsupp(
cl_context context,
cl_GLsync sync,
cl_int* errcode_ret)
{
(void)context;
(void)sync;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_sharing
static cl_int CL_API_CALL clGetGLContextInfoKHR_unsupp(
const cl_context_properties* properties,
cl_gl_context_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)properties;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromGLBuffer_unsupp(
cl_context context,
cl_mem_flags flags,
cl_GLuint bufobj,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)bufobj;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromGLTexture_unsupp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)target;
(void)miplevel;
(void)texture;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromGLRenderbuffer_unsupp(
cl_context context,
cl_mem_flags flags,
cl_GLuint renderbuffer,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)renderbuffer;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetGLObjectInfo_unsupp(
cl_mem memobj,
cl_gl_object_type* gl_object_type,
cl_GLuint* gl_object_name)
{
(void)memobj;
(void)gl_object_type;
(void)gl_object_name;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clGetGLTextureInfo_unsupp(
cl_mem memobj,
cl_gl_texture_info param_name,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)memobj;
(void)param_name;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueAcquireGLObjects_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_int CL_API_CALL clEnqueueReleaseGLObjects_unsupp(
cl_command_queue command_queue,
cl_uint num_objects,
const cl_mem* mem_objects,
cl_uint num_events_in_wait_list,
const cl_event* event_wait_list,
cl_event* event)
{
(void)command_queue;
(void)num_objects;
(void)mem_objects;
(void)num_events_in_wait_list;
(void)event_wait_list;
(void)event;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromGLTexture2D_unsupp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)target;
(void)miplevel;
(void)texture;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
static cl_mem CL_API_CALL clCreateFromGLTexture3D_unsupp(
cl_context context,
cl_mem_flags flags,
cl_GLenum target,
cl_GLint miplevel,
cl_GLuint texture,
cl_int* errcode_ret)
{
(void)context;
(void)flags;
(void)target;
(void)miplevel;
(void)texture;
(void)errcode_ret;
KHR_ICD_ERROR_RETURN_HANDLE(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
// cl_khr_subgroups
static cl_int CL_API_CALL clGetKernelSubGroupInfoKHR_unsupp(
cl_kernel in_kernel,
cl_device_id in_device,
cl_kernel_sub_group_info param_name,
size_t input_value_size,
const void* input_value,
size_t param_value_size,
void* param_value,
size_t* param_value_size_ret)
{
(void)in_kernel;
(void)in_device;
(void)param_name;
(void)input_value_size;
(void)input_value;
(void)param_value_size;
(void)param_value;
(void)param_value_size_ret;
KHR_ICD_ERROR_RETURN_ERROR(CL_INVALID_OPERATION);
}
///////////////////////////////////////////////////////////////////////////////
#endif // defined(CL_ENABLE_LOADER_MANAGED_DISPATCH) || defined(CL_ENABLE_LAYERS)
#if defined(CL_ENABLE_LAYERS)
const struct _cl_icd_dispatch khrDeinitDispatch = {
ICD_ANON_UNION_INIT_MEMBER(&clGetPlatformIDs_unsupp),
&clGetPlatformInfo_unsupp,
&clGetDeviceIDs_unsupp,
&clGetDeviceInfo_unsupp,
&clCreateContext_unsupp,
&clCreateContextFromType_unsupp,
&clRetainContext_unsupp,
&clReleaseContext_unsupp,
&clGetContextInfo_unsupp,
&clCreateCommandQueue_unsupp,
&clRetainCommandQueue_unsupp,
&clReleaseCommandQueue_unsupp,
&clGetCommandQueueInfo_unsupp,
&clSetCommandQueueProperty_unsupp,
&clCreateBuffer_unsupp,
&clCreateImage2D_unsupp,
&clCreateImage3D_unsupp,
&clRetainMemObject_unsupp,
&clReleaseMemObject_unsupp,
&clGetSupportedImageFormats_unsupp,
&clGetMemObjectInfo_unsupp,
&clGetImageInfo_unsupp,
&clCreateSampler_unsupp,
&clRetainSampler_unsupp,
&clReleaseSampler_unsupp,
&clGetSamplerInfo_unsupp,
&clCreateProgramWithSource_unsupp,
&clCreateProgramWithBinary_unsupp,
&clRetainProgram_unsupp,
&clReleaseProgram_unsupp,
&clBuildProgram_unsupp,
ICD_ANON_UNION_INIT_MEMBER(&clUnloadCompiler_unsupp),
&clGetProgramInfo_unsupp,
&clGetProgramBuildInfo_unsupp,
&clCreateKernel_unsupp,
&clCreateKernelsInProgram_unsupp,
&clRetainKernel_unsupp,
&clReleaseKernel_unsupp,
&clSetKernelArg_unsupp,
&clGetKernelInfo_unsupp,
&clGetKernelWorkGroupInfo_unsupp,
&clWaitForEvents_unsupp,
&clGetEventInfo_unsupp,
&clRetainEvent_unsupp,
&clReleaseEvent_unsupp,
&clGetEventProfilingInfo_unsupp,
&clFlush_unsupp,
&clFinish_unsupp,
&clEnqueueReadBuffer_unsupp,
&clEnqueueWriteBuffer_unsupp,
&clEnqueueCopyBuffer_unsupp,
&clEnqueueReadImage_unsupp,
&clEnqueueWriteImage_unsupp,
&clEnqueueCopyImage_unsupp,
&clEnqueueCopyImageToBuffer_unsupp,
&clEnqueueCopyBufferToImage_unsupp,
&clEnqueueMapBuffer_unsupp,
&clEnqueueMapImage_unsupp,
&clEnqueueUnmapMemObject_unsupp,
&clEnqueueNDRangeKernel_unsupp,
&clEnqueueTask_unsupp,
&clEnqueueNativeKernel_unsupp,
&clEnqueueMarker_unsupp,
&clEnqueueWaitForEvents_unsupp,
&clEnqueueBarrier_unsupp,
&clGetExtensionFunctionAddress_unsupp,
&clCreateFromGLBuffer_unsupp,
&clCreateFromGLTexture2D_unsupp,
&clCreateFromGLTexture3D_unsupp,
&clCreateFromGLRenderbuffer_unsupp,
&clGetGLObjectInfo_unsupp,
&clGetGLTextureInfo_unsupp,
&clEnqueueAcquireGLObjects_unsupp,
&clEnqueueReleaseGLObjects_unsupp,
&clGetGLContextInfoKHR_unsupp,
/* cl_khr_d3d10_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromD3D10KHR_unsupp,
&clCreateFromD3D10BufferKHR_unsupp,
&clCreateFromD3D10Texture2DKHR_unsupp,
&clCreateFromD3D10Texture3DKHR_unsupp,
&clEnqueueAcquireD3D10ObjectsKHR_unsupp,
&clEnqueueReleaseD3D10ObjectsKHR_unsupp,
#else
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
#endif
/* OpenCL 1.1 */
&clSetEventCallback_unsupp,
&clCreateSubBuffer_unsupp,
&clSetMemObjectDestructorCallback_unsupp,
&clCreateUserEvent_unsupp,
&clSetUserEventStatus_unsupp,
&clEnqueueReadBufferRect_unsupp,
&clEnqueueWriteBufferRect_unsupp,
&clEnqueueCopyBufferRect_unsupp,
/* cl_ext_device_fission */
&clCreateSubDevicesEXT_unsupp,
&clRetainDeviceEXT_unsupp,
&clReleaseDeviceEXT_unsupp,
/* cl_khr_gl_event */
&clCreateEventFromGLsyncKHR_unsupp,
/* OpenCL 1.2 */
&clCreateSubDevices_unsupp,
&clRetainDevice_unsupp,
&clReleaseDevice_unsupp,
&clCreateImage_unsupp,
&clCreateProgramWithBuiltInKernels_unsupp,
&clCompileProgram_unsupp,
&clLinkProgram_unsupp,
&clUnloadPlatformCompiler_unsupp,
&clGetKernelArgInfo_unsupp,
&clEnqueueFillBuffer_unsupp,
&clEnqueueFillImage_unsupp,
&clEnqueueMigrateMemObjects_unsupp,
&clEnqueueMarkerWithWaitList_unsupp,
&clEnqueueBarrierWithWaitList_unsupp,
&clGetExtensionFunctionAddressForPlatform_unsupp,
&clCreateFromGLTexture_unsupp,
/* cl_khr_d3d11_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromD3D11KHR_unsupp,
&clCreateFromD3D11BufferKHR_unsupp,
&clCreateFromD3D11Texture2DKHR_unsupp,
&clCreateFromD3D11Texture3DKHR_unsupp,
&clCreateFromDX9MediaSurfaceKHR_unsupp,
&clEnqueueAcquireD3D11ObjectsKHR_unsupp,
&clEnqueueReleaseD3D11ObjectsKHR_unsupp,
#else
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
#endif
/* cl_khr_dx9_media_sharing */
#if defined(_WIN32)
&clGetDeviceIDsFromDX9MediaAdapterKHR_unsupp,
&clEnqueueAcquireDX9MediaSurfacesKHR_unsupp,
&clEnqueueReleaseDX9MediaSurfacesKHR_unsupp,
#else
NULL,
NULL,
NULL,
#endif
/* cl_khr_egl_image */
&clCreateFromEGLImageKHR_unsupp,
&clEnqueueAcquireEGLObjectsKHR_unsupp,
&clEnqueueReleaseEGLObjectsKHR_unsupp,
/* cl_khr_egl_event */
&clCreateEventFromEGLSyncKHR_unsupp,
/* OpenCL 2.0 */
&clCreateCommandQueueWithProperties_unsupp,
&clCreatePipe_unsupp,
&clGetPipeInfo_unsupp,
&clSVMAlloc_unsupp,
&clSVMFree_unsupp,
&clEnqueueSVMFree_unsupp,
&clEnqueueSVMMemcpy_unsupp,
&clEnqueueSVMMemFill_unsupp,
&clEnqueueSVMMap_unsupp,
&clEnqueueSVMUnmap_unsupp,
&clCreateSamplerWithProperties_unsupp,
&clSetKernelArgSVMPointer_unsupp,
&clSetKernelExecInfo_unsupp,
/* cl_khr_sub_groups */
&clGetKernelSubGroupInfoKHR_unsupp,
/* OpenCL 2.1 */
&clCloneKernel_unsupp,
&clCreateProgramWithIL_unsupp,
&clEnqueueSVMMigrateMem_unsupp,
&clGetDeviceAndHostTimer_unsupp,
&clGetHostTimer_unsupp,
&clGetKernelSubGroupInfo_unsupp,
&clSetDefaultDeviceCommandQueue_unsupp,
/* OpenCL 2.2 */
&clSetProgramReleaseCallback_unsupp,
&clSetProgramSpecializationConstant_unsupp,
/* OpenCL 3.0 */
&clCreateBufferWithProperties_unsupp,
&clCreateImageWithProperties_unsupp,
&clSetContextDestructorCallback_unsupp,
/* OpenCL 3.1 */
&clGetKernelSuggestedLocalWorkSize_unsupp,
}
;
#endif // defined(CL_ENABLE_LAYERS)
#if defined(CL_ENABLE_LOADER_MANAGED_DISPATCH)
void khrIcd2PopulateDispatchTable(
cl_platform_id platform,
clIcdGetFunctionAddressForPlatformKHR_fn p_clIcdGetFunctionAddressForPlatform,
struct _cl_icd_dispatch* dispatch)
{
///////////////////////////////////////////////////////////////////////////////
// Core APIs:
dispatch->clGetPlatformIDs = (clGetPlatformIDs_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetPlatformIDs");
if (!dispatch->clGetPlatformIDs)
dispatch->clGetPlatformIDs = &clGetPlatformIDs_unsupp;
dispatch->clGetPlatformInfo = (clGetPlatformInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetPlatformInfo");
if (!dispatch->clGetPlatformInfo)
dispatch->clGetPlatformInfo = &clGetPlatformInfo_unsupp;
dispatch->clGetDeviceIDs = (clGetDeviceIDs_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceIDs");
if (!dispatch->clGetDeviceIDs)
dispatch->clGetDeviceIDs = &clGetDeviceIDs_unsupp;
dispatch->clGetDeviceInfo = (clGetDeviceInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceInfo");
if (!dispatch->clGetDeviceInfo)
dispatch->clGetDeviceInfo = &clGetDeviceInfo_unsupp;
dispatch->clCreateContext = (clCreateContext_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateContext");
if (!dispatch->clCreateContext)
dispatch->clCreateContext = &clCreateContext_unsupp;
dispatch->clCreateContextFromType = (clCreateContextFromType_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateContextFromType");
if (!dispatch->clCreateContextFromType)
dispatch->clCreateContextFromType = &clCreateContextFromType_unsupp;
dispatch->clRetainContext = (clRetainContext_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainContext");
if (!dispatch->clRetainContext)
dispatch->clRetainContext = &clRetainContext_unsupp;
dispatch->clReleaseContext = (clReleaseContext_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseContext");
if (!dispatch->clReleaseContext)
dispatch->clReleaseContext = &clReleaseContext_unsupp;
dispatch->clGetContextInfo = (clGetContextInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetContextInfo");
if (!dispatch->clGetContextInfo)
dispatch->clGetContextInfo = &clGetContextInfo_unsupp;
dispatch->clRetainCommandQueue = (clRetainCommandQueue_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainCommandQueue");
if (!dispatch->clRetainCommandQueue)
dispatch->clRetainCommandQueue = &clRetainCommandQueue_unsupp;
dispatch->clReleaseCommandQueue = (clReleaseCommandQueue_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseCommandQueue");
if (!dispatch->clReleaseCommandQueue)
dispatch->clReleaseCommandQueue = &clReleaseCommandQueue_unsupp;
dispatch->clGetCommandQueueInfo = (clGetCommandQueueInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetCommandQueueInfo");
if (!dispatch->clGetCommandQueueInfo)
dispatch->clGetCommandQueueInfo = &clGetCommandQueueInfo_unsupp;
dispatch->clCreateBuffer = (clCreateBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateBuffer");
if (!dispatch->clCreateBuffer)
dispatch->clCreateBuffer = &clCreateBuffer_unsupp;
dispatch->clRetainMemObject = (clRetainMemObject_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainMemObject");
if (!dispatch->clRetainMemObject)
dispatch->clRetainMemObject = &clRetainMemObject_unsupp;
dispatch->clReleaseMemObject = (clReleaseMemObject_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseMemObject");
if (!dispatch->clReleaseMemObject)
dispatch->clReleaseMemObject = &clReleaseMemObject_unsupp;
dispatch->clGetSupportedImageFormats = (clGetSupportedImageFormats_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetSupportedImageFormats");
if (!dispatch->clGetSupportedImageFormats)
dispatch->clGetSupportedImageFormats = &clGetSupportedImageFormats_unsupp;
dispatch->clGetMemObjectInfo = (clGetMemObjectInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetMemObjectInfo");
if (!dispatch->clGetMemObjectInfo)
dispatch->clGetMemObjectInfo = &clGetMemObjectInfo_unsupp;
dispatch->clGetImageInfo = (clGetImageInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetImageInfo");
if (!dispatch->clGetImageInfo)
dispatch->clGetImageInfo = &clGetImageInfo_unsupp;
dispatch->clRetainSampler = (clRetainSampler_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainSampler");
if (!dispatch->clRetainSampler)
dispatch->clRetainSampler = &clRetainSampler_unsupp;
dispatch->clReleaseSampler = (clReleaseSampler_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseSampler");
if (!dispatch->clReleaseSampler)
dispatch->clReleaseSampler = &clReleaseSampler_unsupp;
dispatch->clGetSamplerInfo = (clGetSamplerInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetSamplerInfo");
if (!dispatch->clGetSamplerInfo)
dispatch->clGetSamplerInfo = &clGetSamplerInfo_unsupp;
dispatch->clCreateProgramWithSource = (clCreateProgramWithSource_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateProgramWithSource");
if (!dispatch->clCreateProgramWithSource)
dispatch->clCreateProgramWithSource = &clCreateProgramWithSource_unsupp;
dispatch->clCreateProgramWithBinary = (clCreateProgramWithBinary_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateProgramWithBinary");
if (!dispatch->clCreateProgramWithBinary)
dispatch->clCreateProgramWithBinary = &clCreateProgramWithBinary_unsupp;
dispatch->clRetainProgram = (clRetainProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainProgram");
if (!dispatch->clRetainProgram)
dispatch->clRetainProgram = &clRetainProgram_unsupp;
dispatch->clReleaseProgram = (clReleaseProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseProgram");
if (!dispatch->clReleaseProgram)
dispatch->clReleaseProgram = &clReleaseProgram_unsupp;
dispatch->clBuildProgram = (clBuildProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clBuildProgram");
if (!dispatch->clBuildProgram)
dispatch->clBuildProgram = &clBuildProgram_unsupp;
dispatch->clGetProgramInfo = (clGetProgramInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetProgramInfo");
if (!dispatch->clGetProgramInfo)
dispatch->clGetProgramInfo = &clGetProgramInfo_unsupp;
dispatch->clGetProgramBuildInfo = (clGetProgramBuildInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetProgramBuildInfo");
if (!dispatch->clGetProgramBuildInfo)
dispatch->clGetProgramBuildInfo = &clGetProgramBuildInfo_unsupp;
dispatch->clCreateKernel = (clCreateKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateKernel");
if (!dispatch->clCreateKernel)
dispatch->clCreateKernel = &clCreateKernel_unsupp;
dispatch->clCreateKernelsInProgram = (clCreateKernelsInProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateKernelsInProgram");
if (!dispatch->clCreateKernelsInProgram)
dispatch->clCreateKernelsInProgram = &clCreateKernelsInProgram_unsupp;
dispatch->clRetainKernel = (clRetainKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainKernel");
if (!dispatch->clRetainKernel)
dispatch->clRetainKernel = &clRetainKernel_unsupp;
dispatch->clReleaseKernel = (clReleaseKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseKernel");
if (!dispatch->clReleaseKernel)
dispatch->clReleaseKernel = &clReleaseKernel_unsupp;
dispatch->clSetKernelArg = (clSetKernelArg_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetKernelArg");
if (!dispatch->clSetKernelArg)
dispatch->clSetKernelArg = &clSetKernelArg_unsupp;
dispatch->clGetKernelInfo = (clGetKernelInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelInfo");
if (!dispatch->clGetKernelInfo)
dispatch->clGetKernelInfo = &clGetKernelInfo_unsupp;
dispatch->clGetKernelWorkGroupInfo = (clGetKernelWorkGroupInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelWorkGroupInfo");
if (!dispatch->clGetKernelWorkGroupInfo)
dispatch->clGetKernelWorkGroupInfo = &clGetKernelWorkGroupInfo_unsupp;
dispatch->clWaitForEvents = (clWaitForEvents_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clWaitForEvents");
if (!dispatch->clWaitForEvents)
dispatch->clWaitForEvents = &clWaitForEvents_unsupp;
dispatch->clGetEventInfo = (clGetEventInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetEventInfo");
if (!dispatch->clGetEventInfo)
dispatch->clGetEventInfo = &clGetEventInfo_unsupp;
dispatch->clRetainEvent = (clRetainEvent_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainEvent");
if (!dispatch->clRetainEvent)
dispatch->clRetainEvent = &clRetainEvent_unsupp;
dispatch->clReleaseEvent = (clReleaseEvent_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseEvent");
if (!dispatch->clReleaseEvent)
dispatch->clReleaseEvent = &clReleaseEvent_unsupp;
dispatch->clGetEventProfilingInfo = (clGetEventProfilingInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetEventProfilingInfo");
if (!dispatch->clGetEventProfilingInfo)
dispatch->clGetEventProfilingInfo = &clGetEventProfilingInfo_unsupp;
dispatch->clFlush = (clFlush_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clFlush");
if (!dispatch->clFlush)
dispatch->clFlush = &clFlush_unsupp;
dispatch->clFinish = (clFinish_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clFinish");
if (!dispatch->clFinish)
dispatch->clFinish = &clFinish_unsupp;
dispatch->clEnqueueReadBuffer = (clEnqueueReadBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReadBuffer");
if (!dispatch->clEnqueueReadBuffer)
dispatch->clEnqueueReadBuffer = &clEnqueueReadBuffer_unsupp;
dispatch->clEnqueueWriteBuffer = (clEnqueueWriteBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueWriteBuffer");
if (!dispatch->clEnqueueWriteBuffer)
dispatch->clEnqueueWriteBuffer = &clEnqueueWriteBuffer_unsupp;
dispatch->clEnqueueCopyBuffer = (clEnqueueCopyBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueCopyBuffer");
if (!dispatch->clEnqueueCopyBuffer)
dispatch->clEnqueueCopyBuffer = &clEnqueueCopyBuffer_unsupp;
dispatch->clEnqueueReadImage = (clEnqueueReadImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReadImage");
if (!dispatch->clEnqueueReadImage)
dispatch->clEnqueueReadImage = &clEnqueueReadImage_unsupp;
dispatch->clEnqueueWriteImage = (clEnqueueWriteImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueWriteImage");
if (!dispatch->clEnqueueWriteImage)
dispatch->clEnqueueWriteImage = &clEnqueueWriteImage_unsupp;
dispatch->clEnqueueCopyImage = (clEnqueueCopyImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueCopyImage");
if (!dispatch->clEnqueueCopyImage)
dispatch->clEnqueueCopyImage = &clEnqueueCopyImage_unsupp;
dispatch->clEnqueueCopyImageToBuffer = (clEnqueueCopyImageToBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueCopyImageToBuffer");
if (!dispatch->clEnqueueCopyImageToBuffer)
dispatch->clEnqueueCopyImageToBuffer = &clEnqueueCopyImageToBuffer_unsupp;
dispatch->clEnqueueCopyBufferToImage = (clEnqueueCopyBufferToImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueCopyBufferToImage");
if (!dispatch->clEnqueueCopyBufferToImage)
dispatch->clEnqueueCopyBufferToImage = &clEnqueueCopyBufferToImage_unsupp;
dispatch->clEnqueueMapBuffer = (clEnqueueMapBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueMapBuffer");
if (!dispatch->clEnqueueMapBuffer)
dispatch->clEnqueueMapBuffer = &clEnqueueMapBuffer_unsupp;
dispatch->clEnqueueMapImage = (clEnqueueMapImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueMapImage");
if (!dispatch->clEnqueueMapImage)
dispatch->clEnqueueMapImage = &clEnqueueMapImage_unsupp;
dispatch->clEnqueueUnmapMemObject = (clEnqueueUnmapMemObject_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueUnmapMemObject");
if (!dispatch->clEnqueueUnmapMemObject)
dispatch->clEnqueueUnmapMemObject = &clEnqueueUnmapMemObject_unsupp;
dispatch->clEnqueueNDRangeKernel = (clEnqueueNDRangeKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueNDRangeKernel");
if (!dispatch->clEnqueueNDRangeKernel)
dispatch->clEnqueueNDRangeKernel = &clEnqueueNDRangeKernel_unsupp;
dispatch->clEnqueueNativeKernel = (clEnqueueNativeKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueNativeKernel");
if (!dispatch->clEnqueueNativeKernel)
dispatch->clEnqueueNativeKernel = &clEnqueueNativeKernel_unsupp;
dispatch->clSetCommandQueueProperty = (clSetCommandQueueProperty_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetCommandQueueProperty");
if (!dispatch->clSetCommandQueueProperty)
dispatch->clSetCommandQueueProperty = &clSetCommandQueueProperty_unsupp;
dispatch->clCreateImage2D = (clCreateImage2D_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateImage2D");
if (!dispatch->clCreateImage2D)
dispatch->clCreateImage2D = &clCreateImage2D_unsupp;
dispatch->clCreateImage3D = (clCreateImage3D_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateImage3D");
if (!dispatch->clCreateImage3D)
dispatch->clCreateImage3D = &clCreateImage3D_unsupp;
dispatch->clEnqueueMarker = (clEnqueueMarker_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueMarker");
if (!dispatch->clEnqueueMarker)
dispatch->clEnqueueMarker = &clEnqueueMarker_unsupp;
dispatch->clEnqueueWaitForEvents = (clEnqueueWaitForEvents_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueWaitForEvents");
if (!dispatch->clEnqueueWaitForEvents)
dispatch->clEnqueueWaitForEvents = &clEnqueueWaitForEvents_unsupp;
dispatch->clEnqueueBarrier = (clEnqueueBarrier_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueBarrier");
if (!dispatch->clEnqueueBarrier)
dispatch->clEnqueueBarrier = &clEnqueueBarrier_unsupp;
dispatch->clUnloadCompiler = (clUnloadCompiler_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clUnloadCompiler");
if (!dispatch->clUnloadCompiler)
dispatch->clUnloadCompiler = &clUnloadCompiler_unsupp;
dispatch->clGetExtensionFunctionAddress = (clGetExtensionFunctionAddress_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetExtensionFunctionAddress");
if (!dispatch->clGetExtensionFunctionAddress)
dispatch->clGetExtensionFunctionAddress = &clGetExtensionFunctionAddress_unsupp;
dispatch->clCreateCommandQueue = (clCreateCommandQueue_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateCommandQueue");
if (!dispatch->clCreateCommandQueue)
dispatch->clCreateCommandQueue = &clCreateCommandQueue_unsupp;
dispatch->clCreateSampler = (clCreateSampler_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateSampler");
if (!dispatch->clCreateSampler)
dispatch->clCreateSampler = &clCreateSampler_unsupp;
dispatch->clEnqueueTask = (clEnqueueTask_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueTask");
if (!dispatch->clEnqueueTask)
dispatch->clEnqueueTask = &clEnqueueTask_unsupp;
dispatch->clCreateSubBuffer = (clCreateSubBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateSubBuffer");
if (!dispatch->clCreateSubBuffer)
dispatch->clCreateSubBuffer = &clCreateSubBuffer_unsupp;
dispatch->clSetMemObjectDestructorCallback = (clSetMemObjectDestructorCallback_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetMemObjectDestructorCallback");
if (!dispatch->clSetMemObjectDestructorCallback)
dispatch->clSetMemObjectDestructorCallback = &clSetMemObjectDestructorCallback_unsupp;
dispatch->clCreateUserEvent = (clCreateUserEvent_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateUserEvent");
if (!dispatch->clCreateUserEvent)
dispatch->clCreateUserEvent = &clCreateUserEvent_unsupp;
dispatch->clSetUserEventStatus = (clSetUserEventStatus_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetUserEventStatus");
if (!dispatch->clSetUserEventStatus)
dispatch->clSetUserEventStatus = &clSetUserEventStatus_unsupp;
dispatch->clSetEventCallback = (clSetEventCallback_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetEventCallback");
if (!dispatch->clSetEventCallback)
dispatch->clSetEventCallback = &clSetEventCallback_unsupp;
dispatch->clEnqueueReadBufferRect = (clEnqueueReadBufferRect_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReadBufferRect");
if (!dispatch->clEnqueueReadBufferRect)
dispatch->clEnqueueReadBufferRect = &clEnqueueReadBufferRect_unsupp;
dispatch->clEnqueueWriteBufferRect = (clEnqueueWriteBufferRect_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueWriteBufferRect");
if (!dispatch->clEnqueueWriteBufferRect)
dispatch->clEnqueueWriteBufferRect = &clEnqueueWriteBufferRect_unsupp;
dispatch->clEnqueueCopyBufferRect = (clEnqueueCopyBufferRect_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueCopyBufferRect");
if (!dispatch->clEnqueueCopyBufferRect)
dispatch->clEnqueueCopyBufferRect = &clEnqueueCopyBufferRect_unsupp;
dispatch->clCreateSubDevices = (clCreateSubDevices_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateSubDevices");
if (!dispatch->clCreateSubDevices)
dispatch->clCreateSubDevices = &clCreateSubDevices_unsupp;
dispatch->clRetainDevice = (clRetainDevice_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainDevice");
if (!dispatch->clRetainDevice)
dispatch->clRetainDevice = &clRetainDevice_unsupp;
dispatch->clReleaseDevice = (clReleaseDevice_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseDevice");
if (!dispatch->clReleaseDevice)
dispatch->clReleaseDevice = &clReleaseDevice_unsupp;
dispatch->clCreateImage = (clCreateImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateImage");
if (!dispatch->clCreateImage)
dispatch->clCreateImage = &clCreateImage_unsupp;
dispatch->clCreateProgramWithBuiltInKernels = (clCreateProgramWithBuiltInKernels_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateProgramWithBuiltInKernels");
if (!dispatch->clCreateProgramWithBuiltInKernels)
dispatch->clCreateProgramWithBuiltInKernels = &clCreateProgramWithBuiltInKernels_unsupp;
dispatch->clCompileProgram = (clCompileProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCompileProgram");
if (!dispatch->clCompileProgram)
dispatch->clCompileProgram = &clCompileProgram_unsupp;
dispatch->clLinkProgram = (clLinkProgram_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clLinkProgram");
if (!dispatch->clLinkProgram)
dispatch->clLinkProgram = &clLinkProgram_unsupp;
dispatch->clUnloadPlatformCompiler = (clUnloadPlatformCompiler_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clUnloadPlatformCompiler");
if (!dispatch->clUnloadPlatformCompiler)
dispatch->clUnloadPlatformCompiler = &clUnloadPlatformCompiler_unsupp;
dispatch->clGetKernelArgInfo = (clGetKernelArgInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelArgInfo");
if (!dispatch->clGetKernelArgInfo)
dispatch->clGetKernelArgInfo = &clGetKernelArgInfo_unsupp;
dispatch->clEnqueueFillBuffer = (clEnqueueFillBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueFillBuffer");
if (!dispatch->clEnqueueFillBuffer)
dispatch->clEnqueueFillBuffer = &clEnqueueFillBuffer_unsupp;
dispatch->clEnqueueFillImage = (clEnqueueFillImage_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueFillImage");
if (!dispatch->clEnqueueFillImage)
dispatch->clEnqueueFillImage = &clEnqueueFillImage_unsupp;
dispatch->clEnqueueMigrateMemObjects = (clEnqueueMigrateMemObjects_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueMigrateMemObjects");
if (!dispatch->clEnqueueMigrateMemObjects)
dispatch->clEnqueueMigrateMemObjects = &clEnqueueMigrateMemObjects_unsupp;
dispatch->clEnqueueMarkerWithWaitList = (clEnqueueMarkerWithWaitList_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueMarkerWithWaitList");
if (!dispatch->clEnqueueMarkerWithWaitList)
dispatch->clEnqueueMarkerWithWaitList = &clEnqueueMarkerWithWaitList_unsupp;
dispatch->clEnqueueBarrierWithWaitList = (clEnqueueBarrierWithWaitList_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueBarrierWithWaitList");
if (!dispatch->clEnqueueBarrierWithWaitList)
dispatch->clEnqueueBarrierWithWaitList = &clEnqueueBarrierWithWaitList_unsupp;
dispatch->clGetExtensionFunctionAddressForPlatform = (clGetExtensionFunctionAddressForPlatform_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetExtensionFunctionAddressForPlatform");
if (!dispatch->clGetExtensionFunctionAddressForPlatform)
dispatch->clGetExtensionFunctionAddressForPlatform = &clGetExtensionFunctionAddressForPlatform_unsupp;
dispatch->clCreateCommandQueueWithProperties = (clCreateCommandQueueWithProperties_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateCommandQueueWithProperties");
if (!dispatch->clCreateCommandQueueWithProperties)
dispatch->clCreateCommandQueueWithProperties = &clCreateCommandQueueWithProperties_unsupp;
dispatch->clCreatePipe = (clCreatePipe_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreatePipe");
if (!dispatch->clCreatePipe)
dispatch->clCreatePipe = &clCreatePipe_unsupp;
dispatch->clGetPipeInfo = (clGetPipeInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetPipeInfo");
if (!dispatch->clGetPipeInfo)
dispatch->clGetPipeInfo = &clGetPipeInfo_unsupp;
dispatch->clSVMAlloc = (clSVMAlloc_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSVMAlloc");
if (!dispatch->clSVMAlloc)
dispatch->clSVMAlloc = &clSVMAlloc_unsupp;
dispatch->clSVMFree = (clSVMFree_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSVMFree");
if (!dispatch->clSVMFree)
dispatch->clSVMFree = &clSVMFree_unsupp;
dispatch->clCreateSamplerWithProperties = (clCreateSamplerWithProperties_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateSamplerWithProperties");
if (!dispatch->clCreateSamplerWithProperties)
dispatch->clCreateSamplerWithProperties = &clCreateSamplerWithProperties_unsupp;
dispatch->clSetKernelArgSVMPointer = (clSetKernelArgSVMPointer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetKernelArgSVMPointer");
if (!dispatch->clSetKernelArgSVMPointer)
dispatch->clSetKernelArgSVMPointer = &clSetKernelArgSVMPointer_unsupp;
dispatch->clSetKernelExecInfo = (clSetKernelExecInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetKernelExecInfo");
if (!dispatch->clSetKernelExecInfo)
dispatch->clSetKernelExecInfo = &clSetKernelExecInfo_unsupp;
dispatch->clEnqueueSVMFree = (clEnqueueSVMFree_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMFree");
if (!dispatch->clEnqueueSVMFree)
dispatch->clEnqueueSVMFree = &clEnqueueSVMFree_unsupp;
dispatch->clEnqueueSVMMemcpy = (clEnqueueSVMMemcpy_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMMemcpy");
if (!dispatch->clEnqueueSVMMemcpy)
dispatch->clEnqueueSVMMemcpy = &clEnqueueSVMMemcpy_unsupp;
dispatch->clEnqueueSVMMemFill = (clEnqueueSVMMemFill_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMMemFill");
if (!dispatch->clEnqueueSVMMemFill)
dispatch->clEnqueueSVMMemFill = &clEnqueueSVMMemFill_unsupp;
dispatch->clEnqueueSVMMap = (clEnqueueSVMMap_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMMap");
if (!dispatch->clEnqueueSVMMap)
dispatch->clEnqueueSVMMap = &clEnqueueSVMMap_unsupp;
dispatch->clEnqueueSVMUnmap = (clEnqueueSVMUnmap_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMUnmap");
if (!dispatch->clEnqueueSVMUnmap)
dispatch->clEnqueueSVMUnmap = &clEnqueueSVMUnmap_unsupp;
dispatch->clSetDefaultDeviceCommandQueue = (clSetDefaultDeviceCommandQueue_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetDefaultDeviceCommandQueue");
if (!dispatch->clSetDefaultDeviceCommandQueue)
dispatch->clSetDefaultDeviceCommandQueue = &clSetDefaultDeviceCommandQueue_unsupp;
dispatch->clGetDeviceAndHostTimer = (clGetDeviceAndHostTimer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceAndHostTimer");
if (!dispatch->clGetDeviceAndHostTimer)
dispatch->clGetDeviceAndHostTimer = &clGetDeviceAndHostTimer_unsupp;
dispatch->clGetHostTimer = (clGetHostTimer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetHostTimer");
if (!dispatch->clGetHostTimer)
dispatch->clGetHostTimer = &clGetHostTimer_unsupp;
dispatch->clCreateProgramWithIL = (clCreateProgramWithIL_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateProgramWithIL");
if (!dispatch->clCreateProgramWithIL)
dispatch->clCreateProgramWithIL = &clCreateProgramWithIL_unsupp;
dispatch->clCloneKernel = (clCloneKernel_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCloneKernel");
if (!dispatch->clCloneKernel)
dispatch->clCloneKernel = &clCloneKernel_unsupp;
dispatch->clGetKernelSubGroupInfo = (clGetKernelSubGroupInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelSubGroupInfo");
if (!dispatch->clGetKernelSubGroupInfo)
dispatch->clGetKernelSubGroupInfo = &clGetKernelSubGroupInfo_unsupp;
dispatch->clEnqueueSVMMigrateMem = (clEnqueueSVMMigrateMem_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueSVMMigrateMem");
if (!dispatch->clEnqueueSVMMigrateMem)
dispatch->clEnqueueSVMMigrateMem = &clEnqueueSVMMigrateMem_unsupp;
dispatch->clSetProgramSpecializationConstant = (clSetProgramSpecializationConstant_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetProgramSpecializationConstant");
if (!dispatch->clSetProgramSpecializationConstant)
dispatch->clSetProgramSpecializationConstant = &clSetProgramSpecializationConstant_unsupp;
dispatch->clSetProgramReleaseCallback = (clSetProgramReleaseCallback_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetProgramReleaseCallback");
if (!dispatch->clSetProgramReleaseCallback)
dispatch->clSetProgramReleaseCallback = &clSetProgramReleaseCallback_unsupp;
dispatch->clSetContextDestructorCallback = (clSetContextDestructorCallback_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clSetContextDestructorCallback");
if (!dispatch->clSetContextDestructorCallback)
dispatch->clSetContextDestructorCallback = &clSetContextDestructorCallback_unsupp;
dispatch->clCreateBufferWithProperties = (clCreateBufferWithProperties_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateBufferWithProperties");
if (!dispatch->clCreateBufferWithProperties)
dispatch->clCreateBufferWithProperties = &clCreateBufferWithProperties_unsupp;
dispatch->clCreateImageWithProperties = (clCreateImageWithProperties_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateImageWithProperties");
if (!dispatch->clCreateImageWithProperties)
dispatch->clCreateImageWithProperties = &clCreateImageWithProperties_unsupp;
dispatch->clGetKernelSuggestedLocalWorkSize = (clGetKernelSuggestedLocalWorkSize_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelSuggestedLocalWorkSize");
if (!dispatch->clGetKernelSuggestedLocalWorkSize)
dispatch->clGetKernelSuggestedLocalWorkSize = &clGetKernelSuggestedLocalWorkSize_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_ext_device_fission
dispatch->clReleaseDeviceEXT = (clReleaseDeviceEXT_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clReleaseDeviceEXT");
if (!dispatch->clReleaseDeviceEXT)
dispatch->clReleaseDeviceEXT = &clReleaseDeviceEXT_unsupp;
dispatch->clRetainDeviceEXT = (clRetainDeviceEXT_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clRetainDeviceEXT");
if (!dispatch->clRetainDeviceEXT)
dispatch->clRetainDeviceEXT = &clRetainDeviceEXT_unsupp;
dispatch->clCreateSubDevicesEXT = (clCreateSubDevicesEXT_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateSubDevicesEXT");
if (!dispatch->clCreateSubDevicesEXT)
dispatch->clCreateSubDevicesEXT = &clCreateSubDevicesEXT_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d10_sharing
#if defined(_WIN32)
dispatch->clGetDeviceIDsFromD3D10KHR = (clGetDeviceIDsFromD3D10KHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceIDsFromD3D10KHR");
if (!dispatch->clGetDeviceIDsFromD3D10KHR)
dispatch->clGetDeviceIDsFromD3D10KHR = &clGetDeviceIDsFromD3D10KHR_unsupp;
dispatch->clCreateFromD3D10BufferKHR = (clCreateFromD3D10BufferKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D10BufferKHR");
if (!dispatch->clCreateFromD3D10BufferKHR)
dispatch->clCreateFromD3D10BufferKHR = &clCreateFromD3D10BufferKHR_unsupp;
dispatch->clCreateFromD3D10Texture2DKHR = (clCreateFromD3D10Texture2DKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D10Texture2DKHR");
if (!dispatch->clCreateFromD3D10Texture2DKHR)
dispatch->clCreateFromD3D10Texture2DKHR = &clCreateFromD3D10Texture2DKHR_unsupp;
dispatch->clCreateFromD3D10Texture3DKHR = (clCreateFromD3D10Texture3DKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D10Texture3DKHR");
if (!dispatch->clCreateFromD3D10Texture3DKHR)
dispatch->clCreateFromD3D10Texture3DKHR = &clCreateFromD3D10Texture3DKHR_unsupp;
dispatch->clEnqueueAcquireD3D10ObjectsKHR = (clEnqueueAcquireD3D10ObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueAcquireD3D10ObjectsKHR");
if (!dispatch->clEnqueueAcquireD3D10ObjectsKHR)
dispatch->clEnqueueAcquireD3D10ObjectsKHR = &clEnqueueAcquireD3D10ObjectsKHR_unsupp;
dispatch->clEnqueueReleaseD3D10ObjectsKHR = (clEnqueueReleaseD3D10ObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReleaseD3D10ObjectsKHR");
if (!dispatch->clEnqueueReleaseD3D10ObjectsKHR)
dispatch->clEnqueueReleaseD3D10ObjectsKHR = &clEnqueueReleaseD3D10ObjectsKHR_unsupp;
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_d3d11_sharing
#if defined(_WIN32)
dispatch->clGetDeviceIDsFromD3D11KHR = (clGetDeviceIDsFromD3D11KHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceIDsFromD3D11KHR");
if (!dispatch->clGetDeviceIDsFromD3D11KHR)
dispatch->clGetDeviceIDsFromD3D11KHR = &clGetDeviceIDsFromD3D11KHR_unsupp;
dispatch->clCreateFromD3D11BufferKHR = (clCreateFromD3D11BufferKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D11BufferKHR");
if (!dispatch->clCreateFromD3D11BufferKHR)
dispatch->clCreateFromD3D11BufferKHR = &clCreateFromD3D11BufferKHR_unsupp;
dispatch->clCreateFromD3D11Texture2DKHR = (clCreateFromD3D11Texture2DKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D11Texture2DKHR");
if (!dispatch->clCreateFromD3D11Texture2DKHR)
dispatch->clCreateFromD3D11Texture2DKHR = &clCreateFromD3D11Texture2DKHR_unsupp;
dispatch->clCreateFromD3D11Texture3DKHR = (clCreateFromD3D11Texture3DKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromD3D11Texture3DKHR");
if (!dispatch->clCreateFromD3D11Texture3DKHR)
dispatch->clCreateFromD3D11Texture3DKHR = &clCreateFromD3D11Texture3DKHR_unsupp;
dispatch->clEnqueueAcquireD3D11ObjectsKHR = (clEnqueueAcquireD3D11ObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueAcquireD3D11ObjectsKHR");
if (!dispatch->clEnqueueAcquireD3D11ObjectsKHR)
dispatch->clEnqueueAcquireD3D11ObjectsKHR = &clEnqueueAcquireD3D11ObjectsKHR_unsupp;
dispatch->clEnqueueReleaseD3D11ObjectsKHR = (clEnqueueReleaseD3D11ObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReleaseD3D11ObjectsKHR");
if (!dispatch->clEnqueueReleaseD3D11ObjectsKHR)
dispatch->clEnqueueReleaseD3D11ObjectsKHR = &clEnqueueReleaseD3D11ObjectsKHR_unsupp;
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_dx9_media_sharing
#if defined(_WIN32)
dispatch->clGetDeviceIDsFromDX9MediaAdapterKHR = (clGetDeviceIDsFromDX9MediaAdapterKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetDeviceIDsFromDX9MediaAdapterKHR");
if (!dispatch->clGetDeviceIDsFromDX9MediaAdapterKHR)
dispatch->clGetDeviceIDsFromDX9MediaAdapterKHR = &clGetDeviceIDsFromDX9MediaAdapterKHR_unsupp;
dispatch->clCreateFromDX9MediaSurfaceKHR = (clCreateFromDX9MediaSurfaceKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromDX9MediaSurfaceKHR");
if (!dispatch->clCreateFromDX9MediaSurfaceKHR)
dispatch->clCreateFromDX9MediaSurfaceKHR = &clCreateFromDX9MediaSurfaceKHR_unsupp;
dispatch->clEnqueueAcquireDX9MediaSurfacesKHR = (clEnqueueAcquireDX9MediaSurfacesKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueAcquireDX9MediaSurfacesKHR");
if (!dispatch->clEnqueueAcquireDX9MediaSurfacesKHR)
dispatch->clEnqueueAcquireDX9MediaSurfacesKHR = &clEnqueueAcquireDX9MediaSurfacesKHR_unsupp;
dispatch->clEnqueueReleaseDX9MediaSurfacesKHR = (clEnqueueReleaseDX9MediaSurfacesKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReleaseDX9MediaSurfacesKHR");
if (!dispatch->clEnqueueReleaseDX9MediaSurfacesKHR)
dispatch->clEnqueueReleaseDX9MediaSurfacesKHR = &clEnqueueReleaseDX9MediaSurfacesKHR_unsupp;
#endif // defined(_WIN32)
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_event
dispatch->clCreateEventFromEGLSyncKHR = (clCreateEventFromEGLSyncKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateEventFromEGLSyncKHR");
if (!dispatch->clCreateEventFromEGLSyncKHR)
dispatch->clCreateEventFromEGLSyncKHR = &clCreateEventFromEGLSyncKHR_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_khr_egl_image
dispatch->clCreateFromEGLImageKHR = (clCreateFromEGLImageKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromEGLImageKHR");
if (!dispatch->clCreateFromEGLImageKHR)
dispatch->clCreateFromEGLImageKHR = &clCreateFromEGLImageKHR_unsupp;
dispatch->clEnqueueAcquireEGLObjectsKHR = (clEnqueueAcquireEGLObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueAcquireEGLObjectsKHR");
if (!dispatch->clEnqueueAcquireEGLObjectsKHR)
dispatch->clEnqueueAcquireEGLObjectsKHR = &clEnqueueAcquireEGLObjectsKHR_unsupp;
dispatch->clEnqueueReleaseEGLObjectsKHR = (clEnqueueReleaseEGLObjectsKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReleaseEGLObjectsKHR");
if (!dispatch->clEnqueueReleaseEGLObjectsKHR)
dispatch->clEnqueueReleaseEGLObjectsKHR = &clEnqueueReleaseEGLObjectsKHR_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_event
dispatch->clCreateEventFromGLsyncKHR = (clCreateEventFromGLsyncKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateEventFromGLsyncKHR");
if (!dispatch->clCreateEventFromGLsyncKHR)
dispatch->clCreateEventFromGLsyncKHR = &clCreateEventFromGLsyncKHR_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_khr_gl_sharing
dispatch->clGetGLContextInfoKHR = (clGetGLContextInfoKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetGLContextInfoKHR");
if (!dispatch->clGetGLContextInfoKHR)
dispatch->clGetGLContextInfoKHR = &clGetGLContextInfoKHR_unsupp;
dispatch->clCreateFromGLBuffer = (clCreateFromGLBuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromGLBuffer");
if (!dispatch->clCreateFromGLBuffer)
dispatch->clCreateFromGLBuffer = &clCreateFromGLBuffer_unsupp;
dispatch->clCreateFromGLTexture = (clCreateFromGLTexture_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromGLTexture");
if (!dispatch->clCreateFromGLTexture)
dispatch->clCreateFromGLTexture = &clCreateFromGLTexture_unsupp;
dispatch->clCreateFromGLRenderbuffer = (clCreateFromGLRenderbuffer_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromGLRenderbuffer");
if (!dispatch->clCreateFromGLRenderbuffer)
dispatch->clCreateFromGLRenderbuffer = &clCreateFromGLRenderbuffer_unsupp;
dispatch->clGetGLObjectInfo = (clGetGLObjectInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetGLObjectInfo");
if (!dispatch->clGetGLObjectInfo)
dispatch->clGetGLObjectInfo = &clGetGLObjectInfo_unsupp;
dispatch->clGetGLTextureInfo = (clGetGLTextureInfo_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetGLTextureInfo");
if (!dispatch->clGetGLTextureInfo)
dispatch->clGetGLTextureInfo = &clGetGLTextureInfo_unsupp;
dispatch->clEnqueueAcquireGLObjects = (clEnqueueAcquireGLObjects_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueAcquireGLObjects");
if (!dispatch->clEnqueueAcquireGLObjects)
dispatch->clEnqueueAcquireGLObjects = &clEnqueueAcquireGLObjects_unsupp;
dispatch->clEnqueueReleaseGLObjects = (clEnqueueReleaseGLObjects_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clEnqueueReleaseGLObjects");
if (!dispatch->clEnqueueReleaseGLObjects)
dispatch->clEnqueueReleaseGLObjects = &clEnqueueReleaseGLObjects_unsupp;
dispatch->clCreateFromGLTexture2D = (clCreateFromGLTexture2D_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromGLTexture2D");
if (!dispatch->clCreateFromGLTexture2D)
dispatch->clCreateFromGLTexture2D = &clCreateFromGLTexture2D_unsupp;
dispatch->clCreateFromGLTexture3D = (clCreateFromGLTexture3D_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clCreateFromGLTexture3D");
if (!dispatch->clCreateFromGLTexture3D)
dispatch->clCreateFromGLTexture3D = &clCreateFromGLTexture3D_unsupp;
///////////////////////////////////////////////////////////////////////////////
// cl_khr_subgroups
dispatch->clGetKernelSubGroupInfoKHR = (clGetKernelSubGroupInfoKHR_t *)(size_t)p_clIcdGetFunctionAddressForPlatform(platform, "clGetKernelSubGroupInfoKHR");
if (!dispatch->clGetKernelSubGroupInfoKHR)
dispatch->clGetKernelSubGroupInfoKHR = &clGetKernelSubGroupInfoKHR_unsupp;
///////////////////////////////////////////////////////////////////////////////
}
#endif // defined(CL_ENABLE_LOADER_MANAGED_DISPATCH)
#ifdef __cplusplus
}
#endif