| { | |
| "copyright" : [ | |
| "Copyright (c) 2017-2024 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." | |
| ], | |
| "version" : 100, | |
| "revision" : 1, | |
| "instructions" : [ | |
| { | |
| "opname" : "DebugInfoNone", | |
| "opcode" : 0 | |
| }, | |
| { | |
| "opname" : "DebugCompilationUnit", | |
| "opcode" : 1, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Version'" }, | |
| { "kind" : "LiteralInteger", "name" : "'DWARF Version'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeBasic", | |
| "opcode" : 2, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Size'" }, | |
| { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypePointer", | |
| "opcode" : 3, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Base Type'" }, | |
| { "kind" : "StorageClass", "name" : "'Storage Class'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Literal Flags'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeQualifier", | |
| "opcode" : 4, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Base Type'" }, | |
| { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeArray", | |
| "opcode" : 5, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Base Type'" }, | |
| { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeVector", | |
| "opcode" : 6, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Base Type'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Component Count'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypedef", | |
| "opcode" : 7, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Base Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeFunction", | |
| "opcode" : 8, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Return Type'" }, | |
| { "kind" : "IdRef", "name" : "'Paramter Types'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeEnum", | |
| "opcode" : 9, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Underlying Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Size'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, | |
| { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeComposite", | |
| "opcode" : 10, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "DebugCompositeType", "name" : "'Tag'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Size'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, | |
| { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeMember", | |
| "opcode" : 11, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Offset'" }, | |
| { "kind" : "IdRef", "name" : "'Size'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, | |
| { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeInheritance", | |
| "opcode" : 12, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Child'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Offset'" }, | |
| { "kind" : "IdRef", "name" : "'Size'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypePtrToMember", | |
| "opcode" : 13, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Member Type'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeTemplate", | |
| "opcode" : 14, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Target'" }, | |
| { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeTemplateParameter", | |
| "opcode" : 15, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Actual Type'" }, | |
| { "kind" : "IdRef", "name" : "'Value'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeTemplateTemplateParameter", | |
| "opcode" : 16, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Template Name'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugTypeTemplateParameterPack", | |
| "opcode" : 17, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugGlobalVariable", | |
| "opcode" : 18, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, | |
| { "kind" : "IdRef", "name" : "'Variable'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, | |
| { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugFunctionDeclaration", | |
| "opcode" : 19, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugFunction", | |
| "opcode" : 20, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Linkage Name'" }, | |
| { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Scope Line'" }, | |
| { "kind" : "IdRef", "name" : "'Function'" }, | |
| { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugLexicalBlock", | |
| "opcode" : 21, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugLexicalBlockDiscriminator", | |
| "opcode" : 22, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Scope'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Discriminator'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugScope", | |
| "opcode" : 23, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Scope'" }, | |
| { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugNoScope", | |
| "opcode" : 24 | |
| }, | |
| { | |
| "opname" : "DebugInlinedAt", | |
| "opcode" : 25, | |
| "operands" : [ | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "IdRef", "name" : "'Scope'" }, | |
| { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugLocalVariable", | |
| "opcode" : 26, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Type'" }, | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Column'" }, | |
| { "kind" : "IdRef", "name" : "'Parent'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugInlinedVariable", | |
| "opcode" : 27, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Variable'" }, | |
| { "kind" : "IdRef", "name" : "'Inlined'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugDeclare", | |
| "opcode" : 28, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Local Variable'" }, | |
| { "kind" : "IdRef", "name" : "'Variable'" }, | |
| { "kind" : "IdRef", "name" : "'Expression'" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugValue", | |
| "opcode" : 29, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Value'" }, | |
| { "kind" : "IdRef", "name" : "'Expression'" }, | |
| { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugOperation", | |
| "opcode" : 30, | |
| "operands" : [ | |
| { "kind" : "DebugOperation", "name" : "'OpCode'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugExpression", | |
| "opcode" : 31, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugMacroDef", | |
| "opcode" : 32, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "IdRef", "name" : "'Name'" }, | |
| { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } | |
| ] | |
| }, | |
| { | |
| "opname" : "DebugMacroUndef", | |
| "opcode" : 33, | |
| "operands" : [ | |
| { "kind" : "IdRef", "name" : "'Source'" }, | |
| { "kind" : "LiteralInteger", "name" : "'Line'" }, | |
| { "kind" : "IdRef", "name" : "'Macro'" } | |
| ] | |
| } | |
| ], | |
| "operand_kinds" : [ | |
| { | |
| "category" : "BitEnum", | |
| "kind" : "DebugInfoFlags", | |
| "enumerants" : [ | |
| { | |
| "enumerant" : "None", | |
| "value" : "0x0000" | |
| }, | |
| { | |
| "enumerant" : "FlagIsProtected", | |
| "value" : "0x01" | |
| }, | |
| { | |
| "enumerant" : "FlagIsPrivate", | |
| "value" : "0x02" | |
| }, | |
| { | |
| "enumerant" : "FlagIsPublic", | |
| "value" : "0x03" | |
| }, | |
| { | |
| "enumerant" : "FlagIsLocal", | |
| "value" : "0x04" | |
| }, | |
| { | |
| "enumerant" : "FlagIsDefinition", | |
| "value" : "0x08" | |
| }, | |
| { | |
| "enumerant" : "FlagFwdDecl", | |
| "value" : "0x10" | |
| }, | |
| { | |
| "enumerant" : "FlagArtificial", | |
| "value" : "0x20" | |
| }, | |
| { | |
| "enumerant" : "FlagExplicit", | |
| "value" : "0x40" | |
| }, | |
| { | |
| "enumerant" : "FlagPrototyped", | |
| "value" : "0x80" | |
| }, | |
| { | |
| "enumerant" : "FlagObjectPointer", | |
| "value" : "0x100" | |
| }, | |
| { | |
| "enumerant" : "FlagStaticMember", | |
| "value" : "0x200" | |
| }, | |
| { | |
| "enumerant" : "FlagIndirectVariable", | |
| "value" : "0x400" | |
| }, | |
| { | |
| "enumerant" : "FlagLValueReference", | |
| "value" : "0x800" | |
| }, | |
| { | |
| "enumerant" : "FlagRValueReference", | |
| "value" : "0x1000" | |
| }, | |
| { | |
| "enumerant" : "FlagIsOptimized", | |
| "value" : "0x2000" | |
| } | |
| ] | |
| }, | |
| { | |
| "category" : "ValueEnum", | |
| "kind" : "DebugBaseTypeAttributeEncoding", | |
| "enumerants" : [ | |
| { | |
| "enumerant" : "Unspecified", | |
| "value" : "0" | |
| }, | |
| { | |
| "enumerant" : "Address", | |
| "value" : "1" | |
| }, | |
| { | |
| "enumerant" : "Boolean", | |
| "value" : "2" | |
| }, | |
| { | |
| "enumerant" : "Float", | |
| "value" : "4" | |
| }, | |
| { | |
| "enumerant" : "Signed", | |
| "value" : "5" | |
| }, | |
| { | |
| "enumerant" : "SignedChar", | |
| "value" : "6" | |
| }, | |
| { | |
| "enumerant" : "Unsigned", | |
| "value" : "7" | |
| }, | |
| { | |
| "enumerant" : "UnsignedChar", | |
| "value" : "8" | |
| } | |
| ] | |
| }, | |
| { | |
| "category" : "ValueEnum", | |
| "kind" : "DebugCompositeType", | |
| "enumerants" : [ | |
| { | |
| "enumerant" : "Class", | |
| "value" : "0" | |
| }, | |
| { | |
| "enumerant" : "Structure", | |
| "value" : "1" | |
| }, | |
| { | |
| "enumerant" : "Union", | |
| "value" : "2" | |
| } | |
| ] | |
| }, | |
| { | |
| "category" : "ValueEnum", | |
| "kind" : "DebugTypeQualifier", | |
| "enumerants" : [ | |
| { | |
| "enumerant" : "ConstType", | |
| "value" : "0" | |
| }, | |
| { | |
| "enumerant" : "VolatileType", | |
| "value" : "1" | |
| }, | |
| { | |
| "enumerant" : "RestrictType", | |
| "value" : "2" | |
| } | |
| ] | |
| }, | |
| { | |
| "category" : "ValueEnum", | |
| "kind" : "DebugOperation", | |
| "enumerants" : [ | |
| { | |
| "enumerant" : "Deref", | |
| "value" : "0" | |
| }, | |
| { | |
| "enumerant" : "Plus", | |
| "value" : "1" | |
| }, | |
| { | |
| "enumerant" : "Minus", | |
| "value" : "2" | |
| }, | |
| { | |
| "enumerant" : "PlusUconst", | |
| "value" : "3", | |
| "parameters" : [ | |
| { "kind" : "LiteralInteger" } | |
| ] | |
| }, | |
| { | |
| "enumerant" : "BitPiece", | |
| "value" : "4", | |
| "parameters" : [ | |
| { "kind" : "LiteralInteger" }, | |
| { "kind" : "LiteralInteger" } | |
| ] | |
| }, | |
| { | |
| "enumerant" : "Swap", | |
| "value" : "5" | |
| }, | |
| { | |
| "enumerant" : "Xderef", | |
| "value" : "6" | |
| }, | |
| { | |
| "enumerant" : "StackValue", | |
| "value" : "7" | |
| }, | |
| { | |
| "enumerant" : "Constu", | |
| "value" : "8", | |
| "parameters" : [ | |
| { "kind" : "LiteralInteger" } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| } | |