@@ -20,67 +20,128 @@ void getPtrAndLen(Napi::Object obj, void** ptr, size_t *len) {
2020
2121const char * getExceptionMessage (const cl_int code) {
2222 switch (code) {
23- CASE_RET (CL_SUCCESS, " Success!" );
24- CASE_RET (CL_DEVICE_NOT_FOUND, " Device not found." );
25- CASE_RET (CL_DEVICE_NOT_AVAILABLE, " Device not available" );
26- CASE_RET (CL_COMPILER_NOT_AVAILABLE, " Compiler not available" );
27- CASE_RET (CL_MEM_OBJECT_ALLOCATION_FAILURE, " Memory object allocation failure" );
28- CASE_RET (CL_OUT_OF_RESOURCES, " Out of resources" );
29- CASE_RET (CL_OUT_OF_HOST_MEMORY, " Out of host memory" );
30- CASE_RET (CL_PROFILING_INFO_NOT_AVAILABLE, " Profiling information not available" );
31- CASE_RET (CL_MEM_COPY_OVERLAP, " Memory copy overlap" );
32- CASE_RET (CL_IMAGE_FORMAT_MISMATCH, " Image format mismatch" );
33- CASE_RET (CL_IMAGE_FORMAT_NOT_SUPPORTED, " Image format not supported" );
34- CASE_RET (CL_BUILD_PROGRAM_FAILURE, " Program build failure" );
35- CASE_RET (CL_MAP_FAILURE, " Map failure" );
36- CASE_RET (CL_MISALIGNED_SUB_BUFFER_OFFSET, " Misaligned sub-buffer offset" );
37- CASE_RET (CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST, " Execution status error for events in wait list" );
38- CASE_RET (CL_COMPILE_PROGRAM_FAILURE, " Compile program failure" );
39- CASE_RET (CL_LINKER_NOT_AVAILABLE, " Linker not available" );
40- CASE_RET (CL_LINK_PROGRAM_FAILURE, " Link program failure" );
41- CASE_RET (CL_DEVICE_PARTITION_FAILED, " Device partition failed" );
42- CASE_RET (CL_KERNEL_ARG_INFO_NOT_AVAILABLE, " Kernel argument info not available" );
43- CASE_RET (CL_INVALID_VALUE, " Invalid value" );
44- CASE_RET (CL_INVALID_DEVICE_TYPE, " Invalid device type" );
45- CASE_RET (CL_INVALID_PLATFORM, " Invalid platform" );
46- CASE_RET (CL_INVALID_DEVICE, " Invalid device" );
47- CASE_RET (CL_INVALID_CONTEXT, " Invalid context" );
48- CASE_RET (CL_INVALID_QUEUE_PROPERTIES, " Invalid queue properties" );
49- CASE_RET (CL_INVALID_COMMAND_QUEUE, " Invalid command queue" );
50- CASE_RET (CL_INVALID_HOST_PTR, " Invalid host pointer" );
51- CASE_RET (CL_INVALID_MEM_OBJECT, " Invalid memory object" );
52- CASE_RET (CL_INVALID_IMAGE_FORMAT_DESCRIPTOR, " Invalid image format descriptor" );
53- CASE_RET (CL_INVALID_IMAGE_SIZE, " Invalid image size" );
54- CASE_RET (CL_INVALID_SAMPLER, " Invalid sampler" );
55- CASE_RET (CL_INVALID_BINARY, " Invalid binary" );
56- CASE_RET (CL_INVALID_BUILD_OPTIONS, " Invalid build options" );
57- CASE_RET (CL_INVALID_PROGRAM, " Invalid program" );
58- CASE_RET (CL_INVALID_PROGRAM_EXECUTABLE, " Invalid program executable" );
59- CASE_RET (CL_INVALID_KERNEL_NAME, " Invalid kernel name" );
60- CASE_RET (CL_INVALID_KERNEL_DEFINITION, " Invalid kernel definition" );
61- CASE_RET (CL_INVALID_KERNEL, " Invalid kernel" );
62- CASE_RET (CL_INVALID_ARG_INDEX, " Invalid argument index" );
63- CASE_RET (CL_INVALID_ARG_VALUE, " Invalid argument value" );
64- CASE_RET (CL_INVALID_ARG_SIZE, " Invalid argument size" );
65- CASE_RET (CL_INVALID_KERNEL_ARGS, " Invalid kernel arguments" );
66- CASE_RET (CL_INVALID_WORK_DIMENSION, " Invalid work dimension" );
67- CASE_RET (CL_INVALID_WORK_GROUP_SIZE, " Invalid work group size" );
68- CASE_RET (CL_INVALID_WORK_ITEM_SIZE, " Invalid work item size" );
69- CASE_RET (CL_INVALID_GLOBAL_OFFSET, " Invalid global offset" );
70- CASE_RET (CL_INVALID_EVENT_WAIT_LIST, " Invalid event wait list" );
71- CASE_RET (CL_INVALID_EVENT, " Invalid event" );
72- CASE_RET (CL_INVALID_OPERATION, " Invalid operation" );
73- CASE_RET (CL_INVALID_GL_OBJECT, " Invalid OpenGL object" );
74- CASE_RET (CL_INVALID_BUFFER_SIZE, " Invalid buffer size" );
75- CASE_RET (CL_INVALID_MIP_LEVEL, " Invalid mip-map level" );
76- CASE_RET (CL_INVALID_GLOBAL_WORK_SIZE, " Invalid global work size" );
77- CASE_RET (CL_INVALID_PROPERTY, " Invalid property" );
78- CASE_RET (CL_INVALID_IMAGE_DESCRIPTOR, " Invalid image descriptor" );
79- CASE_RET (CL_INVALID_COMPILER_OPTIONS, " Invalid compiler options" );
80- CASE_RET (CL_INVALID_LINKER_OPTIONS, " Invalid linker options" );
81- CASE_RET (CL_INVALID_DEVICE_PARTITION_COUNT, " Invalid device partition count" );
23+ case CL_SUCCESS:
24+ return " Success!" ;
25+ case CL_DEVICE_NOT_FOUND:
26+ return " Device not found." ;
27+ case CL_DEVICE_NOT_AVAILABLE:
28+ return " Device not available" ;
29+ case CL_COMPILER_NOT_AVAILABLE:
30+ return " Compiler not available" ;
31+ case CL_MEM_OBJECT_ALLOCATION_FAILURE:
32+ return " Memory object allocation failure" ;
33+ case CL_OUT_OF_RESOURCES:
34+ return " Out of resources" ;
35+ case CL_OUT_OF_HOST_MEMORY:
36+ return " Out of host memory" ;
37+ case CL_PROFILING_INFO_NOT_AVAILABLE:
38+ return " Profiling information not available" ;
39+ case CL_MEM_COPY_OVERLAP:
40+ return " Memory copy overlap" ;
41+ case CL_IMAGE_FORMAT_MISMATCH:
42+ return " Image format mismatch" ;
43+ case CL_IMAGE_FORMAT_NOT_SUPPORTED:
44+ return " Image format not supported" ;
45+ case CL_BUILD_PROGRAM_FAILURE:
46+ return " Program build failure" ;
47+ case CL_MAP_FAILURE:
48+ return " Map failure" ;
49+ case CL_MISALIGNED_SUB_BUFFER_OFFSET:
50+ return " Misaligned sub-buffer offset" ;
51+ case CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST:
52+ return " Execution status error for events in wait list" ;
53+ case CL_COMPILE_PROGRAM_FAILURE:
54+ return " Compile program failure" ;
55+ case CL_LINKER_NOT_AVAILABLE:
56+ return " Linker not available" ;
57+ case CL_LINK_PROGRAM_FAILURE:
58+ return " Link program failure" ;
59+ case CL_DEVICE_PARTITION_FAILED:
60+ return " Device partition failed" ;
61+ case CL_KERNEL_ARG_INFO_NOT_AVAILABLE:
62+ return " Kernel argument info not available" ;
63+ case CL_INVALID_VALUE:
64+ return " Invalid value" ;
65+ case CL_INVALID_DEVICE_TYPE:
66+ return " Invalid device type" ;
67+ case CL_INVALID_PLATFORM:
68+ return " Invalid platform" ;
69+ case CL_INVALID_DEVICE:
70+ return " Invalid device" ;
71+ case CL_INVALID_CONTEXT:
72+ return " Invalid context" ;
73+ case CL_INVALID_QUEUE_PROPERTIES:
74+ return " Invalid queue properties" ;
75+ case CL_INVALID_COMMAND_QUEUE:
76+ return " Invalid command queue" ;
77+ case CL_INVALID_HOST_PTR:
78+ return " Invalid host pointer" ;
79+ case CL_INVALID_MEM_OBJECT:
80+ return " Invalid memory object" ;
81+ case CL_INVALID_IMAGE_FORMAT_DESCRIPTOR:
82+ return " Invalid image format descriptor" ;
83+ case CL_INVALID_IMAGE_SIZE:
84+ return " Invalid image size" ;
85+ case CL_INVALID_SAMPLER:
86+ return " Invalid sampler" ;
87+ case CL_INVALID_BINARY:
88+ return " Invalid binary" ;
89+ case CL_INVALID_BUILD_OPTIONS:
90+ return " Invalid build options" ;
91+ case CL_INVALID_PROGRAM:
92+ return " Invalid program" ;
93+ case CL_INVALID_PROGRAM_EXECUTABLE:
94+ return " Invalid program executable" ;
95+ case CL_INVALID_KERNEL_NAME:
96+ return " Invalid kernel name" ;
97+ case CL_INVALID_KERNEL_DEFINITION:
98+ return " Invalid kernel definition" ;
99+ case CL_INVALID_KERNEL:
100+ return " Invalid kernel" ;
101+ case CL_INVALID_ARG_INDEX:
102+ return " Invalid argument index" ;
103+ case CL_INVALID_ARG_VALUE:
104+ return " Invalid argument value" ;
105+ case CL_INVALID_ARG_SIZE:
106+ return " Invalid argument size" ;
107+ case CL_INVALID_KERNEL_ARGS:
108+ return " Invalid kernel arguments" ;
109+ case CL_INVALID_WORK_DIMENSION:
110+ return " Invalid work dimension" ;
111+ case CL_INVALID_WORK_GROUP_SIZE:
112+ return " Invalid work group size" ;
113+ case CL_INVALID_WORK_ITEM_SIZE:
114+ return " Invalid work item size" ;
115+ case CL_INVALID_GLOBAL_OFFSET:
116+ return " Invalid global offset" ;
117+ case CL_INVALID_EVENT_WAIT_LIST:
118+ return " Invalid event wait list" ;
119+ case CL_INVALID_EVENT:
120+ return " Invalid event" ;
121+ case CL_INVALID_OPERATION:
122+ return " Invalid operation" ;
123+ case CL_INVALID_GL_OBJECT:
124+ return " Invalid OpenGL object" ;
125+ case CL_INVALID_BUFFER_SIZE:
126+ return " Invalid buffer size" ;
127+ case CL_INVALID_MIP_LEVEL:
128+ return " Invalid mip-map level" ;
129+ case CL_INVALID_GLOBAL_WORK_SIZE:
130+ return " Invalid global work size" ;
131+ case CL_INVALID_PROPERTY:
132+ return " Invalid property" ;
133+ case CL_INVALID_IMAGE_DESCRIPTOR:
134+ return " Invalid image descriptor" ;
135+ case CL_INVALID_COMPILER_OPTIONS:
136+ return " Invalid compiler options" ;
137+ case CL_INVALID_LINKER_OPTIONS:
138+ return " Invalid linker options" ;
139+ case CL_INVALID_DEVICE_PARTITION_COUNT:
140+ return " Invalid device partition count" ;
141+ case -1001 :
142+ return " OpenCL ICD failed" ;
82143 default :
83- printf (" Error : %d\n " , code);
144+ printf (" OpenCL Unknown error : %d\n " , code);
84145 return " Unknown error" ;
85146 }
86147}
0 commit comments