| // Copyright (c) 2017 The Khronos Group Inc. |
| // |
| // Permission is hereby granted, free of charge, to any person obtaining a copy |
| // of this software and/or associated documentation files (the "Materials"), |
| // to deal in the Materials without restriction, including without limitation |
| // the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| // and/or sell copies of the Materials, and to permit persons to whom the |
| // Materials are furnished to do so, subject to the following conditions: |
| // |
| // The above copyright notice and this permission notice shall be included in |
| // all copies or substantial portions of the Materials. |
| // |
| // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS |
| // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND |
| // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ |
| // |
| // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS |
| // IN THE MATERIALS. |
| |
| #ifndef SPIRV_UNIFIED1_DebugInfo_H_ |
| #define SPIRV_UNIFIED1_DebugInfo_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| enum { |
| DebugInfoVersion = 100, |
| DebugInfoVersion_BitWidthPadding = 0x7fffffff |
| }; |
| enum { |
| DebugInfoRevision = 1, |
| DebugInfoRevision_BitWidthPadding = 0x7fffffff |
| }; |
| |
| enum DebugInfoInstructions { |
| DebugInfoDebugInfoNone = 0, |
| DebugInfoDebugCompilationUnit = 1, |
| DebugInfoDebugTypeBasic = 2, |
| DebugInfoDebugTypePointer = 3, |
| DebugInfoDebugTypeQualifier = 4, |
| DebugInfoDebugTypeArray = 5, |
| DebugInfoDebugTypeVector = 6, |
| DebugInfoDebugTypedef = 7, |
| DebugInfoDebugTypeFunction = 8, |
| DebugInfoDebugTypeEnum = 9, |
| DebugInfoDebugTypeComposite = 10, |
| DebugInfoDebugTypeMember = 11, |
| DebugInfoDebugTypeInheritance = 12, |
| DebugInfoDebugTypePtrToMember = 13, |
| DebugInfoDebugTypeTemplate = 14, |
| DebugInfoDebugTypeTemplateParameter = 15, |
| DebugInfoDebugTypeTemplateTemplateParameter = 16, |
| DebugInfoDebugTypeTemplateParameterPack = 17, |
| DebugInfoDebugGlobalVariable = 18, |
| DebugInfoDebugFunctionDeclaration = 19, |
| DebugInfoDebugFunction = 20, |
| DebugInfoDebugLexicalBlock = 21, |
| DebugInfoDebugLexicalBlockDiscriminator = 22, |
| DebugInfoDebugScope = 23, |
| DebugInfoDebugNoScope = 24, |
| DebugInfoDebugInlinedAt = 25, |
| DebugInfoDebugLocalVariable = 26, |
| DebugInfoDebugInlinedVariable = 27, |
| DebugInfoDebugDeclare = 28, |
| DebugInfoDebugValue = 29, |
| DebugInfoDebugOperation = 30, |
| DebugInfoDebugExpression = 31, |
| DebugInfoDebugMacroDef = 32, |
| DebugInfoDebugMacroUndef = 33, |
| DebugInfoInstructionsMax = 0x7fffffff |
| }; |
| |
| |
| enum DebugInfoDebugInfoFlags { |
| DebugInfoNone = 0x0000, |
| DebugInfoFlagIsProtected = 0x01, |
| DebugInfoFlagIsPrivate = 0x02, |
| DebugInfoFlagIsPublic = 0x03, |
| DebugInfoFlagIsLocal = 0x04, |
| DebugInfoFlagIsDefinition = 0x08, |
| DebugInfoFlagFwdDecl = 0x10, |
| DebugInfoFlagArtificial = 0x20, |
| DebugInfoFlagExplicit = 0x40, |
| DebugInfoFlagPrototyped = 0x80, |
| DebugInfoFlagObjectPointer = 0x100, |
| DebugInfoFlagStaticMember = 0x200, |
| DebugInfoFlagIndirectVariable = 0x400, |
| DebugInfoFlagLValueReference = 0x800, |
| DebugInfoFlagRValueReference = 0x1000, |
| DebugInfoFlagIsOptimized = 0x2000, |
| DebugInfoDebugInfoFlagsMax = 0x7fffffff |
| }; |
| |
| enum DebugInfoDebugBaseTypeAttributeEncoding { |
| DebugInfoUnspecified = 0, |
| DebugInfoAddress = 1, |
| DebugInfoBoolean = 2, |
| DebugInfoFloat = 4, |
| DebugInfoSigned = 5, |
| DebugInfoSignedChar = 6, |
| DebugInfoUnsigned = 7, |
| DebugInfoUnsignedChar = 8, |
| DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7fffffff |
| }; |
| |
| enum DebugInfoDebugCompositeType { |
| DebugInfoClass = 0, |
| DebugInfoStructure = 1, |
| DebugInfoUnion = 2, |
| DebugInfoDebugCompositeTypeMax = 0x7fffffff |
| }; |
| |
| enum DebugInfoDebugTypeQualifier { |
| DebugInfoConstType = 0, |
| DebugInfoVolatileType = 1, |
| DebugInfoRestrictType = 2, |
| DebugInfoDebugTypeQualifierMax = 0x7fffffff |
| }; |
| |
| enum DebugInfoDebugOperation { |
| DebugInfoDeref = 0, |
| DebugInfoPlus = 1, |
| DebugInfoMinus = 2, |
| DebugInfoPlusUconst = 3, |
| DebugInfoBitPiece = 4, |
| DebugInfoSwap = 5, |
| DebugInfoXderef = 6, |
| DebugInfoStackValue = 7, |
| DebugInfoConstu = 8, |
| DebugInfoDebugOperationMax = 0x7fffffff |
| }; |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // SPIRV_UNIFIED1_DebugInfo_H_ |