spirv: Update headers and metadata from latest Khronos commit

This corresponds to a7361efd139bf65de0e86d43b01b01e0b34d387f
("Fixed typo in operand name of OpSubgroupAvcImeSetDualReferenceINTEL (#537)")
in https://github.com/KhronosGroup/SPIRV-Headers.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36681>
This commit is contained in:
Caio Oliveira 2025-08-08 09:10:09 -07:00 committed by Marge Bot
parent 5e9de5317e
commit 12cdcccf24
3 changed files with 360 additions and 33 deletions

View file

@ -1,26 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<!--
Copyright (c) 2015-2024 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Materials.
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.
SPDX-FileCopyrightText: 2015-2024 The Khronos Group Inc.
SPDX-License-Identifier: MIT
-->
<!--
This file, spir-v.xml, is the SPIR-V Tool ID, opcode and enumerant registry.
@ -98,7 +80,8 @@
<id value="45" vendor="Kitsunebi Games" tool="Nuvk SPIR-V Emitter and DLSL compiler" comment="Contact Luna Nielsen, luna@foxgirls.gay, https://github.com/Inochi2D/nuvk"/>
<id value="46" vendor="Nintendo" comment="Contact Steve Urquhart, steve.urquhart@ntd.nintendo.com"/>
<id value="47" vendor="ARM" comment="Contact Christopher Gautier, christopher.gautier@arm.com"/>
<unused start="48" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
<id value="48" vendor="Goopax" comment="Contact Ingo Josopait, josopait@goopax.com"/>
<unused start="49" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->

View file

