From 4d0aba7725d2485ab77b2aebab93e8ddac357386 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 15 Apr 2021 10:55:07 +0100 Subject: [PATCH] Include non-semantic debuginfo grammar --- ...semantic.shader.debuginfo.100.grammar.json | 713 +++ .../driver/shaders/spirv/gen_spirv_code.py | 46 +- renderdoc/driver/shaders/spirv/spirv_common.h | 9 + .../driver/shaders/spirv/spirv_debug.cpp | 180 - renderdoc/driver/shaders/spirv/spirv_gen.cpp | 2696 +-------- renderdoc/driver/shaders/spirv/spirv_gen.h | 231 +- .../driver/shaders/spirv/spirv_op_helpers.h | 5151 ----------------- 7 files changed, 864 insertions(+), 8162 deletions(-) create mode 100644 renderdoc/driver/shaders/spirv/extinst.nonsemantic.shader.debuginfo.100.grammar.json diff --git a/renderdoc/driver/shaders/spirv/extinst.nonsemantic.shader.debuginfo.100.grammar.json b/renderdoc/driver/shaders/spirv/extinst.nonsemantic.shader.debuginfo.100.grammar.json new file mode 100644 index 000000000..f3621b0b4 --- /dev/null +++ b/renderdoc/driver/shaders/spirv/extinst.nonsemantic.shader.debuginfo.100.grammar.json @@ -0,0 +1,713 @@ +{ + "copyright" : [ + "Copyright (c) 2018 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" : 6, + "instructions" : [ + { + "opname" : "DebugInfoNone", + "opcode" : 0 + }, + { + "opname" : "DebugCompilationUnit", + "opcode" : 1, + "operands" : [ + { "kind" : "IdRef", "name" : "'Version'" }, + { "kind" : "IdRef", "name" : "'DWARF Version'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Language'" } + ] + }, + { + "opname" : "DebugTypeBasic", + "opcode" : 2, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Size'" }, + { "kind" : "IdRef", "name" : "'Encoding'" }, + { "kind" : "IdRef", "name" : "'Flags'" } + ] + }, + { + "opname" : "DebugTypePointer", + "opcode" : 3, + "operands" : [ + { "kind" : "IdRef", "name" : "'Base Type'" }, + { "kind" : "IdRef", "name" : "'Storage Class'" }, + { "kind" : "IdRef", "name" : "'Flags'" } + ] + }, + { + "opname" : "DebugTypeQualifier", + "opcode" : 4, + "operands" : [ + { "kind" : "IdRef", "name" : "'Base Type'" }, + { "kind" : "IdRef", "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" : "IdRef", "name" : "'Component Count'" } + ] + }, + { + "opname" : "DebugTypedef", + "opcode" : 7, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Base Type'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" } + ] + }, + { + "opname" : "DebugTypeFunction", + "opcode" : 8, + "operands" : [ + { "kind" : "IdRef", "name" : "'Flags'" }, + { "kind" : "IdRef", "name" : "'Return Type'" }, + { "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugTypeEnum", + "opcode" : 9, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Underlying Type'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Size'" }, + { "kind" : "IdRef", "name" : "'Flags'" }, + { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugTypeComposite", + "opcode" : 10, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Tag'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Linkage Name'" }, + { "kind" : "IdRef", "name" : "'Size'" }, + { "kind" : "IdRef", "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" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Offset'" }, + { "kind" : "IdRef", "name" : "'Size'" }, + { "kind" : "IdRef", "name" : "'Flags'" }, + { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } + ] + }, + { + "opname" : "DebugTypeInheritance", + "opcode" : 12, + "operands" : [ + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Offset'" }, + { "kind" : "IdRef", "name" : "'Size'" }, + { "kind" : "IdRef", "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" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" } + ] + }, + { + "opname" : "DebugTypeTemplateTemplateParameter", + "opcode" : 16, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Template Name'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" } + ] + }, + { + "opname" : "DebugTypeTemplateParameterPack", + "opcode" : 17, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "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" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Linkage Name'" }, + { "kind" : "IdRef", "name" : "'Variable'" }, + { "kind" : "IdRef", "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" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Linkage Name'" }, + { "kind" : "IdRef", "name" : "'Flags'" } + ] + }, + { + "opname" : "DebugFunction", + "opcode" : 20, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Type'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Linkage Name'" }, + { "kind" : "IdRef", "name" : "'Flags'" }, + { "kind" : "IdRef", "name" : "'Scope Line'" }, + { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" } + ] + }, + { + "opname" : "DebugLexicalBlock", + "opcode" : 21, + "operands" : [ + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" } + ] + }, + { + "opname" : "DebugLexicalBlockDiscriminator", + "opcode" : 22, + "operands" : [ + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "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" : "IdRef", "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" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" }, + { "kind" : "IdRef", "name" : "'Flags'" }, + { "kind" : "IdRef", "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'" }, + { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugValue", + "opcode" : 29, + "operands" : [ + { "kind" : "IdRef", "name" : "'Local Variable'" }, + { "kind" : "IdRef", "name" : "'Value'" }, + { "kind" : "IdRef", "name" : "'Expression'" }, + { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugOperation", + "opcode" : 30, + "operands" : [ + { "kind" : "IdRef", "name" : "'OpCode'" }, + { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugExpression", + "opcode" : 31, + "operands" : [ + { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" } + ] + }, + { + "opname" : "DebugMacroDef", + "opcode" : 32, + "operands" : [ + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } + ] + }, + { + "opname" : "DebugMacroUndef", + "opcode" : 33, + "operands" : [ + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Macro'" } + ] + }, + { + "opname" : "DebugImportedEntity", + "opcode" : 34, + "operands" : [ + { "kind" : "IdRef", "name" : "'Name'" }, + { "kind" : "IdRef", "name" : "'Tag'" }, + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Entity'" }, + { "kind" : "IdRef", "name" : "'Line'" }, + { "kind" : "IdRef", "name" : "'Column'" }, + { "kind" : "IdRef", "name" : "'Parent'" } + ] + }, + { + "opname" : "DebugSource", + "opcode" : 35, + "operands" : [ + { "kind" : "IdRef", "name" : "'File'" }, + { "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" } + ] + }, + { + "opname" : "DebugFunctionDefinition", + "opcode" : 101, + "operands" : [ + { "kind" : "IdRef", "name" : "'Function'" }, + { "kind" : "IdRef", "name" : "'Definition'" } + ] + }, + { + "opname" : "DebugSourceContinued", + "opcode" : 102, + "operands" : [ + { "kind" : "IdRef", "name" : "'Text'" } + ] + }, + { + "opname" : "DebugLine", + "opcode" : 103, + "operands" : [ + { "kind" : "IdRef", "name" : "'Source'" }, + { "kind" : "IdRef", "name" : "'Line Start'" }, + { "kind" : "IdRef", "name" : "'Line End'" }, + { "kind" : "IdRef", "name" : "'Column Start'" }, + { "kind" : "IdRef", "name" : "'Column End'" } + ] + }, + { + "opname" : "DebugNoLine", + "opcode" : 104 + }, + { + "opname" : "DebugBuildIdentifier", + "opcode" : 105, + "operands" : [ + { "kind" : "IdRef", "name" : "'Identifier'" }, + { "kind" : "IdRef", "name" : "'Flags'" } + ] + }, + { + "opname" : "DebugStoragePath", + "opcode" : 106, + "operands" : [ + { "kind" : "IdRef", "name" : "'Path'" } + ] + }, + { + "opname" : "DebugEntryPoint", + "opcode" : 107, + "operands" : [ + { "kind" : "IdRef", "name" : "'Entry Point'" }, + { "kind" : "IdRef", "name" : "'Compilation Unit'" }, + { "kind" : "IdRef", "name" : "'Compiler Signature'" }, + { "kind" : "IdRef", "name" : "'Command-line Arguments'" } + ] + }, + { + "opname" : "DebugTypeMatrix", + "opcode" : 108, + "operands" : [ + { "kind" : "IdRef", "name" : "'Vector Type'" }, + { "kind" : "IdRef", "name" : "'Vector Count'" }, + { "kind" : "IdRef", "name" : "'Column Major'" } + ] + } + ], + "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" + }, + { + "enumerant" : "FlagIsEnumClass", + "value" : "0x4000" + }, + { + "enumerant" : "FlagTypePassByValue", + "value" : "0x8000" + }, + { + "enumerant" : "FlagTypePassByReference", + "value" : "0x10000" + }, + { + "enumerant" : "FlagUnknownPhysicalLayout", + "value" : "0x20000" + } + ] + }, + { + "category" : "BitEnum", + "kind" : "BuildIdentifierFlags", + "enumerants" : [ + { + "enumerant" : "IdentifierPossibleDuplicates", + "value" : "0x01" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "DebugBaseTypeAttributeEncoding", + "enumerants" : [ + { + "enumerant" : "Unspecified", + "value" : "0" + }, + { + "enumerant" : "Address", + "value" : "1" + }, + { + "enumerant" : "Boolean", + "value" : "2" + }, + { + "enumerant" : "Float", + "value" : "3" + }, + { + "enumerant" : "Signed", + "value" : "4" + }, + { + "enumerant" : "SignedChar", + "value" : "5" + }, + { + "enumerant" : "Unsigned", + "value" : "6" + }, + { + "enumerant" : "UnsignedChar", + "value" : "7" + } + ] + }, + { + "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" + }, + { + "enumerant" : "AtomicType", + "value" : "3" + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "DebugOperation", + "enumerants" : [ + { + "enumerant" : "Deref", + "value" : "0" + }, + { + "enumerant" : "Plus", + "value" : "1" + }, + { + "enumerant" : "Minus", + "value" : "2" + }, + { + "enumerant" : "PlusUconst", + "value" : "3", + "parameters" : [ + { "kind" : "IdRef" } + ] + }, + { + "enumerant" : "BitPiece", + "value" : "4", + "parameters" : [ + { "kind" : "IdRef" }, + { "kind" : "IdRef" } + ] + }, + { + "enumerant" : "Swap", + "value" : "5" + }, + { + "enumerant" : "Xderef", + "value" : "6" + }, + { + "enumerant" : "StackValue", + "value" : "7" + }, + { + "enumerant" : "Constu", + "value" : "8", + "parameters" : [ + { "kind" : "IdRef" } + ] + }, + { + "enumerant" : "Fragment", + "value" : "9", + "parameters" : [ + { "kind" : "IdRef" }, + { "kind" : "IdRef" } + ] + } + ] + }, + { + "category" : "ValueEnum", + "kind" : "DebugImportedEntity", + "enumerants" : [ + { + "enumerant" : "ImportedModule", + "value" : "0" + }, + { + "enumerant" : "ImportedDeclaration", + "value" : "1" + } + ] + } + ] +} diff --git a/renderdoc/driver/shaders/spirv/gen_spirv_code.py b/renderdoc/driver/shaders/spirv/gen_spirv_code.py index cce2a1b17..77ba7e546 100644 --- a/renderdoc/driver/shaders/spirv/gen_spirv_code.py +++ b/renderdoc/driver/shaders/spirv/gen_spirv_code.py @@ -23,6 +23,9 @@ with open(pathname + 'spirv.core.grammar.json', mode='r') as f: with open(pathname + 'extinst.glsl.std.450.grammar.json', mode='r') as f: glsl450 = json.load(f) +with open(pathname + 'extinst.nonsemantic.shader.debuginfo.100.grammar.json', mode='r') as f: + debugInfo = json.load(f) + # open XML registry registry = ET.parse(pathname + 'spir-v.xml').getroot() @@ -877,6 +880,9 @@ used_ids = '' disassemble = '' for inst in spirv['instructions']: + if inst['class'] == '@exclude': + continue + decl += ' {} = {},\n'.format(inst['opname'][2:], inst['opcode']) if inst['opcode'] in used: @@ -1280,28 +1286,52 @@ OpDecoder::OpDecoder(const ConstIter &it) ## ############################################################################### -decl = '' -stringise = '' +glsl_decl = '' +glsl_stringise = '' for inst in glsl450['instructions']: - decl += ' {} = {},\n'.format(inst['opname'], inst['opcode']) - stringise += ' STRINGISE_ENUM_CLASS({});\n'.format(inst['opname']) + glsl_decl += ' {} = {},\n'.format(inst['opname'], inst['opcode']) + glsl_stringise += ' STRINGISE_ENUM_CLASS({});\n'.format(inst['opname']) + +debug_decl = '' +debug_stringise = '' + +for inst in debugInfo['instructions']: + debug_decl += ' {} = {},\n'.format(inst['opname'][5:], inst['opcode']) + debug_stringise += ' STRINGISE_ENUM_CLASS({});\n'.format(inst['opname'][5:]) header.write('''enum class GLSLstd450 : uint32_t {{ -{decl} +{glsl_decl} Max, Invalid = ~0U, }}; -'''.format(decl = decl)) +enum class ShaderDbg : uint32_t +{{ +{debug_decl} + Max, + Invalid = ~0U, +}}; + +'''.format(glsl_decl = glsl_decl, debug_decl = debug_decl)) cpp.write('''template <> rdcstr DoStringise(const rdcspv::GLSLstd450 &el) {{ BEGIN_ENUM_STRINGISE(rdcspv::GLSLstd450); {{ -{stringise} +{glsl_stringise} + }} + END_ENUM_STRINGISE(); +}} + +template <> +rdcstr DoStringise(const rdcspv::ShaderDbg &el) +{{ + BEGIN_ENUM_STRINGISE(rdcspv::ShaderDbg); + {{ +{debug_stringise} }} END_ENUM_STRINGISE(); }} @@ -1315,7 +1345,7 @@ rdcstr DoStringise(const rdcspv::Generator &el) }} END_ENUM_STRINGISE(); }} -'''.format(stringise = stringise.rstrip(), generator_tostr = generator_tostr.rstrip())) +'''.format(glsl_stringise = glsl_stringise.rstrip(), debug_stringise = debug_stringise.rstrip(), generator_tostr = generator_tostr.rstrip())) header.write(''' }; // namespace rdcspv diff --git a/renderdoc/driver/shaders/spirv/spirv_common.h b/renderdoc/driver/shaders/spirv/spirv_common.h index 9c74fc620..24f5b5d14 100644 --- a/renderdoc/driver/shaders/spirv/spirv_common.h +++ b/renderdoc/driver/shaders/spirv/spirv_common.h @@ -300,6 +300,15 @@ struct OpGLSL450 : public OpExtInstGeneric } OpGLSL450(const ConstIter &it) : OpExtInstGeneric(it) {} }; +struct OpShaderDbg : public OpExtInstGeneric +{ + OpShaderDbg(IdResultType resultType, IdResult result, Id set, rdcspv::ShaderDbg inst, + const rdcarray ¶ms) + : OpExtInstGeneric(resultType, result, set, inst, params) + { + } + OpShaderDbg(const ConstIter &it) : OpExtInstGeneric(it) {} +}; }; // namespace rdcspv diff --git a/renderdoc/driver/shaders/spirv/spirv_debug.cpp b/renderdoc/driver/shaders/spirv/spirv_debug.cpp index 8ec5c5ba9..c05d21967 100644 --- a/renderdoc/driver/shaders/spirv/spirv_debug.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_debug.cpp @@ -3578,125 +3578,6 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray case Op::USubSatINTEL: case Op::IMul32x16INTEL: case Op::UMul32x16INTEL: - case Op::VmeImageINTEL: - case Op::TypeVmeImageINTEL: - case Op::TypeAvcImePayloadINTEL: - case Op::TypeAvcRefPayloadINTEL: - case Op::TypeAvcSicPayloadINTEL: - case Op::TypeAvcMcePayloadINTEL: - case Op::TypeAvcMceResultINTEL: - case Op::TypeAvcImeResultINTEL: - case Op::TypeAvcImeResultSingleReferenceStreamoutINTEL: - case Op::TypeAvcImeResultDualReferenceStreamoutINTEL: - case Op::TypeAvcImeSingleReferenceStreaminINTEL: - case Op::TypeAvcImeDualReferenceStreaminINTEL: - case Op::TypeAvcRefResultINTEL: - case Op::TypeAvcSicResultINTEL: - case Op::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: - case Op::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL: - case Op::SubgroupAvcMceSetInterShapePenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: - case Op::SubgroupAvcMceSetInterDirectionPenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: - case Op::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: - case Op::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: - case Op::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: - case Op::SubgroupAvcMceSetMotionVectorCostFunctionINTEL: - case Op::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: - case Op::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: - case Op::SubgroupAvcMceSetAcOnlyHaarINTEL: - case Op::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: - case Op::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: - case Op::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: - case Op::SubgroupAvcMceConvertToImePayloadINTEL: - case Op::SubgroupAvcMceConvertToImeResultINTEL: - case Op::SubgroupAvcMceConvertToRefPayloadINTEL: - case Op::SubgroupAvcMceConvertToRefResultINTEL: - case Op::SubgroupAvcMceConvertToSicPayloadINTEL: - case Op::SubgroupAvcMceConvertToSicResultINTEL: - case Op::SubgroupAvcMceGetMotionVectorsINTEL: - case Op::SubgroupAvcMceGetInterDistortionsINTEL: - case Op::SubgroupAvcMceGetBestInterDistortionsINTEL: - case Op::SubgroupAvcMceGetInterMajorShapeINTEL: - case Op::SubgroupAvcMceGetInterMinorShapeINTEL: - case Op::SubgroupAvcMceGetInterDirectionsINTEL: - case Op::SubgroupAvcMceGetInterMotionVectorCountINTEL: - case Op::SubgroupAvcMceGetInterReferenceIdsINTEL: - case Op::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: - case Op::SubgroupAvcImeInitializeINTEL: - case Op::SubgroupAvcImeSetSingleReferenceINTEL: - case Op::SubgroupAvcImeSetDualReferenceINTEL: - case Op::SubgroupAvcImeRefWindowSizeINTEL: - case Op::SubgroupAvcImeAdjustRefOffsetINTEL: - case Op::SubgroupAvcImeConvertToMcePayloadINTEL: - case Op::SubgroupAvcImeSetMaxMotionVectorCountINTEL: - case Op::SubgroupAvcImeSetUnidirectionalMixDisableINTEL: - case Op::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: - case Op::SubgroupAvcImeSetWeightedSadINTEL: - case Op::SubgroupAvcImeEvaluateWithSingleReferenceINTEL: - case Op::SubgroupAvcImeEvaluateWithDualReferenceINTEL: - case Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: - case Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: - case Op::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: - case Op::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: - case Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: - case Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: - case Op::SubgroupAvcImeConvertToMceResultINTEL: - case Op::SubgroupAvcImeGetSingleReferenceStreaminINTEL: - case Op::SubgroupAvcImeGetDualReferenceStreaminINTEL: - case Op::SubgroupAvcImeStripSingleReferenceStreamoutINTEL: - case Op::SubgroupAvcImeStripDualReferenceStreamoutINTEL: - case Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: - case Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: - case Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: - case Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: - case Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: - case Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: - case Op::SubgroupAvcImeGetBorderReachedINTEL: - case Op::SubgroupAvcImeGetTruncatedSearchIndicationINTEL: - case Op::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: - case Op::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: - case Op::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: - case Op::SubgroupAvcFmeInitializeINTEL: - case Op::SubgroupAvcBmeInitializeINTEL: - case Op::SubgroupAvcRefConvertToMcePayloadINTEL: - case Op::SubgroupAvcRefSetBidirectionalMixDisableINTEL: - case Op::SubgroupAvcRefSetBilinearFilterEnableINTEL: - case Op::SubgroupAvcRefEvaluateWithSingleReferenceINTEL: - case Op::SubgroupAvcRefEvaluateWithDualReferenceINTEL: - case Op::SubgroupAvcRefEvaluateWithMultiReferenceINTEL: - case Op::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: - case Op::SubgroupAvcRefConvertToMceResultINTEL: - case Op::SubgroupAvcSicInitializeINTEL: - case Op::SubgroupAvcSicConfigureSkcINTEL: - case Op::SubgroupAvcSicConfigureIpeLumaINTEL: - case Op::SubgroupAvcSicConfigureIpeLumaChromaINTEL: - case Op::SubgroupAvcSicGetMotionVectorMaskINTEL: - case Op::SubgroupAvcSicConvertToMcePayloadINTEL: - case Op::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL: - case Op::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: - case Op::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: - case Op::SubgroupAvcSicSetBilinearFilterEnableINTEL: - case Op::SubgroupAvcSicSetSkcForwardTransformEnableINTEL: - case Op::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL: - case Op::SubgroupAvcSicEvaluateIpeINTEL: - case Op::SubgroupAvcSicEvaluateWithSingleReferenceINTEL: - case Op::SubgroupAvcSicEvaluateWithDualReferenceINTEL: - case Op::SubgroupAvcSicEvaluateWithMultiReferenceINTEL: - case Op::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: - case Op::SubgroupAvcSicConvertToMceResultINTEL: - case Op::SubgroupAvcSicGetIpeLumaShapeINTEL: - case Op::SubgroupAvcSicGetBestIpeLumaDistortionINTEL: - case Op::SubgroupAvcSicGetBestIpeChromaDistortionINTEL: - case Op::SubgroupAvcSicGetPackedIpeLumaModesINTEL: - case Op::SubgroupAvcSicGetIpeChromaModeINTEL: - case Op::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: - case Op::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: - case Op::SubgroupAvcSicGetInterRawSadsINTEL: - case Op::FunctionPointerCallINTEL: case Op::LoopControlINTEL: case Op::RayQueryGetRayTMinKHR: case Op::RayQueryGetRayFlagsKHR: @@ -3727,69 +3608,8 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray case Op::ConvertUToAccelerationStructureKHR: case Op::IgnoreIntersectionKHR: case Op::TerminateRayKHR: - case Op::AsmINTEL: - case Op::VariableLengthArrayINTEL: case Op::TraceMotionNV: case Op::TraceRayMotionNV: - case Op::ConstantFunctionPointerINTEL: - case Op::AsmTargetINTEL: - case Op::AsmCallINTEL: - case Op::SaveMemoryINTEL: - case Op::RestoreMemoryINTEL: - case Op::ArbitraryFloatSinCosPiINTEL: - case Op::ArbitraryFloatCastINTEL: - case Op::ArbitraryFloatCastFromIntINTEL: - case Op::ArbitraryFloatCastToIntINTEL: - case Op::ArbitraryFloatAddINTEL: - case Op::ArbitraryFloatSubINTEL: - case Op::ArbitraryFloatMulINTEL: - case Op::ArbitraryFloatDivINTEL: - case Op::ArbitraryFloatGTINTEL: - case Op::ArbitraryFloatGEINTEL: - case Op::ArbitraryFloatLTINTEL: - case Op::ArbitraryFloatLEINTEL: - case Op::ArbitraryFloatEQINTEL: - case Op::ArbitraryFloatRecipINTEL: - case Op::ArbitraryFloatRSqrtINTEL: - case Op::ArbitraryFloatCbrtINTEL: - case Op::ArbitraryFloatHypotINTEL: - case Op::ArbitraryFloatSqrtINTEL: - case Op::ArbitraryFloatLogINTEL: - case Op::ArbitraryFloatLog2INTEL: - case Op::ArbitraryFloatLog10INTEL: - case Op::ArbitraryFloatLog1pINTEL: - case Op::ArbitraryFloatExpINTEL: - case Op::ArbitraryFloatExp2INTEL: - case Op::ArbitraryFloatExp10INTEL: - case Op::ArbitraryFloatExpm1INTEL: - case Op::ArbitraryFloatSinINTEL: - case Op::ArbitraryFloatCosINTEL: - case Op::ArbitraryFloatSinCosINTEL: - case Op::ArbitraryFloatSinPiINTEL: - case Op::ArbitraryFloatCosPiINTEL: - case Op::ArbitraryFloatASinINTEL: - case Op::ArbitraryFloatASinPiINTEL: - case Op::ArbitraryFloatACosINTEL: - case Op::ArbitraryFloatACosPiINTEL: - case Op::ArbitraryFloatATanINTEL: - case Op::ArbitraryFloatATanPiINTEL: - case Op::ArbitraryFloatATan2INTEL: - case Op::ArbitraryFloatPowINTEL: - case Op::ArbitraryFloatPowRINTEL: - case Op::ArbitraryFloatPowNINTEL: - case Op::FixedSqrtINTEL: - case Op::FixedRecipINTEL: - case Op::FixedRsqrtINTEL: - case Op::FixedSinINTEL: - case Op::FixedCosINTEL: - case Op::FixedSinCosINTEL: - case Op::FixedSinPiINTEL: - case Op::FixedCosPiINTEL: - case Op::FixedSinCosPiINTEL: - case Op::FixedLogINTEL: - case Op::FixedExpINTEL: - case Op::PtrCastToCrossWorkgroupINTEL: - case Op::CrossWorkgroupCastToPtrINTEL: case Op::TypeBufferSurfaceINTEL: case Op::TypeStructContinuedINTEL: case Op::ConstantCompositeContinuedINTEL: diff --git a/renderdoc/driver/shaders/spirv/spirv_gen.cpp b/renderdoc/driver/shaders/spirv/spirv_gen.cpp index 7f7afba00..71dcaa775 100644 --- a/renderdoc/driver/shaders/spirv/spirv_gen.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_gen.cpp @@ -1624,193 +1624,13 @@ rdcstr DoStringise(const rdcspv::Op &el) STRINGISE_ENUM_CLASS(USubSatINTEL); STRINGISE_ENUM_CLASS(IMul32x16INTEL); STRINGISE_ENUM_CLASS(UMul32x16INTEL); - STRINGISE_ENUM_CLASS(ConstantFunctionPointerINTEL); - STRINGISE_ENUM_CLASS(FunctionPointerCallINTEL); - STRINGISE_ENUM_CLASS(AsmTargetINTEL); - STRINGISE_ENUM_CLASS(AsmINTEL); - STRINGISE_ENUM_CLASS(AsmCallINTEL); STRINGISE_ENUM_CLASS(AtomicFMinEXT); STRINGISE_ENUM_CLASS(AtomicFMaxEXT); STRINGISE_ENUM_CLASS(AssumeTrueKHR); STRINGISE_ENUM_CLASS(ExpectKHR); STRINGISE_ENUM_CLASS(DecorateString); STRINGISE_ENUM_CLASS(MemberDecorateString); - STRINGISE_ENUM_CLASS(VmeImageINTEL); - STRINGISE_ENUM_CLASS(TypeVmeImageINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImePayloadINTEL); - STRINGISE_ENUM_CLASS(TypeAvcRefPayloadINTEL); - STRINGISE_ENUM_CLASS(TypeAvcSicPayloadINTEL); - STRINGISE_ENUM_CLASS(TypeAvcMcePayloadINTEL); - STRINGISE_ENUM_CLASS(TypeAvcMceResultINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImeResultINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImeResultSingleReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImeResultDualReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImeSingleReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(TypeAvcImeDualReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(TypeAvcRefResultINTEL); - STRINGISE_ENUM_CLASS(TypeAvcSicResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultInterShapePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetInterShapePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetInterDirectionPenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetMotionVectorCostFunctionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetAcOnlyHaarINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToImePayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToImeResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToRefPayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToRefResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToSicPayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceConvertToSicResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetMotionVectorsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterDistortionsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetBestInterDistortionsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterMajorShapeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterMinorShapeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterDirectionsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterMotionVectorCountINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterReferenceIdsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeInitializeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetSingleReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetDualReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeRefWindowSizeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeAdjustRefOffsetINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeConvertToMcePayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetMaxMotionVectorCountINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetUnidirectionalMixDisableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeSetWeightedSadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithSingleReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithDualReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeConvertToMceResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetSingleReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetDualReferenceStreaminINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeStripSingleReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeStripDualReferenceStreamoutINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetBorderReachedINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetTruncatedSearchIndicationINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcFmeInitializeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcBmeInitializeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefConvertToMcePayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefSetBidirectionalMixDisableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefSetBilinearFilterEnableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefEvaluateWithSingleReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefEvaluateWithDualReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefEvaluateWithMultiReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcRefConvertToMceResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicInitializeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicConfigureSkcINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicConfigureIpeLumaINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicConfigureIpeLumaChromaINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetMotionVectorMaskINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicConvertToMcePayloadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetIntraLumaShapePenaltyINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetBilinearFilterEnableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetSkcForwardTransformEnableINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicSetBlockBasedRawSkipSadINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicEvaluateIpeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicEvaluateWithSingleReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicEvaluateWithDualReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicEvaluateWithMultiReferenceINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicConvertToMceResultINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetIpeLumaShapeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetBestIpeLumaDistortionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetBestIpeChromaDistortionINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetPackedIpeLumaModesINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetIpeChromaModeINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL); - STRINGISE_ENUM_CLASS(SubgroupAvcSicGetInterRawSadsINTEL); - STRINGISE_ENUM_CLASS(VariableLengthArrayINTEL); - STRINGISE_ENUM_CLASS(SaveMemoryINTEL); - STRINGISE_ENUM_CLASS(RestoreMemoryINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSinCosPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCastINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCastFromIntINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCastToIntINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatAddINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSubINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatMulINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatDivINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatGTINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatGEINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLTINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLEINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatEQINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatRecipINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatRSqrtINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCbrtINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatHypotINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSqrtINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLogINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLog2INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLog10INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatLog1pINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatExpINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatExp2INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatExp10INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatExpm1INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSinINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCosINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSinCosINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatSinPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatCosPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatASinINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatASinPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatACosINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatACosPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatATanINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatATanPiINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatATan2INTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatPowINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatPowRINTEL); - STRINGISE_ENUM_CLASS(ArbitraryFloatPowNINTEL); STRINGISE_ENUM_CLASS(LoopControlINTEL); - STRINGISE_ENUM_CLASS(FixedSqrtINTEL); - STRINGISE_ENUM_CLASS(FixedRecipINTEL); - STRINGISE_ENUM_CLASS(FixedRsqrtINTEL); - STRINGISE_ENUM_CLASS(FixedSinINTEL); - STRINGISE_ENUM_CLASS(FixedCosINTEL); - STRINGISE_ENUM_CLASS(FixedSinCosINTEL); - STRINGISE_ENUM_CLASS(FixedSinPiINTEL); - STRINGISE_ENUM_CLASS(FixedCosPiINTEL); - STRINGISE_ENUM_CLASS(FixedSinCosPiINTEL); - STRINGISE_ENUM_CLASS(FixedLogINTEL); - STRINGISE_ENUM_CLASS(FixedExpINTEL); - STRINGISE_ENUM_CLASS(PtrCastToCrossWorkgroupINTEL); - STRINGISE_ENUM_CLASS(CrossWorkgroupCastToPtrINTEL); STRINGISE_ENUM_CLASS(ReadPipeBlockingINTEL); STRINGISE_ENUM_CLASS(WritePipeBlockingINTEL); STRINGISE_ENUM_CLASS(FPGARegINTEL); @@ -4538,32 +4358,6 @@ void OpDecoder::ForEachID(const ConstIter &it, const std::function +rdcstr DoStringise(const rdcspv::ShaderDbg &el) +{ + BEGIN_ENUM_STRINGISE(rdcspv::ShaderDbg); + { + STRINGISE_ENUM_CLASS(InfoNone); + STRINGISE_ENUM_CLASS(CompilationUnit); + STRINGISE_ENUM_CLASS(TypeBasic); + STRINGISE_ENUM_CLASS(TypePointer); + STRINGISE_ENUM_CLASS(TypeQualifier); + STRINGISE_ENUM_CLASS(TypeArray); + STRINGISE_ENUM_CLASS(TypeVector); + STRINGISE_ENUM_CLASS(Typedef); + STRINGISE_ENUM_CLASS(TypeFunction); + STRINGISE_ENUM_CLASS(TypeEnum); + STRINGISE_ENUM_CLASS(TypeComposite); + STRINGISE_ENUM_CLASS(TypeMember); + STRINGISE_ENUM_CLASS(TypeInheritance); + STRINGISE_ENUM_CLASS(TypePtrToMember); + STRINGISE_ENUM_CLASS(TypeTemplate); + STRINGISE_ENUM_CLASS(TypeTemplateParameter); + STRINGISE_ENUM_CLASS(TypeTemplateTemplateParameter); + STRINGISE_ENUM_CLASS(TypeTemplateParameterPack); + STRINGISE_ENUM_CLASS(GlobalVariable); + STRINGISE_ENUM_CLASS(FunctionDeclaration); + STRINGISE_ENUM_CLASS(Function); + STRINGISE_ENUM_CLASS(LexicalBlock); + STRINGISE_ENUM_CLASS(LexicalBlockDiscriminator); + STRINGISE_ENUM_CLASS(Scope); + STRINGISE_ENUM_CLASS(NoScope); + STRINGISE_ENUM_CLASS(InlinedAt); + STRINGISE_ENUM_CLASS(LocalVariable); + STRINGISE_ENUM_CLASS(InlinedVariable); + STRINGISE_ENUM_CLASS(Declare); + STRINGISE_ENUM_CLASS(Value); + STRINGISE_ENUM_CLASS(Operation); + STRINGISE_ENUM_CLASS(Expression); + STRINGISE_ENUM_CLASS(MacroDef); + STRINGISE_ENUM_CLASS(MacroUndef); + STRINGISE_ENUM_CLASS(ImportedEntity); + STRINGISE_ENUM_CLASS(Source); + STRINGISE_ENUM_CLASS(FunctionDefinition); + STRINGISE_ENUM_CLASS(SourceContinued); + STRINGISE_ENUM_CLASS(Line); + STRINGISE_ENUM_CLASS(NoLine); + STRINGISE_ENUM_CLASS(BuildIdentifier); + STRINGISE_ENUM_CLASS(StoragePath); + STRINGISE_ENUM_CLASS(EntryPoint); + STRINGISE_ENUM_CLASS(TypeMatrix); + } + END_ENUM_STRINGISE(); +} + template <> rdcstr DoStringise(const rdcspv::Generator &el) { diff --git a/renderdoc/driver/shaders/spirv/spirv_gen.h b/renderdoc/driver/shaders/spirv/spirv_gen.h index bede94881..8bc634ada 100644 --- a/renderdoc/driver/shaders/spirv/spirv_gen.h +++ b/renderdoc/driver/shaders/spirv/spirv_gen.h @@ -1980,11 +1980,6 @@ enum class Op : uint16_t USubSatINTEL = 5596, IMul32x16INTEL = 5597, UMul32x16INTEL = 5598, - ConstantFunctionPointerINTEL = 5600, - FunctionPointerCallINTEL = 5601, - AsmTargetINTEL = 5609, - AsmINTEL = 5610, - AsmCallINTEL = 5611, AtomicFMinEXT = 5614, AtomicFMaxEXT = 5615, AssumeTrueKHR = 5630, @@ -1993,182 +1988,7 @@ enum class Op : uint16_t DecorateStringGOOGLE = 5632, MemberDecorateString = 5633, MemberDecorateStringGOOGLE = 5633, - VmeImageINTEL = 5699, - TypeVmeImageINTEL = 5700, - TypeAvcImePayloadINTEL = 5701, - TypeAvcRefPayloadINTEL = 5702, - TypeAvcSicPayloadINTEL = 5703, - TypeAvcMcePayloadINTEL = 5704, - TypeAvcMceResultINTEL = 5705, - TypeAvcImeResultINTEL = 5706, - TypeAvcImeResultSingleReferenceStreamoutINTEL = 5707, - TypeAvcImeResultDualReferenceStreamoutINTEL = 5708, - TypeAvcImeSingleReferenceStreaminINTEL = 5709, - TypeAvcImeDualReferenceStreaminINTEL = 5710, - TypeAvcRefResultINTEL = 5711, - TypeAvcSicResultINTEL = 5712, - SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713, - SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714, - SubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715, - SubgroupAvcMceSetInterShapePenaltyINTEL = 5716, - SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717, - SubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718, - SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719, - SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720, - SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721, - SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722, - SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723, - SubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724, - SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725, - SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726, - SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727, - SubgroupAvcMceSetAcOnlyHaarINTEL = 5728, - SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729, - SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730, - SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731, - SubgroupAvcMceConvertToImePayloadINTEL = 5732, - SubgroupAvcMceConvertToImeResultINTEL = 5733, - SubgroupAvcMceConvertToRefPayloadINTEL = 5734, - SubgroupAvcMceConvertToRefResultINTEL = 5735, - SubgroupAvcMceConvertToSicPayloadINTEL = 5736, - SubgroupAvcMceConvertToSicResultINTEL = 5737, - SubgroupAvcMceGetMotionVectorsINTEL = 5738, - SubgroupAvcMceGetInterDistortionsINTEL = 5739, - SubgroupAvcMceGetBestInterDistortionsINTEL = 5740, - SubgroupAvcMceGetInterMajorShapeINTEL = 5741, - SubgroupAvcMceGetInterMinorShapeINTEL = 5742, - SubgroupAvcMceGetInterDirectionsINTEL = 5743, - SubgroupAvcMceGetInterMotionVectorCountINTEL = 5744, - SubgroupAvcMceGetInterReferenceIdsINTEL = 5745, - SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746, - SubgroupAvcImeInitializeINTEL = 5747, - SubgroupAvcImeSetSingleReferenceINTEL = 5748, - SubgroupAvcImeSetDualReferenceINTEL = 5749, - SubgroupAvcImeRefWindowSizeINTEL = 5750, - SubgroupAvcImeAdjustRefOffsetINTEL = 5751, - SubgroupAvcImeConvertToMcePayloadINTEL = 5752, - SubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753, - SubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754, - SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755, - SubgroupAvcImeSetWeightedSadINTEL = 5756, - SubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757, - SubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758, - SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759, - SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760, - SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761, - SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762, - SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763, - SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764, - SubgroupAvcImeConvertToMceResultINTEL = 5765, - SubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766, - SubgroupAvcImeGetDualReferenceStreaminINTEL = 5767, - SubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768, - SubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769, - SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770, - SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771, - SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772, - SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773, - SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774, - SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775, - SubgroupAvcImeGetBorderReachedINTEL = 5776, - SubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777, - SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778, - SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779, - SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780, - SubgroupAvcFmeInitializeINTEL = 5781, - SubgroupAvcBmeInitializeINTEL = 5782, - SubgroupAvcRefConvertToMcePayloadINTEL = 5783, - SubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784, - SubgroupAvcRefSetBilinearFilterEnableINTEL = 5785, - SubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786, - SubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787, - SubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788, - SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789, - SubgroupAvcRefConvertToMceResultINTEL = 5790, - SubgroupAvcSicInitializeINTEL = 5791, - SubgroupAvcSicConfigureSkcINTEL = 5792, - SubgroupAvcSicConfigureIpeLumaINTEL = 5793, - SubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794, - SubgroupAvcSicGetMotionVectorMaskINTEL = 5795, - SubgroupAvcSicConvertToMcePayloadINTEL = 5796, - SubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797, - SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798, - SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799, - SubgroupAvcSicSetBilinearFilterEnableINTEL = 5800, - SubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801, - SubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802, - SubgroupAvcSicEvaluateIpeINTEL = 5803, - SubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804, - SubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805, - SubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806, - SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807, - SubgroupAvcSicConvertToMceResultINTEL = 5808, - SubgroupAvcSicGetIpeLumaShapeINTEL = 5809, - SubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810, - SubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811, - SubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812, - SubgroupAvcSicGetIpeChromaModeINTEL = 5813, - SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814, - SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815, - SubgroupAvcSicGetInterRawSadsINTEL = 5816, - VariableLengthArrayINTEL = 5818, - SaveMemoryINTEL = 5819, - RestoreMemoryINTEL = 5820, - ArbitraryFloatSinCosPiINTEL = 5840, - ArbitraryFloatCastINTEL = 5841, - ArbitraryFloatCastFromIntINTEL = 5842, - ArbitraryFloatCastToIntINTEL = 5843, - ArbitraryFloatAddINTEL = 5846, - ArbitraryFloatSubINTEL = 5847, - ArbitraryFloatMulINTEL = 5848, - ArbitraryFloatDivINTEL = 5849, - ArbitraryFloatGTINTEL = 5850, - ArbitraryFloatGEINTEL = 5851, - ArbitraryFloatLTINTEL = 5852, - ArbitraryFloatLEINTEL = 5853, - ArbitraryFloatEQINTEL = 5854, - ArbitraryFloatRecipINTEL = 5855, - ArbitraryFloatRSqrtINTEL = 5856, - ArbitraryFloatCbrtINTEL = 5857, - ArbitraryFloatHypotINTEL = 5858, - ArbitraryFloatSqrtINTEL = 5859, - ArbitraryFloatLogINTEL = 5860, - ArbitraryFloatLog2INTEL = 5861, - ArbitraryFloatLog10INTEL = 5862, - ArbitraryFloatLog1pINTEL = 5863, - ArbitraryFloatExpINTEL = 5864, - ArbitraryFloatExp2INTEL = 5865, - ArbitraryFloatExp10INTEL = 5866, - ArbitraryFloatExpm1INTEL = 5867, - ArbitraryFloatSinINTEL = 5868, - ArbitraryFloatCosINTEL = 5869, - ArbitraryFloatSinCosINTEL = 5870, - ArbitraryFloatSinPiINTEL = 5871, - ArbitraryFloatCosPiINTEL = 5872, - ArbitraryFloatASinINTEL = 5873, - ArbitraryFloatASinPiINTEL = 5874, - ArbitraryFloatACosINTEL = 5875, - ArbitraryFloatACosPiINTEL = 5876, - ArbitraryFloatATanINTEL = 5877, - ArbitraryFloatATanPiINTEL = 5878, - ArbitraryFloatATan2INTEL = 5879, - ArbitraryFloatPowINTEL = 5880, - ArbitraryFloatPowRINTEL = 5881, - ArbitraryFloatPowNINTEL = 5882, LoopControlINTEL = 5887, - FixedSqrtINTEL = 5923, - FixedRecipINTEL = 5924, - FixedRsqrtINTEL = 5925, - FixedSinINTEL = 5926, - FixedCosINTEL = 5927, - FixedSinCosINTEL = 5928, - FixedSinPiINTEL = 5929, - FixedCosPiINTEL = 5930, - FixedSinCosPiINTEL = 5931, - FixedLogINTEL = 5932, - FixedExpINTEL = 5933, - PtrCastToCrossWorkgroupINTEL = 5934, - CrossWorkgroupCastToPtrINTEL = 5938, ReadPipeBlockingINTEL = 5946, WritePipeBlockingINTEL = 5947, FPGARegINTEL = 5949, @@ -2286,6 +2106,57 @@ enum class GLSLstd450 : uint32_t Invalid = ~0U, }; +enum class ShaderDbg : uint32_t +{ + InfoNone = 0, + CompilationUnit = 1, + TypeBasic = 2, + TypePointer = 3, + TypeQualifier = 4, + TypeArray = 5, + TypeVector = 6, + Typedef = 7, + TypeFunction = 8, + TypeEnum = 9, + TypeComposite = 10, + TypeMember = 11, + TypeInheritance = 12, + TypePtrToMember = 13, + TypeTemplate = 14, + TypeTemplateParameter = 15, + TypeTemplateTemplateParameter = 16, + TypeTemplateParameterPack = 17, + GlobalVariable = 18, + FunctionDeclaration = 19, + Function = 20, + LexicalBlock = 21, + LexicalBlockDiscriminator = 22, + Scope = 23, + NoScope = 24, + InlinedAt = 25, + LocalVariable = 26, + InlinedVariable = 27, + Declare = 28, + Value = 29, + Operation = 30, + Expression = 31, + MacroDef = 32, + MacroUndef = 33, + ImportedEntity = 34, + Source = 35, + FunctionDefinition = 101, + SourceContinued = 102, + Line = 103, + NoLine = 104, + BuildIdentifier = 105, + StoragePath = 106, + EntryPoint = 107, + TypeMatrix = 108, + + Max, + Invalid = ~0U, +}; + }; // namespace rdcspv diff --git a/renderdoc/driver/shaders/spirv/spirv_op_helpers.h b/renderdoc/driver/shaders/spirv/spirv_op_helpers.h index 89bc06570..1c871604c 100644 --- a/renderdoc/driver/shaders/spirv/spirv_op_helpers.h +++ b/renderdoc/driver/shaders/spirv/spirv_op_helpers.h @@ -14810,205 +14810,6 @@ struct OpUMul32x16INTEL Id operand2; }; -struct OpConstantFunctionPointerINTEL -{ - OpConstantFunctionPointerINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpConstantFunctionPointerINTEL(IdResultType resultType, IdResult result, Id function) - : op(Op::ConstantFunctionPointerINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->function = function; - } - - static constexpr Op OpCode = Op::ConstantFunctionPointerINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id function; -}; - -struct OpFunctionPointerCallINTEL -{ - OpFunctionPointerCallINTEL(const ConstIter &it) - { - uint32_t word = 0;(void)word; - this->op = OpCode; - this->wordCount = (uint16_t)it.size(); - this->resultType = Id::fromWord(it.word(1)); - this->result = Id::fromWord(it.word(2)); - word = 3; - this->operand1 = MultiParam(it, word); - } - OpFunctionPointerCallINTEL(IdResultType resultType, IdResult result, const rdcarray &operand1 = {}) - : op(Op::FunctionPointerCallINTEL) - , wordCount(MinWordSize + MultiWordCount(operand1)) - { - this->resultType = resultType; - this->result = result; - this->operand1 = operand1; - } - operator Operation() const - { - rdcarray words; - words.push_back(resultType.value()); - words.push_back(result.value()); - for(size_t i=0; i < operand1.size(); i++) - { - words.push_back(operand1[i].value()); - } - return Operation(OpCode, words); - } - - static constexpr Op OpCode = Op::FunctionPointerCallINTEL; - static constexpr uint16_t MinWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - rdcarray operand1; -}; - -struct OpAsmTargetINTEL -{ - OpAsmTargetINTEL(const ConstIter &it) - { - uint32_t word = 0;(void)word; - this->op = OpCode; - this->wordCount = (uint16_t)it.size(); - this->resultType = Id::fromWord(it.word(1)); - this->result = Id::fromWord(it.word(2)); - word = 3; - this->asmtarget = DecodeParam(it, word); - } - OpAsmTargetINTEL(IdResultType resultType, IdResult result, rdcstr asmtarget) - : op(Op::AsmTargetINTEL) - , wordCount(MinWordSize + ExtraWordCount(asmtarget)) - { - this->resultType = resultType; - this->result = result; - this->asmtarget = asmtarget; - } - operator Operation() const - { - rdcarray words; - words.push_back(resultType.value()); - words.push_back(result.value()); - EncodeParam(words, asmtarget); - return Operation(OpCode, words); - } - - static constexpr Op OpCode = Op::AsmTargetINTEL; - static constexpr uint16_t MinWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - rdcstr asmtarget; -}; - -struct OpAsmINTEL -{ - OpAsmINTEL(const ConstIter &it) - { - uint32_t word = 0;(void)word; - this->op = OpCode; - this->wordCount = (uint16_t)it.size(); - this->resultType = Id::fromWord(it.word(1)); - this->result = Id::fromWord(it.word(2)); - this->asmtype = Id::fromWord(it.word(3)); - this->target = Id::fromWord(it.word(4)); - word = 5; - this->asminstructions = DecodeParam(it, word); - word = 6; - this->constraints = DecodeParam(it, word); - } - OpAsmINTEL(IdResultType resultType, IdResult result, Id asmtype, Id target, rdcstr asminstructions, rdcstr constraints) - : op(Op::AsmINTEL) - , wordCount(MinWordSize + ExtraWordCount(constraints)) - { - this->resultType = resultType; - this->result = result; - this->asmtype = asmtype; - this->target = target; - this->asminstructions = asminstructions; - this->constraints = constraints; - } - operator Operation() const - { - rdcarray words; - words.push_back(resultType.value()); - words.push_back(result.value()); - words.push_back(asmtype.value()); - words.push_back(target.value()); - EncodeParam(words, asminstructions); - EncodeParam(words, constraints); - return Operation(OpCode, words); - } - - static constexpr Op OpCode = Op::AsmINTEL; - static constexpr uint16_t MinWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id asmtype; - Id target; - rdcstr asminstructions; - rdcstr constraints; -}; - -struct OpAsmCallINTEL -{ - OpAsmCallINTEL(const ConstIter &it) - { - uint32_t word = 0;(void)word; - this->op = OpCode; - this->wordCount = (uint16_t)it.size(); - this->resultType = Id::fromWord(it.word(1)); - this->result = Id::fromWord(it.word(2)); - this->assembly = Id::fromWord(it.word(3)); - word = 4; - this->argument0 = MultiParam(it, word); - } - OpAsmCallINTEL(IdResultType resultType, IdResult result, Id assembly, const rdcarray &argument0 = {}) - : op(Op::AsmCallINTEL) - , wordCount(MinWordSize + MultiWordCount(argument0)) - { - this->resultType = resultType; - this->result = result; - this->assembly = assembly; - this->argument0 = argument0; - } - operator Operation() const - { - rdcarray words; - words.push_back(resultType.value()); - words.push_back(result.value()); - words.push_back(assembly.value()); - for(size_t i=0; i < argument0.size(); i++) - { - words.push_back(argument0[i].value()); - } - return Operation(OpCode, words); - } - - static constexpr Op OpCode = Op::AsmCallINTEL; - static constexpr uint16_t MinWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id assembly; - rdcarray argument0; -}; - struct OpAtomicFMinEXT { OpAtomicFMinEXT(const ConstIter &it) @@ -15187,4514 +14988,6 @@ struct OpMemberDecorateString DecorationAndParamData decoration; }; -struct OpVmeImageINTEL -{ - OpVmeImageINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpVmeImageINTEL(IdResultType resultType, IdResult result, Id imageType, Id sampler) - : op(Op::VmeImageINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->imageType = imageType; - this->sampler = sampler; - } - - static constexpr Op OpCode = Op::VmeImageINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id imageType; - Id sampler; -}; - -struct OpTypeVmeImageINTEL -{ - OpTypeVmeImageINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeVmeImageINTEL(IdResult result, Id imageType) - : op(Op::TypeVmeImageINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - this->imageType = imageType; - } - - static constexpr Op OpCode = Op::TypeVmeImageINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResult result; - Id imageType; -}; - -struct OpTypeAvcImePayloadINTEL -{ - OpTypeAvcImePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImePayloadINTEL(IdResult result) - : op(Op::TypeAvcImePayloadINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImePayloadINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcRefPayloadINTEL -{ - OpTypeAvcRefPayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcRefPayloadINTEL(IdResult result) - : op(Op::TypeAvcRefPayloadINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcRefPayloadINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcSicPayloadINTEL -{ - OpTypeAvcSicPayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcSicPayloadINTEL(IdResult result) - : op(Op::TypeAvcSicPayloadINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcSicPayloadINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcMcePayloadINTEL -{ - OpTypeAvcMcePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcMcePayloadINTEL(IdResult result) - : op(Op::TypeAvcMcePayloadINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcMcePayloadINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcMceResultINTEL -{ - OpTypeAvcMceResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcMceResultINTEL(IdResult result) - : op(Op::TypeAvcMceResultINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcMceResultINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcImeResultINTEL -{ - OpTypeAvcImeResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImeResultINTEL(IdResult result) - : op(Op::TypeAvcImeResultINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImeResultINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcImeResultSingleReferenceStreamoutINTEL -{ - OpTypeAvcImeResultSingleReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImeResultSingleReferenceStreamoutINTEL(IdResult result) - : op(Op::TypeAvcImeResultSingleReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImeResultSingleReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcImeResultDualReferenceStreamoutINTEL -{ - OpTypeAvcImeResultDualReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImeResultDualReferenceStreamoutINTEL(IdResult result) - : op(Op::TypeAvcImeResultDualReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImeResultDualReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcImeSingleReferenceStreaminINTEL -{ - OpTypeAvcImeSingleReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImeSingleReferenceStreaminINTEL(IdResult result) - : op(Op::TypeAvcImeSingleReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImeSingleReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcImeDualReferenceStreaminINTEL -{ - OpTypeAvcImeDualReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcImeDualReferenceStreaminINTEL(IdResult result) - : op(Op::TypeAvcImeDualReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcImeDualReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcRefResultINTEL -{ - OpTypeAvcRefResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcRefResultINTEL(IdResult result) - : op(Op::TypeAvcRefResultINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcRefResultINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpTypeAvcSicResultINTEL -{ - OpTypeAvcSicResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpTypeAvcSicResultINTEL(IdResult result) - : op(Op::TypeAvcSicResultINTEL) - , wordCount(FixedWordSize) - { - this->result = result; - } - - static constexpr Op OpCode = Op::TypeAvcSicResultINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - IdResult result; -}; - -struct OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL -{ - OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL(IdResultType resultType, IdResult result, Id referenceBasePenalty, Id payload) - : op(Op::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->referenceBasePenalty = referenceBasePenalty; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id referenceBasePenalty; - Id payload; -}; - -struct OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceSetInterShapePenaltyINTEL -{ - OpSubgroupAvcMceSetInterShapePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetInterShapePenaltyINTEL(IdResultType resultType, IdResult result, Id packedShapePenalty, Id payload) - : op(Op::SubgroupAvcMceSetInterShapePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedShapePenalty = packedShapePenalty; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetInterShapePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedShapePenalty; - Id payload; -}; - -struct OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceSetInterDirectionPenaltyINTEL -{ - OpSubgroupAvcMceSetInterDirectionPenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetInterDirectionPenaltyINTEL(IdResultType resultType, IdResult result, Id directionCost, Id payload) - : op(Op::SubgroupAvcMceSetInterDirectionPenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->directionCost = directionCost; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetInterDirectionPenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id directionCost; - Id payload; -}; - -struct OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL -{ - OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL -{ - OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL(IdResultType resultType, IdResult result) - : op(Op::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL -{ - OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL(IdResultType resultType, IdResult result) - : op(Op::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL -{ - OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL(IdResultType resultType, IdResult result) - : op(Op::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL -{ - OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL(IdResultType resultType, IdResult result, Id packedCostCenterDelta, Id packedCostTable, Id costPrecision, Id payload) - : op(Op::SubgroupAvcMceSetMotionVectorCostFunctionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedCostCenterDelta = packedCostCenterDelta; - this->packedCostTable = packedCostTable; - this->costPrecision = costPrecision; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetMotionVectorCostFunctionINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedCostCenterDelta; - Id packedCostTable; - Id costPrecision; - Id payload; -}; - -struct OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL(IdResultType resultType, IdResult result, Id sliceType, Id qp) - : op(Op::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sliceType = sliceType; - this->qp = qp; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sliceType; - Id qp; -}; - -struct OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL(IdResultType resultType, IdResult result) - : op(Op::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL -{ - OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL(IdResultType resultType, IdResult result) - : op(Op::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpSubgroupAvcMceSetAcOnlyHaarINTEL -{ - OpSubgroupAvcMceSetAcOnlyHaarINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetAcOnlyHaarINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceSetAcOnlyHaarINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetAcOnlyHaarINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL -{ - OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL(IdResultType resultType, IdResult result, Id sourceFieldPolarity, Id payload) - : op(Op::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->sourceFieldPolarity = sourceFieldPolarity; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id sourceFieldPolarity; - Id payload; -}; - -struct OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL -{ - OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL(IdResultType resultType, IdResult result, Id referenceFieldPolarity, Id payload) - : op(Op::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->referenceFieldPolarity = referenceFieldPolarity; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id referenceFieldPolarity; - Id payload; -}; - -struct OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL -{ - OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL(IdResultType resultType, IdResult result, Id forwardReferenceFieldPolarity, Id backwardReferenceFieldPolarity, Id payload) - : op(Op::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->forwardReferenceFieldPolarity = forwardReferenceFieldPolarity; - this->backwardReferenceFieldPolarity = backwardReferenceFieldPolarity; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id forwardReferenceFieldPolarity; - Id backwardReferenceFieldPolarity; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToImePayloadINTEL -{ - OpSubgroupAvcMceConvertToImePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToImePayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToImePayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToImePayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToImeResultINTEL -{ - OpSubgroupAvcMceConvertToImeResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToImeResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToImeResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToImeResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToRefPayloadINTEL -{ - OpSubgroupAvcMceConvertToRefPayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToRefPayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToRefPayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToRefPayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToRefResultINTEL -{ - OpSubgroupAvcMceConvertToRefResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToRefResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToRefResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToRefResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToSicPayloadINTEL -{ - OpSubgroupAvcMceConvertToSicPayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToSicPayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToSicPayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToSicPayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceConvertToSicResultINTEL -{ - OpSubgroupAvcMceConvertToSicResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceConvertToSicResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceConvertToSicResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceConvertToSicResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetMotionVectorsINTEL -{ - OpSubgroupAvcMceGetMotionVectorsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetMotionVectorsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetMotionVectorsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetMotionVectorsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterDistortionsINTEL -{ - OpSubgroupAvcMceGetInterDistortionsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterDistortionsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterDistortionsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterDistortionsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetBestInterDistortionsINTEL -{ - OpSubgroupAvcMceGetBestInterDistortionsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetBestInterDistortionsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetBestInterDistortionsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetBestInterDistortionsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterMajorShapeINTEL -{ - OpSubgroupAvcMceGetInterMajorShapeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterMajorShapeINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterMajorShapeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterMajorShapeINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterMinorShapeINTEL -{ - OpSubgroupAvcMceGetInterMinorShapeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterMinorShapeINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterMinorShapeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterMinorShapeINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterDirectionsINTEL -{ - OpSubgroupAvcMceGetInterDirectionsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterDirectionsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterDirectionsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterDirectionsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterMotionVectorCountINTEL -{ - OpSubgroupAvcMceGetInterMotionVectorCountINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterMotionVectorCountINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterMotionVectorCountINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterMotionVectorCountINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterReferenceIdsINTEL -{ - OpSubgroupAvcMceGetInterReferenceIdsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterReferenceIdsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcMceGetInterReferenceIdsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterReferenceIdsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL -{ - OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL(IdResultType resultType, IdResult result, Id packedReferenceIds, Id packedReferenceParameterFieldPolarities, Id payload) - : op(Op::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedReferenceIds = packedReferenceIds; - this->packedReferenceParameterFieldPolarities = packedReferenceParameterFieldPolarities; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedReferenceIds; - Id packedReferenceParameterFieldPolarities; - Id payload; -}; - -struct OpSubgroupAvcImeInitializeINTEL -{ - OpSubgroupAvcImeInitializeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeInitializeINTEL(IdResultType resultType, IdResult result, Id srcCoord, Id partitionMask, Id sADAdjustment) - : op(Op::SubgroupAvcImeInitializeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcCoord = srcCoord; - this->partitionMask = partitionMask; - this->sADAdjustment = sADAdjustment; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeInitializeINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcCoord; - Id partitionMask; - Id sADAdjustment; -}; - -struct OpSubgroupAvcImeSetSingleReferenceINTEL -{ - OpSubgroupAvcImeSetSingleReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetSingleReferenceINTEL(IdResultType resultType, IdResult result, Id refOffset, Id searchWindowConfig, Id payload) - : op(Op::SubgroupAvcImeSetSingleReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->refOffset = refOffset; - this->searchWindowConfig = searchWindowConfig; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetSingleReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id refOffset; - Id searchWindowConfig; - Id payload; -}; - -struct OpSubgroupAvcImeSetDualReferenceINTEL -{ - OpSubgroupAvcImeSetDualReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetDualReferenceINTEL(IdResultType resultType, IdResult result, Id fwdRefOffset, Id bwdRefOffset, Id idSearchWindowConfig, Id payload) - : op(Op::SubgroupAvcImeSetDualReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->fwdRefOffset = fwdRefOffset; - this->bwdRefOffset = bwdRefOffset; - this->idSearchWindowConfig = idSearchWindowConfig; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetDualReferenceINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id fwdRefOffset; - Id bwdRefOffset; - Id idSearchWindowConfig; - Id payload; -}; - -struct OpSubgroupAvcImeRefWindowSizeINTEL -{ - OpSubgroupAvcImeRefWindowSizeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeRefWindowSizeINTEL(IdResultType resultType, IdResult result, Id searchWindowConfig, Id dualRef) - : op(Op::SubgroupAvcImeRefWindowSizeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->searchWindowConfig = searchWindowConfig; - this->dualRef = dualRef; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeRefWindowSizeINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id searchWindowConfig; - Id dualRef; -}; - -struct OpSubgroupAvcImeAdjustRefOffsetINTEL -{ - OpSubgroupAvcImeAdjustRefOffsetINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeAdjustRefOffsetINTEL(IdResultType resultType, IdResult result, Id refOffset, Id srcCoord, Id refWindowSize, Id imageSize) - : op(Op::SubgroupAvcImeAdjustRefOffsetINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->refOffset = refOffset; - this->srcCoord = srcCoord; - this->refWindowSize = refWindowSize; - this->imageSize = imageSize; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeAdjustRefOffsetINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id refOffset; - Id srcCoord; - Id refWindowSize; - Id imageSize; -}; - -struct OpSubgroupAvcImeConvertToMcePayloadINTEL -{ - OpSubgroupAvcImeConvertToMcePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeConvertToMcePayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeConvertToMcePayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeConvertToMcePayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeSetMaxMotionVectorCountINTEL -{ - OpSubgroupAvcImeSetMaxMotionVectorCountINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetMaxMotionVectorCountINTEL(IdResultType resultType, IdResult result, Id maxMotionVectorCount, Id payload) - : op(Op::SubgroupAvcImeSetMaxMotionVectorCountINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->maxMotionVectorCount = maxMotionVectorCount; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetMaxMotionVectorCountINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id maxMotionVectorCount; - Id payload; -}; - -struct OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL -{ - OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeSetUnidirectionalMixDisableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetUnidirectionalMixDisableINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL -{ - OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL(IdResultType resultType, IdResult result, Id threshold, Id payload) - : op(Op::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->threshold = threshold; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id threshold; - Id payload; -}; - -struct OpSubgroupAvcImeSetWeightedSadINTEL -{ - OpSubgroupAvcImeSetWeightedSadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeSetWeightedSadINTEL(IdResultType resultType, IdResult result, Id packedSadWeights, Id payload) - : op(Op::SubgroupAvcImeSetWeightedSadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedSadWeights = packedSadWeights; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeSetWeightedSadINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedSadWeights; - Id payload; -}; - -struct OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL -{ - OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload) - : op(Op::SubgroupAvcImeEvaluateWithSingleReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithSingleReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; -}; - -struct OpSubgroupAvcImeEvaluateWithDualReferenceINTEL -{ - OpSubgroupAvcImeEvaluateWithDualReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithDualReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload) - : op(Op::SubgroupAvcImeEvaluateWithDualReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithDualReferenceINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; -}; - -struct OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL -{ - OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload, Id streaminComponents) - : op(Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - this->streaminComponents = streaminComponents; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; - Id streaminComponents; -}; - -struct OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL -{ - OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload, Id streaminComponents) - : op(Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - this->streaminComponents = streaminComponents; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 8U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; - Id streaminComponents; -}; - -struct OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL -{ - OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload) - : op(Op::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; -}; - -struct OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL -{ - OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload) - : op(Op::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; -}; - -struct OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL -{ - OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload, Id streaminComponents) - : op(Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - this->streaminComponents = streaminComponents; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; - Id streaminComponents; -}; - -struct OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL -{ - OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload, Id streaminComponents) - : op(Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - this->streaminComponents = streaminComponents; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL; - static constexpr uint16_t FixedWordSize = 8U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; - Id streaminComponents; -}; - -struct OpSubgroupAvcImeConvertToMceResultINTEL -{ - OpSubgroupAvcImeConvertToMceResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeConvertToMceResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeConvertToMceResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeConvertToMceResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetSingleReferenceStreaminINTEL -{ - OpSubgroupAvcImeGetSingleReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetSingleReferenceStreaminINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetSingleReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetSingleReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetDualReferenceStreaminINTEL -{ - OpSubgroupAvcImeGetDualReferenceStreaminINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetDualReferenceStreaminINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetDualReferenceStreaminINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetDualReferenceStreaminINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL -{ - OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeStripSingleReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeStripSingleReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeStripDualReferenceStreamoutINTEL -{ - OpSubgroupAvcImeStripDualReferenceStreamoutINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeStripDualReferenceStreamoutINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeStripDualReferenceStreamoutINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeStripDualReferenceStreamoutINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL -{ - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape) - : op(Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; -}; - -struct OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL -{ - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape) - : op(Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; -}; - -struct OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL -{ - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape) - : op(Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; -}; - -struct OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL -{ - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape, Id direction) - : op(Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - this->direction = direction; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; - Id direction; -}; - -struct OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL -{ - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape, Id direction) - : op(Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - this->direction = direction; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; - Id direction; -}; - -struct OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL -{ - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL(IdResultType resultType, IdResult result, Id payload, Id majorShape, Id direction) - : op(Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - this->majorShape = majorShape; - this->direction = direction; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; - Id majorShape; - Id direction; -}; - -struct OpSubgroupAvcImeGetBorderReachedINTEL -{ - OpSubgroupAvcImeGetBorderReachedINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetBorderReachedINTEL(IdResultType resultType, IdResult result, Id imageSelect, Id payload) - : op(Op::SubgroupAvcImeGetBorderReachedINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->imageSelect = imageSelect; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetBorderReachedINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id imageSelect; - Id payload; -}; - -struct OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL -{ - OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetTruncatedSearchIndicationINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetTruncatedSearchIndicationINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL -{ - OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL -{ - OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL -{ - OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcFmeInitializeINTEL -{ - OpSubgroupAvcFmeInitializeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcFmeInitializeINTEL(IdResultType resultType, IdResult result, Id srcCoord, Id motionVectors, Id majorShapes, Id minorShapes, Id direction, Id pixelResolution, Id sadAdjustment) - : op(Op::SubgroupAvcFmeInitializeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcCoord = srcCoord; - this->motionVectors = motionVectors; - this->majorShapes = majorShapes; - this->minorShapes = minorShapes; - this->direction = direction; - this->pixelResolution = pixelResolution; - this->sadAdjustment = sadAdjustment; - } - - static constexpr Op OpCode = Op::SubgroupAvcFmeInitializeINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcCoord; - Id motionVectors; - Id majorShapes; - Id minorShapes; - Id direction; - Id pixelResolution; - Id sadAdjustment; -}; - -struct OpSubgroupAvcBmeInitializeINTEL -{ - OpSubgroupAvcBmeInitializeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcBmeInitializeINTEL(IdResultType resultType, IdResult result, Id srcCoord, Id motionVectors, Id majorShapes, Id minorShapes, Id direction, Id pixelResolution, Id bidirectionalWeight, Id sadAdjustment) - : op(Op::SubgroupAvcBmeInitializeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcCoord = srcCoord; - this->motionVectors = motionVectors; - this->majorShapes = majorShapes; - this->minorShapes = minorShapes; - this->direction = direction; - this->pixelResolution = pixelResolution; - this->bidirectionalWeight = bidirectionalWeight; - this->sadAdjustment = sadAdjustment; - } - - static constexpr Op OpCode = Op::SubgroupAvcBmeInitializeINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcCoord; - Id motionVectors; - Id majorShapes; - Id minorShapes; - Id direction; - Id pixelResolution; - Id bidirectionalWeight; - Id sadAdjustment; -}; - -struct OpSubgroupAvcRefConvertToMcePayloadINTEL -{ - OpSubgroupAvcRefConvertToMcePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefConvertToMcePayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcRefConvertToMcePayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefConvertToMcePayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcRefSetBidirectionalMixDisableINTEL -{ - OpSubgroupAvcRefSetBidirectionalMixDisableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefSetBidirectionalMixDisableINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcRefSetBidirectionalMixDisableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefSetBidirectionalMixDisableINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcRefSetBilinearFilterEnableINTEL -{ - OpSubgroupAvcRefSetBilinearFilterEnableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefSetBilinearFilterEnableINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcRefSetBilinearFilterEnableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefSetBilinearFilterEnableINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL -{ - OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload) - : op(Op::SubgroupAvcRefEvaluateWithSingleReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefEvaluateWithSingleReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; -}; - -struct OpSubgroupAvcRefEvaluateWithDualReferenceINTEL -{ - OpSubgroupAvcRefEvaluateWithDualReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefEvaluateWithDualReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload) - : op(Op::SubgroupAvcRefEvaluateWithDualReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefEvaluateWithDualReferenceINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; -}; - -struct OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL -{ - OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id packedReferenceIds, Id payload) - : op(Op::SubgroupAvcRefEvaluateWithMultiReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->packedReferenceIds = packedReferenceIds; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefEvaluateWithMultiReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id packedReferenceIds; - Id payload; -}; - -struct OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL -{ - OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL(IdResultType resultType, IdResult result, Id srcImage, Id packedReferenceIds, Id packedReferenceFieldPolarities, Id payload) - : op(Op::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->packedReferenceIds = packedReferenceIds; - this->packedReferenceFieldPolarities = packedReferenceFieldPolarities; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id packedReferenceIds; - Id packedReferenceFieldPolarities; - Id payload; -}; - -struct OpSubgroupAvcRefConvertToMceResultINTEL -{ - OpSubgroupAvcRefConvertToMceResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcRefConvertToMceResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcRefConvertToMceResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcRefConvertToMceResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicInitializeINTEL -{ - OpSubgroupAvcSicInitializeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicInitializeINTEL(IdResultType resultType, IdResult result, Id srcCoord) - : op(Op::SubgroupAvcSicInitializeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcCoord = srcCoord; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicInitializeINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcCoord; -}; - -struct OpSubgroupAvcSicConfigureSkcINTEL -{ - OpSubgroupAvcSicConfigureSkcINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicConfigureSkcINTEL(IdResultType resultType, IdResult result, Id skipBlockPartitionType, Id skipMotionVectorMask, Id motionVectors, Id bidirectionalWeight, Id sadAdjustment, Id payload) - : op(Op::SubgroupAvcSicConfigureSkcINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->skipBlockPartitionType = skipBlockPartitionType; - this->skipMotionVectorMask = skipMotionVectorMask; - this->motionVectors = motionVectors; - this->bidirectionalWeight = bidirectionalWeight; - this->sadAdjustment = sadAdjustment; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicConfigureSkcINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id skipBlockPartitionType; - Id skipMotionVectorMask; - Id motionVectors; - Id bidirectionalWeight; - Id sadAdjustment; - Id payload; -}; - -struct OpSubgroupAvcSicConfigureIpeLumaINTEL -{ - OpSubgroupAvcSicConfigureIpeLumaINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicConfigureIpeLumaINTEL(IdResultType resultType, IdResult result, Id lumaIntraPartitionMask, Id intraNeighbourAvailabilty, Id leftEdgeLumaPixels, Id upperLeftCornerLumaPixel, Id upperEdgeLumaPixels, Id upperRightEdgeLumaPixels, Id sadAdjustment, Id payload) - : op(Op::SubgroupAvcSicConfigureIpeLumaINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->lumaIntraPartitionMask = lumaIntraPartitionMask; - this->intraNeighbourAvailabilty = intraNeighbourAvailabilty; - this->leftEdgeLumaPixels = leftEdgeLumaPixels; - this->upperLeftCornerLumaPixel = upperLeftCornerLumaPixel; - this->upperEdgeLumaPixels = upperEdgeLumaPixels; - this->upperRightEdgeLumaPixels = upperRightEdgeLumaPixels; - this->sadAdjustment = sadAdjustment; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicConfigureIpeLumaINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id lumaIntraPartitionMask; - Id intraNeighbourAvailabilty; - Id leftEdgeLumaPixels; - Id upperLeftCornerLumaPixel; - Id upperEdgeLumaPixels; - Id upperRightEdgeLumaPixels; - Id sadAdjustment; - Id payload; -}; - -struct OpSubgroupAvcSicConfigureIpeLumaChromaINTEL -{ - OpSubgroupAvcSicConfigureIpeLumaChromaINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicConfigureIpeLumaChromaINTEL(IdResultType resultType, IdResult result, Id lumaIntraPartitionMask, Id intraNeighbourAvailabilty, Id leftEdgeLumaPixels, Id upperLeftCornerLumaPixel, Id upperEdgeLumaPixels, Id upperRightEdgeLumaPixels, Id leftEdgeChromaPixels, Id upperLeftCornerChromaPixel, Id upperEdgeChromaPixels, Id sadAdjustment, Id payload) - : op(Op::SubgroupAvcSicConfigureIpeLumaChromaINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->lumaIntraPartitionMask = lumaIntraPartitionMask; - this->intraNeighbourAvailabilty = intraNeighbourAvailabilty; - this->leftEdgeLumaPixels = leftEdgeLumaPixels; - this->upperLeftCornerLumaPixel = upperLeftCornerLumaPixel; - this->upperEdgeLumaPixels = upperEdgeLumaPixels; - this->upperRightEdgeLumaPixels = upperRightEdgeLumaPixels; - this->leftEdgeChromaPixels = leftEdgeChromaPixels; - this->upperLeftCornerChromaPixel = upperLeftCornerChromaPixel; - this->upperEdgeChromaPixels = upperEdgeChromaPixels; - this->sadAdjustment = sadAdjustment; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicConfigureIpeLumaChromaINTEL; - static constexpr uint16_t FixedWordSize = 14U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id lumaIntraPartitionMask; - Id intraNeighbourAvailabilty; - Id leftEdgeLumaPixels; - Id upperLeftCornerLumaPixel; - Id upperEdgeLumaPixels; - Id upperRightEdgeLumaPixels; - Id leftEdgeChromaPixels; - Id upperLeftCornerChromaPixel; - Id upperEdgeChromaPixels; - Id sadAdjustment; - Id payload; -}; - -struct OpSubgroupAvcSicGetMotionVectorMaskINTEL -{ - OpSubgroupAvcSicGetMotionVectorMaskINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetMotionVectorMaskINTEL(IdResultType resultType, IdResult result, Id skipBlockPartitionType, Id direction) - : op(Op::SubgroupAvcSicGetMotionVectorMaskINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->skipBlockPartitionType = skipBlockPartitionType; - this->direction = direction; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetMotionVectorMaskINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id skipBlockPartitionType; - Id direction; -}; - -struct OpSubgroupAvcSicConvertToMcePayloadINTEL -{ - OpSubgroupAvcSicConvertToMcePayloadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicConvertToMcePayloadINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicConvertToMcePayloadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicConvertToMcePayloadINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL -{ - OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL(IdResultType resultType, IdResult result, Id packedShapePenalty, Id payload) - : op(Op::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedShapePenalty = packedShapePenalty; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedShapePenalty; - Id payload; -}; - -struct OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL -{ - OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL(IdResultType resultType, IdResult result, Id lumaModePenalty, Id lumaPackedNeighborModes, Id lumaPackedNonDcPenalty, Id payload) - : op(Op::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->lumaModePenalty = lumaModePenalty; - this->lumaPackedNeighborModes = lumaPackedNeighborModes; - this->lumaPackedNonDcPenalty = lumaPackedNonDcPenalty; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id lumaModePenalty; - Id lumaPackedNeighborModes; - Id lumaPackedNonDcPenalty; - Id payload; -}; - -struct OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL -{ - OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL(IdResultType resultType, IdResult result, Id chromaModeBasePenalty, Id payload) - : op(Op::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->chromaModeBasePenalty = chromaModeBasePenalty; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id chromaModeBasePenalty; - Id payload; -}; - -struct OpSubgroupAvcSicSetBilinearFilterEnableINTEL -{ - OpSubgroupAvcSicSetBilinearFilterEnableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetBilinearFilterEnableINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicSetBilinearFilterEnableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetBilinearFilterEnableINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL -{ - OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL(IdResultType resultType, IdResult result, Id packedSadCoefficients, Id payload) - : op(Op::SubgroupAvcSicSetSkcForwardTransformEnableINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->packedSadCoefficients = packedSadCoefficients; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetSkcForwardTransformEnableINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id packedSadCoefficients; - Id payload; -}; - -struct OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL -{ - OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL(IdResultType resultType, IdResult result, Id blockBasedSkipType, Id payload) - : op(Op::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->blockBasedSkipType = blockBasedSkipType; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id blockBasedSkipType; - Id payload; -}; - -struct OpSubgroupAvcSicEvaluateIpeINTEL -{ - OpSubgroupAvcSicEvaluateIpeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicEvaluateIpeINTEL(IdResultType resultType, IdResult result, Id srcImage, Id payload) - : op(Op::SubgroupAvcSicEvaluateIpeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicEvaluateIpeINTEL; - static constexpr uint16_t FixedWordSize = 5U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id payload; -}; - -struct OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL -{ - OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id refImage, Id payload) - : op(Op::SubgroupAvcSicEvaluateWithSingleReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->refImage = refImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicEvaluateWithSingleReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id refImage; - Id payload; -}; - -struct OpSubgroupAvcSicEvaluateWithDualReferenceINTEL -{ - OpSubgroupAvcSicEvaluateWithDualReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicEvaluateWithDualReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id fwdRefImage, Id bwdRefImage, Id payload) - : op(Op::SubgroupAvcSicEvaluateWithDualReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->fwdRefImage = fwdRefImage; - this->bwdRefImage = bwdRefImage; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicEvaluateWithDualReferenceINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id fwdRefImage; - Id bwdRefImage; - Id payload; -}; - -struct OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL -{ - OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL(IdResultType resultType, IdResult result, Id srcImage, Id packedReferenceIds, Id payload) - : op(Op::SubgroupAvcSicEvaluateWithMultiReferenceINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->packedReferenceIds = packedReferenceIds; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicEvaluateWithMultiReferenceINTEL; - static constexpr uint16_t FixedWordSize = 6U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id packedReferenceIds; - Id payload; -}; - -struct OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL -{ - OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL(IdResultType resultType, IdResult result, Id srcImage, Id packedReferenceIds, Id packedReferenceFieldPolarities, Id payload) - : op(Op::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->srcImage = srcImage; - this->packedReferenceIds = packedReferenceIds; - this->packedReferenceFieldPolarities = packedReferenceFieldPolarities; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id srcImage; - Id packedReferenceIds; - Id packedReferenceFieldPolarities; - Id payload; -}; - -struct OpSubgroupAvcSicConvertToMceResultINTEL -{ - OpSubgroupAvcSicConvertToMceResultINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicConvertToMceResultINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicConvertToMceResultINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicConvertToMceResultINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetIpeLumaShapeINTEL -{ - OpSubgroupAvcSicGetIpeLumaShapeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetIpeLumaShapeINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetIpeLumaShapeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetIpeLumaShapeINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL -{ - OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetBestIpeLumaDistortionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetBestIpeLumaDistortionINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL -{ - OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetBestIpeChromaDistortionINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetBestIpeChromaDistortionINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetPackedIpeLumaModesINTEL -{ - OpSubgroupAvcSicGetPackedIpeLumaModesINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetPackedIpeLumaModesINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetPackedIpeLumaModesINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetPackedIpeLumaModesINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetIpeChromaModeINTEL -{ - OpSubgroupAvcSicGetIpeChromaModeINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetIpeChromaModeINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetIpeChromaModeINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetIpeChromaModeINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL -{ - OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL -{ - OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpSubgroupAvcSicGetInterRawSadsINTEL -{ - OpSubgroupAvcSicGetInterRawSadsINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSubgroupAvcSicGetInterRawSadsINTEL(IdResultType resultType, IdResult result, Id payload) - : op(Op::SubgroupAvcSicGetInterRawSadsINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->payload = payload; - } - - static constexpr Op OpCode = Op::SubgroupAvcSicGetInterRawSadsINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id payload; -}; - -struct OpVariableLengthArrayINTEL -{ - OpVariableLengthArrayINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpVariableLengthArrayINTEL(IdResultType resultType, IdResult result, Id lenght) - : op(Op::VariableLengthArrayINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->lenght = lenght; - } - - static constexpr Op OpCode = Op::VariableLengthArrayINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id lenght; -}; - -struct OpSaveMemoryINTEL -{ - OpSaveMemoryINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpSaveMemoryINTEL(IdResultType resultType, IdResult result) - : op(Op::SaveMemoryINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - } - - static constexpr Op OpCode = Op::SaveMemoryINTEL; - static constexpr uint16_t FixedWordSize = 3U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; -}; - -struct OpRestoreMemoryINTEL -{ - OpRestoreMemoryINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpRestoreMemoryINTEL(Id ptr) - : op(Op::RestoreMemoryINTEL) - , wordCount(FixedWordSize) - { - this->ptr = ptr; - } - - static constexpr Op OpCode = Op::RestoreMemoryINTEL; - static constexpr uint16_t FixedWordSize = 2U; - Op op; - uint16_t wordCount; - Id ptr; -}; - -struct OpArbitraryFloatSinCosPiINTEL -{ - OpArbitraryFloatSinCosPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSinCosPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t fromSign, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSinCosPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->fromSign = fromSign; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSinCosPiINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t fromSign; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCastINTEL -{ - OpArbitraryFloatCastINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCastINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCastINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCastINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCastFromIntINTEL -{ - OpArbitraryFloatCastFromIntINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCastFromIntINTEL(IdResultType resultType, IdResult result, Id a, uint32_t mout, uint32_t fromSign, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCastFromIntINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->mout = mout; - this->fromSign = fromSign; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCastFromIntINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t mout; - uint32_t fromSign; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCastToIntINTEL -{ - OpArbitraryFloatCastToIntINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCastToIntINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCastToIntINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCastToIntINTEL; - static constexpr uint16_t FixedWordSize = 8U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatAddINTEL -{ - OpArbitraryFloatAddINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatAddINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatAddINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatAddINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatSubINTEL -{ - OpArbitraryFloatSubINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSubINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSubINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSubINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatMulINTEL -{ - OpArbitraryFloatMulINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatMulINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatMulINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatMulINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatDivINTEL -{ - OpArbitraryFloatDivINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatDivINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatDivINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatDivINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatGTINTEL -{ - OpArbitraryFloatGTINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatGTINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2) - : op(Op::ArbitraryFloatGTINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - } - - static constexpr Op OpCode = Op::ArbitraryFloatGTINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; -}; - -struct OpArbitraryFloatGEINTEL -{ - OpArbitraryFloatGEINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatGEINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2) - : op(Op::ArbitraryFloatGEINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - } - - static constexpr Op OpCode = Op::ArbitraryFloatGEINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; -}; - -struct OpArbitraryFloatLTINTEL -{ - OpArbitraryFloatLTINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLTINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2) - : op(Op::ArbitraryFloatLTINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLTINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; -}; - -struct OpArbitraryFloatLEINTEL -{ - OpArbitraryFloatLEINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLEINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2) - : op(Op::ArbitraryFloatLEINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLEINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; -}; - -struct OpArbitraryFloatEQINTEL -{ - OpArbitraryFloatEQINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatEQINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2) - : op(Op::ArbitraryFloatEQINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - } - - static constexpr Op OpCode = Op::ArbitraryFloatEQINTEL; - static constexpr uint16_t FixedWordSize = 7U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; -}; - -struct OpArbitraryFloatRecipINTEL -{ - OpArbitraryFloatRecipINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatRecipINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatRecipINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatRecipINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatRSqrtINTEL -{ - OpArbitraryFloatRSqrtINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatRSqrtINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatRSqrtINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatRSqrtINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCbrtINTEL -{ - OpArbitraryFloatCbrtINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCbrtINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCbrtINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCbrtINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatHypotINTEL -{ - OpArbitraryFloatHypotINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatHypotINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatHypotINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatHypotINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatSqrtINTEL -{ - OpArbitraryFloatSqrtINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSqrtINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSqrtINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSqrtINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatLogINTEL -{ - OpArbitraryFloatLogINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLogINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatLogINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLogINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatLog2INTEL -{ - OpArbitraryFloatLog2INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLog2INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatLog2INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLog2INTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatLog10INTEL -{ - OpArbitraryFloatLog10INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLog10INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatLog10INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLog10INTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatLog1pINTEL -{ - OpArbitraryFloatLog1pINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatLog1pINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatLog1pINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatLog1pINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatExpINTEL -{ - OpArbitraryFloatExpINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatExpINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatExpINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatExpINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatExp2INTEL -{ - OpArbitraryFloatExp2INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatExp2INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatExp2INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatExp2INTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatExp10INTEL -{ - OpArbitraryFloatExp10INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatExp10INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatExp10INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatExp10INTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatExpm1INTEL -{ - OpArbitraryFloatExpm1INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatExpm1INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatExpm1INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatExpm1INTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatSinINTEL -{ - OpArbitraryFloatSinINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSinINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSinINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSinINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCosINTEL -{ - OpArbitraryFloatCosINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCosINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCosINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCosINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatSinCosINTEL -{ - OpArbitraryFloatSinCosINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSinCosINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSinCosINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSinCosINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatSinPiINTEL -{ - OpArbitraryFloatSinPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatSinPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatSinPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatSinPiINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatCosPiINTEL -{ - OpArbitraryFloatCosPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatCosPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatCosPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatCosPiINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatASinINTEL -{ - OpArbitraryFloatASinINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatASinINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatASinINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatASinINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatASinPiINTEL -{ - OpArbitraryFloatASinPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatASinPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatASinPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatASinPiINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatACosINTEL -{ - OpArbitraryFloatACosINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatACosINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatACosINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatACosINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatACosPiINTEL -{ - OpArbitraryFloatACosPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatACosPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatACosPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatACosPiINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatATanINTEL -{ - OpArbitraryFloatATanINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatATanINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatATanINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatATanINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatATanPiINTEL -{ - OpArbitraryFloatATanPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatATanPiINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatATanPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatATanPiINTEL; - static constexpr uint16_t FixedWordSize = 9U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatATan2INTEL -{ - OpArbitraryFloatATan2INTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatATan2INTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatATan2INTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatATan2INTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatPowINTEL -{ - OpArbitraryFloatPowINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatPowINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatPowINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatPowINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatPowRINTEL -{ - OpArbitraryFloatPowRINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatPowRINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t m2, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatPowRINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->m2 = m2; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatPowRINTEL; - static constexpr uint16_t FixedWordSize = 11U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t m2; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - -struct OpArbitraryFloatPowNINTEL -{ - OpArbitraryFloatPowNINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpArbitraryFloatPowNINTEL(IdResultType resultType, IdResult result, Id a, uint32_t m1, Id b, uint32_t mout, uint32_t enableSubnormals, uint32_t roundingMode, uint32_t roundingAccuracy) - : op(Op::ArbitraryFloatPowNINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->a = a; - this->m1 = m1; - this->b = b; - this->mout = mout; - this->enableSubnormals = enableSubnormals; - this->roundingMode = roundingMode; - this->roundingAccuracy = roundingAccuracy; - } - - static constexpr Op OpCode = Op::ArbitraryFloatPowNINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id a; - uint32_t m1; - Id b; - uint32_t mout; - uint32_t enableSubnormals; - uint32_t roundingMode; - uint32_t roundingAccuracy; -}; - struct OpLoopControlINTEL { OpLoopControlINTEL(const ConstIter &it) @@ -19728,450 +15021,6 @@ struct OpLoopControlINTEL rdcarray loopControlParameters; }; -struct OpFixedSqrtINTEL -{ - OpFixedSqrtINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedSqrtINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedSqrtINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedSqrtINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedRecipINTEL -{ - OpFixedRecipINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedRecipINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedRecipINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedRecipINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedRsqrtINTEL -{ - OpFixedRsqrtINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedRsqrtINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedRsqrtINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedRsqrtINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedSinINTEL -{ - OpFixedSinINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedSinINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedSinINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedSinINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedCosINTEL -{ - OpFixedCosINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedCosINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedCosINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedCosINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedSinCosINTEL -{ - OpFixedSinCosINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedSinCosINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedSinCosINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedSinCosINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedSinPiINTEL -{ - OpFixedSinPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedSinPiINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedSinPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedSinPiINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedCosPiINTEL -{ - OpFixedCosPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedCosPiINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedCosPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedCosPiINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedSinCosPiINTEL -{ - OpFixedSinCosPiINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedSinCosPiINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedSinCosPiINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedSinCosPiINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedLogINTEL -{ - OpFixedLogINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedLogINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedLogINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedLogINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpFixedExpINTEL -{ - OpFixedExpINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpFixedExpINTEL(IdResultType resultType, IdResult result, Id inputType, Id input, uint32_t s, uint32_t i, uint32_t rI, uint32_t q, uint32_t o) - : op(Op::FixedExpINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->inputType = inputType; - this->input = input; - this->s = s; - this->i = i; - this->rI = rI; - this->q = q; - this->o = o; - } - - static constexpr Op OpCode = Op::FixedExpINTEL; - static constexpr uint16_t FixedWordSize = 10U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id inputType; - Id input; - uint32_t s; - uint32_t i; - uint32_t rI; - uint32_t q; - uint32_t o; -}; - -struct OpPtrCastToCrossWorkgroupINTEL -{ - OpPtrCastToCrossWorkgroupINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpPtrCastToCrossWorkgroupINTEL(IdResultType resultType, IdResult result, Id pointer) - : op(Op::PtrCastToCrossWorkgroupINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->pointer = pointer; - } - - static constexpr Op OpCode = Op::PtrCastToCrossWorkgroupINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id pointer; -}; - -struct OpCrossWorkgroupCastToPtrINTEL -{ - OpCrossWorkgroupCastToPtrINTEL(const ConstIter &it) - { - memcpy(this, it.words(), sizeof(*this)); - } - OpCrossWorkgroupCastToPtrINTEL(IdResultType resultType, IdResult result, Id pointer) - : op(Op::CrossWorkgroupCastToPtrINTEL) - , wordCount(FixedWordSize) - { - this->resultType = resultType; - this->result = result; - this->pointer = pointer; - } - - static constexpr Op OpCode = Op::CrossWorkgroupCastToPtrINTEL; - static constexpr uint16_t FixedWordSize = 4U; - Op op; - uint16_t wordCount; - IdResultType resultType; - IdResult result; - Id pointer; -}; - struct OpReadPipeBlockingINTEL { OpReadPipeBlockingINTEL(const ConstIter &it)