1 | // Copyright (c) 2018 The Khronos Group Inc. |
2 | // |
3 | // Permission is hereby granted, free of charge, to any person obtaining a copy |
4 | // of this software and/or associated documentation files (the "Materials"), |
5 | // to deal in the Materials without restriction, including without limitation |
6 | // the rights to use, copy, modify, merge, publish, distribute, sublicense, |
7 | // and/or sell copies of the Materials, and to permit persons to whom the |
8 | // Materials are furnished to do so, subject to the following conditions: |
9 | // |
10 | // The above copyright notice and this permission notice shall be included in |
11 | // all copies or substantial portions of the Materials. |
12 | // |
13 | // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS |
14 | // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND |
15 | // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ |
16 | // |
17 | // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
18 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
20 | // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
22 | // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS |
23 | // IN THE MATERIALS. |
24 | |
25 | #ifndef SPIRV_EXTINST_OpenCLDebugInfo100_H_ |
26 | #define SPIRV_EXTINST_OpenCLDebugInfo100_H_ |
27 | |
28 | #ifdef __cplusplus |
29 | extern "C" { |
30 | #endif |
31 | |
32 | enum { OpenCLDebugInfo100Version = 200, OpenCLDebugInfo100Version_BitWidthPadding = 0x7fffffff }; |
33 | enum { OpenCLDebugInfo100Revision = 2, OpenCLDebugInfo100Revision_BitWidthPadding = 0x7fffffff }; |
34 | |
35 | enum OpenCLDebugInfo100Instructions { |
36 | OpenCLDebugInfo100DebugInfoNone = 0, |
37 | OpenCLDebugInfo100DebugCompilationUnit = 1, |
38 | OpenCLDebugInfo100DebugTypeBasic = 2, |
39 | OpenCLDebugInfo100DebugTypePointer = 3, |
40 | OpenCLDebugInfo100DebugTypeQualifier = 4, |
41 | OpenCLDebugInfo100DebugTypeArray = 5, |
42 | OpenCLDebugInfo100DebugTypeVector = 6, |
43 | OpenCLDebugInfo100DebugTypedef = 7, |
44 | OpenCLDebugInfo100DebugTypeFunction = 8, |
45 | OpenCLDebugInfo100DebugTypeEnum = 9, |
46 | OpenCLDebugInfo100DebugTypeComposite = 10, |
47 | OpenCLDebugInfo100DebugTypeMember = 11, |
48 | OpenCLDebugInfo100DebugTypeInheritance = 12, |
49 | OpenCLDebugInfo100DebugTypePtrToMember = 13, |
50 | OpenCLDebugInfo100DebugTypeTemplate = 14, |
51 | OpenCLDebugInfo100DebugTypeTemplateParameter = 15, |
52 | OpenCLDebugInfo100DebugTypeTemplateTemplateParameter = 16, |
53 | OpenCLDebugInfo100DebugTypeTemplateParameterPack = 17, |
54 | OpenCLDebugInfo100DebugGlobalVariable = 18, |
55 | OpenCLDebugInfo100DebugFunctionDeclaration = 19, |
56 | OpenCLDebugInfo100DebugFunction = 20, |
57 | OpenCLDebugInfo100DebugLexicalBlock = 21, |
58 | OpenCLDebugInfo100DebugLexicalBlockDiscriminator = 22, |
59 | OpenCLDebugInfo100DebugScope = 23, |
60 | OpenCLDebugInfo100DebugNoScope = 24, |
61 | OpenCLDebugInfo100DebugInlinedAt = 25, |
62 | OpenCLDebugInfo100DebugLocalVariable = 26, |
63 | OpenCLDebugInfo100DebugInlinedVariable = 27, |
64 | OpenCLDebugInfo100DebugDeclare = 28, |
65 | OpenCLDebugInfo100DebugValue = 29, |
66 | OpenCLDebugInfo100DebugOperation = 30, |
67 | OpenCLDebugInfo100DebugExpression = 31, |
68 | OpenCLDebugInfo100DebugMacroDef = 32, |
69 | OpenCLDebugInfo100DebugMacroUndef = 33, |
70 | OpenCLDebugInfo100DebugImportedEntity = 34, |
71 | OpenCLDebugInfo100DebugSource = 35, |
72 | OpenCLDebugInfo100InstructionsMax = 0x7ffffff |
73 | }; |
74 | |
75 | |
76 | enum OpenCLDebugInfo100DebugInfoFlags { |
77 | OpenCLDebugInfo100FlagIsProtected = 0x01, |
78 | OpenCLDebugInfo100FlagIsPrivate = 0x02, |
79 | OpenCLDebugInfo100FlagIsPublic = 0x03, |
80 | OpenCLDebugInfo100FlagIsLocal = 0x04, |
81 | OpenCLDebugInfo100FlagIsDefinition = 0x08, |
82 | OpenCLDebugInfo100FlagFwdDecl = 0x10, |
83 | OpenCLDebugInfo100FlagArtificial = 0x20, |
84 | OpenCLDebugInfo100FlagExplicit = 0x40, |
85 | OpenCLDebugInfo100FlagPrototyped = 0x80, |
86 | OpenCLDebugInfo100FlagObjectPointer = 0x100, |
87 | OpenCLDebugInfo100FlagStaticMember = 0x200, |
88 | OpenCLDebugInfo100FlagIndirectVariable = 0x400, |
89 | OpenCLDebugInfo100FlagLValueReference = 0x800, |
90 | OpenCLDebugInfo100FlagRValueReference = 0x1000, |
91 | OpenCLDebugInfo100FlagIsOptimized = 0x2000, |
92 | OpenCLDebugInfo100FlagIsEnumClass = 0x4000, |
93 | OpenCLDebugInfo100FlagTypePassByValue = 0x8000, |
94 | OpenCLDebugInfo100FlagTypePassByReference = 0x10000, |
95 | OpenCLDebugInfo100DebugInfoFlagsMax = 0x7ffffff |
96 | }; |
97 | |
98 | enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding { |
99 | OpenCLDebugInfo100Unspecified = 0, |
100 | OpenCLDebugInfo100Address = 1, |
101 | OpenCLDebugInfo100Boolean = 2, |
102 | OpenCLDebugInfo100Float = 3, |
103 | OpenCLDebugInfo100Signed = 4, |
104 | OpenCLDebugInfo100SignedChar = 5, |
105 | OpenCLDebugInfo100Unsigned = 6, |
106 | OpenCLDebugInfo100UnsignedChar = 7, |
107 | OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7ffffff |
108 | }; |
109 | |
110 | enum OpenCLDebugInfo100DebugCompositeType { |
111 | OpenCLDebugInfo100Class = 0, |
112 | OpenCLDebugInfo100Structure = 1, |
113 | OpenCLDebugInfo100Union = 2, |
114 | OpenCLDebugInfo100DebugCompositeTypeMax = 0x7ffffff |
115 | }; |
116 | |
117 | enum OpenCLDebugInfo100DebugTypeQualifier { |
118 | OpenCLDebugInfo100ConstType = 0, |
119 | OpenCLDebugInfo100VolatileType = 1, |
120 | OpenCLDebugInfo100RestrictType = 2, |
121 | OpenCLDebugInfo100AtomicType = 3, |
122 | OpenCLDebugInfo100DebugTypeQualifierMax = 0x7ffffff |
123 | }; |
124 | |
125 | enum OpenCLDebugInfo100DebugOperation { |
126 | OpenCLDebugInfo100Deref = 0, |
127 | OpenCLDebugInfo100Plus = 1, |
128 | OpenCLDebugInfo100Minus = 2, |
129 | OpenCLDebugInfo100PlusUconst = 3, |
130 | OpenCLDebugInfo100BitPiece = 4, |
131 | OpenCLDebugInfo100Swap = 5, |
132 | OpenCLDebugInfo100Xderef = 6, |
133 | OpenCLDebugInfo100StackValue = 7, |
134 | OpenCLDebugInfo100Constu = 8, |
135 | OpenCLDebugInfo100Fragment = 9, |
136 | OpenCLDebugInfo100DebugOperationMax = 0x7ffffff |
137 | }; |
138 | |
139 | enum OpenCLDebugInfo100DebugImportedEntity { |
140 | OpenCLDebugInfo100ImportedModule = 0, |
141 | OpenCLDebugInfo100ImportedDeclaration = 1, |
142 | OpenCLDebugInfo100DebugImportedEntityMax = 0x7ffffff |
143 | }; |
144 | |
145 | |
146 | #ifdef __cplusplus |
147 | } |
148 | #endif |
149 | |
150 | #endif // SPIRV_EXTINST_OpenCLDebugInfo100_H_ |