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_OpenCLDebugInfo100_H_ 26 #define SPIRV_UNIFIED1_OpenCLDebugInfo100_H_ 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 enum { 33 OpenCLDebugInfo100Version = 200, 34 OpenCLDebugInfo100Version_BitWidthPadding = 0x7fffffff 35 }; 36 enum { 37 OpenCLDebugInfo100Revision = 2, 38 OpenCLDebugInfo100Revision_BitWidthPadding = 0x7fffffff 39 }; 40 41 enum OpenCLDebugInfo100Instructions { 42 OpenCLDebugInfo100DebugInfoNone = 0, 43 OpenCLDebugInfo100DebugCompilationUnit = 1, 44 OpenCLDebugInfo100DebugTypeBasic = 2, 45 OpenCLDebugInfo100DebugTypePointer = 3, 46 OpenCLDebugInfo100DebugTypeQualifier = 4, 47 OpenCLDebugInfo100DebugTypeArray = 5, 48 OpenCLDebugInfo100DebugTypeVector = 6, 49 OpenCLDebugInfo100DebugTypedef = 7, 50 OpenCLDebugInfo100DebugTypeFunction = 8, 51 OpenCLDebugInfo100DebugTypeEnum = 9, 52 OpenCLDebugInfo100DebugTypeComposite = 10, 53 OpenCLDebugInfo100DebugTypeMember = 11, 54 OpenCLDebugInfo100DebugTypeInheritance = 12, 55 OpenCLDebugInfo100DebugTypePtrToMember = 13, 56 OpenCLDebugInfo100DebugTypeTemplate = 14, 57 OpenCLDebugInfo100DebugTypeTemplateParameter = 15, 58 OpenCLDebugInfo100DebugTypeTemplateTemplateParameter = 16, 59 OpenCLDebugInfo100DebugTypeTemplateParameterPack = 17, 60 OpenCLDebugInfo100DebugGlobalVariable = 18, 61 OpenCLDebugInfo100DebugFunctionDeclaration = 19, 62 OpenCLDebugInfo100DebugFunction = 20, 63 OpenCLDebugInfo100DebugLexicalBlock = 21, 64 OpenCLDebugInfo100DebugLexicalBlockDiscriminator = 22, 65 OpenCLDebugInfo100DebugScope = 23, 66 OpenCLDebugInfo100DebugNoScope = 24, 67 OpenCLDebugInfo100DebugInlinedAt = 25, 68 OpenCLDebugInfo100DebugLocalVariable = 26, 69 OpenCLDebugInfo100DebugInlinedVariable = 27, 70 OpenCLDebugInfo100DebugDeclare = 28, 71 OpenCLDebugInfo100DebugValue = 29, 72 OpenCLDebugInfo100DebugOperation = 30, 73 OpenCLDebugInfo100DebugExpression = 31, 74 OpenCLDebugInfo100DebugMacroDef = 32, 75 OpenCLDebugInfo100DebugMacroUndef = 33, 76 OpenCLDebugInfo100DebugImportedEntity = 34, 77 OpenCLDebugInfo100DebugSource = 35, 78 OpenCLDebugInfo100DebugModuleINTEL = 36, 79 OpenCLDebugInfo100InstructionsMax = 0x7fffffff 80 }; 81 82 83 enum OpenCLDebugInfo100DebugInfoFlags { 84 OpenCLDebugInfo100None = 0x0000, 85 OpenCLDebugInfo100FlagIsProtected = 0x01, 86 OpenCLDebugInfo100FlagIsPrivate = 0x02, 87 OpenCLDebugInfo100FlagIsPublic = 0x03, 88 OpenCLDebugInfo100FlagIsLocal = 0x04, 89 OpenCLDebugInfo100FlagIsDefinition = 0x08, 90 OpenCLDebugInfo100FlagFwdDecl = 0x10, 91 OpenCLDebugInfo100FlagArtificial = 0x20, 92 OpenCLDebugInfo100FlagExplicit = 0x40, 93 OpenCLDebugInfo100FlagPrototyped = 0x80, 94 OpenCLDebugInfo100FlagObjectPointer = 0x100, 95 OpenCLDebugInfo100FlagStaticMember = 0x200, 96 OpenCLDebugInfo100FlagIndirectVariable = 0x400, 97 OpenCLDebugInfo100FlagLValueReference = 0x800, 98 OpenCLDebugInfo100FlagRValueReference = 0x1000, 99 OpenCLDebugInfo100FlagIsOptimized = 0x2000, 100 OpenCLDebugInfo100FlagIsEnumClass = 0x4000, 101 OpenCLDebugInfo100FlagTypePassByValue = 0x8000, 102 OpenCLDebugInfo100FlagTypePassByReference = 0x10000, 103 OpenCLDebugInfo100DebugInfoFlagsMax = 0x7fffffff 104 }; 105 106 enum OpenCLDebugInfo100DebugBaseTypeAttributeEncoding { 107 OpenCLDebugInfo100Unspecified = 0, 108 OpenCLDebugInfo100Address = 1, 109 OpenCLDebugInfo100Boolean = 2, 110 OpenCLDebugInfo100Float = 3, 111 OpenCLDebugInfo100Signed = 4, 112 OpenCLDebugInfo100SignedChar = 5, 113 OpenCLDebugInfo100Unsigned = 6, 114 OpenCLDebugInfo100UnsignedChar = 7, 115 OpenCLDebugInfo100DebugBaseTypeAttributeEncodingMax = 0x7fffffff 116 }; 117 118 enum OpenCLDebugInfo100DebugCompositeType { 119 OpenCLDebugInfo100Class = 0, 120 OpenCLDebugInfo100Structure = 1, 121 OpenCLDebugInfo100Union = 2, 122 OpenCLDebugInfo100DebugCompositeTypeMax = 0x7fffffff 123 }; 124 125 enum OpenCLDebugInfo100DebugTypeQualifier { 126 OpenCLDebugInfo100ConstType = 0, 127 OpenCLDebugInfo100VolatileType = 1, 128 OpenCLDebugInfo100RestrictType = 2, 129 OpenCLDebugInfo100AtomicType = 3, 130 OpenCLDebugInfo100DebugTypeQualifierMax = 0x7fffffff 131 }; 132 133 enum OpenCLDebugInfo100DebugOperation { 134 OpenCLDebugInfo100Deref = 0, 135 OpenCLDebugInfo100Plus = 1, 136 OpenCLDebugInfo100Minus = 2, 137 OpenCLDebugInfo100PlusUconst = 3, 138 OpenCLDebugInfo100BitPiece = 4, 139 OpenCLDebugInfo100Swap = 5, 140 OpenCLDebugInfo100Xderef = 6, 141 OpenCLDebugInfo100StackValue = 7, 142 OpenCLDebugInfo100Constu = 8, 143 OpenCLDebugInfo100Fragment = 9, 144 OpenCLDebugInfo100DebugOperationMax = 0x7fffffff 145 }; 146 147 enum OpenCLDebugInfo100DebugImportedEntity { 148 OpenCLDebugInfo100ImportedModule = 0, 149 OpenCLDebugInfo100ImportedDeclaration = 1, 150 OpenCLDebugInfo100DebugImportedEntityMax = 0x7fffffff 151 }; 152 153 154 #ifdef __cplusplus 155 } 156 #endif 157 158 #endif // SPIRV_UNIFIED1_OpenCLDebugInfo100_H_ 159