comparison hello/oclUtils.cc @ 0:0e6e76dbdb0f

add file
author Yutaka_Kinjyo
date Tue, 12 Jul 2011 11:12:51 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:0e6e76dbdb0f
1 #include "oclUtils.h"
2 #include <fstream>
3 #include <vector>
4 #include <iostream>
5 #include <algorithm>
6 #include <stdarg.h>
7
8 // Helper function to get OpenCL error string from constant
9 // *********************************************************************
10 const char* oclErrorString(cl_int error)
11 {
12 static const char* errorString[] = {
13 "CL_SUCCESS",
14 "CL_DEVICE_NOT_FOUND",
15 "CL_DEVICE_NOT_AVAILABLE",
16 "CL_COMPILER_NOT_AVAILABLE",
17 "CL_MEM_OBJECT_ALLOCATION_FAILURE",
18 "CL_OUT_OF_RESOURCES",
19 "CL_OUT_OF_HOST_MEMORY",
20 "CL_PROFILING_INFO_NOT_AVAILABLE",
21 "CL_MEM_COPY_OVERLAP",
22 "CL_IMAGE_FORMAT_MISMATCH",
23 "CL_IMAGE_FORMAT_NOT_SUPPORTED",
24 "CL_BUILD_PROGRAM_FAILURE",
25 "CL_MAP_FAILURE",
26 "",
27 "",
28 "",
29 "",
30 "",
31 "",
32 "",
33 "",
34 "",
35 "",
36 "",
37 "",
38 "",
39 "",
40 "",
41 "",
42 "",
43 "CL_INVALID_VALUE",
44 "CL_INVALID_DEVICE_TYPE",
45 "CL_INVALID_PLATFORM",
46 "CL_INVALID_DEVICE",
47 "CL_INVALID_CONTEXT",
48 "CL_INVALID_QUEUE_PROPERTIES",
49 "CL_INVALID_COMMAND_QUEUE",
50 "CL_INVALID_HOST_PTR",
51 "CL_INVALID_MEM_OBJECT",
52 "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR",
53 "CL_INVALID_IMAGE_SIZE",
54 "CL_INVALID_SAMPLER",
55 "CL_INVALID_BINARY",
56 "CL_INVALID_BUILD_OPTIONS",
57 "CL_INVALID_PROGRAM",
58 "CL_INVALID_PROGRAM_EXECUTABLE",
59 "CL_INVALID_KERNEL_NAME",
60 "CL_INVALID_KERNEL_DEFINITION",
61 "CL_INVALID_KERNEL",
62 "CL_INVALID_ARG_INDEX",
63 "CL_INVALID_ARG_VALUE",
64 "CL_INVALID_ARG_SIZE",
65 "CL_INVALID_KERNEL_ARGS",
66 "CL_INVALID_WORK_DIMENSION",
67 "CL_INVALID_WORK_GROUP_SIZE",
68 "CL_INVALID_WORK_ITEM_SIZE",
69 "CL_INVALID_GLOBAL_OFFSET",
70 "CL_INVALID_EVENT_WAIT_LIST",
71 "CL_INVALID_EVENT",
72 "CL_INVALID_OPERATION",
73 "CL_INVALID_GL_OBJECT",
74 "CL_INVALID_BUFFER_SIZE",
75 "CL_INVALID_MIP_LEVEL",
76 "CL_INVALID_GLOBAL_WORK_SIZE",
77 };
78
79 const int errorCount = sizeof(errorString) / sizeof(errorString[0]);
80
81 const int index = -error;
82
83 return (index >= 0 && index < errorCount) ? errorString[index] : "Unspecified Error";
84 }
85