• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2017 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_UNIFIED1_DebugInfo_H_
26 #define SPIRV_UNIFIED1_DebugInfo_H_
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 enum {
33     DebugInfoVersion = 100,
34     DebugInfoVersion_BitWidthPadding = 0x7fffffff
35 };
36 enum {
37     DebugInfoRevision = 1,
38     DebugInfoRevision_BitWidthPadding = 0x7fffffff
39 };
40 
41 enum DebugInfoInstructions {
42     DebugInfoDebugInfoNone = 0,
43     DebugInfoDebugCompilationUnit = 1,
44     DebugInfoDebugTypeBasic = 2,
45     DebugInfoDebugTypePointer = 3,
46     DebugInfoDebugTypeQualifier = 4,
47     DebugInfoDebugTypeArray = 5,
48     DebugInfoDebugTypeVector = 6,
49     DebugInfoDebugTypedef = 7,
50     DebugInfoDebugTypeFunction = 8,
51     DebugInfoDebugTypeEnum = 9,
52     DebugInfoDebugTypeComposite = 10,
53     DebugInfoDebugTypeMember = 11,
54     DebugInfoDebugTypeInheritance = 12,
55     DebugInfoDebugTypePtrToMember = 13,
56     DebugInfoDebugTypeTemplate = 14,
57     DebugInfoDebugTypeTemplateParameter = 15,
58     DebugInfoDebugTypeTemplateTemplateParameter = 16,
59     DebugInfoDebugTypeTemplateParameterPack = 17,
60     DebugInfoDebugGlobalVariable = 18,
61     DebugInfoDebugFunctionDeclaration = 19,
62     DebugInfoDebugFunction = 20,
63     DebugInfoDebugLexicalBlock = 21,
64     DebugInfoDebugLexicalBlockDiscriminator = 22,
65     DebugInfoDebugScope = 23,
66     DebugInfoDebugNoScope = 24,
67     DebugInfoDebugInlinedAt = 25,
68     DebugInfoDebugLocalVariable = 26,
69     DebugInfoDebugInlinedVariable = 27,
70     DebugInfoDebugDeclare = 28,
71     DebugInfoDebugValue = 29,
72     DebugInfoDebugOperation = 30,
73     DebugInfoDebugExpression = 31,
74     DebugInfoDebugMacroDef = 32,
75     DebugInfoDebugMacroUndef = 33,
76     DebugInfoInstructionsMax = 0x7fffffff
77 };
78 
79 
80 enum DebugInfoDebugInfoFlags {
81     DebugInfoFlagIsProtected = 0x01,
82     DebugInfoFlagIsPrivate = 0x02,
83     DebugInfoFlagIsPublic = 0x03,
84     DebugInfoFlagIsLocal = 0x04,
85     DebugInfoFlagIsDefinition = 0x08,
86     DebugInfoFlagFwdDecl = 0x10,
87     DebugInfoFlagArtificial = 0x20,
88     DebugInfoFlagExplicit = 0x40,
89     DebugInfoFlagPrototyped = 0x80,
90     DebugInfoFlagObjectPointer = 0x100,
91     DebugInfoFlagStaticMember = 0x200,
92     DebugInfoFlagIndirectVariable = 0x400,
93     DebugInfoFlagLValueReference = 0x800,
94     DebugInfoFlagRValueReference = 0x1000,
95     DebugInfoFlagIsOptimized = 0x2000,
96     DebugInfoDebugInfoFlagsMax = 0x7fffffff
97 };
98 
99 enum DebugInfoDebugBaseTypeAttributeEncoding {
100     DebugInfoUnspecified = 0,
101     DebugInfoAddress = 1,
102     DebugInfoBoolean = 2,
103     DebugInfoFloat = 4,
104     DebugInfoSigned = 5,
105     DebugInfoSignedChar = 6,
106     DebugInfoUnsigned = 7,
107     DebugInfoUnsignedChar = 8,
108     DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7fffffff
109 };
110 
111 enum DebugInfoDebugCompositeType {
112     DebugInfoClass = 0,
113     DebugInfoStructure = 1,
114     DebugInfoUnion = 2,
115     DebugInfoDebugCompositeTypeMax = 0x7fffffff
116 };
117 
118 enum DebugInfoDebugTypeQualifier {
119     DebugInfoConstType = 0,
120     DebugInfoVolatileType = 1,
121     DebugInfoRestrictType = 2,
122     DebugInfoDebugTypeQualifierMax = 0x7fffffff
123 };
124 
125 enum DebugInfoDebugOperation {
126     DebugInfoDeref = 0,
127     DebugInfoPlus = 1,
128     DebugInfoMinus = 2,
129     DebugInfoPlusUconst = 3,
130     DebugInfoBitPiece = 4,
131     DebugInfoSwap = 5,
132     DebugInfoXderef = 6,
133     DebugInfoStackValue = 7,
134     DebugInfoConstu = 8,
135     DebugInfoDebugOperationMax = 0x7fffffff
136 };
137 
138 
139 #ifdef __cplusplus
140 }
141 #endif
142 
143 #endif // SPIRV_UNIFIED1_DebugInfo_H_
144