DebugInfo.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. // Copyright: 2017-2024 The Khronos Group Inc.
  2. // License: MIT
  3. //
  4. // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
  5. // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
  6. // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
  7. //
  8. #ifndef SPIRV_EXTINST_DebugInfo_H_
  9. #define SPIRV_EXTINST_DebugInfo_H_
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. enum { DebugInfoVersion = 100, DebugInfoVersion_BitWidthPadding = 0x7fffffff };
  14. enum { DebugInfoRevision = 1, DebugInfoRevision_BitWidthPadding = 0x7fffffff };
  15. enum DebugInfoInstructions {
  16. DebugInfoDebugInfoNone = 0,
  17. DebugInfoDebugCompilationUnit = 1,
  18. DebugInfoDebugTypeBasic = 2,
  19. DebugInfoDebugTypePointer = 3,
  20. DebugInfoDebugTypeQualifier = 4,
  21. DebugInfoDebugTypeArray = 5,
  22. DebugInfoDebugTypeVector = 6,
  23. DebugInfoDebugTypedef = 7,
  24. DebugInfoDebugTypeFunction = 8,
  25. DebugInfoDebugTypeEnum = 9,
  26. DebugInfoDebugTypeComposite = 10,
  27. DebugInfoDebugTypeMember = 11,
  28. DebugInfoDebugTypeInheritance = 12,
  29. DebugInfoDebugTypePtrToMember = 13,
  30. DebugInfoDebugTypeTemplate = 14,
  31. DebugInfoDebugTypeTemplateParameter = 15,
  32. DebugInfoDebugTypeTemplateTemplateParameter = 16,
  33. DebugInfoDebugTypeTemplateParameterPack = 17,
  34. DebugInfoDebugGlobalVariable = 18,
  35. DebugInfoDebugFunctionDeclaration = 19,
  36. DebugInfoDebugFunction = 20,
  37. DebugInfoDebugLexicalBlock = 21,
  38. DebugInfoDebugLexicalBlockDiscriminator = 22,
  39. DebugInfoDebugScope = 23,
  40. DebugInfoDebugNoScope = 24,
  41. DebugInfoDebugInlinedAt = 25,
  42. DebugInfoDebugLocalVariable = 26,
  43. DebugInfoDebugInlinedVariable = 27,
  44. DebugInfoDebugDeclare = 28,
  45. DebugInfoDebugValue = 29,
  46. DebugInfoDebugOperation = 30,
  47. DebugInfoDebugExpression = 31,
  48. DebugInfoDebugMacroDef = 32,
  49. DebugInfoDebugMacroUndef = 33,
  50. DebugInfoInstructionsMax = 0x7ffffff
  51. };
  52. enum DebugInfoDebugInfoFlags {
  53. DebugInfoNone = 0x0000,
  54. DebugInfoFlagIsProtected = 0x01,
  55. DebugInfoFlagIsPrivate = 0x02,
  56. DebugInfoFlagIsPublic = 0x03,
  57. DebugInfoFlagIsLocal = 0x04,
  58. DebugInfoFlagIsDefinition = 0x08,
  59. DebugInfoFlagFwdDecl = 0x10,
  60. DebugInfoFlagArtificial = 0x20,
  61. DebugInfoFlagExplicit = 0x40,
  62. DebugInfoFlagPrototyped = 0x80,
  63. DebugInfoFlagObjectPointer = 0x100,
  64. DebugInfoFlagStaticMember = 0x200,
  65. DebugInfoFlagIndirectVariable = 0x400,
  66. DebugInfoFlagLValueReference = 0x800,
  67. DebugInfoFlagRValueReference = 0x1000,
  68. DebugInfoFlagIsOptimized = 0x2000,
  69. DebugInfoDebugInfoFlagsMax = 0x7ffffff
  70. };
  71. enum DebugInfoDebugBaseTypeAttributeEncoding {
  72. DebugInfoUnspecified = 0,
  73. DebugInfoAddress = 1,
  74. DebugInfoBoolean = 2,
  75. DebugInfoFloat = 4,
  76. DebugInfoSigned = 5,
  77. DebugInfoSignedChar = 6,
  78. DebugInfoUnsigned = 7,
  79. DebugInfoUnsignedChar = 8,
  80. DebugInfoDebugBaseTypeAttributeEncodingMax = 0x7ffffff
  81. };
  82. enum DebugInfoDebugCompositeType {
  83. DebugInfoClass = 0,
  84. DebugInfoStructure = 1,
  85. DebugInfoUnion = 2,
  86. DebugInfoDebugCompositeTypeMax = 0x7ffffff
  87. };
  88. enum DebugInfoDebugTypeQualifier {
  89. DebugInfoConstType = 0,
  90. DebugInfoVolatileType = 1,
  91. DebugInfoRestrictType = 2,
  92. DebugInfoDebugTypeQualifierMax = 0x7ffffff
  93. };
  94. enum DebugInfoDebugOperation {
  95. DebugInfoDeref = 0,
  96. DebugInfoPlus = 1,
  97. DebugInfoMinus = 2,
  98. DebugInfoPlusUconst = 3,
  99. DebugInfoBitPiece = 4,
  100. DebugInfoSwap = 5,
  101. DebugInfoXderef = 6,
  102. DebugInfoStackValue = 7,
  103. DebugInfoConstu = 8,
  104. DebugInfoDebugOperationMax = 0x7ffffff
  105. };
  106. #ifdef __cplusplus
  107. }
  108. #endif
  109. #endif // SPIRV_EXTINST_DebugInfo_H_