From 6d7d2f74cc53b37d24ed5eba291def1b541653be Mon Sep 17 00:00:00 2001 From: Juan Fumero Date: Tue, 23 Nov 2021 15:23:58 +0100 Subject: Register TornadoVM SPIRV Beehive Tookit Generator --- include/spirv/spir-v.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml index 34453f8..93363c9 100644 --- a/include/spirv/spir-v.xml +++ b/include/spirv/spir-v.xml @@ -82,7 +82,8 @@ - + + -- cgit v1.2.3 From 28005d6576f73bf23d97c78983da066d0fb0c5d8 Mon Sep 17 00:00:00 2001 From: Butygin Date: Wed, 24 Nov 2021 23:25:29 +0300 Subject: Atomic float add should not imply Shader --- include/spirv/unified1/spirv.core.grammar.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 0578497..6687787 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -13598,14 +13598,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 +13622,6 @@ { "enumerant" : "AtomicFloat16AddEXT", "value" : 6095, - "capabilities" : [ "Shader" ], "extensions" : [ "SPV_EXT_shader_atomic_float16_add" ], "version" : "None" }, -- cgit v1.2.3 From 98f12c15048e7da84d6cf1f445316cc0eedcee7f Mon Sep 17 00:00:00 2001 From: Kevin Petit Date: Tue, 30 Nov 2021 09:54:39 +0000 Subject: Change contact for Arm Signed-off-by: Kevin Petit Change-Id: I5ab24d76c4b3227ae768c23bf1702b18665f3995 --- include/spirv/spir-v.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml index 34453f8..8ed7b89 100644 --- a/include/spirv/spir-v.xml +++ b/include/spirv/spir-v.xml @@ -55,7 +55,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -148,7 +148,7 @@ - + -- cgit v1.2.3 From 20b02de995803ff500c66b9098038204b1ba13a1 Mon Sep 17 00:00:00 2001 From: Dmitry Bushev Date: Tue, 30 Nov 2021 17:05:45 +0300 Subject: Add MediaBlockIOINTEL decoration declaration (#255) Declared new MediaBlockIOINTEL decoration added by VectorComputeINTEL capability --- include/spirv/unified1/spirv.core.grammar.json | 6 ++++++ include/spirv/unified1/spirv.cs | 1 + include/spirv/unified1/spirv.h | 1 + include/spirv/unified1/spirv.hpp | 1 + include/spirv/unified1/spirv.hpp11 | 1 + include/spirv/unified1/spirv.json | 3 ++- include/spirv/unified1/spirv.lua | 1 + include/spirv/unified1/spirv.py | 1 + include/spirv/unified1/spv.d | 1 + 9 files changed, 15 insertions(+), 1 deletion(-) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 0578497..21cef63 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -11506,6 +11506,12 @@ "value" : 6087, "capabilities" : [ "VectorComputeINTEL" ], "version" : "None" + }, + { + "enumerant" : "MediaBlockIOINTEL", + "value" : 6140, + "capabilities" : [ "VectorComputeINTEL" ], + "version" : "None" } ] }, diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index fd007ee..1bb7d61 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -542,6 +542,7 @@ namespace Spv FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, } public enum BuiltIn diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index 32e5b73..7a0e6ca 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -548,6 +548,7 @@ typedef enum SpvDecoration_ { SpvDecorationFunctionFloatingPointModeINTEL = 6080, SpvDecorationSingleElementVectorINTEL = 6085, SpvDecorationVectorComputeCallableFunctionINTEL = 6087, + SpvDecorationMediaBlockIOINTEL = 6140, SpvDecorationMax = 0x7fffffff, } SpvDecoration; diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index d66576d..6ba8169 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -544,6 +544,7 @@ enum Decoration { DecorationFunctionFloatingPointModeINTEL = 6080, DecorationSingleElementVectorINTEL = 6085, DecorationVectorComputeCallableFunctionINTEL = 6087, + DecorationMediaBlockIOINTEL = 6140, DecorationMax = 0x7fffffff, }; diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index 677daf7..80990cc 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -544,6 +544,7 @@ enum class Decoration : unsigned { FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, Max = 0x7fffffff, }; diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index e925ab9..4330537 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -570,7 +570,8 @@ "IOPipeStorageINTEL": 5944, "FunctionFloatingPointModeINTEL": 6080, "SingleElementVectorINTEL": 6085, - "VectorComputeCallableFunctionINTEL": 6087 + "VectorComputeCallableFunctionINTEL": 6087, + "MediaBlockIOINTEL": 6140 } }, { diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index 0806dd7..6122950 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -517,6 +517,7 @@ spv = { FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, }, BuiltIn = { diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index ad41708..f1cc37a 100644 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -517,6 +517,7 @@ spv = { 'FunctionFloatingPointModeINTEL' : 6080, 'SingleElementVectorINTEL' : 6085, 'VectorComputeCallableFunctionINTEL' : 6087, + 'MediaBlockIOINTEL' : 6140, }, 'BuiltIn' : { diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d index afff6f4..5ed86eb 100644 --- a/include/spirv/unified1/spv.d +++ b/include/spirv/unified1/spv.d @@ -545,6 +545,7 @@ enum Decoration : uint FunctionFloatingPointModeINTEL = 6080, SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, + MediaBlockIOINTEL = 6140, } enum BuiltIn : uint -- cgit v1.2.3 From dcd4752edbc7db6f2ced71b652c45be49fcfa4c5 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Sun, 5 Dec 2021 12:03:54 +0700 Subject: Update headers with SPIR-V version 1.6, revision 1. --- include/spirv/unified1/spirv.core.grammar.json | 227 +++++++++++++++++++++---- include/spirv/unified1/spirv.cs | 24 ++- include/spirv/unified1/spirv.h | 42 +++-- include/spirv/unified1/spirv.hpp | 42 +++-- include/spirv/unified1/spirv.hpp11 | 42 +++-- include/spirv/unified1/spirv.json | 23 ++- include/spirv/unified1/spirv.lua | 24 ++- include/spirv/unified1/spirv.py | 24 ++- include/spirv/unified1/spv.d | 24 ++- tools/buildHeaders/header.cpp | 6 +- 10 files changed, 403 insertions(+), 75 deletions(-) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 76d969e..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", @@ -4260,6 +4261,20 @@ "extensions" : [ "SPV_KHR_ray_tracing" ], "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", @@ -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", @@ -4924,13 +5018,19 @@ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], "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", @@ -8558,6 +8658,11 @@ "value" : "0x2000", "version" : "1.4" }, + { + "enumerant" : "Nontemporal", + "value" : "0x4000", + "version" : "1.6" + }, { "enumerant" : "Offsets", "value" : "0x10000", @@ -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'" } ], @@ -11114,11 +11219,18 @@ "extensions" : [ "SPV_NV_mesh_shader" ], "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" }, { @@ -11979,18 +12091,32 @@ "extensions" : [ "SPV_NV_mesh_shader" ], "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" }, { @@ -12715,6 +12841,11 @@ "value" : 70, "version" : "1.5" }, + { + "enumerant" : "UniformDecoration", + "value" : 71, + "version" : "1.6" + }, { "enumerant" : "FragmentShadingRateKHR", "value" : 4422, @@ -13040,10 +13171,16 @@ "extensions" : [ "SPV_NV_shader_image_footprint" ], "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" }, { @@ -13326,12 +13463,18 @@ "extensions" : [ "SPV_EXT_fragment_shader_interlock" ], "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", @@ -13570,30 +13713,51 @@ "extensions" : [ "SPV_INTEL_fpga_reg" ], "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", @@ -13703,11 +13867,16 @@ "category" : "ValueEnum", "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 1bb7d61..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, @@ -627,7 +630,9 @@ namespace Spv LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -925,6 +930,7 @@ namespace Spv GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -973,6 +979,7 @@ namespace Spv FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1017,6 +1024,7 @@ namespace Spv FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1057,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, @@ -1169,6 +1181,7 @@ namespace Spv public enum PackedVectorFormat { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, } @@ -1530,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, @@ -1574,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 7a0e6ca..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, @@ -633,7 +636,9 @@ typedef enum SpvBuiltIn_ { SpvBuiltInLayerPerViewNV = 5279, SpvBuiltInMeshViewCountNV = 5280, SpvBuiltInMeshViewIndicesNV = 5281, + SpvBuiltInBaryCoordKHR = 5286, SpvBuiltInBaryCoordNV = 5286, + SpvBuiltInBaryCoordNoPerspKHR = 5287, SpvBuiltInBaryCoordNoPerspNV = 5287, SpvBuiltInFragSizeEXT = 5292, SpvBuiltInFragmentSizeNV = 5292, @@ -925,6 +930,7 @@ typedef enum SpvCapability_ { SpvCapabilityGroupNonUniformQuad = 68, SpvCapabilityShaderLayer = 69, SpvCapabilityShaderViewportIndex = 70, + SpvCapabilityUniformDecoration = 71, SpvCapabilityFragmentShadingRateKHR = 4422, SpvCapabilitySubgroupBallotKHR = 4423, SpvCapabilityDrawParameters = 4427, @@ -973,6 +979,7 @@ typedef enum SpvCapability_ { SpvCapabilityFragmentFullyCoveredEXT = 5265, SpvCapabilityMeshShadingNV = 5266, SpvCapabilityImageFootprintNV = 5282, + SpvCapabilityFragmentBarycentricKHR = 5284, SpvCapabilityFragmentBarycentricNV = 5284, SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, SpvCapabilityFragmentDensityEXT = 5291, @@ -1017,6 +1024,7 @@ typedef enum SpvCapability_ { SpvCapabilityFragmentShaderShadingRateInterlockEXT = 5372, SpvCapabilityShaderSMBuiltinsNV = 5373, SpvCapabilityFragmentShaderPixelInterlockEXT = 5378, + SpvCapabilityDemoteToHelperInvocation = 5379, SpvCapabilityDemoteToHelperInvocationEXT = 5379, SpvCapabilityBindlessTextureNV = 5390, SpvCapabilitySubgroupShuffleINTEL = 5568, @@ -1057,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, @@ -1167,6 +1179,7 @@ typedef enum SpvOverflowModes_ { } SpvOverflowModes; typedef enum SpvPackedVectorFormat_ { + SpvPackedVectorFormatPackedVectorFormat4x8Bit = 0, SpvPackedVectorFormatPackedVectorFormat4x8BitKHR = 0, SpvPackedVectorFormatMax = 0x7fffffff, } SpvPackedVectorFormat; @@ -1528,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, @@ -1572,6 +1591,7 @@ typedef enum SpvOp_ { SpvOpCooperativeMatrixLengthNV = 5362, SpvOpBeginInvocationInterlockEXT = 5364, SpvOpEndInvocationInterlockEXT = 5365, + SpvOpDemoteToHelperInvocation = 5380, SpvOpDemoteToHelperInvocationEXT = 5380, SpvOpIsHelperInvocationEXT = 5381, SpvOpConvertUToImageNV = 5391, @@ -2183,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; @@ -2225,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 6ba8169..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, @@ -629,7 +632,9 @@ enum BuiltIn { BuiltInLayerPerViewNV = 5279, BuiltInMeshViewCountNV = 5280, BuiltInMeshViewIndicesNV = 5281, + BuiltInBaryCoordKHR = 5286, BuiltInBaryCoordNV = 5286, + BuiltInBaryCoordNoPerspKHR = 5287, BuiltInBaryCoordNoPerspNV = 5287, BuiltInFragSizeEXT = 5292, BuiltInFragmentSizeNV = 5292, @@ -921,6 +926,7 @@ enum Capability { CapabilityGroupNonUniformQuad = 68, CapabilityShaderLayer = 69, CapabilityShaderViewportIndex = 70, + CapabilityUniformDecoration = 71, CapabilityFragmentShadingRateKHR = 4422, CapabilitySubgroupBallotKHR = 4423, CapabilityDrawParameters = 4427, @@ -969,6 +975,7 @@ enum Capability { CapabilityFragmentFullyCoveredEXT = 5265, CapabilityMeshShadingNV = 5266, CapabilityImageFootprintNV = 5282, + CapabilityFragmentBarycentricKHR = 5284, CapabilityFragmentBarycentricNV = 5284, CapabilityComputeDerivativeGroupQuadsNV = 5288, CapabilityFragmentDensityEXT = 5291, @@ -1013,6 +1020,7 @@ enum Capability { CapabilityFragmentShaderShadingRateInterlockEXT = 5372, CapabilityShaderSMBuiltinsNV = 5373, CapabilityFragmentShaderPixelInterlockEXT = 5378, + CapabilityDemoteToHelperInvocation = 5379, CapabilityDemoteToHelperInvocationEXT = 5379, CapabilityBindlessTextureNV = 5390, CapabilitySubgroupShuffleINTEL = 5568, @@ -1053,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, @@ -1163,6 +1175,7 @@ enum OverflowModes { }; enum PackedVectorFormat { + PackedVectorFormatPackedVectorFormat4x8Bit = 0, PackedVectorFormatPackedVectorFormat4x8BitKHR = 0, PackedVectorFormatMax = 0x7fffffff, }; @@ -1524,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, @@ -1568,6 +1587,7 @@ enum Op { OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, @@ -2179,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; @@ -2221,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 80990cc..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, @@ -629,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, @@ -921,6 +926,7 @@ enum class Capability : unsigned { GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -969,6 +975,7 @@ enum class Capability : unsigned { FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1013,6 +1020,7 @@ enum class Capability : unsigned { FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1053,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, @@ -1163,6 +1175,7 @@ enum class OverflowModes : unsigned { }; enum class PackedVectorFormat : unsigned { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, Max = 0x7fffffff, }; @@ -1524,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, @@ -1568,6 +1587,7 @@ enum class Op : unsigned { OpCooperativeMatrixLengthNV = 5362, OpBeginInvocationInterlockEXT = 5364, OpEndInvocationInterlockEXT = 5365, + OpDemoteToHelperInvocation = 5380, OpDemoteToHelperInvocationEXT = 5380, OpIsHelperInvocationEXT = 5381, OpConvertUToImageNV = 5391, @@ -2179,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; @@ -2221,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 4330537..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, @@ -659,7 +661,9 @@ "LayerPerViewNV": 5279, "MeshViewCountNV": 5280, "MeshViewIndicesNV": 5281, + "BaryCoordKHR": 5286, "BaryCoordNV": 5286, + "BaryCoordNoPerspKHR": 5287, "BaryCoordNoPerspNV": 5287, "FragSizeEXT": 5292, "FragmentSizeNV": 5292, @@ -906,6 +910,7 @@ "GroupNonUniformQuad": 68, "ShaderLayer": 69, "ShaderViewportIndex": 70, + "UniformDecoration": 71, "FragmentShadingRateKHR": 4422, "SubgroupBallotKHR": 4423, "DrawParameters": 4427, @@ -954,6 +959,7 @@ "FragmentFullyCoveredEXT": 5265, "MeshShadingNV": 5266, "ImageFootprintNV": 5282, + "FragmentBarycentricKHR": 5284, "FragmentBarycentricNV": 5284, "ComputeDerivativeGroupQuadsNV": 5288, "FragmentDensityEXT": 5291, @@ -998,6 +1004,7 @@ "FragmentShaderShadingRateInterlockEXT": 5372, "ShaderSMBuiltinsNV": 5373, "FragmentShaderPixelInterlockEXT": 5378, + "DemoteToHelperInvocation": 5379, "DemoteToHelperInvocationEXT": 5379, "BindlessTextureNV": 5390, "SubgroupShuffleINTEL": 5568, @@ -1038,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, @@ -1156,6 +1167,7 @@ "Type": "Value", "Values": { + "PackedVectorFormat4x8Bit": 0, "PackedVectorFormat4x8BitKHR": 0 } }, @@ -1520,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, @@ -1564,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 6122950..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, @@ -601,7 +604,9 @@ spv = { LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -883,6 +888,7 @@ spv = { GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -931,6 +937,7 @@ spv = { FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -975,6 +982,7 @@ spv = { FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1015,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, @@ -1115,6 +1127,7 @@ spv = { }, PackedVectorFormat = { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, }, @@ -1475,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, @@ -1519,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 f1cc37a..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, @@ -601,7 +604,9 @@ spv = { 'LayerPerViewNV' : 5279, 'MeshViewCountNV' : 5280, 'MeshViewIndicesNV' : 5281, + 'BaryCoordKHR' : 5286, 'BaryCoordNV' : 5286, + 'BaryCoordNoPerspKHR' : 5287, 'BaryCoordNoPerspNV' : 5287, 'FragSizeEXT' : 5292, 'FragmentSizeNV' : 5292, @@ -883,6 +888,7 @@ spv = { 'GroupNonUniformQuad' : 68, 'ShaderLayer' : 69, 'ShaderViewportIndex' : 70, + 'UniformDecoration' : 71, 'FragmentShadingRateKHR' : 4422, 'SubgroupBallotKHR' : 4423, 'DrawParameters' : 4427, @@ -931,6 +937,7 @@ spv = { 'FragmentFullyCoveredEXT' : 5265, 'MeshShadingNV' : 5266, 'ImageFootprintNV' : 5282, + 'FragmentBarycentricKHR' : 5284, 'FragmentBarycentricNV' : 5284, 'ComputeDerivativeGroupQuadsNV' : 5288, 'FragmentDensityEXT' : 5291, @@ -975,6 +982,7 @@ spv = { 'FragmentShaderShadingRateInterlockEXT' : 5372, 'ShaderSMBuiltinsNV' : 5373, 'FragmentShaderPixelInterlockEXT' : 5378, + 'DemoteToHelperInvocation' : 5379, 'DemoteToHelperInvocationEXT' : 5379, 'BindlessTextureNV' : 5390, 'SubgroupShuffleINTEL' : 5568, @@ -1015,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, @@ -1115,6 +1127,7 @@ spv = { }, 'PackedVectorFormat' : { + 'PackedVectorFormat4x8Bit' : 0, 'PackedVectorFormat4x8BitKHR' : 0, }, @@ -1475,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, @@ -1519,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 5ed86eb..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, @@ -630,7 +633,9 @@ enum BuiltIn : uint LayerPerViewNV = 5279, MeshViewCountNV = 5280, MeshViewIndicesNV = 5281, + BaryCoordKHR = 5286, BaryCoordNV = 5286, + BaryCoordNoPerspKHR = 5287, BaryCoordNoPerspNV = 5287, FragSizeEXT = 5292, FragmentSizeNV = 5292, @@ -928,6 +933,7 @@ enum Capability : uint GroupNonUniformQuad = 68, ShaderLayer = 69, ShaderViewportIndex = 70, + UniformDecoration = 71, FragmentShadingRateKHR = 4422, SubgroupBallotKHR = 4423, DrawParameters = 4427, @@ -976,6 +982,7 @@ enum Capability : uint FragmentFullyCoveredEXT = 5265, MeshShadingNV = 5266, ImageFootprintNV = 5282, + FragmentBarycentricKHR = 5284, FragmentBarycentricNV = 5284, ComputeDerivativeGroupQuadsNV = 5288, FragmentDensityEXT = 5291, @@ -1020,6 +1027,7 @@ enum Capability : uint FragmentShaderShadingRateInterlockEXT = 5372, ShaderSMBuiltinsNV = 5373, FragmentShaderPixelInterlockEXT = 5378, + DemoteToHelperInvocation = 5379, DemoteToHelperInvocationEXT = 5379, BindlessTextureNV = 5390, SubgroupShuffleINTEL = 5568, @@ -1060,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, @@ -1172,6 +1184,7 @@ enum OverflowModes : uint enum PackedVectorFormat : uint { + PackedVectorFormat4x8Bit = 0, PackedVectorFormat4x8BitKHR = 0, } @@ -1533,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, @@ -1577,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; -- cgit v1.2.3