P4 to Git Change 1116207 by lmoriche@lmoriche_opencl_dev on 2015/01/28 16:35:43
ECR #304775 - SVN update 2015-01-09 (r29395).
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d9.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d9_amd.hpp#16 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#14 integrate
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/OpenCL.rc#15 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/icd_dispatch.c#25 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/icd_dispatch.h#20 edit
[ROCm/clr commit: 928ed16c6d]
Este commit está contenido en:
@@ -225,7 +225,7 @@ RUNTIME_EXIT
|
||||
RUNTIME_ENTRY(cl_int, clEnqueueReleaseDX9MediaSurfacesKHR, (
|
||||
cl_command_queue command_queue,
|
||||
cl_uint num_objects,
|
||||
cl_mem * mem_objects,
|
||||
const cl_mem * mem_objects,
|
||||
cl_uint num_events_in_wait_list,
|
||||
const cl_event * event_wait_list,
|
||||
cl_event * event))
|
||||
|
||||
@@ -144,7 +144,7 @@ extern CL_API_ENTRY cl_int CL_API_CALL
|
||||
clEnqueueReleaseDX9MediaSurfacesKHR(
|
||||
cl_command_queue,
|
||||
cl_uint,
|
||||
cl_mem *,
|
||||
const cl_mem *,
|
||||
cl_uint,
|
||||
const cl_event *,
|
||||
cl_event *);
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
#ifdef RC_INVOKED
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 2,0,1,0
|
||||
PRODUCTVERSION 2,0,1,0
|
||||
FILEVERSION 2,0,3,0
|
||||
PRODUCTVERSION 2,0,3,0
|
||||
FILETYPE VFT_DLL
|
||||
|
||||
BEGIN
|
||||
@@ -55,7 +55,7 @@ BEGIN
|
||||
VALUE "FileDescription" ,"OpenCL Client DLL"
|
||||
VALUE "ProductName" ,"Khronos OpenCL ICD"
|
||||
VALUE "LegalCopyright" ,"Copyright \251 The Khronos Group Inc 2014"
|
||||
VALUE "FileVersion" ,"2.0.1.0"
|
||||
VALUE "FileVersion" ,"2.0.3.0"
|
||||
|
||||
VALUE "CompanyName" ,"Khronos Group"
|
||||
VALUE "InternalName" ,"OpenCL"
|
||||
|
||||
@@ -276,20 +276,6 @@ clCreateCommandQueue(cl_context context,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreateCommandQueueWithProperties(
|
||||
context,
|
||||
device,
|
||||
properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clRetainCommandQueue(cl_command_queue command_queue) CL_API_SUFFIX__VERSION_1_0
|
||||
{
|
||||
@@ -437,18 +423,6 @@ clCreateSampler(cl_context context,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_sampler CL_API_CALL
|
||||
clCreateSamplerWithProperties(cl_context context,
|
||||
const cl_sampler_properties * properties,
|
||||
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreateSamplerWithProperties(
|
||||
context,
|
||||
properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clRetainSampler(cl_sampler sampler) CL_API_SUFFIX__VERSION_1_0
|
||||
{
|
||||
@@ -1440,6 +1414,11 @@ clGetExtensionFunctionAddressForPlatform(cl_platform_id platform,
|
||||
/* cl_khr_egl_event */
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clCreateEventFromEGLSyncKHR);
|
||||
|
||||
/* cl_khr_sub_groups */
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clGetKernelSubGroupInfoKHR);
|
||||
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clTerminateContextKHR);
|
||||
|
||||
// fall back to vendor extension detection
|
||||
|
||||
// FIXME Now that we have a platform id here, we need to validate that it isn't NULL, so shouldn't we have an errcode_ret
|
||||
@@ -1643,6 +1622,11 @@ clGetExtensionFunctionAddress(const char *function_name) CL_EXT_SUFFIX__VERSION_
|
||||
/* cl_khr_egl_event */
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clCreateEventFromEGLSyncKHR);
|
||||
|
||||
/* cl_khr_sub_groups */
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clGetKernelSubGroupInfoKHR);
|
||||
|
||||
CL_COMMON_EXTENSION_ENTRYPOINT_ADD(clTerminateContextKHR);
|
||||
|
||||
// fall back to vendor extension detection
|
||||
for (vendor = khrIcdState.vendors; vendor; vendor = vendor->next)
|
||||
{
|
||||
@@ -2142,7 +2126,7 @@ CL_API_ENTRY cl_int CL_API_CALL
|
||||
clEnqueueReleaseDX9MediaSurfacesKHR(
|
||||
cl_command_queue command_queue,
|
||||
cl_uint num_objects,
|
||||
cl_mem * mem_objects,
|
||||
const cl_mem * mem_objects,
|
||||
cl_uint num_events_in_wait_list,
|
||||
const cl_event * event_wait_list,
|
||||
cl_event * event)
|
||||
@@ -2226,229 +2210,6 @@ clSetUserEventStatus(
|
||||
execution_status);
|
||||
}
|
||||
|
||||
CL_API_ENTRY void * CL_API_CALL
|
||||
clSVMAlloc(cl_context context,
|
||||
cl_svm_mem_flags flags,
|
||||
size_t size,
|
||||
cl_uint alignment) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, NULL);
|
||||
return context->dispatch->clSVMAlloc(
|
||||
context,
|
||||
flags,
|
||||
size,
|
||||
alignment);
|
||||
}
|
||||
|
||||
CL_API_ENTRY void CL_API_CALL
|
||||
clSVMFree(cl_context context,
|
||||
void * svm_pointer) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE(context);
|
||||
context->dispatch->clSVMFree(
|
||||
context,
|
||||
svm_pointer);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clSetKernelArgSVMPointer(cl_kernel kernel,
|
||||
cl_uint arg_index,
|
||||
const void * arg_value) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
|
||||
return kernel->dispatch->clSetKernelArgSVMPointer(
|
||||
kernel,
|
||||
arg_index,
|
||||
arg_value);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
|
||||
return kernel->dispatch->clSetKernelExecInfo(
|
||||
kernel,
|
||||
param_name,
|
||||
param_value_size,
|
||||
param_value);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMFree(
|
||||
command_queue,
|
||||
num_svm_pointers,
|
||||
svm_pointers,
|
||||
pfn_free_func,
|
||||
user_data,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMemcpy(
|
||||
command_queue,
|
||||
blocking_copy,
|
||||
dst_ptr,
|
||||
src_ptr,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMemFill(
|
||||
command_queue,
|
||||
svm_ptr,
|
||||
pattern,
|
||||
pattern_size,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMap(
|
||||
command_queue,
|
||||
blocking_map,
|
||||
flags,
|
||||
svm_ptr,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMUnmap(
|
||||
command_queue,
|
||||
svm_ptr,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreatePipe(
|
||||
context,
|
||||
flags,
|
||||
pipe_packet_size,
|
||||
pipe_max_packets,
|
||||
properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clGetPipeInfo(cl_mem pipe,
|
||||
cl_image_info param_name,
|
||||
size_t param_value_size,
|
||||
void * param_value,
|
||||
size_t * param_value_size_ret) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(pipe, CL_INVALID_MEM_OBJECT);
|
||||
return pipe->dispatch->clGetPipeInfo(
|
||||
pipe,
|
||||
param_name,
|
||||
param_value_size,
|
||||
param_value,
|
||||
param_value_size_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clGetKernelSubGroupInfoKHR(
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
|
||||
return kernel->dispatch->clGetKernelSubGroupInfoKHR(
|
||||
kernel,
|
||||
device,
|
||||
param_name,
|
||||
input_value_size,
|
||||
input_value,
|
||||
param_value_size,
|
||||
param_value,
|
||||
param_value_size_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clTerminateContextKHR(
|
||||
cl_context context) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clTerminateContextKHR(context);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_mem CL_API_CALL
|
||||
clCreateFromEGLImageKHR(
|
||||
cl_context context,
|
||||
@@ -2522,3 +2283,269 @@ clCreateEventFromEGLSyncKHR(
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreateCommandQueueWithProperties(
|
||||
context,
|
||||
device,
|
||||
properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreatePipe(
|
||||
context,
|
||||
flags,
|
||||
pipe_packet_size,
|
||||
pipe_max_packets,
|
||||
properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(pipe, CL_INVALID_MEM_OBJECT);
|
||||
return pipe->dispatch->clGetPipeInfo(
|
||||
pipe,
|
||||
param_name,
|
||||
param_value_size,
|
||||
param_value,
|
||||
param_value_size_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY void * CL_API_CALL
|
||||
clSVMAlloc(
|
||||
cl_context context,
|
||||
cl_svm_mem_flags flags,
|
||||
size_t size,
|
||||
cl_uint alignment) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
if (!context) {
|
||||
return NULL;
|
||||
}
|
||||
return context->dispatch->clSVMAlloc(
|
||||
context,
|
||||
flags,
|
||||
size,
|
||||
alignment);
|
||||
}
|
||||
|
||||
CL_API_ENTRY void CL_API_CALL
|
||||
clSVMFree(
|
||||
cl_context context,
|
||||
void * svm_pointer) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
if (!context || !svm_pointer) {
|
||||
return;
|
||||
}
|
||||
context->dispatch->clSVMFree(
|
||||
context,
|
||||
svm_pointer);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMFree(
|
||||
command_queue,
|
||||
num_svm_pointers,
|
||||
svm_pointers,
|
||||
pfn_free_func,
|
||||
user_data,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMemcpy(
|
||||
command_queue,
|
||||
blocking_copy,
|
||||
dst_ptr,
|
||||
src_ptr,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMemFill(
|
||||
command_queue,
|
||||
svm_ptr,
|
||||
pattern,
|
||||
pattern_size,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMMap(
|
||||
command_queue,
|
||||
blocking_map,
|
||||
flags,
|
||||
svm_ptr,
|
||||
size,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(command_queue, CL_INVALID_COMMAND_QUEUE);
|
||||
return command_queue->dispatch->clEnqueueSVMUnmap(
|
||||
command_queue,
|
||||
svm_ptr,
|
||||
num_events_in_wait_list,
|
||||
event_wait_list,
|
||||
event);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_sampler CL_API_CALL
|
||||
clCreateSamplerWithProperties(
|
||||
cl_context context,
|
||||
const cl_sampler_properties * sampler_properties,
|
||||
cl_int * errcode_ret) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_HANDLE(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clCreateSamplerWithProperties(
|
||||
context,
|
||||
sampler_properties,
|
||||
errcode_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clSetKernelArgSVMPointer(
|
||||
cl_kernel kernel,
|
||||
cl_uint arg_index,
|
||||
const void * arg_value) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
|
||||
return kernel->dispatch->clSetKernelArgSVMPointer(
|
||||
kernel,
|
||||
arg_index,
|
||||
arg_value);
|
||||
}
|
||||
|
||||
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) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(kernel, CL_INVALID_KERNEL);
|
||||
return kernel->dispatch->clSetKernelExecInfo(
|
||||
kernel,
|
||||
param_name,
|
||||
param_value_size,
|
||||
param_value);
|
||||
}
|
||||
|
||||
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) CL_EXT_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(in_kernel, CL_INVALID_KERNEL);
|
||||
return in_kernel->dispatch->clGetKernelSubGroupInfoKHR(
|
||||
in_kernel,
|
||||
in_device,
|
||||
param_name,
|
||||
input_value_size,
|
||||
input_value,
|
||||
param_value_size,
|
||||
param_value,
|
||||
param_value_size_ret);
|
||||
}
|
||||
|
||||
CL_API_ENTRY cl_int CL_API_CALL
|
||||
clTerminateContextKHR(
|
||||
cl_context context) CL_API_SUFFIX__VERSION_2_0
|
||||
{
|
||||
KHR_ICD_VALIDATE_HANDLE_RETURN_ERROR(context, CL_INVALID_CONTEXT);
|
||||
return context->dispatch->clTerminateContextKHR(context);
|
||||
}
|
||||
|
||||
|
||||
@@ -392,6 +392,16 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *KHRpfn_clSetKernelExecInfo)(
|
||||
size_t /* param_value_size */,
|
||||
const void * /* param_value */) CL_API_SUFFIX__VERSION_2_0;
|
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL *KHRpfn_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*/) CL_EXT_SUFFIX__VERSION_2_0;
|
||||
|
||||
// Event Object APIs
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL *KHRpfn_clWaitForEvents)(
|
||||
cl_uint num_events,
|
||||
@@ -1023,7 +1033,7 @@ typedef CL_API_ENTRY cl_int (CL_API_CALL *KHRpfn_clEnqueueAcquireDX9MediaSurface
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL *KHRpfn_clEnqueueReleaseDX9MediaSurfacesKHR)(
|
||||
cl_command_queue command_queue,
|
||||
cl_uint num_objects,
|
||||
cl_mem * mem_objects,
|
||||
const cl_mem * mem_objects,
|
||||
cl_uint num_events_in_wait_list,
|
||||
const cl_event * event_wait_list,
|
||||
cl_event * event) CL_API_SUFFIX__VERSION_1_2;
|
||||
@@ -1114,7 +1124,7 @@ extern CL_API_ENTRY cl_int CL_API_CALL
|
||||
clEnqueueReleaseDX9MediaSurfacesKHR(
|
||||
cl_command_queue command_queue,
|
||||
cl_uint num_objects,
|
||||
cl_mem * mem_objects,
|
||||
const cl_mem * mem_objects,
|
||||
cl_uint num_events_in_wait_list,
|
||||
const cl_event * event_wait_list,
|
||||
cl_event * event);
|
||||
@@ -1218,16 +1228,6 @@ typedef CL_API_ENTRY cl_event (CL_API_CALL *KHRpfn_clCreateEventFromEGLSyncKHR)(
|
||||
CLeglDisplayKHR display,
|
||||
cl_int *errcode_ret);
|
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL * KHRpfn_clGetKernelSubGroupInfoKHR)(
|
||||
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) CL_API_SUFFIX__VERSION_2_0;
|
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL * KHRpfn_clTerminateContextKHR)(
|
||||
cl_context context) CL_API_SUFFIX__VERSION_2_0;
|
||||
|
||||
@@ -1403,7 +1403,9 @@ struct KHRicdVendorDispatchRec
|
||||
KHRpfn_clSetKernelArgSVMPointer clSetKernelArgSVMPointer;
|
||||
KHRpfn_clSetKernelExecInfo clSetKernelExecInfo;
|
||||
|
||||
/* cl_khr_sub_groups */
|
||||
KHRpfn_clGetKernelSubGroupInfoKHR clGetKernelSubGroupInfoKHR;
|
||||
|
||||
KHRpfn_clTerminateContextKHR clTerminateContextKHR;
|
||||
};
|
||||
|
||||
|
||||
Referencia en una nueva incidencia
Block a user