aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Bolz <jbolz@nvidia.com>2019-02-19 09:46:22 -0600
committerJeff Bolz <jbolz@nvidia.com>2019-02-19 21:00:54 -0600
commit56decd41bcfcb0862b68c11df1a0e57748e3fb0e (patch)
tree5932de33b0e06d94b4ef671e2a551b64271a18bc
parent8bea0a266ac9b718aa0818d9e3a47c0b77c2cb23 (diff)
downloadspirv-headers-56decd41bcfcb0862b68c11df1a0e57748e3fb0e.tar.gz
Add SPV_NV_cooperative_matrix
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json76
-rw-r--r--include/spirv/unified1/spirv.cs6
-rw-r--r--include/spirv/unified1/spirv.h6
-rw-r--r--include/spirv/unified1/spirv.hpp6
-rw-r--r--include/spirv/unified1/spirv.hpp116
-rw-r--r--include/spirv/unified1/spirv.json6
-rw-r--r--include/spirv/unified1/spirv.lua6
-rw-r--r--include/spirv/unified1/spirv.py6
-rw-r--r--include/spirv/unified1/spv.d6
9 files changed, 124 insertions, 0 deletions
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index edd9901..100f817 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -4069,6 +4069,75 @@
"capabilities" : [ "ImageFootprintNV" ],
"extensions" : [ "SPV_NV_shader_image_footprint" ],
"version" : "None"
+ },
+ {
+ "opname" : "OpTypeCooperativeMatrixNV",
+ "opcode" : 5358,
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Component Type'" },
+ { "kind" : "IdScope", "name" : "'Scope'" },
+ { "kind" : "IdRef", "name" : "'Rows'" },
+ { "kind" : "IdRef", "name" : "'Columns'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixNV" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixLoadNV",
+ "opcode" : 5359,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'Stride'" },
+ { "kind" : "IdRef", "name" : "'Column Major'" },
+ { "kind" : "MemoryAccess", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "CooperativeMatrixNV" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixStoreNV",
+ "opcode" : 5360,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "IdRef", "name" : "'Object'" },
+ { "kind" : "IdRef", "name" : "'Stride'" },
+ { "kind" : "IdRef", "name" : "'Column Major'" },
+ { "kind" : "MemoryAccess", "quantifier" : "?" }
+ ],
+ "capabilities" : [ "CooperativeMatrixNV" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixMulAddNV",
+ "opcode" : 5361,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'A'" },
+ { "kind" : "IdRef", "name" : "'B'" },
+ { "kind" : "IdRef", "name" : "'C'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixNV" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpCooperativeMatrixLengthNV",
+ "opcode" : 5362,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Type'" }
+ ],
+ "capabilities" : [ "CooperativeMatrixNV" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
}
],
"operand_kinds" : [
@@ -7471,6 +7540,13 @@
"capabilities" : [ "Shader" ],
"extensions" : [ "SPV_EXT_physical_storage_buffer" ],
"version" : "None"
+ },
+ {
+ "enumerant" : "CooperativeMatrixNV",
+ "value" : 5357,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_NV_cooperative_matrix" ],
+ "version" : "None"
}
]
},
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index c50ac0d..54d54b4 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -815,6 +815,7 @@ namespace Spv
VulkanMemoryModelDeviceScopeKHR = 5346,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
+ CooperativeMatrixNV = 5357,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1188,6 +1189,11 @@ namespace Spv
OpTraceNV = 5337,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 6a9ece7..aba5bbc 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -815,6 +815,7 @@ typedef enum SpvCapability_ {
SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347,
SpvCapabilityComputeDerivativeGroupLinearNV = 5350,
+ SpvCapabilityCooperativeMatrixNV = 5357,
SpvCapabilitySubgroupShuffleINTEL = 5568,
SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1188,6 +1189,11 @@ typedef enum SpvOp_ {
SpvOpTraceNV = 5337,
SpvOpTypeAccelerationStructureNV = 5341,
SpvOpExecuteCallableNV = 5344,
+ SpvOpTypeCooperativeMatrixNV = 5358,
+ SpvOpCooperativeMatrixLoadNV = 5359,
+ SpvOpCooperativeMatrixStoreNV = 5360,
+ SpvOpCooperativeMatrixMulAddNV = 5361,
+ SpvOpCooperativeMatrixLengthNV = 5362,
SpvOpSubgroupShuffleINTEL = 5571,
SpvOpSubgroupShuffleDownINTEL = 5572,
SpvOpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index adc13de..1c77c2f 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -811,6 +811,7 @@ enum Capability {
CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
CapabilityPhysicalStorageBufferAddressesEXT = 5347,
CapabilityComputeDerivativeGroupLinearNV = 5350,
+ CapabilityCooperativeMatrixNV = 5357,
CapabilitySubgroupShuffleINTEL = 5568,
CapabilitySubgroupBufferBlockIOINTEL = 5569,
CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1184,6 +1185,11 @@ enum Op {
OpTraceNV = 5337,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 9b053bd..6fc7ae4 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -811,6 +811,7 @@ enum class Capability : unsigned {
VulkanMemoryModelDeviceScopeKHR = 5346,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
+ CooperativeMatrixNV = 5357,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1184,6 +1185,11 @@ enum class Op : unsigned {
OpTraceNV = 5337,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 4ab59f4..a09dcdd 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -826,6 +826,7 @@
"VulkanMemoryModelDeviceScopeKHR": 5346,
"PhysicalStorageBufferAddressesEXT": 5347,
"ComputeDerivativeGroupLinearNV": 5350,
+ "CooperativeMatrixNV": 5357,
"SubgroupShuffleINTEL": 5568,
"SubgroupBufferBlockIOINTEL": 5569,
"SubgroupImageBlockIOINTEL": 5570,
@@ -1202,6 +1203,11 @@
"OpTraceNV": 5337,
"OpTypeAccelerationStructureNV": 5341,
"OpExecuteCallableNV": 5344,
+ "OpTypeCooperativeMatrixNV": 5358,
+ "OpCooperativeMatrixLoadNV": 5359,
+ "OpCooperativeMatrixStoreNV": 5360,
+ "OpCooperativeMatrixMulAddNV": 5361,
+ "OpCooperativeMatrixLengthNV": 5362,
"OpSubgroupShuffleINTEL": 5571,
"OpSubgroupShuffleDownINTEL": 5572,
"OpSubgroupShuffleUpINTEL": 5573,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index c8cf0ab..506ee63 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -773,6 +773,7 @@ spv = {
VulkanMemoryModelDeviceScopeKHR = 5346,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
+ CooperativeMatrixNV = 5357,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1145,6 +1146,11 @@ spv = {
OpTraceNV = 5337,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 9539f30..7af9fa9 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -773,6 +773,7 @@ spv = {
'VulkanMemoryModelDeviceScopeKHR' : 5346,
'PhysicalStorageBufferAddressesEXT' : 5347,
'ComputeDerivativeGroupLinearNV' : 5350,
+ 'CooperativeMatrixNV' : 5357,
'SubgroupShuffleINTEL' : 5568,
'SubgroupBufferBlockIOINTEL' : 5569,
'SubgroupImageBlockIOINTEL' : 5570,
@@ -1145,6 +1146,11 @@ spv = {
'OpTraceNV' : 5337,
'OpTypeAccelerationStructureNV' : 5341,
'OpExecuteCallableNV' : 5344,
+ 'OpTypeCooperativeMatrixNV' : 5358,
+ 'OpCooperativeMatrixLoadNV' : 5359,
+ 'OpCooperativeMatrixStoreNV' : 5360,
+ 'OpCooperativeMatrixMulAddNV' : 5361,
+ 'OpCooperativeMatrixLengthNV' : 5362,
'OpSubgroupShuffleINTEL' : 5571,
'OpSubgroupShuffleDownINTEL' : 5572,
'OpSubgroupShuffleUpINTEL' : 5573,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index a418967..f1cc766 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -818,6 +818,7 @@ enum Capability : uint
VulkanMemoryModelDeviceScopeKHR = 5346,
PhysicalStorageBufferAddressesEXT = 5347,
ComputeDerivativeGroupLinearNV = 5350,
+ CooperativeMatrixNV = 5357,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -1191,6 +1192,11 @@ enum Op : uint
OpTraceNV = 5337,
OpTypeAccelerationStructureNV = 5341,
OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,