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.
24enum 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