1 // Copyright (c) 2021 The Khronos Group Inc.
2 // Copyright (c) 2021 Valve Corporation
3 // Copyright (c) 2021 LunarG Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 
17 #ifndef SOURCE_COMMON_DEBUG_INFO_HEADER_H_
18 #define SOURCE_COMMON_DEBUG_INFO_HEADER_H_
19 
20 // This enum defines the known common set of instructions that are the same
21 // between OpenCL.DebugInfo.100 and NonSemantic.Shader.DebugInfo.100.
22 // Note that NonSemantic.Shader.* instructions can still have slightly
23 // different encoding, as it does not use literals anywhere and only constants.
24 enum CommonDebugInfoInstructions {
25   CommonDebugInfoDebugInfoNone = 0,
26   CommonDebugInfoDebugCompilationUnit = 1,
27   CommonDebugInfoDebugTypeBasic = 2,
28   CommonDebugInfoDebugTypePointer = 3,
29   CommonDebugInfoDebugTypeQualifier = 4,
30   CommonDebugInfoDebugTypeArray = 5,
31   CommonDebugInfoDebugTypeVector = 6,
32   CommonDebugInfoDebugTypedef = 7,
33   CommonDebugInfoDebugTypeFunction = 8,
34   CommonDebugInfoDebugTypeEnum = 9,
35   CommonDebugInfoDebugTypeComposite = 10,
36   CommonDebugInfoDebugTypeMember = 11,
37   CommonDebugInfoDebugTypeInheritance = 12,
38   CommonDebugInfoDebugTypePtrToMember = 13,
39   CommonDebugInfoDebugTypeTemplate = 14,
40   CommonDebugInfoDebugTypeTemplateParameter = 15,
41   CommonDebugInfoDebugTypeTemplateTemplateParameter = 16,
42   CommonDebugInfoDebugTypeTemplateParameterPack = 17,
43   CommonDebugInfoDebugGlobalVariable = 18,
44   CommonDebugInfoDebugFunctionDeclaration = 19,
45   CommonDebugInfoDebugFunction = 20,
46   CommonDebugInfoDebugLexicalBlock = 21,
47   CommonDebugInfoDebugLexicalBlockDiscriminator = 22,
48   CommonDebugInfoDebugScope = 23,
49   CommonDebugInfoDebugNoScope = 24,
50   CommonDebugInfoDebugInlinedAt = 25,
51   CommonDebugInfoDebugLocalVariable = 26,
52   CommonDebugInfoDebugInlinedVariable = 27,
53   CommonDebugInfoDebugDeclare = 28,
54   CommonDebugInfoDebugValue = 29,
55   CommonDebugInfoDebugOperation = 30,
56   CommonDebugInfoDebugExpression = 31,
57   CommonDebugInfoDebugMacroDef = 32,
58   CommonDebugInfoDebugMacroUndef = 33,
59   CommonDebugInfoDebugImportedEntity = 34,
60   CommonDebugInfoDebugSource = 35,
61   CommonDebugInfoInstructionsMax = 0x7ffffff
62 };
63 
64 #endif  // SOURCE_COMMON_DEBUG_INFO_HEADER_H_
65