spirv: Update headers and metadata from latest Khronos commit

This corresponds to 2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801
("Add Capability and Execution mode SPV_KHR_compute_shader_derivatives (#446)")
in https://github.com/KhronosGroup/SPIRV-Headers.

Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30956>
This commit is contained in:
Caio Oliveira 2024-08-30 08:45:06 -07:00 committed by Marge Bot
parent 807aa97a12
commit 155c614c52
3 changed files with 299 additions and 26 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<!--
Copyright (c) 2015 The Khronos Group Inc.
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
@ -62,9 +62,9 @@
<id value="9" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/>
<id value="10" vendor="AMD" comment="Contact Daniel Rakos, daniel.rakos@amd.com"/>
<id value="11" vendor="Intel" comment="Contact Alexey, alexey.bader@intel.com"/>
<id value="12" vendor="Imagination" comment="Contact James Jones"/>
<id value="12" vendor="Imagination" comment="Contact Stephen Clarke, stephen.clarke@imgtec.com"/>
<id value="13" vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, dneto@google.com"/>
<id value="14" vendor="Google" tool="spiregg" comment="Contact Lei Zhang, antiagainst@google.com"/>
<id value="14" vendor="Google" tool="spiregg" comment="Contact Steven Perron, stevenperron@google.com"/>
<id value="15" vendor="Google" tool="rspirv" comment="Contact Lei Zhang, antiagainst@gmail.com"/>
<id value="16" vendor="X-LEGEND" tool="Mesa-IR/SPIR-V Translator" comment="Contact Metora Wang, github:metora/MesaGLSLCompiler"/>
<id value="17" vendor="Khronos" tool="SPIR-V Tools Linker" comment="Contact David Neto, dneto@google.com"/>
@ -72,7 +72,7 @@
<id value="19" vendor="Tellusim" tool="Clay Shader Compiler" comment="Contact info@tellusim.com"/>
<id value="20" vendor="W3C WebGPU Group" tool="WHLSL Shader Translator" comment="https://github.com/gpuweb/WHLSL"/>
<id value="21" vendor="Google" tool="Clspv" comment="Contact David Neto, dneto@google.com"/>
<id value="22" vendor="Google" tool="MLIR SPIR-V Serializer" comment="Contact Lei Zhang, antiagainst@google.com"/>
<id value="22" vendor="LLVM" tool="MLIR SPIR-V Serializer" comment="Contact Jakub Kuderski, jakub.kuderski@amd.com, https://mlir.llvm.org/docs/Dialects/SPIR-V/"/>
<id value="23" vendor="Google" tool="Tint Compiler" comment="Contact David Neto, dneto@google.com"/>
<id value="24" vendor="Google" tool="ANGLE Shader Compiler" comment="Contact Shahbaz Youssefi, syoussefi@google.com"/>
<id value="25" vendor="Netease Games" tool="Messiah Shader Compiler" comment="Contact Yuwen Wu, atyuwen@gmail.com"/>
@ -82,8 +82,20 @@
<id value="29" vendor="Mikkosoft Productions" tool="MSP Shader Compiler" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
<id value="30" vendor="SpvGenTwo community" tool="SpvGenTwo SPIR-V IR Tools" comment="https://github.com/rAzoR8/SpvGenTwo"/>
<id value="31" vendor="Google" tool="Skia SkSL" comment="Contact Ethan Nicholas, ethannicholas@google.com"/>
<id value="32" vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
<unused start="33" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
<id value="32" vendor="TornadoVM" tool="Beehive SPIRV Toolkit" comment="https://github.com/beehive-lab/beehive-spirv-toolkit"/>
<id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
<id value="34" vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout rayan.hatout@gmail.com, Repo https://github.com/rayanht/SPIRVSmith"/>
<id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers devillers@uni-saarland.de, Repo https://github.com/Hugobros3/shady"/>
<id value="36" vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang rendongliang@taichi.graphics, Repo https://github.com/taichi-dev/taichi"/>
<id value="37" vendor="heroseh" tool="Hero C Compiler" comment="https://github.com/heroseh/hcc"/>
<id value="38" vendor="Meta" tool="SparkSL" comment="Contact Dunfan Lu, dunfanlu@meta.com, https://sparkar.facebook.com/ar-studio/learn/sparksl/sparksl-overview"/>
<id value="39" vendor="SirLynix" tool="Nazara ShaderLang Compiler" comment="Contact Jérôme Leclercq, https://github.com/NazaraEngine/ShaderLang"/>
<id value="40" vendor="NVIDIA" tool="Slang Compiler" comment="Contact Theresa Foley, tfoley@nvidia.com, https://github.com/shader-slang/slang/"/>
<id value="41" vendor="Zig Software Foundation" tool="Zig Compiler" comment="Contact Robin Voetter, https://github.com/Snektron"/>
<id value="42" vendor="Rendong Liang" tool="spq" comment="Contact Rendong Liang, admin@penguinliong.moe, https://github.com/PENGUINLIONG/spq-rs"/>
<id value="43" vendor="LLVM" tool="LLVM SPIR-V Backend" comment="Contact Michal Paszkowski, michal.paszkowski@intel.com, https://github.com/llvm/llvm-project/tree/main/llvm/lib/Target/SPIRV"/>
<id value="44" vendor="Robert Konrad" tool="Kongruent" comment="Contact Robert Konrad, https://github.com/Kode/Kongruent"/>
<unused start="45" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
</ids>
<!-- SECTION: SPIR-V Opcodes and Enumerants -->
@ -136,13 +148,17 @@
<ids type="opcode" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="opcode" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
<ids type="opcode" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
<ids type="opcode" start="6464" end="6527" vendor="N/A" comment="Blank range to keep alignment with non-opcodes"/>
<ids type="opcode" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
<ids type="opcode" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
<ids type="opcode" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.com"/>
<!-- Opcode enumerants to reserve for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
sure to fill in the vendor attribute, and preferably add a contact
person/address in a comment attribute. -->
<!-- Example new block: <ids type="opcode" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
<ids type="opcode" start="6464" end="65535" comment="Opcode range reservable for future use by vendors"/>
<ids type="opcode" start="6720" end="65535" comment="Opcode range reservable for future use by vendors"/>
<!-- End reservations of opcodes -->
@ -165,13 +181,17 @@
<ids type="enumerant" start="6144" end="6271" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="enumerant" start="6272" end="6399" vendor="Huawei" comment="Contact wanghuilong2@xunweitech.com"/>
<ids type="enumerant" start="6400" end="6463" vendor="Intel" comment="Contact ben.ashbaugh@intel.com"/>
<ids type="enumerant" start="6464" end="6527" vendor="Mikkosoft Productions" comment="Contact Mikko Rasa, tdb@tdb.fi"/>
<ids type="enumerant" start="6528" end="6591" vendor="Codeplay" comment="Contact duncan.brawley@codeplay.com"/>
<ids type="enumerant" start="6592" end="6655" vendor="Saarland University" comment="Contact devillers@cg.uni-saarland.de"/>
<ids type="enumerant" start="6656" end="6719" vendor="Meta" comment="Contact dunfanlu@meta.com"/>
<!-- Enumerants to reserve for future use. To get a block, allocate
multiples of 64 starting at the lowest available point in this
block and add a corresponding <ids> tag immediately above. Make
sure to fill in the vendor attribute, and preferably add a contact
person/address in a comment attribute. -->
<!-- Example new block: <ids type="enumerant" start="XXXX" end="XXXX+64n-1" vendor="Add vendor" comment="Contact TBD"/> -->
<ids type="enumerant" start="6464" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<ids type="enumerant" start="6720" end="4294967295" comment="Enumerant range reservable for future use by vendors"/>
<!-- End reservations of enumerants -->
@ -191,8 +211,8 @@
<!-- Reserved loop control bits -->
<ids type="LoopControl" start="0" end="15" vendor="Khronos" comment="Reserved LoopControl bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="LoopControl" start="16" end="24" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="LoopControl" start="25" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="16" end="27" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="LoopControl" start="28" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="LoopControl" start="31" end="31" vendor="Khronos" comment="Reserved LoopControl bit, not available to vendors"/>
@ -232,7 +252,8 @@
<!-- Reserved FP fast math mode bits -->
<ids type="FPFastMathMode" start="0" end="15" vendor="Khronos" comment="Reserved FPFastMathMode bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="FPFastMathMode" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="FPFastMathMode" start="18" end="31" comment="Unreserved bits reservable for use by vendors"/>
<ids type="FPFastMathMode" start="18" end="18" vendor="khronos" comment="Reserved FPFastMathMode bit, not available to vendors - see SPV_KHR_float_controls2"/>
<ids type="FPFastMathMode" start="19" end="31" comment="Unreserved bits reservable for use by vendors"/>
<!-- SECTION: SPIR-V Memory Operand Bit Reservations -->
@ -251,8 +272,9 @@
<!-- Reserved memory operand bits -->
<ids type="MemoryOperand" start="0" end="15" vendor="Khronos" comment="Reserved MemoryOperand bits, not available to vendors - see the SPIR-V Specification"/>
<ids type="MemoryOperand" start="16" end="17" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="MemoryOperand" start="18" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="MemoryOperand" start="16" end="18" vendor="Intel" comment="Contact michael.kinsner@intel.com"/>
<ids type="MemoryOperand" start="19" end="22" vendor="Arm" comment="Contact kevin.petit@arm.com"/>
<ids type="MemoryOperand" start="23" end="30" comment="Unreserved bits reservable for use by vendors"/>
<ids type="MemoryOperand" start="31" end="31" vendor="Khronos" comment="Reserved MemoryOperand bit, not available to vendors"/>
<!-- SECTION: SPIR-V Image Operand Bit Reservations -->

