blob: ffbd16f1d7329eab3bdf6ad3299b6cc018c67887 [file] [log] [blame]
Ben Ashbaugh23d4a392024-01-24 09:04:40 -08001// Copyright (c) 2018-2024 The Khronos Group Inc.
David Neto0a7fc452020-02-26 13:58:17 -05002//
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_OpenCLDebugInfo100_H_
26#define SPIRV_UNIFIED1_OpenCLDebugInfo100_H_
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32enum {
33 OpenCLDebugInfo100Version = 200,
34 OpenCLDebugInfo100Version_BitWidthPadding = 0x7fffffff
35};
36enum {
37 OpenCLDebugInfo100Revision = 2,
38 OpenCLDebugInfo100Revision_BitWidthPadding = 0x7fffffff
39};
40
41enum OpenCLDebugInfo100Instructions {
42 OpenCLDebugInfo100DebugInfoNone = 0,
43 OpenCLDebugInfo100DebugCompilationUnit = 1,
44 OpenCLDebugInfo100DebugTypeBasic = 2,
45 OpenCLDebugInfo100DebugTypePointer = 3,
46 OpenCLDebugInfo100DebugTypeQualifier = 4,
47 OpenCLDebugInfo100DebugTypeArray = 5,
48 OpenCLDebugInfo100DebugTypeVector = 6,
49 OpenCLDebugInfo100DebugTypedef = 7,
50 OpenCLDebugInfo100DebugTypeFunction = 8,
51 OpenCLDebugInfo100DebugTypeEnum = 9,
52 OpenCLDebugInfo100DebugTypeComposite = 10,
53 OpenCLDebugInfo100DebugTypeMember = 11,
54 OpenCLDebugInfo100DebugTypeInheritance = 12,
55 OpenCLDebugInfo100DebugTypePtrToMember = 13,
56 OpenCLDebugInfo100DebugTypeTemplate = 14,
57 OpenCLDebugInfo100DebugTypeTemplateParameter = 15,
58 OpenCLDebugInfo100DebugTypeTemplateTemplateParameter = 16,
59 OpenCLDebugInfo100DebugTypeTemplateParameterPack = 17,
60 OpenCLDebugInfo100DebugGlobalVariable = 18,
61 OpenCLDebugInfo100DebugFunctionDeclaration = 19,
62 OpenCLDebugInfo100DebugFunction = 20,
63 OpenCLDebugInfo100DebugLexicalBlock = 21,
64 OpenCLDebugInfo100DebugLexicalBlockDiscriminator = 22,
65 OpenCLDebugInfo100DebugScope = 23,
66 OpenCLDebugInfo100DebugNoScope = 24,
67 OpenCLDebugInfo100DebugInlinedAt = 25,
68 OpenCLDebugInfo100DebugLocalVariable = 26,
69 OpenCLDebugInfo100DebugInlinedVariable = 27,
70 OpenCLDebugInfo100DebugDeclare = 28,
71 OpenCLDebugInfo100DebugValue = 29,
72 OpenCLDebugInfo100DebugOperation = 30,
73 OpenCLDebugInfo100DebugExpression = 31,
74 OpenCLDebugInfo100DebugMacroDef = 32,
75 OpenCLDebugInfo100DebugMacroUndef = 33,
76 OpenCLDebugInfo100DebugImportedEntity = 34,
77 OpenCLDebugInfo100DebugSource = 35,
Mariya Podchishchaeva0320c5d2021-06-25 13:44:25 +030078 OpenCLDebugInfo100DebugModuleINTEL = 36,
Jeff Bolz89bef402020-03-02 09:43:49 -060079 OpenCLDebugInfo100InstructionsMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -050080};
81
82
83enum OpenCLDebugInfo100DebugInfoFlags {
Ben Ashbaugh03034f12021-01-27 08:50:30 -080084 OpenCLDebugInfo100None = 0x0000,
David Neto0a7fc452020-02-26 13:58:17 -050085 OpenCLDebugInfo100FlagIsProtected = 0x01,
86 OpenCLDebugInfo100FlagIsPrivate = 0x02,
87 OpenCLDebugInfo100FlagIsPublic = 0x03,
88 OpenCLDebugInfo100FlagIsLocal = 0x04,
89 OpenCLDebugInfo100FlagIsDefinition = 0x08,
90 OpenCLDebugInfo100FlagFwdDecl = 0x10,
91 OpenCLDebugInfo100FlagArtificial = 0x20,
92 OpenCLDebugInfo100FlagExplicit = 0x40,
93 OpenCLDebugInfo100FlagPrototyped = 0x80,
94 OpenCLDebugInfo100FlagObjectPointer = 0x100,
95 OpenCLDebugInfo100FlagStaticMember = 0x200,
96 OpenCLDebugInfo100FlagIndirectVariable = 0x400,
97 OpenCLDebugInfo100FlagLValueReference = 0x800,
98 OpenCLDebugInfo100FlagRValueReference = 0x1000,
99 OpenCLDebugInfo100FlagIsOptimized = 0x2000,
100 OpenCLDebugInfo100FlagIsEnumClass = 0x4000,
101 OpenCLDebugInfo100FlagTypePassByValue = 0x8000,
102 OpenCLDebugInfo100FlagTypePassByReference = 0x10000,
Jeff Bolz89bef402020-03-02 09:43:49 -0600103 OpenCLDebugInfo100DebugInfoFlagsMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500104};
105
106enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding {
107 OpenCLDebugInfo100Unspecified = 0,
108 OpenCLDebugInfo100Address = 1,
109 OpenCLDebugInfo100Boolean = 2,
110 OpenCLDebugInfo100Float = 3,
111 OpenCLDebugInfo100Signed = 4,
112 OpenCLDebugInfo100SignedChar = 5,
113 OpenCLDebugInfo100Unsigned = 6,
114 OpenCLDebugInfo100UnsignedChar = 7,
Jeff Bolz89bef402020-03-02 09:43:49 -0600115 OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500116};
117
118enum OpenCLDebugInfo100DebugCompositeType {
119 OpenCLDebugInfo100Class = 0,
120 OpenCLDebugInfo100Structure = 1,
121 OpenCLDebugInfo100Union = 2,
Jeff Bolz89bef402020-03-02 09:43:49 -0600122 OpenCLDebugInfo100DebugCompositeTypeMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500123};
124
125enum OpenCLDebugInfo100DebugTypeQualifier {
126 OpenCLDebugInfo100ConstType = 0,
127 OpenCLDebugInfo100VolatileType = 1,
128 OpenCLDebugInfo100RestrictType = 2,
129 OpenCLDebugInfo100AtomicType = 3,
Jeff Bolz89bef402020-03-02 09:43:49 -0600130 OpenCLDebugInfo100DebugTypeQualifierMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500131};
132
133enum OpenCLDebugInfo100DebugOperation {
134 OpenCLDebugInfo100Deref = 0,
135 OpenCLDebugInfo100Plus = 1,
136 OpenCLDebugInfo100Minus = 2,
137 OpenCLDebugInfo100PlusUconst = 3,
138 OpenCLDebugInfo100BitPiece = 4,
139 OpenCLDebugInfo100Swap = 5,
140 OpenCLDebugInfo100Xderef = 6,
141 OpenCLDebugInfo100StackValue = 7,
142 OpenCLDebugInfo100Constu = 8,
143 OpenCLDebugInfo100Fragment = 9,
Jeff Bolz89bef402020-03-02 09:43:49 -0600144 OpenCLDebugInfo100DebugOperationMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500145};
146
147enum OpenCLDebugInfo100DebugImportedEntity {
148 OpenCLDebugInfo100ImportedModule = 0,
149 OpenCLDebugInfo100ImportedDeclaration = 1,
Jeff Bolz89bef402020-03-02 09:43:49 -0600150 OpenCLDebugInfo100DebugImportedEntityMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500151};
152
153
154#ifdef __cplusplus
155}
156#endif
157
158#endif // SPIRV_UNIFIED1_OpenCLDebugInfo100_H_