@ -116,6 +116,10 @@
"tag" : "Tensor",
"heading" : "Tensor Instructions"
},
{
"tag" : "Graph",
"heading" : "Graph Instructions"
},
{
"tag" : "Reserved",
"heading" : "Reserved Instructions"
@ -3914,7 +3918,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdScope", "name" : "Execution" },
{ "kind" : "IdRef", "name" : "Value" },
{ "kind" : "IdRef", "name" : "Id" }
{ "kind" : "IdRef", "name" : "Invocation Id" }
],
"capabilities" : [ "GroupNonUniformBallot" ],
"version" : "1.3"
@ -4021,7 +4025,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdScope", "name" : "Execution" },
{ "kind" : "IdRef", "name" : "Value" },
{ "kind" : "IdRef", "name" : "Id" }
{ "kind" : "IdRef", "name" : "Invocation Id" }
],
"capabilities" : [ "GroupNonUniformShuffle" ],
"version" : "1.3"
@ -4474,6 +4478,85 @@
"capabilities" : [ "TensorsARM" ],
"version" : "None"
},
{
"opname" : "OpGraphConstantARM",
"class" : "Graph",
"opcode" : 4181,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "GraphConstantID" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpGraphEntryPointARM",
"class" : "Graph",
"opcode" : 4182,
"operands" : [
{ "kind" : "IdRef", "name" : "Graph" },
{ "kind" : "LiteralString", "name" : "Name" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "Interface" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpGraphARM",
"class" : "Graph",
"opcode" : 4183,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpGraphInputARM",
"class" : "Graph",
"opcode" : 4184,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "InputIndex" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "ElementIndex" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpGraphSetOutputARM",
"class" : "Graph",
"opcode" : 4185,
"operands" : [
{ "kind" : "IdRef", "name": "Value" },
{ "kind" : "IdRef", "name" : "OutputIndex" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "ElementIndex" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpGraphEndARM",
"class" : "Graph",
"opcode" : 4186,
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpTypeGraphARM",
"class" : "Type-Declaration",
"opcode" : 4190,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "NumInputs" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "InOutTypes" }
],
"capabilities" : [ "GraphARM" ],
"version" : "None"
},
{
"opname" : "OpTerminateInvocation",
"class" : "Control-Flow",
@ -4491,7 +4574,6 @@
"capabilities" : [
"UntypedPointersKHR"
],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResult" },
@ -4503,7 +4585,6 @@
"class" : "Memory",
"opcode" : 4418,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4518,7 +4599,6 @@
"class" : "Memory",
"opcode" : 4419,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4533,7 +4613,6 @@
"class" : "Memory",
"opcode" : 4420,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4574,7 +4653,6 @@
"class" : "Memory",
"opcode" : 4423,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4590,7 +4668,6 @@
"class" : "Memory",
"opcode" : 4424,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4606,7 +4683,6 @@
"class" : "Memory",
"opcode" : 4425,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
@ -4621,7 +4697,6 @@
"class" : "Memory",
"opcode" : 4426,
"capabilities" : [ "UntypedPointersKHR" ],
"provisional" : true,
"version" : "None",
"operands" : [
{ "kind" : "IdRef", "name" : "Pointer Type" },
@ -4719,6 +4794,26 @@
"extensions" : [ "SPV_KHR_relaxed_extended_instruction" ],
"version": "None"
},
{
"opname" : "OpUntypedGroupAsyncCopyKHR",
"class" : "Group",
"opcode" : 4434,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Execution" },
{ "kind" : "IdRef", "name" : "Destination" },
{ "kind" : "IdRef", "name" : "Source" },
{ "kind" : "IdRef", "name" : "Element Num Bytes" },
{ "kind" : "IdRef", "name" : "Num Elements" },
{ "kind" : "IdRef", "name" : "Stride" },
{ "kind" : "IdRef", "name" : "Event" },
{ "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Destination Memory Operands" },
{ "kind" : "MemoryAccess", "quantifier" : "?", "name" : "Source Memory Operands" }
]
},
{
"opname" : "OpTraceRayKHR",
"class" : "Reserved",
@ -5185,6 +5280,18 @@
"capabilities" : [ "TextureBlockMatchQCOM" ],
"version" : "None"
},
{
"opname" : "OpBitCastArrayQCOM",
"class" : "Conversion",
"opcode" : 4497,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Source Array" }
],
"capabilities" : [ "CooperativeMatrixConversionQCOM" ],
"version" : "None"
},
{
"opname" : "OpImageBlockMatchWindowSSDQCOM",
"class" : "Image",
@ -5249,6 +5356,43 @@
"capabilities" : [ "TextureBlockMatch2QCOM" ],
"version" : "None"
},
{
"opname" : "OpCompositeConstructCoopMatQCOM",
"class" : "Composite",
"opcode" : 4540,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Source Array" }
],
"capabilities" : [ "CooperativeMatrixConversionQCOM" ],
"version" : "None"
},
{
"opname" : "OpCompositeExtractCoopMatQCOM",
"class" : "Composite",
"opcode" : 4541,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Source Cooperative Matrix" }
],
"capabilities" : [ "CooperativeMatrixConversionQCOM" ],
"version" : "None"
},
{
"opname" : "OpExtractSubArrayQCOM",
"class" : "Composite",
"opcode" : 4542,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Source Array" },
{ "kind" : "IdRef", "name" : "index" }
],
"capabilities" : [ "CooperativeMatrixConversionQCOM" ],
"version" : "None"
},
{
"opname" : "OpGroupIAddNonUniformAMD",
"class" : "Group",
@ -8093,7 +8237,7 @@
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "Fwd Ref Offset" },
{ "kind" : "IdRef", "name" : "Bwd Ref Offset" },
{ "kind" : "IdRef", "name" : "id> Search Window Config" },
{ "kind" : "IdRef", "name" : "Search Window Config" },
{ "kind" : "IdRef", "name" : "Payload" }
],
"capabilities" : [ "SubgroupAvcMotionEstimationINTEL" ],
@ -10694,6 +10838,101 @@
"capabilities" : [ "TernaryBitwiseFunctionINTEL" ],
"version" : "None"
},
{
"opname" : "OpConditionalExtensionINTEL",
"class" : "Extension",
"opcode" : 6248,
"operands" : [
{ "kind" : "IdRef", "name" : "Condition" },
{ "kind" : "LiteralString", "name" : "Name" }
],
"capabilities" : [ "SpecConditionalINTEL" ],
"provisional" : true,
"version" : "None"
},
{
"opname" : "OpConditionalEntryPointINTEL",
"class" : "Mode-Setting",
"opcode" : 6249,
"operands" : [
{ "kind" : "IdRef", "name" : "Condition" },
{ "kind" : "ExecutionModel" },
{ "kind" : "IdRef", "name" : "Entry Point" },
{ "kind" : "LiteralString", "name" : "Name" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "Interface" }
],
"capabilities" : [ "SpecConditionalINTEL" ],
"provisional" : true,
"version" : "None"
},
{
"opname" : "OpConditionalCapabilityINTEL",
"class" : "Mode-Setting",
"opcode" : 6250,
"operands" : [
{ "kind" : "IdRef", "name" : "Condition" },
{ "kind" : "Capability", "name" : "Capability" }
],
"capabilities" : [ "SpecConditionalINTEL" ],
"provisional" : true,
"version" : "None"
},
{
"opname" : "OpSpecConstantTargetINTEL",
"class" : "Constant-Creation",
"opcode" : 6251,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "Target" },
{ "kind" : "LiteralInteger", "quantifier" : "*", "name" : "Features" }
],
"capabilities" : [ "FunctionVariantsINTEL" ],
"provisional" : true,
"version": "None"
},
{
"opname" : "OpSpecConstantArchitectureINTEL",
"class" : "Constant-Creation",
"opcode" : 6252,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "Category" },
{ "kind" : "LiteralInteger", "name" : "Family" },
{ "kind" : "LiteralInteger", "name" : "Opcode" },
{ "kind" : "LiteralInteger", "name" : "Architecture" }
],
"capabilities" : [ "FunctionVariantsINTEL" ],
"provisional" : true,
"version": "None"
},
{
"opname" : "OpSpecConstantCapabilitiesINTEL",
"class" : "Constant-Creation",
"opcode" : 6253,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "Capability", "quantifier" : "*", "name" : "Capabilities" }
],
"capabilities" : [ "FunctionVariantsINTEL" ],
"provisional" : true,
"version": "None"
},
{
"opname" : "OpConditionalCopyObjectINTEL",
"class" : "Composite",
"opcode" : 6254,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "Condition 0, Operand 0, +\nCondition 1, Operand 1, +\n..." }
],
"capabilities" : [ "SpecConditionalINTEL" ],
"provisional" : true,
"version" : "None"
},
{
"opname" : "OpGroupIMulKHR",
"class" : "Group",
@ -14817,6 +15056,16 @@
"capabilities" : [ "GlobalVariableFPGADecorationsINTEL" ],
"version" : "None"
},
{
"enumerant" : "ConditionalINTEL",
"value" : 6247,
"parameters": [
{ "kind" : "IdRef", "name" : "Condition" }
],
"capabilities" : [ "SpecConditionalINTEL" ],
"provisional" : true,
"version" : "None"
},
{
"enumerant" : "CacheControlLoadINTEL",
"value" : 6442,
@ -16252,6 +16501,12 @@
"extensions" : [ "SPV_ARM_tensors"],
"version" : "None"
},
{
"enumerant" : "GraphARM",
"value" : 4191,
"extensions" : [ "SPV_ARM_graph"],
"version" : "None"
},
{
"enumerant" : "CooperativeMatrixLayoutsARM",
"value" : 4201,
@ -16267,6 +16522,7 @@
{
"enumerant" : "Float8CooperativeMatrixEXT",
"value" : 4213,
"capabilities" : [ "Float8EXT", "CooperativeMatrixKHR" ],
"extensions" : [ "SPV_EXT_float8"],
"version" : "None"
},
@ -16451,7 +16707,6 @@
"enumerant" : "UntypedPointersKHR",
"value" : 4473,
"extensions" : [ "SPV_KHR_untyped_pointers" ],
"provisional" : true,
"version" : "None"
},
{
@ -16493,6 +16748,13 @@
"extensions" : [ "SPV_QCOM_tile_shading" ],
"version" : "None"
},
{
"enumerant" : "CooperativeMatrixConversionQCOM",
"value" : 4496,
"capabilities" : [ "CooperativeMatrixKHR" ],
"extensions" : [ "SPV_QCOM_cooperative_matrix_conversion" ],
"version" : "None"
},
{
"enumerant" : "TextureBlockMatch2QCOM",
"value" : 4498,
@ -17473,6 +17735,21 @@
"extensions" : [ "SPV_INTEL_ternary_bitwise_function"],
"version" : "None"
},
{
"enumerant" : "SpecConditionalINTEL",
"value" : 6245,
"extensions" : [ "SPV_INTEL_function_variants" ],
"provisional" : true,
"version": "None"
},
{
"enumerant" : "FunctionVariantsINTEL",
"value" : 6246,
"capabilities" : [ "SpecConditionalINTEL" ],
"extensions" : [ "SPV_INTEL_function_variants" ],
"provisional" : true,
"version": "None"
},
{
"enumerant" : "GroupUniformArithmeticKHR",
"value" : 6400,

View file

@ -642,6 +642,7 @@ typedef enum SpvDecoration_ {
SpvDecorationHostAccessINTEL = 6188,
SpvDecorationInitModeINTEL = 6190,
SpvDecorationImplementInRegisterMapINTEL = 6191,
SpvDecorationConditionalINTEL = 6247,
SpvDecorationCacheControlLoadINTEL = 6442,
SpvDecorationCacheControlStoreINTEL = 6443,
SpvDecorationMax = 0x7fffffff,
@ -1067,6 +1068,7 @@ typedef enum SpvCapability_ {
SpvCapabilityTensorsARM = 4174,
SpvCapabilityStorageTensorArrayDynamicIndexingARM = 4175,
SpvCapabilityStorageTensorArrayNonUniformIndexingARM = 4176,
SpvCapabilityGraphARM = 4191,
SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
SpvCapabilityFloat8EXT = 4212,
SpvCapabilityFloat8CooperativeMatrixEXT = 4213,
@ -1106,6 +1108,7 @@ typedef enum SpvCapability_ {
SpvCapabilityTextureBoxFilterQCOM = 4485,
SpvCapabilityTextureBlockMatchQCOM = 4486,
SpvCapabilityTileShadingQCOM = 4495,
SpvCapabilityCooperativeMatrixConversionQCOM = 4496,
SpvCapabilityTextureBlockMatch2QCOM = 4498,
SpvCapabilityFloat16ImageAMD = 5008,
SpvCapabilityImageGatherBiasLodAMD = 5009,
@ -1281,6 +1284,8 @@ typedef enum SpvCapability_ {
SpvCapabilitySubgroup2DBlockTransposeINTEL = 6230,
SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL = 6236,
SpvCapabilityTernaryBitwiseFunctionINTEL = 6241,
SpvCapabilitySpecConditionalINTEL = 6245,
SpvCapabilityFunctionVariantsINTEL = 6246,
SpvCapabilityGroupUniformArithmeticKHR = 6400,
SpvCapabilityTensorFloat32RoundingINTEL = 6425,
SpvCapabilityMaskedGatherScatterINTEL = 6427,
@ -1951,6 +1956,13 @@ typedef enum SpvOp_ {
SpvOpTensorReadARM = 4164,
SpvOpTensorWriteARM = 4165,
SpvOpTensorQuerySizeARM = 4166,
SpvOpGraphConstantARM = 4181,
SpvOpGraphEntryPointARM = 4182,
SpvOpGraphARM = 4183,
SpvOpGraphInputARM = 4184,
SpvOpGraphSetOutputARM = 4185,
SpvOpGraphEndARM = 4186,
SpvOpTypeGraphARM = 4190,
SpvOpTerminateInvocation = 4416,
SpvOpTypeUntypedPointerKHR = 4417,
SpvOpUntypedVariableKHR = 4418,
@ -1968,6 +1980,7 @@ typedef enum SpvOp_ {
SpvOpGroupNonUniformRotateKHR = 4431,
SpvOpSubgroupReadInvocationKHR = 4432,
SpvOpExtInstWithForwardRefsKHR = 4433,
SpvOpUntypedGroupAsyncCopyKHR = 4434,
SpvOpTraceRayKHR = 4445,
SpvOpExecuteCallableKHR = 4446,
SpvOpConvertUToAccelerationStructureKHR = 4447,
@ -2004,10 +2017,14 @@ typedef enum SpvOp_ {
SpvOpImageBoxFilterQCOM = 4481,
SpvOpImageBlockMatchSSDQCOM = 4482,
SpvOpImageBlockMatchSADQCOM = 4483,
SpvOpBitCastArrayQCOM = 4497,
SpvOpImageBlockMatchWindowSSDQCOM = 4500,
SpvOpImageBlockMatchWindowSADQCOM = 4501,
SpvOpImageBlockMatchGatherSSDQCOM = 4502,
SpvOpImageBlockMatchGatherSADQCOM = 4503,
SpvOpCompositeConstructCoopMatQCOM = 4540,
SpvOpCompositeExtractCoopMatQCOM = 4541,
SpvOpExtractSubArrayQCOM = 4542,
SpvOpGroupIAddNonUniformAMD = 5000,
SpvOpGroupFAddNonUniformAMD = 5001,
SpvOpGroupFMinNonUniformAMD = 5002,
@ -2398,6 +2415,13 @@ typedef enum SpvOp_ {
SpvOpSubgroup2DBlockStoreINTEL = 6235,
SpvOpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
SpvOpBitwiseFunctionINTEL = 6242,
SpvOpConditionalExtensionINTEL = 6248,
SpvOpConditionalEntryPointINTEL = 6249,
SpvOpConditionalCapabilityINTEL = 6250,
SpvOpSpecConstantTargetINTEL = 6251,
SpvOpSpecConstantArchitectureINTEL = 6252,
SpvOpSpecConstantCapabilitiesINTEL = 6253,
SpvOpConditionalCopyObjectINTEL = 6254,
SpvOpGroupIMulKHR = 6401,
SpvOpGroupFMulKHR = 6402,
SpvOpGroupBitwiseAndKHR = 6403,
@ -2774,6 +2798,13 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpTensorReadARM: *hasResult = true; *hasResultType = true; break;
case SpvOpTensorWriteARM: *hasResult = false; *hasResultType = false; break;
case SpvOpTensorQuerySizeARM: *hasResult = true; *hasResultType = true; break;
case SpvOpGraphConstantARM: *hasResult = true; *hasResultType = true; break;
case SpvOpGraphEntryPointARM: *hasResult = false; *hasResultType = false; break;
case SpvOpGraphARM: *hasResult = true; *hasResultType = true; break;
case SpvOpGraphInputARM: *hasResult = true; *hasResultType = true; break;
case SpvOpGraphSetOutputARM: *hasResult = false; *hasResultType = false; break;
case SpvOpGraphEndARM: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeGraphARM: *hasResult = true; *hasResultType = false; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
@ -2791,6 +2822,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpExtInstWithForwardRefsKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedGroupAsyncCopyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
@ -2821,10 +2853,14 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpBitCastArrayQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeConstructCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpCompositeExtractCoopMatQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpExtractSubArrayQCOM: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
@ -3210,6 +3246,13 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpSubgroup2DBlockStoreINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpBitwiseFunctionINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConditionalExtensionINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConditionalEntryPointINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpConditionalCapabilityINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSpecConstantTargetINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantArchitectureINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpSpecConstantCapabilitiesINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpConditionalCopyObjectINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@ -3750,6 +3793,7 @@ inline const char* SpvDecorationToString(SpvDecoration value) {
case SpvDecorationHostAccessINTEL: return "HostAccessINTEL";
case SpvDecorationInitModeINTEL: return "InitModeINTEL";
case SpvDecorationImplementInRegisterMapINTEL: return "ImplementInRegisterMapINTEL";
case SpvDecorationConditionalINTEL: return "ConditionalINTEL";
case SpvDecorationCacheControlLoadINTEL: return "CacheControlLoadINTEL";
case SpvDecorationCacheControlStoreINTEL: return "CacheControlStoreINTEL";
default: return "Unknown";
@ -4002,6 +4046,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityTensorsARM: return "TensorsARM";
case SpvCapabilityStorageTensorArrayDynamicIndexingARM: return "StorageTensorArrayDynamicIndexingARM";
case SpvCapabilityStorageTensorArrayNonUniformIndexingARM: return "StorageTensorArrayNonUniformIndexingARM";
case SpvCapabilityGraphARM: return "GraphARM";
case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
case SpvCapabilityFloat8EXT: return "Float8EXT";
case SpvCapabilityFloat8CooperativeMatrixEXT: return "Float8CooperativeMatrixEXT";
@ -4039,6 +4084,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityTextureBoxFilterQCOM: return "TextureBoxFilterQCOM";
case SpvCapabilityTextureBlockMatchQCOM: return "TextureBlockMatchQCOM";
case SpvCapabilityTileShadingQCOM: return "TileShadingQCOM";
case SpvCapabilityCooperativeMatrixConversionQCOM: return "CooperativeMatrixConversionQCOM";
case SpvCapabilityTextureBlockMatch2QCOM: return "TextureBlockMatch2QCOM";
case SpvCapabilityFloat16ImageAMD: return "Float16ImageAMD";
case SpvCapabilityImageGatherBiasLodAMD: return "ImageGatherBiasLodAMD";
@ -4188,6 +4234,8 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilitySubgroup2DBlockTransposeINTEL: return "Subgroup2DBlockTransposeINTEL";
case SpvCapabilitySubgroupMatrixMultiplyAccumulateINTEL: return "SubgroupMatrixMultiplyAccumulateINTEL";
case SpvCapabilityTernaryBitwiseFunctionINTEL: return "TernaryBitwiseFunctionINTEL";
case SpvCapabilitySpecConditionalINTEL: return "SpecConditionalINTEL";
case SpvCapabilityFunctionVariantsINTEL: return "FunctionVariantsINTEL";
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
case SpvCapabilityTensorFloat32RoundingINTEL: return "TensorFloat32RoundingINTEL";
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
@ -4739,6 +4787,13 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpTensorReadARM: return "OpTensorReadARM";
case SpvOpTensorWriteARM: return "OpTensorWriteARM";
case SpvOpTensorQuerySizeARM: return "OpTensorQuerySizeARM";
case SpvOpGraphConstantARM: return "OpGraphConstantARM";
case SpvOpGraphEntryPointARM: return "OpGraphEntryPointARM";
case SpvOpGraphARM: return "OpGraphARM";
case SpvOpGraphInputARM: return "OpGraphInputARM";
case SpvOpGraphSetOutputARM: return "OpGraphSetOutputARM";
case SpvOpGraphEndARM: return "OpGraphEndARM";
case SpvOpTypeGraphARM: return "OpTypeGraphARM";
case SpvOpTerminateInvocation: return "OpTerminateInvocation";
case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
@ -4756,6 +4811,7 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpGroupNonUniformRotateKHR: return "OpGroupNonUniformRotateKHR";
case SpvOpSubgroupReadInvocationKHR: return "OpSubgroupReadInvocationKHR";
case SpvOpExtInstWithForwardRefsKHR: return "OpExtInstWithForwardRefsKHR";
case SpvOpUntypedGroupAsyncCopyKHR: return "OpUntypedGroupAsyncCopyKHR";
case SpvOpTraceRayKHR: return "OpTraceRayKHR";
case SpvOpExecuteCallableKHR: return "OpExecuteCallableKHR";
case SpvOpConvertUToAccelerationStructureKHR: return "OpConvertUToAccelerationStructureKHR";
@ -4786,10 +4842,14 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpImageBoxFilterQCOM: return "OpImageBoxFilterQCOM";
case SpvOpImageBlockMatchSSDQCOM: return "OpImageBlockMatchSSDQCOM";
case SpvOpImageBlockMatchSADQCOM: return "OpImageBlockMatchSADQCOM";
case SpvOpBitCastArrayQCOM: return "OpBitCastArrayQCOM";
case SpvOpImageBlockMatchWindowSSDQCOM: return "OpImageBlockMatchWindowSSDQCOM";
case SpvOpImageBlockMatchWindowSADQCOM: return "OpImageBlockMatchWindowSADQCOM";
case SpvOpImageBlockMatchGatherSSDQCOM: return "OpImageBlockMatchGatherSSDQCOM";
case SpvOpImageBlockMatchGatherSADQCOM: return "OpImageBlockMatchGatherSADQCOM";
case SpvOpCompositeConstructCoopMatQCOM: return "OpCompositeConstructCoopMatQCOM";
case SpvOpCompositeExtractCoopMatQCOM: return "OpCompositeExtractCoopMatQCOM";
case SpvOpExtractSubArrayQCOM: return "OpExtractSubArrayQCOM";
case SpvOpGroupIAddNonUniformAMD: return "OpGroupIAddNonUniformAMD";
case SpvOpGroupFAddNonUniformAMD: return "OpGroupFAddNonUniformAMD";
case SpvOpGroupFMinNonUniformAMD: return "OpGroupFMinNonUniformAMD";
@ -5175,6 +5235,13 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpSubgroup2DBlockStoreINTEL: return "OpSubgroup2DBlockStoreINTEL";
case SpvOpSubgroupMatrixMultiplyAccumulateINTEL: return "OpSubgroupMatrixMultiplyAccumulateINTEL";
case SpvOpBitwiseFunctionINTEL: return "OpBitwiseFunctionINTEL";
case SpvOpConditionalExtensionINTEL: return "OpConditionalExtensionINTEL";
case SpvOpConditionalEntryPointINTEL: return "OpConditionalEntryPointINTEL";
case SpvOpConditionalCapabilityINTEL: return "OpConditionalCapabilityINTEL";
case SpvOpSpecConstantTargetINTEL: return "OpSpecConstantTargetINTEL";
case SpvOpSpecConstantArchitectureINTEL: return "OpSpecConstantArchitectureINTEL";
case SpvOpSpecConstantCapabilitiesINTEL: return "OpSpecConstantCapabilitiesINTEL";
case SpvOpConditionalCopyObjectINTEL: return "OpConditionalCopyObjectINTEL";
case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";