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:
foreman
2015-01-28 16:49:17 -05:00
padre 1bd7117d4a
commit 8444ba2980
Se han modificado 5 ficheros con 296 adiciones y 267 borrados
@@ -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;
};