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_UNIFIED1_NonSemanticShaderDebugInfo100_H_
26#define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32enum {
33 NonSemanticShaderDebugInfo100Version = 100,
34 NonSemanticShaderDebugInfo100Version_BitWidthPadding = 0x7fffffff
35};
36enum {
37 NonSemanticShaderDebugInfo100Revision = 6,
38 NonSemanticShaderDebugInfo100Revision_BitWidthPadding = 0x7fffffff
39};
40
41enum NonSemanticShaderDebugInfo100Instructions {
42 NonSemanticShaderDebugInfo100DebugInfoNone = 0,
43 NonSemanticShaderDebugInfo100DebugCompilationUnit = 1,
44 NonSemanticShaderDebugInfo100DebugTypeBasic = 2,
45 NonSemanticShaderDebugInfo100DebugTypePointer = 3,
46 NonSemanticShaderDebugInfo100DebugTypeQualifier = 4,
47 NonSemanticShaderDebugInfo100DebugTypeArray = 5,
48 NonSemanticShaderDebugInfo100DebugTypeVector = 6,
49 NonSemanticShaderDebugInfo100DebugTypedef = 7,
50 NonSemanticShaderDebugInfo100DebugTypeFunction = 8,
51 NonSemanticShaderDebugInfo100DebugTypeEnum = 9,
52 NonSemanticShaderDebugInfo100DebugTypeComposite = 10,
53 NonSemanticShaderDebugInfo100DebugTypeMember = 11,
54 NonSemanticShaderDebugInfo100DebugTypeInheritance = 12,
55 NonSemanticShaderDebugInfo100DebugTypePtrToMember = 13,
56 NonSemanticShaderDebugInfo100DebugTypeTemplate = 14,
57 NonSemanticShaderDebugInfo100DebugTypeTemplateParameter = 15,
58 NonSemanticShaderDebugInfo100DebugTypeTemplateTemplateParameter = 16,
59 NonSemanticShaderDebugInfo100DebugTypeTemplateParameterPack = 17,
60 NonSemanticShaderDebugInfo100DebugGlobalVariable = 18,
61 NonSemanticShaderDebugInfo100DebugFunctionDeclaration = 19,
62 NonSemanticShaderDebugInfo100DebugFunction = 20,
63 NonSemanticShaderDebugInfo100DebugLexicalBlock = 21,
64 NonSemanticShaderDebugInfo100DebugLexicalBlockDiscriminator = 22,
65 NonSemanticShaderDebugInfo100DebugScope = 23,
66 NonSemanticShaderDebugInfo100DebugNoScope = 24,
67 NonSemanticShaderDebugInfo100DebugInlinedAt = 25,
68 NonSemanticShaderDebugInfo100DebugLocalVariable = 26,
69 NonSemanticShaderDebugInfo100DebugInlinedVariable = 27,
70 NonSemanticShaderDebugInfo100DebugDeclare = 28,
71 NonSemanticShaderDebugInfo100DebugValue = 29,
72 NonSemanticShaderDebugInfo100DebugOperation = 30,
73 NonSemanticShaderDebugInfo100DebugExpression = 31,
74 NonSemanticShaderDebugInfo100DebugMacroDef = 32,
75 NonSemanticShaderDebugInfo100DebugMacroUndef = 33,
76 NonSemanticShaderDebugInfo100DebugImportedEntity = 34,
77 NonSemanticShaderDebugInfo100DebugSource = 35,
78 NonSemanticShaderDebugInfo100DebugFunctionDefinition = 101,
79 NonSemanticShaderDebugInfo100DebugSourceContinued = 102,
80 NonSemanticShaderDebugInfo100DebugLine = 103,
81 NonSemanticShaderDebugInfo100DebugNoLine = 104,
82 NonSemanticShaderDebugInfo100DebugBuildIdentifier = 105,
83 NonSemanticShaderDebugInfo100DebugStoragePath = 106,
84 NonSemanticShaderDebugInfo100DebugEntryPoint = 107,
85 NonSemanticShaderDebugInfo100DebugTypeMatrix = 108,
86 NonSemanticShaderDebugInfo100InstructionsMax = 0x7fffffff
87};
88
89
90enum NonSemanticShaderDebugInfo100DebugInfoFlags {
91 NonSemanticShaderDebugInfo100None = 0x0000,
92 NonSemanticShaderDebugInfo100FlagIsProtected = 0x01,
93 NonSemanticShaderDebugInfo100FlagIsPrivate = 0x02,
94 NonSemanticShaderDebugInfo100FlagIsPublic = 0x03,
95 NonSemanticShaderDebugInfo100FlagIsLocal = 0x04,
96 NonSemanticShaderDebugInfo100FlagIsDefinition = 0x08,
97 NonSemanticShaderDebugInfo100FlagFwdDecl = 0x10,
98 NonSemanticShaderDebugInfo100FlagArtificial = 0x20,
99 NonSemanticShaderDebugInfo100FlagExplicit = 0x40,
100 NonSemanticShaderDebugInfo100FlagPrototyped = 0x80,
101 NonSemanticShaderDebugInfo100FlagObjectPointer = 0x100,
102 NonSemanticShaderDebugInfo100FlagStaticMember = 0x200,
103 NonSemanticShaderDebugInfo100FlagIndirectVariable = 0x400,
104 NonSemanticShaderDebugInfo100FlagLValueReference = 0x800,
105 NonSemanticShaderDebugInfo100FlagRValueReference = 0x1000,
106 NonSemanticShaderDebugInfo100FlagIsOptimized = 0x2000,
107 NonSemanticShaderDebugInfo100FlagIsEnumClass = 0x4000,
108 NonSemanticShaderDebugInfo100FlagTypePassByValue = 0x8000,
109 NonSemanticShaderDebugInfo100FlagTypePassByReference = 0x10000,
110 NonSemanticShaderDebugInfo100FlagUnknownPhysicalLayout = 0x20000,
111 NonSemanticShaderDebugInfo100DebugInfoFlagsMax = 0x7fffffff
112};
113
114enum NonSemanticShaderDebugInfo100BuildIdentifierFlags {
115 NonSemanticShaderDebugInfo100IdentifierPossibleDuplicates = 0x01,
116 NonSemanticShaderDebugInfo100BuildIdentifierFlagsMax = 0x7fffffff
117};
118
119enum NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncoding {
120 NonSemanticShaderDebugInfo100Unspecified = 0,
121 NonSemanticShaderDebugInfo100Address = 1,
122 NonSemanticShaderDebugInfo100Boolean = 2,
123 NonSemanticShaderDebugInfo100Float = 3,
124 NonSemanticShaderDebugInfo100Signed = 4,
125 NonSemanticShaderDebugInfo100SignedChar = 5,
126 NonSemanticShaderDebugInfo100Unsigned = 6,
127 NonSemanticShaderDebugInfo100UnsignedChar = 7,
128 NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
129};
130
131enum NonSemanticShaderDebugInfo100DebugCompositeType {
132 NonSemanticShaderDebugInfo100Class = 0,
133 NonSemanticShaderDebugInfo100Structure = 1,
134 NonSemanticShaderDebugInfo100Union = 2,
135 NonSemanticShaderDebugInfo100DebugCompositeTypeMax = 0x7fffffff
136};
137
138enum NonSemanticShaderDebugInfo100DebugTypeQualifier {
139 NonSemanticShaderDebugInfo100ConstType = 0,
140 NonSemanticShaderDebugInfo100VolatileType = 1,
141 NonSemanticShaderDebugInfo100RestrictType = 2,
142 NonSemanticShaderDebugInfo100AtomicType = 3,
143 NonSemanticShaderDebugInfo100DebugTypeQualifierMax = 0x7fffffff
144};
145
146enum NonSemanticShaderDebugInfo100DebugOperation {
147 NonSemanticShaderDebugInfo100Deref = 0,
148 NonSemanticShaderDebugInfo100Plus = 1,
149 NonSemanticShaderDebugInfo100Minus = 2,
150 NonSemanticShaderDebugInfo100PlusUconst = 3,
151 NonSemanticShaderDebugInfo100BitPiece = 4,
152 NonSemanticShaderDebugInfo100Swap = 5,
153 NonSemanticShaderDebugInfo100Xderef = 6,
154 NonSemanticShaderDebugInfo100StackValue = 7,
155 NonSemanticShaderDebugInfo100Constu = 8,
156 NonSemanticShaderDebugInfo100Fragment = 9,
157 NonSemanticShaderDebugInfo100DebugOperationMax = 0x7fffffff
158};
159
160enum NonSemanticShaderDebugInfo100DebugImportedEntity {
161 NonSemanticShaderDebugInfo100ImportedModule = 0,
162 NonSemanticShaderDebugInfo100ImportedDeclaration = 1,
163 NonSemanticShaderDebugInfo100DebugImportedEntityMax = 0x7fffffff
164};
165
166
167#ifdef __cplusplus
168}
169#endif
170
171#endif // SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_
172