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