1 /*
2  * Copyright (C) 2018-2020 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #include "CL/cl.h"
9 #include "CL/cl_gl_ext.h"
10 
11 #include <string>
12 
13 namespace NEO {
cmdTypetoString(cl_command_type cmd)14 inline const std::string cmdTypetoString(cl_command_type cmd) {
15     switch (cmd) {
16     case CL_COMMAND_NDRANGE_KERNEL:
17         return "CL_COMMAND_NDRANGE_KERNEL";
18     case CL_COMMAND_TASK:
19         return "CL_COMMAND_TASK";
20     case CL_COMMAND_NATIVE_KERNEL:
21         return "CL_COMMAND_NATIVE_KERNEL";
22     case CL_COMMAND_READ_BUFFER:
23         return "CL_COMMAND_READ_BUFFER";
24     case CL_COMMAND_WRITE_BUFFER:
25         return "CL_COMMAND_WRITE_BUFFER";
26     case CL_COMMAND_COPY_BUFFER:
27         return "CL_COMMAND_COPY_BUFFER";
28     case CL_COMMAND_READ_IMAGE:
29         return "CL_COMMAND_READ_IMAGE";
30     case CL_COMMAND_WRITE_IMAGE:
31         return "CL_COMMAND_WRITE_IMAGE";
32     case CL_COMMAND_COPY_IMAGE:
33         return "CL_COMMAND_COPY_IMAGE";
34     case CL_COMMAND_COPY_IMAGE_TO_BUFFER:
35         return "CL_COMMAND_COPY_IMAGE_TO_BUFFER";
36     case CL_COMMAND_COPY_BUFFER_TO_IMAGE:
37         return "CL_COMMAND_COPY_BUFFER_TO_IMAGE";
38     case CL_COMMAND_MAP_BUFFER:
39         return "CL_COMMAND_MAP_BUFFER";
40     case CL_COMMAND_MAP_IMAGE:
41         return "CL_COMMAND_MAP_IMAGE";
42     case CL_COMMAND_UNMAP_MEM_OBJECT:
43         return "CL_COMMAND_UNMAP_MEM_OBJECT";
44     case CL_COMMAND_MARKER:
45         return "CL_COMMAND_MARKER";
46     case CL_COMMAND_ACQUIRE_GL_OBJECTS:
47         return "CL_COMMAND_ACQUIRE_GL_OBJECTS";
48     case CL_COMMAND_RELEASE_GL_OBJECTS:
49         return "CL_COMMAND_RELEASE_GL_OBJECTS";
50     case CL_COMMAND_READ_BUFFER_RECT:
51         return "CL_COMMAND_READ_BUFFER_RECT";
52     case CL_COMMAND_WRITE_BUFFER_RECT:
53         return "CL_COMMAND_WRITE_BUFFER_RECT";
54     case CL_COMMAND_COPY_BUFFER_RECT:
55         return "CL_COMMAND_COPY_BUFFER_RECT";
56     case CL_COMMAND_USER:
57         return "CL_COMMAND_USER";
58     case CL_COMMAND_BARRIER:
59         return "CL_COMMAND_BARRIER";
60     case CL_COMMAND_MIGRATE_MEM_OBJECTS:
61         return "CL_COMMAND_MIGRATE_MEM_OBJECTS";
62     case CL_COMMAND_FILL_BUFFER:
63         return "CL_COMMAND_FILL_BUFFER";
64     case CL_COMMAND_FILL_IMAGE:
65         return "CL_COMMAND_FILL_IMAGE";
66     case CL_COMMAND_SVM_FREE:
67         return "CL_COMMAND_SVM_FREE";
68     case CL_COMMAND_SVM_MEMCPY:
69         return "CL_COMMAND_SVM_MEMCPY";
70     case CL_COMMAND_SVM_MEMFILL:
71         return "CL_COMMAND_SVM_MEMFILL";
72     case CL_COMMAND_SVM_MAP:
73         return "CL_COMMAND_SVM_MAP";
74     case CL_COMMAND_SVM_UNMAP:
75         return "CL_COMMAND_SVM_UNMAP";
76     case CL_COMMAND_SVM_MIGRATE_MEM:
77         return "CL_COMMAND_SVM_MIGRATE_MEM";
78     case CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR:
79         return "CL_COMMAND_GL_FENCE_SYNC_OBJECT_KHR";
80     default: {
81         std::string returnString("CMD_UNKNOWN:" + std::to_string((cl_command_type)cmd));
82         return returnString;
83     }
84     }
85 }
86 } // namespace NEO
87