From afe1c65aad838aa0a821e573905b7f6ebb4ab99d Mon Sep 17 00:00:00 2001 From: Arvind Sudarsanam Date: Thu, 2 Mar 2023 12:11:36 -0800 Subject: [PATCH 1/4] Add support for SPV_INTEL_fpga_latency_control extension Signed-off-by: Arvind Sudarsanam --- include/spirv/unified1/spirv.bf | 3 +++ .../spirv/unified1/spirv.core.grammar.json | 20 +++++++++++++++++++ include/spirv/unified1/spirv.cs | 3 +++ include/spirv/unified1/spirv.h | 3 +++ include/spirv/unified1/spirv.hpp | 3 +++ include/spirv/unified1/spirv.hpp11 | 3 +++ include/spirv/unified1/spirv.json | 3 +++ include/spirv/unified1/spirv.lua | 3 +++ include/spirv/unified1/spirv.py | 3 +++ include/spirv/unified1/spv.d | 3 +++ 10 files changed, 47 insertions(+) diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf index ae17120d7..935d46f93 100644 --- a/include/spirv/unified1/spirv.bf +++ b/include/spirv/unified1/spirv.bf @@ -575,6 +575,8 @@ namespace Spv SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, MediaBlockIOINTEL = 6140, + LatencyControlLabelINTEL = 6172, + LatencyControlConstraintINTEL = 6173, ConduitKernelArgumentINTEL = 6175, RegisterMapKernelArgumentINTEL = 6176, MMHostInterfaceAddressWidthINTEL = 6177, @@ -1147,6 +1149,7 @@ namespace Spv AtomicFloat16AddEXT = 6095, DebugInfoModuleINTEL = 6114, SplitBarrierINTEL = 6141, + FPGALatencyControlINTEL = 6171, FPGAArgumentInterfacesINTEL = 6174, GroupUniformArithmeticKHR = 6400, } diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index 3e4f81ea6..eb8b702a3 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -12517,6 +12517,20 @@ "capabilities" : [ "VectorComputeINTEL" ], "version" : "None" }, + { + "enumerant" : "LatencyControlLabelINTEL", + "value" : 6172, + "capabilities" : [ "FPGALatencyControlINTEL" ], + "extensions" : [ "SPV_INTEL_fpga_latency_control" ], + "version" : "None" + }, + { + "enumerant" : "LatencyControlConstraintINTEL", + "value" : 6173, + "capabilities" : [ "FPGALatencyControlINTEL" ], + "extensions" : [ "SPV_INTEL_fpga_latency_control" ], + "version" : "None" + }, { "enumerant" : "ConduitKernelArgumentINTEL", "value" : 6175, @@ -14893,6 +14907,12 @@ "extensions" : [ "SPV_INTEL_split_barrier" ], "version" : "None" }, + { + "enumerant" : "FPGALatencyControlINTEL", + "value" : 6171, + "extensions" : [ "SPV_INTEL_fpga_latency_control" ], + "version" : "None" + }, { "enumerant" : "FPGAArgumentInterfacesINTEL", "value" : 6174, diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs index 4f203a99a..4bb9c5d5f 100644 --- a/include/spirv/unified1/spirv.cs +++ b/include/spirv/unified1/spirv.cs @@ -574,6 +574,8 @@ public enum Decoration SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, MediaBlockIOINTEL = 6140, + LatencyControlLabelINTEL = 6172, + LatencyControlConstraintINTEL = 6173, ConduitKernelArgumentINTEL = 6175, RegisterMapKernelArgumentINTEL = 6176, MMHostInterfaceAddressWidthINTEL = 6177, @@ -1146,6 +1148,7 @@ public enum Capability AtomicFloat16AddEXT = 6095, DebugInfoModuleINTEL = 6114, SplitBarrierINTEL = 6141, + FPGALatencyControlINTEL = 6171, FPGAArgumentInterfacesINTEL = 6174, GroupUniformArithmeticKHR = 6400, } diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h index f6b77aed7..adc950213 100644 --- a/include/spirv/unified1/spirv.h +++ b/include/spirv/unified1/spirv.h @@ -580,6 +580,8 @@ typedef enum SpvDecoration_ { SpvDecorationSingleElementVectorINTEL = 6085, SpvDecorationVectorComputeCallableFunctionINTEL = 6087, SpvDecorationMediaBlockIOINTEL = 6140, + SpvDecorationLatencyControlLabelINTEL = 6172, + SpvDecorationLatencyControlConstraintINTEL = 6173, SpvDecorationConduitKernelArgumentINTEL = 6175, SpvDecorationRegisterMapKernelArgumentINTEL = 6176, SpvDecorationMMHostInterfaceAddressWidthINTEL = 6177, @@ -1146,6 +1148,7 @@ typedef enum SpvCapability_ { SpvCapabilityAtomicFloat16AddEXT = 6095, SpvCapabilityDebugInfoModuleINTEL = 6114, SpvCapabilitySplitBarrierINTEL = 6141, + SpvCapabilityFPGALatencyControlINTEL = 6171, SpvCapabilityFPGAArgumentInterfacesINTEL = 6174, SpvCapabilityGroupUniformArithmeticKHR = 6400, SpvCapabilityMax = 0x7fffffff, diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp index 1a901db8b..55fded65c 100644 --- a/include/spirv/unified1/spirv.hpp +++ b/include/spirv/unified1/spirv.hpp @@ -576,6 +576,8 @@ enum Decoration { DecorationSingleElementVectorINTEL = 6085, DecorationVectorComputeCallableFunctionINTEL = 6087, DecorationMediaBlockIOINTEL = 6140, + DecorationLatencyControlLabelINTEL = 6172, + DecorationLatencyControlConstraintINTEL = 6173, DecorationConduitKernelArgumentINTEL = 6175, DecorationRegisterMapKernelArgumentINTEL = 6176, DecorationMMHostInterfaceAddressWidthINTEL = 6177, @@ -1142,6 +1144,7 @@ enum Capability { CapabilityAtomicFloat16AddEXT = 6095, CapabilityDebugInfoModuleINTEL = 6114, CapabilitySplitBarrierINTEL = 6141, + CapabilityFPGALatencyControlINTEL = 6171, CapabilityFPGAArgumentInterfacesINTEL = 6174, CapabilityGroupUniformArithmeticKHR = 6400, CapabilityMax = 0x7fffffff, diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11 index b7d041a37..dd0d97dab 100644 --- a/include/spirv/unified1/spirv.hpp11 +++ b/include/spirv/unified1/spirv.hpp11 @@ -576,6 +576,8 @@ enum class Decoration : unsigned { SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, MediaBlockIOINTEL = 6140, + LatencyControlLabelINTEL = 6172, + LatencyControlConstraintINTEL = 6173, ConduitKernelArgumentINTEL = 6175, RegisterMapKernelArgumentINTEL = 6176, MMHostInterfaceAddressWidthINTEL = 6177, @@ -1142,6 +1144,7 @@ enum class Capability : unsigned { AtomicFloat16AddEXT = 6095, DebugInfoModuleINTEL = 6114, SplitBarrierINTEL = 6141, + FPGALatencyControlINTEL = 6171, FPGAArgumentInterfacesINTEL = 6174, GroupUniformArithmeticKHR = 6400, Max = 0x7fffffff, diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json index 06e3a909b..0fa270a19 100644 --- a/include/spirv/unified1/spirv.json +++ b/include/spirv/unified1/spirv.json @@ -602,6 +602,8 @@ "SingleElementVectorINTEL": 6085, "VectorComputeCallableFunctionINTEL": 6087, "MediaBlockIOINTEL": 6140, + "LatencyControlLabelINTEL": 6172, + "LatencyControlConstraintINTEL": 6173, "ConduitKernelArgumentINTEL": 6175, "RegisterMapKernelArgumentINTEL": 6176, "MMHostInterfaceAddressWidthINTEL": 6177, @@ -1122,6 +1124,7 @@ "AtomicFloat16AddEXT": 6095, "DebugInfoModuleINTEL": 6114, "SplitBarrierINTEL": 6141, + "FPGALatencyControlINTEL": 6171, "FPGAArgumentInterfacesINTEL": 6174, "GroupUniformArithmeticKHR": 6400 } diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua index 42e295fe1..9804bde6c 100644 --- a/include/spirv/unified1/spirv.lua +++ b/include/spirv/unified1/spirv.lua @@ -549,6 +549,8 @@ spv = { SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, MediaBlockIOINTEL = 6140, + LatencyControlLabelINTEL = 6172, + LatencyControlConstraintINTEL = 6173, ConduitKernelArgumentINTEL = 6175, RegisterMapKernelArgumentINTEL = 6176, MMHostInterfaceAddressWidthINTEL = 6177, @@ -1104,6 +1106,7 @@ spv = { AtomicFloat16AddEXT = 6095, DebugInfoModuleINTEL = 6114, SplitBarrierINTEL = 6141, + FPGALatencyControlINTEL = 6171, FPGAArgumentInterfacesINTEL = 6174, GroupUniformArithmeticKHR = 6400, }, diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py index f032cc9fd..b11dc76e5 100644 --- a/include/spirv/unified1/spirv.py +++ b/include/spirv/unified1/spirv.py @@ -549,6 +549,8 @@ 'SingleElementVectorINTEL' : 6085, 'VectorComputeCallableFunctionINTEL' : 6087, 'MediaBlockIOINTEL' : 6140, + 'LatencyControlLabelINTEL' : 6172, + 'LatencyControlConstraintINTEL' : 6173, 'ConduitKernelArgumentINTEL' : 6175, 'RegisterMapKernelArgumentINTEL' : 6176, 'MMHostInterfaceAddressWidthINTEL' : 6177, @@ -1104,6 +1106,7 @@ 'AtomicFloat16AddEXT' : 6095, 'DebugInfoModuleINTEL' : 6114, 'SplitBarrierINTEL' : 6141, + 'FPGALatencyControlINTEL' : 6171, 'FPGAArgumentInterfacesINTEL' : 6174, 'GroupUniformArithmeticKHR' : 6400, }, diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d index 9a79c2fdd..c31fdef9c 100644 --- a/include/spirv/unified1/spv.d +++ b/include/spirv/unified1/spv.d @@ -577,6 +577,8 @@ enum Decoration : uint SingleElementVectorINTEL = 6085, VectorComputeCallableFunctionINTEL = 6087, MediaBlockIOINTEL = 6140, + LatencyControlLabelINTEL = 6172, + LatencyControlConstraintINTEL = 6173, ConduitKernelArgumentINTEL = 6175, RegisterMapKernelArgumentINTEL = 6176, MMHostInterfaceAddressWidthINTEL = 6177, @@ -1149,6 +1151,7 @@ enum Capability : uint AtomicFloat16AddEXT = 6095, DebugInfoModuleINTEL = 6114, SplitBarrierINTEL = 6141, + FPGALatencyControlINTEL = 6171, FPGAArgumentInterfacesINTEL = 6174, GroupUniformArithmeticKHR = 6400, } From 0e9e42f651f4be9b36b5a633a8ee57385851d81b Mon Sep 17 00:00:00 2001 From: Arvind Sudarsanam Date: Fri, 3 Mar 2023 08:28:26 -0800 Subject: [PATCH 2/4] Remove redundant extensions entry Signed-off-by: Arvind Sudarsanam --- include/spirv/unified1/spirv.core.grammar.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index eb8b702a3..fb81bf363 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -12521,14 +12521,12 @@ "enumerant" : "LatencyControlLabelINTEL", "value" : 6172, "capabilities" : [ "FPGALatencyControlINTEL" ], - "extensions" : [ "SPV_INTEL_fpga_latency_control" ], "version" : "None" }, { "enumerant" : "LatencyControlConstraintINTEL", "value" : 6173, "capabilities" : [ "FPGALatencyControlINTEL" ], - "extensions" : [ "SPV_INTEL_fpga_latency_control" ], "version" : "None" }, { From 78a1e8aaa4d3922a641e04492a8c65cbd373a93e Mon Sep 17 00:00:00 2001 From: Arvind Sudarsanam Date: Fri, 3 Mar 2023 11:53:05 -0800 Subject: [PATCH 3/4] Add parameters Signed-off-by: Arvind Sudarsanam --- include/spirv/unified1/spirv.core.grammar.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index fb81bf363..59db1fd79 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -12520,12 +12520,20 @@ { "enumerant" : "LatencyControlLabelINTEL", "value" : 6172, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Latency Label'" } + ], "capabilities" : [ "FPGALatencyControlINTEL" ], "version" : "None" }, { "enumerant" : "LatencyControlConstraintINTEL", "value" : 6173, + "parameters" : [ + { "kind" : "LiteralInteger", "name" : "'Relative To'" }, + { "kind" : "LiteralInteger", "name" : "'Control Type'" }, + { "kind" : "LiteralInteger", "name" : "'Relative Cycle'" } + ], "capabilities" : [ "FPGALatencyControlINTEL" ], "version" : "None" }, From 738a7cc081b29117349444412528a32011d5363a Mon Sep 17 00:00:00 2001 From: Arvind Sudarsanam Date: Wed, 8 Mar 2023 08:10:23 -0800 Subject: [PATCH 4/4] Fix error in merge conflict resolution Signed-off-by: Arvind Sudarsanam --- include/spirv/unified1/spirv.core.grammar.json | 1 - 1 file changed, 1 deletion(-) diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json index ee98c77a5..1ad517c9f 100644 --- a/include/spirv/unified1/spirv.core.grammar.json +++ b/include/spirv/unified1/spirv.core.grammar.json @@ -14933,7 +14933,6 @@ "enumerant" : "FPGALatencyControlINTEL", "value" : 6171, "extensions" : [ "SPV_INTEL_fpga_latency_control" ], - "extensions" : [ "SPV_INTEL_kernel_attributes" ], "version" : "None" }, {