blob: 1149980ffbcb85ac037c1f8636e7bf3f94d02905 [file] [log] [blame]
David Neto0a7fc452020-02-26 13:58:17 -05001// 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_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,
Jeff Bolz89bef402020-03-02 09:43:49 -060078 OpenCLDebugInfo100InstructionsMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -050079};
80
81
82enum OpenCLDebugInfo100DebugInfoFlags {
83 OpenCLDebugInfo100FlagIsProtected = 0x01,
84 OpenCLDebugInfo100FlagIsPrivate = 0x02,
85 OpenCLDebugInfo100FlagIsPublic = 0x03,
86 OpenCLDebugInfo100FlagIsLocal = 0x04,
87 OpenCLDebugInfo100FlagIsDefinition = 0x08,
88 OpenCLDebugInfo100FlagFwdDecl = 0x10,
89 OpenCLDebugInfo100FlagArtificial = 0x20,
90 OpenCLDebugInfo100FlagExplicit = 0x40,
91 OpenCLDebugInfo100FlagPrototyped = 0x80,
92 OpenCLDebugInfo100FlagObjectPointer = 0x100,
93 OpenCLDebugInfo100FlagStaticMember = 0x200,
94 OpenCLDebugInfo100FlagIndirectVariable = 0x400,
95 OpenCLDebugInfo100FlagLValueReference = 0x800,
96 OpenCLDebugInfo100FlagRValueReference = 0x1000,
97 OpenCLDebugInfo100FlagIsOptimized = 0x2000,
98 OpenCLDebugInfo100FlagIsEnumClass = 0x4000,
99 OpenCLDebugInfo100FlagTypePassByValue = 0x8000,
100 OpenCLDebugInfo100FlagTypePassByReference = 0x10000,
Jeff Bolz89bef402020-03-02 09:43:49 -0600101 OpenCLDebugInfo100DebugInfoFlagsMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500102};
103
104enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding {
105 OpenCLDebugInfo100Unspecified = 0,
106 OpenCLDebugInfo100Address = 1,
107 OpenCLDebugInfo100Boolean = 2,
108 OpenCLDebugInfo100Float = 3,
109 OpenCLDebugInfo100Signed = 4,
110 OpenCLDebugInfo100SignedChar = 5,
111 OpenCLDebugInfo100Unsigned = 6,
112 OpenCLDebugInfo100UnsignedChar = 7,
Jeff Bolz89bef402020-03-02 09:43:49 -0600113 OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500114};
115
116enum OpenCLDebugInfo100DebugCompositeType {
117 OpenCLDebugInfo100Class = 0,
118 OpenCLDebugInfo100Structure = 1,
119 OpenCLDebugInfo100Union = 2,
Jeff Bolz89bef402020-03-02 09:43:49 -0600120 OpenCLDebugInfo100DebugCompositeTypeMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500121};
122
123enum OpenCLDebugInfo100DebugTypeQualifier {
124 OpenCLDebugInfo100ConstType = 0,
125 OpenCLDebugInfo100VolatileType = 1,
126 OpenCLDebugInfo100RestrictType = 2,
127 OpenCLDebugInfo100AtomicType = 3,
Jeff Bolz89bef402020-03-02 09:43:49 -0600128 OpenCLDebugInfo100DebugTypeQualifierMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500129};
130
131enum OpenCLDebugInfo100DebugOperation {
132 OpenCLDebugInfo100Deref = 0,
133 OpenCLDebugInfo100Plus = 1,
134 OpenCLDebugInfo100Minus = 2,
135 OpenCLDebugInfo100PlusUconst = 3,
136 OpenCLDebugInfo100BitPiece = 4,
137 OpenCLDebugInfo100Swap = 5,
138 OpenCLDebugInfo100Xderef = 6,
139 OpenCLDebugInfo100StackValue = 7,
140 OpenCLDebugInfo100Constu = 8,
141 OpenCLDebugInfo100Fragment = 9,
Jeff Bolz89bef402020-03-02 09:43:49 -0600142 OpenCLDebugInfo100DebugOperationMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500143};
144
145enum OpenCLDebugInfo100DebugImportedEntity {
146 OpenCLDebugInfo100ImportedModule = 0,
147 OpenCLDebugInfo100ImportedDeclaration = 1,
Jeff Bolz89bef402020-03-02 09:43:49 -0600148 OpenCLDebugInfo100DebugImportedEntityMax = 0x7fffffff
David Neto0a7fc452020-02-26 13:58:17 -0500149};
150
151
152#ifdef __cplusplus
153}
154#endif
155
156#endif // SPIRV_UNIFIED1_OpenCLDebugInfo100_H_