diff options
author | Sylvain Doremus <DragonJoker@users.noreply.github.com> | 2021-12-21 13:24:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-21 13:24:31 +0100 |
commit | 9dd7c53c7139967b5f5f636b467122edcda48bb4 (patch) | |
tree | 18dfbc2f951c981913ab1929737b73a3ffe6af3f | |
parent | 9b37ebb4a2b6a93cd89b1fc86741060d386662ef (diff) | |
parent | eddd4dfc930f1374a70797460240a501c7d333f7 (diff) | |
download | SPIRV-Headers-9dd7c53c7139967b5f5f636b467122edcda48bb4.tar.gz SPIRV-Headers-9dd7c53c7139967b5f5f636b467122edcda48bb4.tar.bz2 SPIRV-Headers-9dd7c53c7139967b5f5f636b467122edcda48bb4.zip |
Merge branch 'master' into add_shader_writer
-rw-r--r-- | include/spirv/spir-v.xml | 11 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.core.grammar.json | 236 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.cs | 25 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.h | 43 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp | 43 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.hpp11 | 43 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.json | 26 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.lua | 25 | ||||
-rw-r--r-- | include/spirv/unified1/spirv.py | 25 | ||||
-rw-r--r-- | include/spirv/unified1/spv.d | 25 | ||||
-rw-r--r-- | tools/buildHeaders/header.cpp | 6 |
11 files changed, 424 insertions, 84 deletions
diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml index 46b0956..5b4f9ce 100644 --- a/include/spirv/spir-v.xml +++ b/include/spirv/spir-v.xml @@ -55,7 +55,7 @@ <id value="2" vendor="Valve" comment="Contact TBD"/> <id value="3" vendor="Codeplay" comment="Contact Victor Lomuller, victor@codeplay.com"/> <id value="4" vendor="NVIDIA" comment="Contact Kerch Holt, kholt@nvidia.com"/> - <id value="5" vendor="ARM" comment="Contact Alexander Galazin, alexander.galazin@arm.com"/> + <id value="5" vendor="ARM" comment="Contact Kevin Petit, kevin.petit@arm.com"/> <id value="6" vendor="Khronos" tool="LLVM/SPIR-V Translator" comment="Contact Yaxun (Sam) Liu, yaxun.liu@amd.com"/> <id value="7" vendor="Khronos" tool="SPIR-V Tools Assembler" comment="Contact David Neto, dneto@google.com"/> <id value="8" vendor="Khronos" tool="Glslang Reference Front End" comment="Contact John Kessenich, johnkessenich@google.com"/> @@ -82,8 +82,9 @@ <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="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/> - <unused start="33" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/> + <id value="32" vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/> + <id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/> + <unused start="34" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/> </ids> <!-- SECTION: SPIR-V Opcodes and Enumerants --> @@ -120,7 +121,7 @@ <!-- Begin reservations of opcode enumerants --> <ids type="opcode" start="0" end="4095" vendor="Khronos" comment="Reserved opcodes, not available to vendors - see the SPIR-V Specification"/> <ids type="opcode" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/> - <ids type="opcode" start="4160" end="4415" vendor="ARM"/> + <ids type="opcode" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/> <ids type="opcode" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/> <ids type="opcode" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/> <ids type="opcode" start="4992" end="5247" vendor="AMD"/> @@ -149,7 +150,7 @@ <!-- Begin reservations of non-opcode enumerants --> <ids type="enumerant" start="0" end="4095" vendor="Khronos" comment="Reserved enumerants, not available to vendors - see the SPIR-V Specification"/> <ids type="enumerant" start="4096" end="4159" vendor="Mesa" comment="Contact TBD"/> - <ids type="enumerant" start="4160" end="4415" vendor="ARM"/> + <ids type="enumerant" start="4160" end="4415" vendor="ARM" comment="Contact kevin.petit@arm.com"/> <ids type="enumerant" start="4416" end="4479" vendor="Khronos" comment="SPV_ARB_shader_ballot - contact Neil Henning, neil.henning@amd.com"/> <ids type="enumerant" start="4480" end="4991" vendor="Qualcomm" comment="Contact weifengz@qti.qualcomm.com"/> <ids type="enumerant" start="4992" end="5247" vendor="AMD"/> diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 0578497..766a4ed 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -26,8 +26,8 @@ ], "magic_number" : "0x07230203", "major_version" : 1, - "minor_version" : 5, - "revision" : 4, + "minor_version" : 6, + "revision" : 1, "instruction_printing_class" : [ { "tag" : "@exclude" @@ -1735,7 +1735,8 @@ { "kind" : "IdRef", "name" : "'x'" }, { "kind" : "IdRef", "name" : "'y'" } ], - "capabilities" : [ "Kernel" ] + "capabilities" : [ "Kernel" ], + "lastVersion" : "1.5" }, { "opname" : "OpOrdered", @@ -4109,7 +4110,7 @@ "SPV_KHR_terminate_invocation" ], "capabilities" : [ "Shader" ], - "version" : "None" + "version" : "1.6" }, { "opname" : "OpSubgroupBallotKHR", @@ -4261,6 +4262,20 @@ "version" : "None" }, { + "opname" : "OpSDot", + "class" : "Arithmetic", + "opcode" : 4450, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" + }, + { "opname" : "OpSDotKHR", "class" : "Arithmetic", "opcode" : 4450, @@ -4272,7 +4287,22 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpUDot", + "class" : "Arithmetic", + "opcode" : 4451, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" }, { "opname" : "OpUDotKHR", @@ -4286,7 +4316,22 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSUDot", + "class" : "Arithmetic", + "opcode" : 4452, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" }, { "opname" : "OpSUDotKHR", @@ -4300,7 +4345,23 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSDotAccSat", + "class" : "Arithmetic", + "opcode" : 4453, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" }, { "opname" : "OpSDotAccSatKHR", @@ -4315,7 +4376,23 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpUDotAccSat", + "class" : "Arithmetic", + "opcode" : 4454, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" }, { "opname" : "OpUDotAccSatKHR", @@ -4330,7 +4407,23 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" + }, + { + "opname" : "OpSUDotAccSat", + "class" : "Arithmetic", + "opcode" : 4455, + "operands" : [ + { "kind" : "IdResultType" }, + { "kind" : "IdResult" }, + { "kind" : "IdRef", "name" : "'Vector 1'" }, + { "kind" : "IdRef", "name" : "'Vector 2'" }, + { "kind" : "IdRef", "name" : "'Accumulator'" }, + { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } + ], + "capabilities" : [ "DotProduct" ], + "version" : "1.6" }, { "opname" : "OpSUDotAccSatKHR", @@ -4345,7 +4438,8 @@ { "kind" : "PackedVectorFormat", "name" : "'Packed Vector Format'", "quantifier" : "?" } ], "capabilities" : [ "DotProductKHR" ], - "version" : "None" + "extensions" : [ "SPV_KHR_integer_dot_product" ], + "version" : "1.6" }, { "opname" : "OpTypeRayQueryKHR", @@ -4925,12 +5019,18 @@ "version" : "None" }, { + "opname" : "OpDemoteToHelperInvocation", + "class" : "Control-Flow", + "opcode" : 5380, + "capabilities" : [ "DemoteToHelperInvocation" ], + "version" : "1.6" + }, + { "opname" : "OpDemoteToHelperInvocationEXT", - "class" : "Reserved", + "class" : "Control-Flow", "opcode" : 5380, - "capabilities" : [ "DemoteToHelperInvocationEXT" ], - "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ], - "version" : "None" + "capabilities" : [ "DemoteToHelperInvocation" ], + "version" : "1.6" }, { "opname" : "OpIsHelperInvocationEXT", @@ -8559,6 +8659,11 @@ "version" : "1.4" }, { + "enumerant" : "Nontemporal", + "value" : "0x4000", + "version" : "1.6" + }, + { "enumerant" : "Offsets", "value" : "0x10000", "parameters" : [ @@ -10877,12 +10982,12 @@ { "enumerant" : "Uniform", "value" : 26, - "capabilities" : [ "Shader" ] + "capabilities" : [ "Shader", "UniformDecoration" ] }, { "enumerant" : "UniformId", "value" : 27, - "capabilities" : [ "Shader" ], + "capabilities" : [ "Shader", "UniformDecoration" ], "parameters" : [ { "kind" : "IdScope", "name" : "'Execution'" } ], @@ -11115,10 +11220,17 @@ "version" : "None" }, { + "enumerant" : "PerVertexKHR", + "value" : 5285, + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { "enumerant" : "PerVertexNV", "value" : 5285, - "capabilities" : [ "FragmentBarycentricNV" ], - "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], "version" : "None" }, { @@ -11506,6 +11618,12 @@ "value" : 6087, "capabilities" : [ "VectorComputeINTEL" ], "version" : "None" + }, + { + "enumerant" : "MediaBlockIOINTEL", + "value" : 6140, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" } ] }, @@ -11974,17 +12092,31 @@ "version" : "None" }, { + "enumerant" : "BaryCoordKHR", + "value" : 5286, + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { "enumerant" : "BaryCoordNV", "value" : 5286, - "capabilities" : [ "FragmentBarycentricNV" ], - "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { + "enumerant" : "BaryCoordNoPerspKHR", + "value" : 5287, + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], "version" : "None" }, { "enumerant" : "BaryCoordNoPerspNV", "value" : 5287, - "capabilities" : [ "FragmentBarycentricNV" ], - "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], + "capabilities" : [ "FragmentBarycentricNV", "FragmentBarycentricKHR" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], "version" : "None" }, { @@ -12710,6 +12842,11 @@ "version" : "1.5" }, { + "enumerant" : "UniformDecoration", + "value" : 71, + "version" : "1.6" + }, + { "enumerant" : "FragmentShadingRateKHR", "value" : 4422, "capabilities" : [ "Shader" ], @@ -13035,9 +13172,15 @@ "version" : "None" }, { + "enumerant" : "FragmentBarycentricKHR", + "value" : 5284, + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], + "version" : "None" + }, + { "enumerant" : "FragmentBarycentricNV", "value" : 5284, - "extensions" : [ "SPV_NV_fragment_shader_barycentric" ], + "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], "version" : "None" }, { @@ -13321,11 +13464,17 @@ "version" : "None" }, { + "enumerant" : "DemoteToHelperInvocation", + "value" : 5379, + "capabilities" : [ "Shader" ], + "version" : "1.6" + }, + { "enumerant" : "DemoteToHelperInvocationEXT", "value" : 5379, "capabilities" : [ "Shader" ], "extensions" : [ "SPV_EXT_demote_to_helper_invocation" ], - "version" : "None" + "version" : "1.6" }, { "enumerant" : "BindlessTextureNV", @@ -13565,29 +13714,50 @@ "version" : "None" }, { + "enumerant" : "DotProductInputAll", + "value" : 6016, + "version" : "1.6" + }, + { "enumerant" : "DotProductInputAllKHR", "value" : 6016, "extensions" : [ "SPV_KHR_integer_dot_product" ], - "version" : "None" + "version" : "1.6" + }, + { + "enumerant" : "DotProductInput4x8Bit", + "value" : 6017, + "capabilities" : [ "Int8" ], + "version" : "1.6" }, { "enumerant" : "DotProductInput4x8BitKHR", "value" : 6017, "capabilities" : [ "Int8" ], "extensions" : [ "SPV_KHR_integer_dot_product" ], - "version" : "None" + "version" : "1.6" + }, + { + "enumerant" : "DotProductInput4x8BitPacked", + "value" : 6018, + "version" : "1.6" }, { "enumerant" : "DotProductInput4x8BitPackedKHR", "value" : 6018, "extensions" : [ "SPV_KHR_integer_dot_product" ], - "version" : "None" + "version" : "1.6" + }, + { + "enumerant" : "DotProduct", + "value" : 6019, + "version" : "1.6" }, { "enumerant" : "DotProductKHR", "value" : 6019, "extensions" : [ "SPV_KHR_integer_dot_product" ], - "version" : "None" + "version" : "1.6" }, { "enumerant" : "BitInstructions", @@ -13598,14 +13768,12 @@ { "enumerant" : "AtomicFloat32AddEXT", "value" : 6033, - "capabilities" : [ "Shader" ], "extensions" : [ "SPV_EXT_shader_atomic_float_add" ], "version" : "None" }, { "enumerant" : "AtomicFloat64AddEXT", "value" : 6034, - "capabilities" : [ "Shader" ], "extensions" : [ "SPV_EXT_shader_atomic_float_add" ], "version" : "None" }, @@ -13624,7 +13792,6 @@ { "enumerant" : "AtomicFloat16AddEXT", "value" : 6095, - "capabilities" : [ "Shader" ], "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ], "version" : "None" }, @@ -13701,10 +13868,15 @@ "kind" : "PackedVectorFormat", "enumerants" : [ { + "enumerant" : "PackedVectorFormat4x8Bit", + "value" : 0, + "version" : "1.6" + }, + { "enumerant" : "PackedVectorFormat4x8BitKHR", "value" : 0, "extensions" : [ "SPV_KHR_integer_dot_product" ], - "version" : "None" + "version" : "1.6" } ] }, diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index fd007ee..9cf00ec 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -48,8 +48,8 @@ namespace Spv public static class Specification { public const uint MagicNumber = 0x07230203; - public const uint Version = 0x00010500; - public const uint Revision = 4; + public const uint Version = 0x00010600; + public const uint Revision = 1; public const uint OpCodeMask = 0xffff; public const uint WordCountShift = 16; @@ -349,6 +349,7 @@ namespace Spv VolatileTexelKHR = 11, SignExtend = 12, ZeroExtend = 13, + Nontemporal = 14, Offsets = 16, } @@ -373,6 +374,7 @@ namespace Spv VolatileTexelKHR = 0x00000800, SignExtend = 0x00001000, ZeroExtend = 0x00002000, + Nontemporal = 0x00004000, Offsets = 0x00010000, } @@ -492,6 +494,7 @@ namespace Spv PerPrimitiveNV = 5271, PerViewNV = 5272, PerTaskNV = 5273, + PerVertexKHR = 5285, PerVertexNV = 5285, NonUniform = 5300, NonUniformEXT = 5300, @@ -542,6 +545,7 @@ namespace Spv FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, } public enum BuiltIn @@ -626,7 +630,9 @@ namespace Spv LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -924,6 +930,7 @@ namespace Spv GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -972,6 +979,7 @@ namespace Spv FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1016,6 +1024,7 @@ namespace Spv FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1056,9 +1065,13 @@ namespace Spv IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAll = 6016, DotProductInputAllKHR = 6016, + DotProductInput4x8Bit = 6017, DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPacked = 6018, DotProductInput4x8BitPackedKHR = 6018, + DotProduct = 6019, DotProductKHR = 6019, BitInstructions = 6025, AtomicFloat32AddEXT = 6033, @@ -1168,6 +1181,7 @@ namespace Spv public enum PackedVectorFormat { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, } @@ -1529,11 +1543,17 @@ namespace Spv OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDot = 4450, OpSDotKHR = 4450, + OpUDot = 4451, OpUDotKHR = 4451, + OpSUDot = 4452, OpSUDotKHR = 4452, + OpSDotAccSat = 4453, OpSDotAccSatKHR = 4453, + OpUDotAccSat = 4454, OpUDotAccSatKHR = 4454, + OpSUDotAccSat = 4455, OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -1573,6 +1593,7 @@ namespace Spv OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index 32e5b73..c15736e 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -53,12 +53,12 @@ typedef unsigned int SpvId; -#define SPV_VERSION 0x10500 -#define SPV_REVISION 4 +#define SPV_VERSION 0x10600 +#define SPV_REVISION 1 static const unsigned int SpvMagicNumber = 0x07230203; -static const unsigned int SpvVersion = 0x00010500; -static const unsigned int SpvRevision = 4; +static const unsigned int SpvVersion = 0x00010600; +static const unsigned int SpvRevision = 1; static const unsigned int SpvOpCodeMask = 0xffff; static const unsigned int SpvWordCountShift = 16; @@ -357,6 +357,7 @@ typedef enum SpvImageOperandsShift_ { SpvImageOperandsVolatileTexelKHRShift = 11, SpvImageOperandsSignExtendShift = 12, SpvImageOperandsZeroExtendShift = 13, + SpvImageOperandsNontemporalShift = 14, SpvImageOperandsOffsetsShift = 16, SpvImageOperandsMax = 0x7fffffff, } SpvImageOperandsShift; @@ -381,6 +382,7 @@ typedef enum SpvImageOperandsMask_ { SpvImageOperandsVolatileTexelKHRMask = 0x00000800, SpvImageOperandsSignExtendMask = 0x00001000, SpvImageOperandsZeroExtendMask = 0x00002000, + SpvImageOperandsNontemporalMask = 0x00004000, SpvImageOperandsOffsetsMask = 0x00010000, } SpvImageOperandsMask; @@ -498,6 +500,7 @@ typedef enum SpvDecoration_ { SpvDecorationPerPrimitiveNV = 5271, SpvDecorationPerViewNV = 5272, SpvDecorationPerTaskNV = 5273, + SpvDecorationPerVertexKHR = 5285, SpvDecorationPerVertexNV = 5285, SpvDecorationNonUniform = 5300, SpvDecorationNonUniformEXT = 5300, @@ -548,6 +551,7 @@ typedef enum SpvDecoration_ { SpvDecorationFunctionFloatingPointModeINTEL = 6080, SpvDecorationSingleElementVectorINTEL = 6085, SpvDecorationVectorComputeCallableFunctionINTEL = 6087, + SpvDecorationMediaBlockIOINTEL = 6140, SpvDecorationMax = 0x7fffffff, } SpvDecoration; @@ -632,7 +636,9 @@ typedef enum SpvBuiltIn_ { SpvBuiltInLayerPerViewNV = 5279, SpvBuiltInMeshViewCountNV = 5280, SpvBuiltInMeshViewIndicesNV = 5281, + SpvBuiltInBaryCoordKHR = 5286, SpvBuiltInBaryCoordNV = 5286, + SpvBuiltInBaryCoordNoPerspKHR = 5287, SpvBuiltInBaryCoordNoPerspNV = 5287, SpvBuiltInFragSizeEXT = 5292, SpvBuiltInFragmentSizeNV = 5292, @@ -924,6 +930,7 @@ typedef enum SpvCapability_ { SpvCapabilityGroupNonUniformQuad = 68, SpvCapabilityShaderLayer = 69, SpvCapabilityShaderViewportIndex = 70, + SpvCapabilityUniformDecoration = 71, SpvCapabilityFragmentShadingRateKHR = 4422, SpvCapabilitySubgroupBallotKHR = 4423, SpvCapabilityDrawParameters = 4427, @@ -972,6 +979,7 @@ typedef enum SpvCapability_ { SpvCapabilityFragmentFullyCoveredEXT = 5265, SpvCapabilityMeshShadingNV = 5266, SpvCapabilityImageFootprintNV = 5282, + SpvCapabilityFragmentBarycentricKHR = 5284, SpvCapabilityFragmentBarycentricNV = 5284, SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, SpvCapabilityFragmentDensityEXT = 5291, @@ -1016,6 +1024,7 @@ typedef enum SpvCapability_ { SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372, SpvCapabilityShaderSMBuiltinsNV = 5373, SpvCapabilityFragmentShaderPixelInterlockEXT = 5378, + SpvCapabilityDemoteToHelperInvocation = 5379, SpvCapabilityDemoteToHelperInvocationEXT = 5379, SpvCapabilityBindlessTextureNV = 5390, SpvCapabilitySubgroupShuffleINTEL = 5568, @@ -1056,9 +1065,13 @@ typedef enum SpvCapability_ { SpvCapabilityIOPipesINTEL = 5943, SpvCapabilityBlockingPipesINTEL = 5945, SpvCapabilityFPGARegINTEL = 5948, + SpvCapabilityDotProductInputAll = 6016, SpvCapabilityDotProductInputAllKHR = 6016, + SpvCapabilityDotProductInput4x8Bit = 6017, SpvCapabilityDotProductInput4x8BitKHR = 6017, + SpvCapabilityDotProductInput4x8BitPacked = 6018, SpvCapabilityDotProductInput4x8BitPackedKHR = 6018, + SpvCapabilityDotProduct = 6019, SpvCapabilityDotProductKHR = 6019, SpvCapabilityBitInstructions = 6025, SpvCapabilityAtomicFloat32AddEXT = 6033, @@ -1166,6 +1179,7 @@ typedef enum SpvOverflowModes_ { } SpvOverflowModes; typedef enum SpvPackedVectorFormat_ { + SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0, SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0, SpvPackedVectorFormatMax = 0x7fffffff, } SpvPackedVectorFormat; @@ -1527,11 +1541,17 @@ typedef enum SpvOp_ { SpvOpConvertUToAccelerationStructureKHR = 4447, SpvOpIgnoreIntersectionKHR = 4448, SpvOpTerminateRayKHR = 4449, + SpvOpSDot = 4450, SpvOpSDotKHR = 4450, + SpvOpUDot = 4451, SpvOpUDotKHR = 4451, + SpvOpSUDot = 4452, SpvOpSUDotKHR = 4452, + SpvOpSDotAccSat = 4453, SpvOpSDotAccSatKHR = 4453, + SpvOpUDotAccSat = 4454, SpvOpUDotAccSatKHR = 4454, + SpvOpSUDotAccSat = 4455, SpvOpSUDotAccSatKHR = 4455, SpvOpTypeRayQueryKHR = 4472, SpvOpRayQueryInitializeKHR = 4473, @@ -1571,6 +1591,7 @@ typedef enum SpvOp_ { SpvOpCooperativeMatrixLengthNV = 5362, SpvOpBeginInvocationInterlockEXT = 5364, SpvOpEndInvocationInterlockEXT = 5365, + SpvOpDemoteToHelperInvocation = 5380, SpvOpDemoteToHelperInvocationEXT = 5380, SpvOpIsHelperInvocationEXT = 5381, SpvOpConvertUToImageNV = 5391, @@ -2182,12 +2203,12 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy case SpvOpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case SpvOpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case SpvOpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; - case SpvOpSDotKHR: *hasResult = true; *hasResultType = true; break; - case SpvOpUDotKHR: *hasResult = true; *hasResultType = true; break; - case SpvOpSUDotKHR: *hasResult = true; *hasResultType = true; break; - case SpvOpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case SpvOpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case SpvOpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case SpvOpSDot: *hasResult = true; *hasResultType = true; break; + case SpvOpUDot: *hasResult = true; *hasResultType = true; break; + case SpvOpSUDot: *hasResult = true; *hasResultType = true; break; + case SpvOpSDotAccSat: *hasResult = true; *hasResultType = true; break; + case SpvOpUDotAccSat: *hasResult = true; *hasResultType = true; break; + case SpvOpSUDotAccSat: *hasResult = true; *hasResultType = true; break; case SpvOpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case SpvOpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case SpvOpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; @@ -2224,7 +2245,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy case SpvOpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; case SpvOpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; case SpvOpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; - case SpvOpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; + case SpvOpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break; case SpvOpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; case SpvOpConvertUToImageNV: *hasResult = true; *hasResultType = true; break; case SpvOpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break; diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index d66576d..3d500eb 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -49,12 +49,12 @@ namespace spv { typedef unsigned int Id; -#define SPV_VERSION 0x10500 -#define SPV_REVISION 4 +#define SPV_VERSION 0x10600 +#define SPV_REVISION 1 static const unsigned int MagicNumber = 0x07230203; -static const unsigned int Version = 0x00010500; -static const unsigned int Revision = 4; +static const unsigned int Version = 0x00010600; +static const unsigned int Revision = 1; static const unsigned int OpCodeMask = 0xffff; static const unsigned int WordCountShift = 16; @@ -353,6 +353,7 @@ enum ImageOperandsShift { ImageOperandsVolatileTexelKHRShift = 11, ImageOperandsSignExtendShift = 12, ImageOperandsZeroExtendShift = 13, + ImageOperandsNontemporalShift = 14, ImageOperandsOffsetsShift = 16, ImageOperandsMax = 0x7fffffff, }; @@ -377,6 +378,7 @@ enum ImageOperandsMask { ImageOperandsVolatileTexelKHRMask = 0x00000800, ImageOperandsSignExtendMask = 0x00001000, ImageOperandsZeroExtendMask = 0x00002000, + ImageOperandsNontemporalMask = 0x00004000, ImageOperandsOffsetsMask = 0x00010000, }; @@ -494,6 +496,7 @@ enum Decoration { DecorationPerPrimitiveNV = 5271, DecorationPerViewNV = 5272, DecorationPerTaskNV = 5273, + DecorationPerVertexKHR = 5285, DecorationPerVertexNV = 5285, DecorationNonUniform = 5300, DecorationNonUniformEXT = 5300, @@ -544,6 +547,7 @@ enum Decoration { DecorationFunctionFloatingPointModeINTEL = 6080, DecorationSingleElementVectorINTEL = 6085, DecorationVectorComputeCallableFunctionINTEL = 6087, + DecorationMediaBlockIOINTEL = 6140, DecorationMax = 0x7fffffff, }; @@ -628,7 +632,9 @@ enum BuiltIn { BuiltInLayerPerViewNV = 5279, BuiltInMeshViewCountNV = 5280, BuiltInMeshViewIndicesNV = 5281, + BuiltInBaryCoordKHR = 5286, BuiltInBaryCoordNV = 5286, + BuiltInBaryCoordNoPerspKHR = 5287, BuiltInBaryCoordNoPerspNV = 5287, BuiltInFragSizeEXT = 5292, BuiltInFragmentSizeNV = 5292, @@ -920,6 +926,7 @@ enum Capability { CapabilityGroupNonUniformQuad = 68, CapabilityShaderLayer = 69, CapabilityShaderViewportIndex = 70, + CapabilityUniformDecoration = 71, CapabilityFragmentShadingRateKHR = 4422, CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, @@ -968,6 +975,7 @@ enum Capability { CapabilityFragmentFullyCoveredEXT = 5265, CapabilityMeshShadingNV = 5266, CapabilityImageFootprintNV = 5282, + CapabilityFragmentBarycentricKHR = 5284, CapabilityFragmentBarycentricNV = 5284, CapabilityComputeDerivativeGroupQuadsNV = 5288, CapabilityFragmentDensityEXT = 5291, @@ -1012,6 +1020,7 @@ enum Capability { CapabilityFragmentShaderShadingRateInterlockEXT = 5372, CapabilityShaderSMBuiltinsNV = 5373, CapabilityFragmentShaderPixelInterlockEXT = 5378, + CapabilityDemoteToHelperInvocation = 5379, CapabilityDemoteToHelperInvocationEXT = 5379, CapabilityBindlessTextureNV = 5390, CapabilitySubgroupShuffleINTEL = 5568, @@ -1052,9 +1061,13 @@ enum Capability { CapabilityIOPipesINTEL = 5943, CapabilityBlockingPipesINTEL = 5945, CapabilityFPGARegINTEL = 5948, + CapabilityDotProductInputAll = 6016, CapabilityDotProductInputAllKHR = 6016, + CapabilityDotProductInput4x8Bit = 6017, CapabilityDotProductInput4x8BitKHR = 6017, + CapabilityDotProductInput4x8BitPacked = 6018, CapabilityDotProductInput4x8BitPackedKHR = 6018, + CapabilityDotProduct = 6019, CapabilityDotProductKHR = 6019, CapabilityBitInstructions = 6025, CapabilityAtomicFloat32AddEXT = 6033, @@ -1162,6 +1175,7 @@ enum OverflowModes { }; enum PackedVectorFormat { + PackedVectorFormatPackedVectorFormat4x8Bit = 0, PackedVectorFormatPackedVectorFormat4x8BitKHR = 0, PackedVectorFormatMax = 0x7fffffff, }; @@ -1523,11 +1537,17 @@ enum Op { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDot = 4450, OpSDotKHR = 4450, + OpUDot = 4451, OpUDotKHR = 4451, + OpSUDot = 4452, OpSUDotKHR = 4452, + OpSDotAccSat = 4453, OpSDotAccSatKHR = 4453, + OpUDotAccSat = 4454, OpUDotAccSatKHR = 4454, + OpSUDotAccSat = 4455, OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -1567,6 +1587,7 @@ enum Op { OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, @@ -2178,12 +2199,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; - case OpSDotKHR: *hasResult = true; *hasResultType = true; break; - case OpUDotKHR: *hasResult = true; *hasResultType = true; break; - case OpSUDotKHR: *hasResult = true; *hasResultType = true; break; - case OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case OpSDot: *hasResult = true; *hasResultType = true; break; + case OpUDot: *hasResult = true; *hasResultType = true; break; + case OpSUDot: *hasResult = true; *hasResultType = true; break; + case OpSDotAccSat: *hasResult = true; *hasResultType = true; break; + case OpUDotAccSat: *hasResult = true; *hasResultType = true; break; + case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break; case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; @@ -2220,7 +2241,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; - case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; + case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break; case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break; case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break; diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index 677daf7..f1fd764 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -49,12 +49,12 @@ namespace spv { typedef unsigned int Id; -#define SPV_VERSION 0x10500 -#define SPV_REVISION 4 +#define SPV_VERSION 0x10600 +#define SPV_REVISION 1 static const unsigned int MagicNumber = 0x07230203; -static const unsigned int Version = 0x00010500; -static const unsigned int Revision = 4; +static const unsigned int Version = 0x00010600; +static const unsigned int Revision = 1; static const unsigned int OpCodeMask = 0xffff; static const unsigned int WordCountShift = 16; @@ -353,6 +353,7 @@ enum class ImageOperandsShift : unsigned { VolatileTexelKHR = 11, SignExtend = 12, ZeroExtend = 13, + Nontemporal = 14, Offsets = 16, Max = 0x7fffffff, }; @@ -377,6 +378,7 @@ enum class ImageOperandsMask : unsigned { VolatileTexelKHR = 0x00000800, SignExtend = 0x00001000, ZeroExtend = 0x00002000, + Nontemporal = 0x00004000, Offsets = 0x00010000, }; @@ -494,6 +496,7 @@ enum class Decoration : unsigned { PerPrimitiveNV = 5271, PerViewNV = 5272, PerTaskNV = 5273, + PerVertexKHR = 5285, PerVertexNV = 5285, NonUniform = 5300, NonUniformEXT = 5300, @@ -544,6 +547,7 @@ enum class Decoration : unsigned { FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, Max = 0x7fffffff, }; @@ -628,7 +632,9 @@ enum class BuiltIn : unsigned { LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -920,6 +926,7 @@ enum class Capability : unsigned { GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -968,6 +975,7 @@ enum class Capability : unsigned { FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1012,6 +1020,7 @@ enum class Capability : unsigned { FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1052,9 +1061,13 @@ enum class Capability : unsigned { IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAll = 6016, DotProductInputAllKHR = 6016, + DotProductInput4x8Bit = 6017, DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPacked = 6018, DotProductInput4x8BitPackedKHR = 6018, + DotProduct = 6019, DotProductKHR = 6019, BitInstructions = 6025, AtomicFloat32AddEXT = 6033, @@ -1162,6 +1175,7 @@ enum class OverflowModes : unsigned { }; enum class PackedVectorFormat : unsigned { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, Max = 0x7fffffff, }; @@ -1523,11 +1537,17 @@ enum class Op : unsigned { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDot = 4450, OpSDotKHR = 4450, + OpUDot = 4451, OpUDotKHR = 4451, + OpSUDot = 4452, OpSUDotKHR = 4452, + OpSDotAccSat = 4453, OpSDotAccSatKHR = 4453, + OpUDotAccSat = 4454, OpUDotAccSatKHR = 4454, + OpSUDotAccSat = 4455, OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -1567,6 +1587,7 @@ enum class Op : unsigned { OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, @@ -2178,12 +2199,12 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case Op::OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break; case Op::OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break; case Op::OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break; - case Op::OpSDotKHR: *hasResult = true; *hasResultType = true; break; - case Op::OpUDotKHR: *hasResult = true; *hasResultType = true; break; - case Op::OpSUDotKHR: *hasResult = true; *hasResultType = true; break; - case Op::OpSDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case Op::OpUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; - case Op::OpSUDotAccSatKHR: *hasResult = true; *hasResultType = true; break; + case Op::OpSDot: *hasResult = true; *hasResultType = true; break; + case Op::OpUDot: *hasResult = true; *hasResultType = true; break; + case Op::OpSUDot: *hasResult = true; *hasResultType = true; break; + case Op::OpSDotAccSat: *hasResult = true; *hasResultType = true; break; + case Op::OpUDotAccSat: *hasResult = true; *hasResultType = true; break; + case Op::OpSUDotAccSat: *hasResult = true; *hasResultType = true; break; case Op::OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case Op::OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; case Op::OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break; @@ -2220,7 +2241,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case Op::OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break; case Op::OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; case Op::OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break; - case Op::OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break; + case Op::OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break; case Op::OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break; case Op::OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break; case Op::OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break; diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index e925ab9..e80d3bd 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -54,8 +54,8 @@ ] ], "MagicNumber": 119734787, - "Version": 66816, - "Revision": 4, + "Version": 67072, + "Revision": 1, "OpCodeMask": 65535, "WordCountShift": 16 }, @@ -396,6 +396,7 @@ "VolatileTexelKHR": 11, "SignExtend": 12, "ZeroExtend": 13, + "Nontemporal": 14, "Offsets": 16 } }, @@ -521,6 +522,7 @@ "PerPrimitiveNV": 5271, "PerViewNV": 5272, "PerTaskNV": 5273, + "PerVertexKHR": 5285, "PerVertexNV": 5285, "NonUniform": 5300, "NonUniformEXT": 5300, @@ -570,7 +572,8 @@ "IOPipeStorageINTEL": 5944, "FunctionFloatingPointModeINTEL": 6080, "SingleElementVectorINTEL": 6085, - "VectorComputeCallableFunctionINTEL": 6087 + "VectorComputeCallableFunctionINTEL": 6087, + "MediaBlockIOINTEL": 6140 } }, { @@ -658,7 +661,9 @@ "LayerPerViewNV": 5279, "MeshViewCountNV": 5280, "MeshViewIndicesNV": 5281, + "BaryCoordKHR": 5286, "BaryCoordNV": 5286, + "BaryCoordNoPerspKHR": 5287, "BaryCoordNoPerspNV": 5287, "FragSizeEXT": 5292, "FragmentSizeNV": 5292, @@ -905,6 +910,7 @@ "GroupNonUniformQuad": 68, "ShaderLayer": 69, "ShaderViewportIndex": 70, + "UniformDecoration": 71, "FragmentShadingRateKHR": 4422, "SubgroupBallotKHR": 4423, "DrawParameters": 4427, @@ -953,6 +959,7 @@ "FragmentFullyCoveredEXT": 5265, "MeshShadingNV": 5266, "ImageFootprintNV": 5282, + "FragmentBarycentricKHR": 5284, "FragmentBarycentricNV": 5284, "ComputeDerivativeGroupQuadsNV": 5288, "FragmentDensityEXT": 5291, @@ -997,6 +1004,7 @@ "FragmentShaderShadingRateInterlockEXT": 5372, "ShaderSMBuiltinsNV": 5373, "FragmentShaderPixelInterlockEXT": 5378, + "DemoteToHelperInvocation": 5379, "DemoteToHelperInvocationEXT": 5379, "BindlessTextureNV": 5390, "SubgroupShuffleINTEL": 5568, @@ -1037,9 +1045,13 @@ "IOPipesINTEL": 5943, "BlockingPipesINTEL": 5945, "FPGARegINTEL": 5948, + "DotProductInputAll": 6016, "DotProductInputAllKHR": 6016, + "DotProductInput4x8Bit": 6017, "DotProductInput4x8BitKHR": 6017, + "DotProductInput4x8BitPacked": 6018, "DotProductInput4x8BitPackedKHR": 6018, + "DotProduct": 6019, "DotProductKHR": 6019, "BitInstructions": 6025, "AtomicFloat32AddEXT": 6033, @@ -1155,6 +1167,7 @@ "Type": "Value", "Values": { + "PackedVectorFormat4x8Bit": 0, "PackedVectorFormat4x8BitKHR": 0 } }, @@ -1519,11 +1532,17 @@ "OpConvertUToAccelerationStructureKHR": 4447, "OpIgnoreIntersectionKHR": 4448, "OpTerminateRayKHR": 4449, + "OpSDot": 4450, "OpSDotKHR": 4450, + "OpUDot": 4451, "OpUDotKHR": 4451, + "OpSUDot": 4452, "OpSUDotKHR": 4452, + "OpSDotAccSat": 4453, "OpSDotAccSatKHR": 4453, + "OpUDotAccSat": 4454, "OpUDotAccSatKHR": 4454, + "OpSUDotAccSat": 4455, "OpSUDotAccSatKHR": 4455, "OpTypeRayQueryKHR": 4472, "OpRayQueryInitializeKHR": 4473, @@ -1563,6 +1582,7 @@ "OpCooperativeMatrixLengthNV": 5362, "OpBeginInvocationInterlockEXT": 5364, "OpEndInvocationInterlockEXT": 5365, + "OpDemoteToHelperInvocation": 5380, "OpDemoteToHelperInvocationEXT": 5380, "OpIsHelperInvocationEXT": 5381, "OpConvertUToImageNV": 5391, diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index 0806dd7..2f5e803 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -44,8 +44,8 @@ spv = { MagicNumber = 0x07230203, - Version = 0x00010500, - Revision = 4, + Version = 0x00010600, + Revision = 1, OpCodeMask = 0xffff, WordCountShift = 16, @@ -332,6 +332,7 @@ spv = { VolatileTexelKHR = 11, SignExtend = 12, ZeroExtend = 13, + Nontemporal = 14, Offsets = 16, }, @@ -355,6 +356,7 @@ spv = { VolatileTexelKHR = 0x00000800, SignExtend = 0x00001000, ZeroExtend = 0x00002000, + Nontemporal = 0x00004000, Offsets = 0x00010000, }, @@ -467,6 +469,7 @@ spv = { PerPrimitiveNV = 5271, PerViewNV = 5272, PerTaskNV = 5273, + PerVertexKHR = 5285, PerVertexNV = 5285, NonUniform = 5300, NonUniformEXT = 5300, @@ -517,6 +520,7 @@ spv = { FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, }, BuiltIn = { @@ -600,7 +604,9 @@ spv = { LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -882,6 +888,7 @@ spv = { GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -930,6 +937,7 @@ spv = { FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -974,6 +982,7 @@ spv = { FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1014,9 +1023,13 @@ spv = { IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAll = 6016, DotProductInputAllKHR = 6016, + DotProductInput4x8Bit = 6017, DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPacked = 6018, DotProductInput4x8BitPackedKHR = 6018, + DotProduct = 6019, DotProductKHR = 6019, BitInstructions = 6025, AtomicFloat32AddEXT = 6033, @@ -1114,6 +1127,7 @@ spv = { }, PackedVectorFormat = { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, }, @@ -1474,11 +1488,17 @@ spv = { OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDot = 4450, OpSDotKHR = 4450, + OpUDot = 4451, OpUDotKHR = 4451, + OpSUDot = 4452, OpSUDotKHR = 4452, + OpSDotAccSat = 4453, OpSDotAccSatKHR = 4453, + OpUDotAccSat = 4454, OpUDotAccSatKHR = 4454, + OpSUDotAccSat = 4455, OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -1518,6 +1538,7 @@ spv = { OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index ad41708..7aee89f 100644 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -44,8 +44,8 @@ spv = { 'MagicNumber' : 0x07230203, - 'Version' : 0x00010500, - 'Revision' : 4, + 'Version' : 0x00010600, + 'Revision' : 1, 'OpCodeMask' : 0xffff, 'WordCountShift' : 16, @@ -332,6 +332,7 @@ spv = { 'VolatileTexelKHR' : 11, 'SignExtend' : 12, 'ZeroExtend' : 13, + 'Nontemporal' : 14, 'Offsets' : 16, }, @@ -355,6 +356,7 @@ spv = { 'VolatileTexelKHR' : 0x00000800, 'SignExtend' : 0x00001000, 'ZeroExtend' : 0x00002000, + 'Nontemporal' : 0x00004000, 'Offsets' : 0x00010000, }, @@ -467,6 +469,7 @@ spv = { 'PerPrimitiveNV' : 5271, 'PerViewNV' : 5272, 'PerTaskNV' : 5273, + 'PerVertexKHR' : 5285, 'PerVertexNV' : 5285, 'NonUniform' : 5300, 'NonUniformEXT' : 5300, @@ -517,6 +520,7 @@ spv = { 'FunctionFloatingPointModeINTEL' : 6080, 'SingleElementVectorINTEL' : 6085, 'VectorComputeCallableFunctionINTEL' : 6087, + 'MediaBlockIOINTEL' : 6140, }, 'BuiltIn' : { @@ -600,7 +604,9 @@ spv = { 'LayerPerViewNV' : 5279, 'MeshViewCountNV' : 5280, 'MeshViewIndicesNV' : 5281, + 'BaryCoordKHR' : 5286, 'BaryCoordNV' : 5286, + 'BaryCoordNoPerspKHR' : 5287, 'BaryCoordNoPerspNV' : 5287, 'FragSizeEXT' : 5292, 'FragmentSizeNV' : 5292, @@ -882,6 +888,7 @@ spv = { 'GroupNonUniformQuad' : 68, 'ShaderLayer' : 69, 'ShaderViewportIndex' : 70, + 'UniformDecoration' : 71, 'FragmentShadingRateKHR' : 4422, 'SubgroupBallotKHR' : 4423, 'DrawParameters' : 4427, @@ -930,6 +937,7 @@ spv = { 'FragmentFullyCoveredEXT' : 5265, 'MeshShadingNV' : 5266, 'ImageFootprintNV' : 5282, + 'FragmentBarycentricKHR' : 5284, 'FragmentBarycentricNV' : 5284, 'ComputeDerivativeGroupQuadsNV' : 5288, 'FragmentDensityEXT' : 5291, @@ -974,6 +982,7 @@ spv = { 'FragmentShaderShadingRateInterlockEXT' : 5372, 'ShaderSMBuiltinsNV' : 5373, 'FragmentShaderPixelInterlockEXT' : 5378, + 'DemoteToHelperInvocation' : 5379, 'DemoteToHelperInvocationEXT' : 5379, 'BindlessTextureNV' : 5390, 'SubgroupShuffleINTEL' : 5568, @@ -1014,9 +1023,13 @@ spv = { 'IOPipesINTEL' : 5943, 'BlockingPipesINTEL' : 5945, 'FPGARegINTEL' : 5948, + 'DotProductInputAll' : 6016, 'DotProductInputAllKHR' : 6016, + 'DotProductInput4x8Bit' : 6017, 'DotProductInput4x8BitKHR' : 6017, + 'DotProductInput4x8BitPacked' : 6018, 'DotProductInput4x8BitPackedKHR' : 6018, + 'DotProduct' : 6019, 'DotProductKHR' : 6019, 'BitInstructions' : 6025, 'AtomicFloat32AddEXT' : 6033, @@ -1114,6 +1127,7 @@ spv = { }, 'PackedVectorFormat' : { + 'PackedVectorFormat4x8Bit' : 0, 'PackedVectorFormat4x8BitKHR' : 0, }, @@ -1474,11 +1488,17 @@ spv = { 'OpConvertUToAccelerationStructureKHR' : 4447, 'OpIgnoreIntersectionKHR' : 4448, 'OpTerminateRayKHR' : 4449, + 'OpSDot' : 4450, 'OpSDotKHR' : 4450, + 'OpUDot' : 4451, 'OpUDotKHR' : 4451, + 'OpSUDot' : 4452, 'OpSUDotKHR' : 4452, + 'OpSDotAccSat' : 4453, 'OpSDotAccSatKHR' : 4453, + 'OpUDotAccSat' : 4454, 'OpUDotAccSatKHR' : 4454, + 'OpSUDotAccSat' : 4455, 'OpSUDotAccSatKHR' : 4455, 'OpTypeRayQueryKHR' : 4472, 'OpRayQueryInitializeKHR' : 4473, @@ -1518,6 +1538,7 @@ spv = { 'OpCooperativeMatrixLengthNV' : 5362, 'OpBeginInvocationInterlockEXT' : 5364, 'OpEndInvocationInterlockEXT' : 5365, + 'OpDemoteToHelperInvocation' : 5380, 'OpDemoteToHelperInvocationEXT' : 5380, 'OpIsHelperInvocationEXT' : 5381, 'OpConvertUToImageNV' : 5391, diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d index afff6f4..a17e63d 100644 --- a/include/spirv/unified1/spv.d +++ b/include/spirv/unified1/spv.d @@ -51,8 +51,8 @@ module spv; enum uint MagicNumber = 0x07230203; -enum uint Version = 0x00010500; -enum uint Revision = 4; +enum uint Version = 0x00010600; +enum uint Revision = 1; enum uint OpCodeMask = 0xffff; enum uint WordCountShift = 16; @@ -352,6 +352,7 @@ enum ImageOperandsShift : uint VolatileTexelKHR = 11, SignExtend = 12, ZeroExtend = 13, + Nontemporal = 14, Offsets = 16, } @@ -376,6 +377,7 @@ enum ImageOperandsMask : uint VolatileTexelKHR = 0x00000800, SignExtend = 0x00001000, ZeroExtend = 0x00002000, + Nontemporal = 0x00004000, Offsets = 0x00010000, } @@ -495,6 +497,7 @@ enum Decoration : uint PerPrimitiveNV = 5271, PerViewNV = 5272, PerTaskNV = 5273, + PerVertexKHR = 5285, PerVertexNV = 5285, NonUniform = 5300, NonUniformEXT = 5300, @@ -545,6 +548,7 @@ enum Decoration : uint FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, } enum BuiltIn : uint @@ -629,7 +633,9 @@ enum BuiltIn : uint LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -927,6 +933,7 @@ enum Capability : uint GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -975,6 +982,7 @@ enum Capability : uint FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1019,6 +1027,7 @@ enum Capability : uint FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1059,9 +1068,13 @@ enum Capability : uint IOPipesINTEL = 5943, BlockingPipesINTEL = 5945, FPGARegINTEL = 5948, + DotProductInputAll = 6016, DotProductInputAllKHR = 6016, + DotProductInput4x8Bit = 6017, DotProductInput4x8BitKHR = 6017, + DotProductInput4x8BitPacked = 6018, DotProductInput4x8BitPackedKHR = 6018, + DotProduct = 6019, DotProductKHR = 6019, BitInstructions = 6025, AtomicFloat32AddEXT = 6033, @@ -1171,6 +1184,7 @@ enum OverflowModes : uint enum PackedVectorFormat : uint { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, } @@ -1532,11 +1546,17 @@ enum Op : uint OpConvertUToAccelerationStructureKHR = 4447, OpIgnoreIntersectionKHR = 4448, OpTerminateRayKHR = 4449, + OpSDot = 4450, OpSDotKHR = 4450, + OpUDot = 4451, OpUDotKHR = 4451, + OpSUDot = 4452, OpSUDotKHR = 4452, + OpSDotAccSat = 4453, OpSDotAccSatKHR = 4453, + OpUDotAccSat = 4454, OpUDotAccSatKHR = 4454, + OpSUDotAccSat = 4455, OpSUDotAccSatKHR = 4455, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -1576,6 +1596,7 @@ enum Op : uint OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp index dc780ef..febc6f2 100644 --- a/tools/buildHeaders/header.cpp +++ b/tools/buildHeaders/header.cpp @@ -69,9 +69,9 @@ namespace { TPrinter(); static const int DocMagicNumber = 0x07230203; - static const int DocVersion = 0x00010500; - static const int DocRevision = 4; - #define DocRevisionString "4" + static const int DocVersion = 0x00010600; + static const int DocRevision = 1; + #define DocRevisionString "1" static const std::string DocCopyright; static const std::string DocComment1; static const std::string DocComment2; |