View file

@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 6,
"revision" : 1,
"revision" : 4,
"instruction_printing_class" : [
{
"tag" : "@exclude"
@ -330,7 +330,8 @@
"opcode" : 22,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralInteger", "name" : "'Width'" }
{ "kind" : "LiteralInteger", "name" : "'Width'" },
{ "kind" : "FPEncoding", "quantifier" : "?", "name" : "'Floating Point Encoding'" }
],
"version": "1.0"
},
@ -753,7 +754,10 @@
{ "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
],
"capabilities" : [ "Addresses" ],
"capabilities" : [
"Addresses",
"UntypedPointersKHR"
],
"version": "1.0"
},
{
@ -4439,6 +4443,61 @@
"capabilities" : [ "Shader" ],
"version" : "1.6"
},
{
"opname" : "OpTypeUntypedPointerKHR",
"class" : "Type-Declaration",
"opcode" : 4417,
"capabilities" : [
"UntypedPointersKHR"
],
"version" : "None",
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "StorageClass" }
]
},
{
"opname" : "OpUntypedVariableKHR",
"class" : "Memory",
"opcode" : 4418,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "StorageClass" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Data Type'" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
]
},
{
"opname" : "OpUntypedAccessChainKHR",
"class" : "Memory",
"opcode" : 4419,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base Type'" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
]
},
{
"opname" : "OpUntypedInBoundsAccessChainKHR",
"class" : "Memory",
"opcode" : 4420,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base Type'" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
]
},
{
"opname" : "OpSubgroupBallotKHR",
"class" : "Group",
@ -4465,6 +4524,64 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "None"
},
{
"opname" : "OpUntypedPtrAccessChainKHR",
"class" : "Memory",
"opcode" : 4423,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base Type'" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "name" : "'Element'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
]
},
{
"opname" : "OpUntypedInBoundsPtrAccessChainKHR",
"class" : "Memory",
"opcode" : 4424,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Base Type'" },
{ "kind" : "IdRef", "name" : "'Base'" },
{ "kind" : "IdRef", "name" : "'Element'" },
{ "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
]
},
{
"opname" : "OpUntypedArrayLengthKHR",
"class" : "Memory",
"opcode" : 4425,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name" : "'Structure'" },
{ "kind" : "IdRef", "name" : "'Pointer'" },
{ "kind" : "LiteralInteger", "name" : "'Array member'" }
]
},
{
"opname" : "OpUntypedPrefetchKHR",
"class" : "Memory",
"opcode" : 4426,
"capabilities" : [ "UntypedPointersKHR" ],
"version" : "None",
"operands" : [
{ "kind" : "IdRef", "name" : "'Pointer Type'" },
{ "kind" : "IdRef", "name" : "'Num Bytes'" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'RW'" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Locality'" },
{ "kind" : "IdRef", "quantifier" : "?", "name" : "'Cache Type'" }
]
},
{
"opname" : "OpSubgroupAllKHR",
"class" : "Group",
@ -9803,6 +9920,18 @@
"capabilities" : [ "SplitBarrierINTEL" ],
"version" : "None"
},
{
"opname" : "OpSubgroupBlockPrefetchINTEL",
"class" : "Group",
"opcode" : 6221,
"operands" : [
{ "kind" : "IdRef", "name" : "'Ptr'" },
{ "kind" : "IdRef", "name" : "'NumBytes'" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
],
"capabilities" : [ "SubgroupBufferPrefetchINTEL" ],
"version" : "None"
},
{
"opname" : "OpGroupIMulKHR",
"class" : "Group",
@ -11544,18 +11673,32 @@
"extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ],
"version" : "None"
},
{
"enumerant" : "DerivativeGroupQuadsKHR",
"value" : 5289,
"capabilities" : [ "ComputeDerivativeGroupQuadsNV", "ComputeDerivativeGroupQuadsKHR" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
"enumerant" : "DerivativeGroupQuadsNV",
"value" : 5289,
"capabilities" : [ "ComputeDerivativeGroupQuadsNV" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"capabilities" : [ "ComputeDerivativeGroupQuadsNV", "ComputeDerivativeGroupQuadsKHR" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
"enumerant" : "DerivativeGroupLinearKHR",
"value" : 5290,
"capabilities" : [ "ComputeDerivativeGroupLinearNV", "ComputeDerivativeGroupLinearKHR" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
"enumerant" : "DerivativeGroupLinearNV",
"value" : 5290,
"capabilities" : [ "ComputeDerivativeGroupLinearNV" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"capabilities" : [ "ComputeDerivativeGroupLinearNV", "ComputeDerivativeGroupLinearKHR" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
@ -12576,6 +12719,11 @@
"enumerant" : "UnsignedIntRaw12EXT",
"value" : 20,
"version": "1.0"
},
{
"enumerant" : "UnormInt2_101010EXT",
"value" : 21,
"version": "1.0"
}
]
},
@ -15446,6 +15594,12 @@
"extensions" : [ "SPV_EXT_shader_tile_image" ],
"version" : "None"
},
{
"enumerant" : "CooperativeMatrixLayoutsARM",
"value" : 4201,
"extensions" : [ "SPV_ARM_cooperative_matrix_layouts" ],
"version" : "None"
},
{
"enumerant" : "FragmentShadingRateKHR",
"value" : 4422,
@ -15639,6 +15793,12 @@
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
{
"enumerant" : "UntypedPointersKHR",
"value" : 4473,
"extensions" : [ "SPV_KHR_untyped_pointers" ],
"version" : "None"
},
{
"enumerant" : "RayTraversalPrimitiveCullingKHR",
"value" : 4478,
@ -15826,10 +15986,18 @@
"extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ],
"version" : "None"
},
{
"enumerant" : "ComputeDerivativeGroupQuadsKHR",
"value" : 5288,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
"enumerant" : "ComputeDerivativeGroupQuadsNV",
"value" : 5288,
"extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
@ -16065,10 +16233,18 @@
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"version" : "1.5"
},
{
"enumerant" : "ComputeDerivativeGroupLinearKHR",
"value" : 5350,
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
"enumerant" : "ComputeDerivativeGroupLinearNV",
"value" : 5350,
"extensions" : [ "SPV_NV_compute_shader_derivatives" ],
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ],
"version" : "None"
},
{
@ -16609,6 +16785,12 @@
"extensions": [ "SPV_INTEL_global_variable_fpga_decorations" ],
"version" : "None"
},
{
"enumerant" : "SubgroupBufferPrefetchINTEL",
"value" : 6220,
"extensions": [ "SPV_INTEL_subgroup_buffer_prefetch" ],
"version" : "None"
},
{
"enumerant" : "GroupUniformArithmeticKHR",
"value" : 6400,
@ -16761,6 +16943,16 @@
"enumerant" : "ColumnMajorKHR",
"value" : 1,
"version" : "None"
},
{
"enumerant" : "RowBlockedInterleavedARM",
"value" : 4202,
"version" : "None"
},
{
"enumerant" : "ColumnBlockedInterleavedARM",
"value" : 4203,
"version" : "None"
}
]
},
@ -16881,6 +17073,12 @@
}
]
},
{
"category" : "ValueEnum",
"kind" : "FPEncoding",
"enumerants" : [
]
},
{
"category" : "Id",
"kind" : "IdResultType",

View file

@ -194,7 +194,9 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeOutputLinesNV = 5269,
SpvExecutionModeOutputPrimitivesEXT = 5270,
SpvExecutionModeOutputPrimitivesNV = 5270,
SpvExecutionModeDerivativeGroupQuadsKHR = 5289,
SpvExecutionModeDerivativeGroupQuadsNV = 5289,
SpvExecutionModeDerivativeGroupLinearKHR = 5290,
SpvExecutionModeDerivativeGroupLinearNV = 5290,
SpvExecutionModeOutputTrianglesEXT = 5298,
SpvExecutionModeOutputTrianglesNV = 5298,
@ -381,6 +383,7 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeUnormInt101010_2 = 16,
SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
SpvImageChannelDataTypeUnormInt2_101010EXT = 21,
SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
@ -1049,6 +1052,7 @@ typedef enum SpvCapability_ {
SpvCapabilityTileImageColorReadAccessEXT = 4166,
SpvCapabilityTileImageDepthReadAccessEXT = 4167,
SpvCapabilityTileImageStencilReadAccessEXT = 4168,
SpvCapabilityCooperativeMatrixLayoutsARM = 4201,
SpvCapabilityFragmentShadingRateKHR = 4422,
SpvCapabilitySubgroupBallotKHR = 4423,
SpvCapabilityDrawParameters = 4427,
@ -1078,6 +1082,7 @@ typedef enum SpvCapability_ {
SpvCapabilityRoundingModeRTZ = 4468,
SpvCapabilityRayQueryProvisionalKHR = 4471,
SpvCapabilityRayQueryKHR = 4472,
SpvCapabilityUntypedPointersKHR = 4473,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
SpvCapabilityTextureSampleWeightedQCOM = 4484,
@ -1106,6 +1111,7 @@ typedef enum SpvCapability_ {
SpvCapabilityMeshShadingEXT = 5283,
SpvCapabilityFragmentBarycentricKHR = 5284,
SpvCapabilityFragmentBarycentricNV = 5284,
SpvCapabilityComputeDerivativeGroupQuadsKHR = 5288,
SpvCapabilityComputeDerivativeGroupQuadsNV = 5288,
SpvCapabilityFragmentDensityEXT = 5291,
SpvCapabilityShadingRateNV = 5291,
@ -1143,6 +1149,7 @@ typedef enum SpvCapability_ {
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
SpvCapabilityPhysicalStorageBufferAddresses = 5347,
SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
SpvCapabilityComputeDerivativeGroupLinearKHR = 5350,
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
SpvCapabilityRayTracingProvisionalKHR = 5353,
SpvCapabilityCooperativeMatrixNV = 5357,
@ -1231,6 +1238,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
SpvCapabilityGlobalVariableHostAccessINTEL = 6187,
SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,
SpvCapabilitySubgroupBufferPrefetchINTEL = 6220,
SpvCapabilityGroupUniformArithmeticKHR = 6400,
SpvCapabilityMaskedGatherScatterINTEL = 6427,
SpvCapabilityCacheControlsINTEL = 6441,
@ -1362,6 +1370,8 @@ typedef enum SpvCooperativeMatrixOperandsMask_ {
typedef enum SpvCooperativeMatrixLayout_ {
SpvCooperativeMatrixLayoutRowMajorKHR = 0,
SpvCooperativeMatrixLayoutColumnMajorKHR = 1,
SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202,
SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203,
SpvCooperativeMatrixLayoutMax = 0x7fffffff,
} SpvCooperativeMatrixLayout;
@ -1420,6 +1430,10 @@ typedef enum SpvRawAccessChainOperandsMask_ {
SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
} SpvRawAccessChainOperandsMask;
typedef enum SpvFPEncoding_ {
SpvFPEncodingMax = 0x7fffffff,
} SpvFPEncoding;
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@ -1769,8 +1783,16 @@ typedef enum SpvOp_ {
SpvOpDepthAttachmentReadEXT = 4161,
SpvOpStencilAttachmentReadEXT = 4162,
SpvOpTerminateInvocation = 4416,
SpvOpTypeUntypedPointerKHR = 4417,
SpvOpUntypedVariableKHR = 4418,
SpvOpUntypedAccessChainKHR = 4419,
SpvOpUntypedInBoundsAccessChainKHR = 4420,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
SpvOpUntypedPtrAccessChainKHR = 4423,
SpvOpUntypedInBoundsPtrAccessChainKHR = 4424,
SpvOpUntypedArrayLengthKHR = 4425,
SpvOpUntypedPrefetchKHR = 4426,
SpvOpSubgroupAllKHR = 4428,
SpvOpSubgroupAnyKHR = 4429,
SpvOpSubgroupAllEqualKHR = 4430,
@ -2148,6 +2170,7 @@ typedef enum SpvOp_ {
SpvOpConvertBF16ToFINTEL = 6117,
SpvOpControlBarrierArriveINTEL = 6142,
SpvOpControlBarrierWaitINTEL = 6143,
SpvOpSubgroupBlockPrefetchINTEL = 6221,
SpvOpGroupIMulKHR = 6401,
SpvOpGroupFMulKHR = 6402,
SpvOpGroupBitwiseAndKHR = 6403,
@ -2517,8 +2540,16 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
@ -2885,6 +2916,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@ -3026,8 +3058,8 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) {
case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR";
case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT";
case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT";
case SpvExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV";
case SpvExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV";
case SpvExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR";
case SpvExecutionModeDerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR";
case SpvExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT";
case SpvExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT";
case SpvExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT";
@ -3219,6 +3251,7 @@ inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value
case SpvImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
case SpvImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
case SpvImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
case SpvImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
default: return "Unknown";
}
}
@ -3643,6 +3676,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT";
case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT";
case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT";
case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM";
case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR";
case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR";
case SpvCapabilityDrawParameters: return "DrawParameters";
@ -3670,6 +3704,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityRoundingModeRTZ: return "RoundingModeRTZ";
case SpvCapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
case SpvCapabilityRayQueryKHR: return "RayQueryKHR";
case SpvCapabilityUntypedPointersKHR: return "UntypedPointersKHR";
case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case SpvCapabilityRayTracingKHR: return "RayTracingKHR";
case SpvCapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
@ -3696,7 +3731,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityImageFootprintNV: return "ImageFootprintNV";
case SpvCapabilityMeshShadingEXT: return "MeshShadingEXT";
case SpvCapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR";
case SpvCapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV";
case SpvCapabilityComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR";
case SpvCapabilityFragmentDensityEXT: return "FragmentDensityEXT";
case SpvCapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
case SpvCapabilityShaderNonUniform: return "ShaderNonUniform";
@ -3717,7 +3752,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityVulkanMemoryModel: return "VulkanMemoryModel";
case SpvCapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope";
case SpvCapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses";
case SpvCapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV";
case SpvCapabilityComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR";
case SpvCapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
case SpvCapabilityCooperativeMatrixNV: return "CooperativeMatrixNV";
case SpvCapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT";
@ -3800,6 +3835,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
case SpvCapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
case SpvCapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
case SpvCapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL";
@ -3884,6 +3920,8 @@ inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout
switch (value) {
case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR";
case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR";
case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM";
case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM";
default: return "Unknown";
}
}
@ -3943,6 +3981,12 @@ inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumbe
}
}
inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
switch (value) {
default: return "Unknown";
}
}
inline const char* SpvOpToString(SpvOp value) {
switch (value) {
case SpvOpNop: return "OpNop";
@ -4293,8 +4337,16 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
case SpvOpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
case SpvOpTerminateInvocation: return "OpTerminateInvocation";
case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
case SpvOpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
case SpvOpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
case SpvOpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
case SpvOpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
case SpvOpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
case SpvOpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
case SpvOpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
case SpvOpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
case SpvOpSubgroupAllKHR: return "OpSubgroupAllKHR";
case SpvOpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
@ -4661,6 +4713,7 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
case SpvOpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
case SpvOpGroupIMulKHR: return "OpGroupIMulKHR";
case SpvOpGroupFMulKHR: return "OpGroupFMulKHR";
case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";