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_UNIFIED1_NonSemanticShaderDebugInfo100_H_ 26 #define SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_ 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 enum { 33 NonSemanticShaderDebugInfo100Version = 100, 34 NonSemanticShaderDebugInfo100Version_BitWidthPadding = 0x7fffffff 35 }; 36 enum { 37 NonSemanticShaderDebugInfo100Revision = 6, 38 NonSemanticShaderDebugInfo100Revision_BitWidthPadding = 0x7fffffff 39 }; 40 41 enum NonSemanticShaderDebugInfo100Instructions { 42 NonSemanticShaderDebugInfo100DebugInfoNone = 0, 43 NonSemanticShaderDebugInfo100DebugCompilationUnit = 1, 44 NonSemanticShaderDebugInfo100DebugTypeBasic = 2, 45 NonSemanticShaderDebugInfo100DebugTypePointer = 3, 46 NonSemanticShaderDebugInfo100DebugTypeQualifier = 4, 47 NonSemanticShaderDebugInfo100DebugTypeArray = 5, 48 NonSemanticShaderDebugInfo100DebugTypeVector = 6, 49 NonSemanticShaderDebugInfo100DebugTypedef = 7, 50 NonSemanticShaderDebugInfo100DebugTypeFunction = 8, 51 NonSemanticShaderDebugInfo100DebugTypeEnum = 9, 52 NonSemanticShaderDebugInfo100DebugTypeComposite = 10, 53 NonSemanticShaderDebugInfo100DebugTypeMember = 11, 54 NonSemanticShaderDebugInfo100DebugTypeInheritance = 12, 55 NonSemanticShaderDebugInfo100DebugTypePtrToMember = 13, 56 NonSemanticShaderDebugInfo100DebugTypeTemplate = 14, 57 NonSemanticShaderDebugInfo100DebugTypeTemplateParameter = 15, 58 NonSemanticShaderDebugInfo100DebugTypeTemplateTemplateParameter = 16, 59 NonSemanticShaderDebugInfo100DebugTypeTemplateParameterPack = 17, 60 NonSemanticShaderDebugInfo100DebugGlobalVariable = 18, 61 NonSemanticShaderDebugInfo100DebugFunctionDeclaration = 19, 62 NonSemanticShaderDebugInfo100DebugFunction = 20, 63 NonSemanticShaderDebugInfo100DebugLexicalBlock = 21, 64 NonSemanticShaderDebugInfo100DebugLexicalBlockDiscriminator = 22, 65 NonSemanticShaderDebugInfo100DebugScope = 23, 66 NonSemanticShaderDebugInfo100DebugNoScope = 24, 67 NonSemanticShaderDebugInfo100DebugInlinedAt = 25, 68 NonSemanticShaderDebugInfo100DebugLocalVariable = 26, 69 NonSemanticShaderDebugInfo100DebugInlinedVariable = 27, 70 NonSemanticShaderDebugInfo100DebugDeclare = 28, 71 NonSemanticShaderDebugInfo100DebugValue = 29, 72 NonSemanticShaderDebugInfo100DebugOperation = 30, 73 NonSemanticShaderDebugInfo100DebugExpression = 31, 74 NonSemanticShaderDebugInfo100DebugMacroDef = 32, 75 NonSemanticShaderDebugInfo100DebugMacroUndef = 33, 76 NonSemanticShaderDebugInfo100DebugImportedEntity = 34, 77 NonSemanticShaderDebugInfo100DebugSource = 35, 78 NonSemanticShaderDebugInfo100DebugFunctionDefinition = 101, 79 NonSemanticShaderDebugInfo100DebugSourceContinued = 102, 80 NonSemanticShaderDebugInfo100DebugLine = 103, 81 NonSemanticShaderDebugInfo100DebugNoLine = 104, 82 NonSemanticShaderDebugInfo100DebugBuildIdentifier = 105, 83 NonSemanticShaderDebugInfo100DebugStoragePath = 106, 84 NonSemanticShaderDebugInfo100DebugEntryPoint = 107, 85 NonSemanticShaderDebugInfo100DebugTypeMatrix = 108, 86 NonSemanticShaderDebugInfo100InstructionsMax = 0x7fffffff 87 }; 88 89 90 enum NonSemanticShaderDebugInfo100DebugInfoFlags { 91 NonSemanticShaderDebugInfo100None = 0x0000, 92 NonSemanticShaderDebugInfo100FlagIsProtected = 0x01, 93 NonSemanticShaderDebugInfo100FlagIsPrivate = 0x02, 94 NonSemanticShaderDebugInfo100FlagIsPublic = 0x03, 95 NonSemanticShaderDebugInfo100FlagIsLocal = 0x04, 96 NonSemanticShaderDebugInfo100FlagIsDefinition = 0x08, 97 NonSemanticShaderDebugInfo100FlagFwdDecl = 0x10, 98 NonSemanticShaderDebugInfo100FlagArtificial = 0x20, 99 NonSemanticShaderDebugInfo100FlagExplicit = 0x40, 100 NonSemanticShaderDebugInfo100FlagPrototyped = 0x80, 101 NonSemanticShaderDebugInfo100FlagObjectPointer = 0x100, 102 NonSemanticShaderDebugInfo100FlagStaticMember = 0x200, 103 NonSemanticShaderDebugInfo100FlagIndirectVariable = 0x400, 104 NonSemanticShaderDebugInfo100FlagLValueReference = 0x800, 105 NonSemanticShaderDebugInfo100FlagRValueReference = 0x1000, 106 NonSemanticShaderDebugInfo100FlagIsOptimized = 0x2000, 107 NonSemanticShaderDebugInfo100FlagIsEnumClass = 0x4000, 108 NonSemanticShaderDebugInfo100FlagTypePassByValue = 0x8000, 109 NonSemanticShaderDebugInfo100FlagTypePassByReference = 0x10000, 110 NonSemanticShaderDebugInfo100FlagUnknownPhysicalLayout = 0x20000, 111 NonSemanticShaderDebugInfo100DebugInfoFlagsMax = 0x7fffffff 112 }; 113 114 enum NonSemanticShaderDebugInfo100BuildIdentifierFlags { 115 NonSemanticShaderDebugInfo100IdentifierPossibleDuplicates = 0x01, 116 NonSemanticShaderDebugInfo100BuildIdentifierFlagsMax = 0x7fffffff 117 }; 118 119 enum NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncoding { 120 NonSemanticShaderDebugInfo100Unspecified = 0, 121 NonSemanticShaderDebugInfo100Address = 1, 122 NonSemanticShaderDebugInfo100Boolean = 2, 123 NonSemanticShaderDebugInfo100Float = 3, 124 NonSemanticShaderDebugInfo100Signed = 4, 125 NonSemanticShaderDebugInfo100SignedChar = 5, 126 NonSemanticShaderDebugInfo100Unsigned = 6, 127 NonSemanticShaderDebugInfo100UnsignedChar = 7, 128 NonSemanticShaderDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff 129 }; 130 131 enum NonSemanticShaderDebugInfo100DebugCompositeType { 132 NonSemanticShaderDebugInfo100Class = 0, 133 NonSemanticShaderDebugInfo100Structure = 1, 134 NonSemanticShaderDebugInfo100Union = 2, 135 NonSemanticShaderDebugInfo100DebugCompositeTypeMax = 0x7fffffff 136 }; 137 138 enum NonSemanticShaderDebugInfo100DebugTypeQualifier { 139 NonSemanticShaderDebugInfo100ConstType = 0, 140 NonSemanticShaderDebugInfo100VolatileType = 1, 141 NonSemanticShaderDebugInfo100RestrictType = 2, 142 NonSemanticShaderDebugInfo100AtomicType = 3, 143 NonSemanticShaderDebugInfo100DebugTypeQualifierMax = 0x7fffffff 144 }; 145 146 enum NonSemanticShaderDebugInfo100DebugOperation { 147 NonSemanticShaderDebugInfo100Deref = 0, 148 NonSemanticShaderDebugInfo100Plus = 1, 149 NonSemanticShaderDebugInfo100Minus = 2, 150 NonSemanticShaderDebugInfo100PlusUconst = 3, 151 NonSemanticShaderDebugInfo100BitPiece = 4, 152 NonSemanticShaderDebugInfo100Swap = 5, 153 NonSemanticShaderDebugInfo100Xderef = 6, 154 NonSemanticShaderDebugInfo100StackValue = 7, 155 NonSemanticShaderDebugInfo100Constu = 8, 156 NonSemanticShaderDebugInfo100Fragment = 9, 157 NonSemanticShaderDebugInfo100DebugOperationMax = 0x7fffffff 158 }; 159 160 enum NonSemanticShaderDebugInfo100DebugImportedEntity { 161 NonSemanticShaderDebugInfo100ImportedModule = 0, 162 NonSemanticShaderDebugInfo100ImportedDeclaration = 1, 163 NonSemanticShaderDebugInfo100DebugImportedEntityMax = 0x7fffffff 164 }; 165 166 167 #ifdef __cplusplus 168 } 169 #endif 170 171 #endif // SPIRV_UNIFIED1_NonSemanticShaderDebugInfo100_H_ 172