mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 23:39:26 +02:00
o patch for OpenCL package by Denis Golovan, resolves #18119
+ A constant for querying OpenCL version is added. + A small function for converting errors code into error texts is added. git-svn-id: trunk@16495 -
This commit is contained in:
parent
8b209be7e9
commit
07e3232fef
@ -407,6 +407,7 @@ const
|
||||
CL_DEVICE_VERSION = $102F;
|
||||
CL_DEVICE_EXTENSIONS = $1030;
|
||||
CL_DEVICE_PLATFORM = $1031;
|
||||
CL_DEVICE_OPENCL_C_VERSION = $103D;
|
||||
|
||||
// cl_device_address_info - bitfield
|
||||
CL_DEVICE_ADDRESS_32_BITS = (1 shl 0);
|
||||
@ -1161,6 +1162,62 @@ function clEnqueueBarrier(command_queue: cl_command_queue
|
||||
): cl_int; extdecl;
|
||||
external {$ifdef DYNLINK}opencllib{$endif} name 'clEnqueueBarrier';
|
||||
|
||||
function clErrorText(err:cl_int):string;
|
||||
|
||||
implementation
|
||||
|
||||
function clErrorText(err:cl_int):string;
|
||||
begin
|
||||
case err of
|
||||
CL_DEVICE_NOT_FOUND : clErrorText:='CL_DEVICE_NOT_FOUND';
|
||||
CL_DEVICE_NOT_AVAILABLE : clErrorText:='CL_DEVICE_NOT_AVAILABLE';
|
||||
CL_DEVICE_COMPILER_NOT_AVAILABLE : clErrorText:='CL_DEVICE_COMPILER_NOT_AVAILABLE';
|
||||
CL_MEM_OBJECT_ALLOCATION_FAILURE : clErrorText:='CL_MEM_OBJECT_ALLOCATION_FAILURE';
|
||||
CL_OUT_OF_RESOURCES : clErrorText:='CL_OUT_OF_RESOURCES';
|
||||
CL_OUT_OF_HOST_MEMORY : clErrorText:='CL_OUT_OF_HOST_MEMORY';
|
||||
CL_PROFILING_INFO_NOT_AVAILABLE : clErrorText:='CL_PROFILING_INFO_NOT_AVAILABLE';
|
||||
CL_MEM_COPY_OVERLAP : clErrorText:='CL_MEM_COPY_OVERLAP';
|
||||
CL_IMAGE_FORMAT_MISMATCH : clErrorText:='CL_IMAGE_FORMAT_MISMATCH';
|
||||
CL_IMAGE_FORMAT_NOT_SUPPORTED : clErrorText:='CL_IMAGE_FORMAT_NOT_SUPPORTED';
|
||||
CL_BUILD_PROGRAM_FAILURE : clErrorText:='CL_BUILD_PROGRAM_FAILURE';
|
||||
CL_MAP_FAILURE : clErrorText:='CL_MAP_FAILURE';
|
||||
|
||||
CL_INVALID_VALUE : clErrorText:='CL_INVALID_VALUE';
|
||||
CL_INVALID_DEVICE_TYPE : clErrorText:='CL_INVALID_DEVICE_TYPE';
|
||||
CL_INVALID_PLATFORM : clErrorText:='CL_INVALID_PLATFORM';
|
||||
CL_INVALID_DEVICE : clErrorText:='CL_INVALID_DEVICE';
|
||||
CL_INVALID_CONTEXT : clErrorText:='CL_INVALID_CONTEXT';
|
||||
CL_INVALID_QUEUE_PROPERTIES : clErrorText:='CL_INVALID_QUEUE_PROPERTIES';
|
||||
CL_INVALID_COMMAND_QUEUE : clErrorText:='CL_INVALID_COMMAND_QUEUE';
|
||||
CL_INVALID_HOST_PTR : clErrorText:='CL_INVALID_HOST_PTR';
|
||||
CL_INVALID_MEM_OBJECT : clErrorText:='CL_INVALID_MEM_OBJECT';
|
||||
CL_INVALID_IMAGE_FORMAT_DESCRIPTOR : clErrorText:='CL_INVALID_IMAGE_FORMAT_DESCRIPTOR';
|
||||
CL_INVALID_IMAGE_SIZE : clErrorText:='CL_INVALID_IMAGE_SIZE';
|
||||
CL_INVALID_SAMPLER : clErrorText:='CL_INVALID_SAMPLER';
|
||||
CL_INVALID_BINARY : clErrorText:='CL_INVALID_BINARY';
|
||||
CL_INVALID_BUILD_OPTIONS : clErrorText:='CL_INVALID_BUILD_OPTIONS';
|
||||
CL_INVALID_PROGRAM : clErrorText:='CL_INVALID_PROGRAM';
|
||||
CL_INVALID_PROGRAM_EXECUTABLE : clErrorText:='CL_INVALID_PROGRAM_EXECUTABLE';
|
||||
CL_INVALID_KERNEL_NAME : clErrorText:='CL_INVALID_KERNEL_NAME';
|
||||
CL_INVALID_KERNEL_DEFINITION : clErrorText:='CL_INVALID_KERNEL_DEFINITION';
|
||||
CL_INVALID_KERNEL : clErrorText:='CL_INVALID_KERNEL';
|
||||
CL_INVALID_ARG_INDEX : clErrorText:='CL_INVALID_ARG_INDEX';
|
||||
CL_INVALID_ARG_VALUE : clErrorText:='CL_INVALID_ARG_VALUE';
|
||||
CL_INVALID_ARG_SIZE : clErrorText:='CL_INVALID_ARG_SIZE';
|
||||
CL_INVALID_KERNEL_ARGS : clErrorText:='CL_INVALID_KERNEL_ARGS';
|
||||
CL_INVALID_WORK_DIMENSION : clErrorText:='CL_INVALID_WORK_DIMENSION';
|
||||
CL_INVALID_WORK_GROUP_SIZE : clErrorText:='CL_INVALID_WORK_GROUP_SIZE';
|
||||
CL_INVALID_WORK_ITEM_SIZE : clErrorText:='CL_INVALID_WORK_ITEM_SIZE';
|
||||
CL_INVALID_GLOBAL_OFFSET : clErrorText:='CL_INVALID_GLOBAL_OFFSET';
|
||||
CL_INVALID_EVENT_WAIT_LIST : clErrorText:='CL_INVALID_EVENT_WAIT_LIST';
|
||||
CL_INVALID_EVENT : clErrorText:='CL_INVALID_EVENT';
|
||||
CL_INVALID_OPERATION : clErrorText:='CL_INVALID_OPERATION';
|
||||
CL_INVALID_GL_OBJECT : clErrorText:='CL_INVALID_GL_OBJECT';
|
||||
CL_INVALID_BUFFER_SIZE : clErrorText:='CL_INVALID_BUFFER_SIZE';
|
||||
CL_INVALID_MIP_LEVEL : clErrorText:='CL_INVALID_MIP_LEVEL';
|
||||
else
|
||||
clErrorText:='Unknown OpenCL error';
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user