1 // 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_EXTINST_NonSemanticVulkanDebugInfo100_H_ 26 #define SPIRV_EXTINST_NonSemanticVulkanDebugInfo100_H_ 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 enum { NonSemanticVulkanDebugInfo100Version = 100, NonSemanticVulkanDebugInfo100Version_BitWidthPadding = 0x7fffffff }; 33 enum { NonSemanticVulkanDebugInfo100Revision = 2, NonSemanticVulkanDebugInfo100Revision_BitWidthPadding = 0x7fffffff }; 34 35 enum NonSemanticVulkanDebugInfo100Instructions { 36 NonSemanticVulkanDebugInfo100DebugInfoNone = 0, 37 NonSemanticVulkanDebugInfo100DebugCompilationUnit = 1, 38 NonSemanticVulkanDebugInfo100DebugTypeBasic = 2, 39 NonSemanticVulkanDebugInfo100DebugTypePointer = 3, 40 NonSemanticVulkanDebugInfo100DebugTypeQualifier = 4, 41 NonSemanticVulkanDebugInfo100DebugTypeArray = 5, 42 NonSemanticVulkanDebugInfo100DebugTypeVector = 6, 43 NonSemanticVulkanDebugInfo100DebugTypedef = 7, 44 NonSemanticVulkanDebugInfo100DebugTypeFunction = 8, 45 NonSemanticVulkanDebugInfo100DebugTypeEnum = 9, 46 NonSemanticVulkanDebugInfo100DebugTypeComposite = 10, 47 NonSemanticVulkanDebugInfo100DebugTypeMember = 11, 48 NonSemanticVulkanDebugInfo100DebugTypeInheritance = 12, 49 NonSemanticVulkanDebugInfo100DebugTypePtrToMember = 13, 50 NonSemanticVulkanDebugInfo100DebugTypeTemplate = 14, 51 NonSemanticVulkanDebugInfo100DebugTypeTemplateParameter = 15, 52 NonSemanticVulkanDebugInfo100DebugTypeTemplateTemplateParameter = 16, 53 NonSemanticVulkanDebugInfo100DebugTypeTemplateParameterPack = 17, 54 NonSemanticVulkanDebugInfo100DebugGlobalVariable = 18, 55 NonSemanticVulkanDebugInfo100DebugFunctionDeclaration = 19, 56 NonSemanticVulkanDebugInfo100DebugFunction = 20, 57 NonSemanticVulkanDebugInfo100DebugLexicalBlock = 21, 58 NonSemanticVulkanDebugInfo100DebugLexicalBlockDiscriminator = 22, 59 NonSemanticVulkanDebugInfo100DebugScope = 23, 60 NonSemanticVulkanDebugInfo100DebugNoScope = 24, 61 NonSemanticVulkanDebugInfo100DebugInlinedAt = 25, 62 NonSemanticVulkanDebugInfo100DebugLocalVariable = 26, 63 NonSemanticVulkanDebugInfo100DebugInlinedVariable = 27, 64 NonSemanticVulkanDebugInfo100DebugDeclare = 28, 65 NonSemanticVulkanDebugInfo100DebugValue = 29, 66 NonSemanticVulkanDebugInfo100DebugOperation = 30, 67 NonSemanticVulkanDebugInfo100DebugExpression = 31, 68 NonSemanticVulkanDebugInfo100DebugMacroDef = 32, 69 NonSemanticVulkanDebugInfo100DebugMacroUndef = 33, 70 NonSemanticVulkanDebugInfo100DebugImportedEntity = 34, 71 NonSemanticVulkanDebugInfo100DebugSource = 35, 72 NonSemanticVulkanDebugInfo100DebugFunctionDefinition = 101, 73 NonSemanticVulkanDebugInfo100InstructionsMax = 0x7ffffff 74 }; 75 76 77 enum NonSemanticVulkanDebugInfo100DebugInfoFlags { 78 NonSemanticVulkanDebugInfo100FlagIsProtected = 0x01, 79 NonSemanticVulkanDebugInfo100FlagIsPrivate = 0x02, 80 NonSemanticVulkanDebugInfo100FlagIsPublic = 0x03, 81 NonSemanticVulkanDebugInfo100FlagIsLocal = 0x04, 82 NonSemanticVulkanDebugInfo100FlagIsDefinition = 0x08, 83 NonSemanticVulkanDebugInfo100FlagFwdDecl = 0x10, 84 NonSemanticVulkanDebugInfo100FlagArtificial = 0x20, 85 NonSemanticVulkanDebugInfo100FlagExplicit = 0x40, 86 NonSemanticVulkanDebugInfo100FlagPrototyped = 0x80, 87 NonSemanticVulkanDebugInfo100FlagObjectPointer = 0x100, 88 NonSemanticVulkanDebugInfo100FlagStaticMember = 0x200, 89 NonSemanticVulkanDebugInfo100FlagIndirectVariable = 0x400, 90 NonSemanticVulkanDebugInfo100FlagLValueReference = 0x800, 91 NonSemanticVulkanDebugInfo100FlagRValueReference = 0x1000, 92 NonSemanticVulkanDebugInfo100FlagIsOptimized = 0x2000, 93 NonSemanticVulkanDebugInfo100FlagIsEnumClass = 0x4000, 94 NonSemanticVulkanDebugInfo100FlagTypePassByValue = 0x8000, 95 NonSemanticVulkanDebugInfo100FlagTypePassByReference = 0x10000, 96 NonSemanticVulkanDebugInfo100DebugInfoFlagsMax = 0x7ffffff 97 }; 98 99 enum NonSemanticVulkanDebugInfo100DebugBaseTypeAttributeEncoding { 100 NonSemanticVulkanDebugInfo100Unspecified = 0, 101 NonSemanticVulkanDebugInfo100Address = 1, 102 NonSemanticVulkanDebugInfo100Boolean = 2, 103 NonSemanticVulkanDebugInfo100Float = 3, 104 NonSemanticVulkanDebugInfo100Signed = 4, 105 NonSemanticVulkanDebugInfo100SignedChar = 5, 106 NonSemanticVulkanDebugInfo100Unsigned = 6, 107 NonSemanticVulkanDebugInfo100UnsignedChar = 7, 108 NonSemanticVulkanDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7ffffff 109 }; 110 111 enum NonSemanticVulkanDebugInfo100DebugCompositeType { 112 NonSemanticVulkanDebugInfo100Class = 0, 113 NonSemanticVulkanDebugInfo100Structure = 1, 114 NonSemanticVulkanDebugInfo100Union = 2, 115 NonSemanticVulkanDebugInfo100DebugCompositeTypeMax = 0x7ffffff 116 }; 117 118 enum NonSemanticVulkanDebugInfo100DebugTypeQualifier { 119 NonSemanticVulkanDebugInfo100ConstType = 0, 120 NonSemanticVulkanDebugInfo100VolatileType = 1, 121 NonSemanticVulkanDebugInfo100RestrictType = 2, 122 NonSemanticVulkanDebugInfo100AtomicType = 3, 123 NonSemanticVulkanDebugInfo100DebugTypeQualifierMax = 0x7ffffff 124 }; 125 126 enum NonSemanticVulkanDebugInfo100DebugOperation { 127 NonSemanticVulkanDebugInfo100Deref = 0, 128 NonSemanticVulkanDebugInfo100Plus = 1, 129 NonSemanticVulkanDebugInfo100Minus = 2, 130 NonSemanticVulkanDebugInfo100PlusUconst = 3, 131 NonSemanticVulkanDebugInfo100BitPiece = 4, 132 NonSemanticVulkanDebugInfo100Swap = 5, 133 NonSemanticVulkanDebugInfo100Xderef = 6, 134 NonSemanticVulkanDebugInfo100StackValue = 7, 135 NonSemanticVulkanDebugInfo100Constu = 8, 136 NonSemanticVulkanDebugInfo100Fragment = 9, 137 NonSemanticVulkanDebugInfo100DebugOperationMax = 0x7ffffff 138 }; 139 140 enum NonSemanticVulkanDebugInfo100DebugImportedEntity { 141 NonSemanticVulkanDebugInfo100ImportedModule = 0, 142 NonSemanticVulkanDebugInfo100ImportedDeclaration = 1, 143 NonSemanticVulkanDebugInfo100DebugImportedEntityMax = 0x7ffffff 144 }; 145 146 147 #ifdef __cplusplus 148 } 149 #endif 150 151 #endif // SPIRV_EXTINST_NonSemanticVulkanDebugInfo100_H_