Merge branch 'master' into vulkan-1.1-dev
Merge GitHub master
diff --git a/include/spirv/1.0/spirv.core.grammar.json b/include/spirv/1.0/spirv.core.grammar.json
index 36a816d..f05be1c 100644
--- a/include/spirv/1.0/spirv.core.grammar.json
+++ b/include/spirv/1.0/spirv.core.grammar.json
@@ -3191,6 +3191,92 @@
{ "kind" : "IdRef", "name" : "'Fragment Index'" }
],
"capabilities" : [ "FragmentMaskAMD" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleINTEL",
+ "opcode" : 5571,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'InvocationId'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleDownINTEL",
+ "opcode" : 5572,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Next'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleUpINTEL",
+ "opcode" : 5573,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Previous'" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleXorINTEL",
+ "opcode" : 5574,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'Value'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockReadINTEL",
+ "opcode" : 5575,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Ptr'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockWriteINTEL",
+ "opcode" : 5576,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Ptr'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockReadINTEL",
+ "opcode" : 5577,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockWriteINTEL",
+ "opcode" : 5578,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
}
],
"operand_kinds" : [
@@ -5558,6 +5644,21 @@
"value" : 5260,
"capabilities" : [ "MultiView" ],
"extensions" : [ "SPV_NVX_multiview_per_view_attributes" ]
+ },
+ {
+ "enumerant" : "SubgroupShuffleINTEL",
+ "value" : 5568,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupBufferBlockIOINTEL",
+ "value" : 5569,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupImageBlockIOINTEL",
+ "value" : 5570,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
}
]
},
diff --git a/include/spirv/1.0/spirv.h b/include/spirv/1.0/spirv.h
index 4e5956b..ac38ad7 100644
--- a/include/spirv/1.0/spirv.h
+++ b/include/spirv/1.0/spirv.h
@@ -656,6 +656,9 @@
SpvCapabilityShaderViewportMaskNV = 5255,
SpvCapabilityShaderStereoViewNV = 5259,
SpvCapabilityPerViewAttributesNV = 5260,
+ SpvCapabilitySubgroupShuffleINTEL = 5568,
+ SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
+ SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -970,6 +973,14 @@
SpvOpGroupSMaxNonUniformAMD = 5007,
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
+ SpvOpSubgroupShuffleINTEL = 5571,
+ SpvOpSubgroupShuffleDownINTEL = 5572,
+ SpvOpSubgroupShuffleUpINTEL = 5573,
+ SpvOpSubgroupShuffleXorINTEL = 5574,
+ SpvOpSubgroupBlockReadINTEL = 5575,
+ SpvOpSubgroupBlockWriteINTEL = 5576,
+ SpvOpSubgroupImageBlockReadINTEL = 5577,
+ SpvOpSubgroupImageBlockWriteINTEL = 5578,
SpvOpMax = 0x7fffffff,
} SpvOp;
diff --git a/include/spirv/1.0/spirv.hpp b/include/spirv/1.0/spirv.hpp
index 5e80fde..75c1340 100644
--- a/include/spirv/1.0/spirv.hpp
+++ b/include/spirv/1.0/spirv.hpp
@@ -652,6 +652,9 @@
CapabilityShaderViewportMaskNV = 5255,
CapabilityShaderStereoViewNV = 5259,
CapabilityPerViewAttributesNV = 5260,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilityMax = 0x7fffffff,
};
@@ -966,6 +969,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
OpMax = 0x7fffffff,
};
diff --git a/include/spirv/1.0/spirv.hpp11 b/include/spirv/1.0/spirv.hpp11
index 794c32a..792eeb1 100644
--- a/include/spirv/1.0/spirv.hpp11
+++ b/include/spirv/1.0/spirv.hpp11
@@ -652,6 +652,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
Max = 0x7fffffff,
};
@@ -966,6 +969,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
Max = 0x7fffffff,
};
diff --git a/include/spirv/1.0/spirv.json b/include/spirv/1.0/spirv.json
index d9a3fa0..eb0549f 100644
--- a/include/spirv/1.0/spirv.json
+++ b/include/spirv/1.0/spirv.json
@@ -678,7 +678,10 @@
"ShaderViewportIndexLayerNV": 5254,
"ShaderViewportMaskNV": 5255,
"ShaderStereoViewNV": 5259,
- "PerViewAttributesNV": 5260
+ "PerViewAttributesNV": 5260,
+ "SubgroupShuffleINTEL": 5568,
+ "SubgroupBufferBlockIOINTEL": 5569,
+ "SubgroupImageBlockIOINTEL": 5570
}
},
{
@@ -995,7 +998,15 @@
"OpGroupUMaxNonUniformAMD": 5006,
"OpGroupSMaxNonUniformAMD": 5007,
"OpFragmentMaskFetchAMD": 5011,
- "OpFragmentFetchAMD": 5012
+ "OpFragmentFetchAMD": 5012,
+ "OpSubgroupShuffleINTEL": 5571,
+ "OpSubgroupShuffleDownINTEL": 5572,
+ "OpSubgroupShuffleUpINTEL": 5573,
+ "OpSubgroupShuffleXorINTEL": 5574,
+ "OpSubgroupBlockReadINTEL": 5575,
+ "OpSubgroupBlockWriteINTEL": 5576,
+ "OpSubgroupImageBlockReadINTEL": 5577,
+ "OpSubgroupImageBlockWriteINTEL": 5578
}
}
]
diff --git a/include/spirv/1.0/spirv.lua b/include/spirv/1.0/spirv.lua
index 51fc19d..fed1839 100644
--- a/include/spirv/1.0/spirv.lua
+++ b/include/spirv/1.0/spirv.lua
@@ -614,6 +614,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
},
Op = {
@@ -927,6 +930,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
},
}
diff --git a/include/spirv/1.0/spirv.py b/include/spirv/1.0/spirv.py
index 964b0e9..31f5a7f 100644
--- a/include/spirv/1.0/spirv.py
+++ b/include/spirv/1.0/spirv.py
@@ -614,6 +614,9 @@
'ShaderViewportMaskNV' : 5255,
'ShaderStereoViewNV' : 5259,
'PerViewAttributesNV' : 5260,
+ 'SubgroupShuffleINTEL' : 5568,
+ 'SubgroupBufferBlockIOINTEL' : 5569,
+ 'SubgroupImageBlockIOINTEL' : 5570,
},
'Op' : {
@@ -927,6 +930,14 @@
'OpGroupSMaxNonUniformAMD' : 5007,
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
+ 'OpSubgroupShuffleINTEL' : 5571,
+ 'OpSubgroupShuffleDownINTEL' : 5572,
+ 'OpSubgroupShuffleUpINTEL' : 5573,
+ 'OpSubgroupShuffleXorINTEL' : 5574,
+ 'OpSubgroupBlockReadINTEL' : 5575,
+ 'OpSubgroupBlockWriteINTEL' : 5576,
+ 'OpSubgroupImageBlockReadINTEL' : 5577,
+ 'OpSubgroupImageBlockWriteINTEL' : 5578,
},
}
diff --git a/include/spirv/1.1/spirv.core.grammar.json b/include/spirv/1.1/spirv.core.grammar.json
index 0ec0341..c5222e7 100644
--- a/include/spirv/1.1/spirv.core.grammar.json
+++ b/include/spirv/1.1/spirv.core.grammar.json
@@ -3293,6 +3293,92 @@
{ "kind" : "IdRef", "name" : "'Fragment Index'" }
],
"capabilities" : [ "FragmentMaskAMD" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleINTEL",
+ "opcode" : 5571,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'InvocationId'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleDownINTEL",
+ "opcode" : 5572,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Next'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleUpINTEL",
+ "opcode" : 5573,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Previous'" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleXorINTEL",
+ "opcode" : 5574,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'Value'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockReadINTEL",
+ "opcode" : 5575,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Ptr'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockWriteINTEL",
+ "opcode" : 5576,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Ptr'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockReadINTEL",
+ "opcode" : 5577,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockWriteINTEL",
+ "opcode" : 5578,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
}
],
"operand_kinds" : [
@@ -5721,6 +5807,21 @@
"value" : 5260,
"capabilities" : [ "MultiView" ],
"extensions" : [ "SPV_NVX_multiview_per_view_attributes" ]
+ },
+ {
+ "enumerant" : "SubgroupShuffleINTEL",
+ "value" : 5568,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupBufferBlockIOINTEL",
+ "value" : 5569,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupImageBlockIOINTEL",
+ "value" : 5570,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
}
]
},
diff --git a/include/spirv/1.1/spirv.h b/include/spirv/1.1/spirv.h
index e72d1f8..2be3514 100644
--- a/include/spirv/1.1/spirv.h
+++ b/include/spirv/1.1/spirv.h
@@ -668,6 +668,9 @@
SpvCapabilityShaderViewportMaskNV = 5255,
SpvCapabilityShaderStereoViewNV = 5259,
SpvCapabilityPerViewAttributesNV = 5260,
+ SpvCapabilitySubgroupShuffleINTEL = 5568,
+ SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
+ SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -992,6 +995,14 @@
SpvOpGroupSMaxNonUniformAMD = 5007,
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
+ SpvOpSubgroupShuffleINTEL = 5571,
+ SpvOpSubgroupShuffleDownINTEL = 5572,
+ SpvOpSubgroupShuffleUpINTEL = 5573,
+ SpvOpSubgroupShuffleXorINTEL = 5574,
+ SpvOpSubgroupBlockReadINTEL = 5575,
+ SpvOpSubgroupBlockWriteINTEL = 5576,
+ SpvOpSubgroupImageBlockReadINTEL = 5577,
+ SpvOpSubgroupImageBlockWriteINTEL = 5578,
SpvOpMax = 0x7fffffff,
} SpvOp;
diff --git a/include/spirv/1.1/spirv.hpp b/include/spirv/1.1/spirv.hpp
index 824a9a7..9f2e9e3 100644
--- a/include/spirv/1.1/spirv.hpp
+++ b/include/spirv/1.1/spirv.hpp
@@ -664,6 +664,9 @@
CapabilityShaderViewportMaskNV = 5255,
CapabilityShaderStereoViewNV = 5259,
CapabilityPerViewAttributesNV = 5260,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilityMax = 0x7fffffff,
};
@@ -988,6 +991,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
OpMax = 0x7fffffff,
};
diff --git a/include/spirv/1.1/spirv.hpp11 b/include/spirv/1.1/spirv.hpp11
index faec1ba..992f4c8 100644
--- a/include/spirv/1.1/spirv.hpp11
+++ b/include/spirv/1.1/spirv.hpp11
@@ -664,6 +664,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
Max = 0x7fffffff,
};
@@ -988,6 +991,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
Max = 0x7fffffff,
};
diff --git a/include/spirv/1.1/spirv.json b/include/spirv/1.1/spirv.json
index 6a6271a..7da1763 100644
--- a/include/spirv/1.1/spirv.json
+++ b/include/spirv/1.1/spirv.json
@@ -688,7 +688,10 @@
"ShaderViewportIndexLayerNV": 5254,
"ShaderViewportMaskNV": 5255,
"ShaderStereoViewNV": 5259,
- "PerViewAttributesNV": 5260
+ "PerViewAttributesNV": 5260,
+ "SubgroupShuffleINTEL": 5568,
+ "SubgroupBufferBlockIOINTEL": 5569,
+ "SubgroupImageBlockIOINTEL": 5570
}
},
{
@@ -1015,7 +1018,15 @@
"OpGroupUMaxNonUniformAMD": 5006,
"OpGroupSMaxNonUniformAMD": 5007,
"OpFragmentMaskFetchAMD": 5011,
- "OpFragmentFetchAMD": 5012
+ "OpFragmentFetchAMD": 5012,
+ "OpSubgroupShuffleINTEL": 5571,
+ "OpSubgroupShuffleDownINTEL": 5572,
+ "OpSubgroupShuffleUpINTEL": 5573,
+ "OpSubgroupShuffleXorINTEL": 5574,
+ "OpSubgroupBlockReadINTEL": 5575,
+ "OpSubgroupBlockWriteINTEL": 5576,
+ "OpSubgroupImageBlockReadINTEL": 5577,
+ "OpSubgroupImageBlockWriteINTEL": 5578
}
}
]
diff --git a/include/spirv/1.1/spirv.lua b/include/spirv/1.1/spirv.lua
index c1309a3..6abf8ac 100644
--- a/include/spirv/1.1/spirv.lua
+++ b/include/spirv/1.1/spirv.lua
@@ -626,6 +626,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
},
Op = {
@@ -949,6 +952,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
},
}
diff --git a/include/spirv/1.1/spirv.py b/include/spirv/1.1/spirv.py
index 01600b1..2427d2d 100644
--- a/include/spirv/1.1/spirv.py
+++ b/include/spirv/1.1/spirv.py
@@ -626,6 +626,9 @@
'ShaderViewportMaskNV' : 5255,
'ShaderStereoViewNV' : 5259,
'PerViewAttributesNV' : 5260,
+ 'SubgroupShuffleINTEL' : 5568,
+ 'SubgroupBufferBlockIOINTEL' : 5569,
+ 'SubgroupImageBlockIOINTEL' : 5570,
},
'Op' : {
@@ -949,6 +952,14 @@
'OpGroupSMaxNonUniformAMD' : 5007,
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
+ 'OpSubgroupShuffleINTEL' : 5571,
+ 'OpSubgroupShuffleDownINTEL' : 5572,
+ 'OpSubgroupShuffleUpINTEL' : 5573,
+ 'OpSubgroupShuffleXorINTEL' : 5574,
+ 'OpSubgroupBlockReadINTEL' : 5575,
+ 'OpSubgroupBlockWriteINTEL' : 5576,
+ 'OpSubgroupImageBlockReadINTEL' : 5577,
+ 'OpSubgroupImageBlockWriteINTEL' : 5578,
},
}
diff --git a/include/spirv/1.2/spirv.core.grammar.json b/include/spirv/1.2/spirv.core.grammar.json
index e2aba66..9a9b903 100644
--- a/include/spirv/1.2/spirv.core.grammar.json
+++ b/include/spirv/1.2/spirv.core.grammar.json
@@ -3309,6 +3309,92 @@
{ "kind" : "IdRef", "name" : "'Fragment Index'" }
],
"capabilities" : [ "FragmentMaskAMD" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleINTEL",
+ "opcode" : 5571,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'InvocationId'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleDownINTEL",
+ "opcode" : 5572,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Next'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleUpINTEL",
+ "opcode" : 5573,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Previous'" },
+ { "kind" : "IdRef", "name" : "'Current'" },
+ { "kind" : "IdRef", "name" : "'Delta'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupShuffleXorINTEL",
+ "opcode" : 5574,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Data'" },
+ { "kind" : "IdRef", "name" : "'Value'" }
+ ],
+ "capabilities" : [ "SubgroupShuffleINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockReadINTEL",
+ "opcode" : 5575,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Ptr'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupBlockWriteINTEL",
+ "opcode" : 5576,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Ptr'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupBufferBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockReadINTEL",
+ "opcode" : 5577,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
+ },
+ {
+ "opname" : "OpSubgroupImageBlockWriteINTEL",
+ "opcode" : 5578,
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Image'" },
+ { "kind" : "IdRef", "name" : "'Coordinate'" },
+ { "kind" : "IdRef", "name" : "'Data'" }
+ ],
+ "capabilities" : [ "SubgroupImageBlockIOINTEL" ]
}
],
"operand_kinds" : [
@@ -5778,6 +5864,21 @@
"value" : 5260,
"capabilities" : [ "MultiView" ],
"extensions" : [ "SPV_NVX_multiview_per_view_attributes" ]
+ },
+ {
+ "enumerant" : "SubgroupShuffleINTEL",
+ "value" : 5568,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupBufferBlockIOINTEL",
+ "value" : 5569,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
+ },
+ {
+ "enumerant" : "SubgroupImageBlockIOINTEL",
+ "value" : 5570,
+ "extensions" : [ "SPV_INTEL_subgroups" ]
}
]
},
diff --git a/include/spirv/1.2/spirv.h b/include/spirv/1.2/spirv.h
index c202b36..ee5edf1 100644
--- a/include/spirv/1.2/spirv.h
+++ b/include/spirv/1.2/spirv.h
@@ -673,6 +673,9 @@
SpvCapabilityShaderViewportMaskNV = 5255,
SpvCapabilityShaderStereoViewNV = 5259,
SpvCapabilityPerViewAttributesNV = 5260,
+ SpvCapabilitySubgroupShuffleINTEL = 5568,
+ SpvCapabilitySubgroupBufferBlockIOINTEL = 5569,
+ SpvCapabilitySubgroupImageBlockIOINTEL = 5570,
SpvCapabilityMax = 0x7fffffff,
} SpvCapability;
@@ -999,6 +1002,14 @@
SpvOpGroupSMaxNonUniformAMD = 5007,
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
+ SpvOpSubgroupShuffleINTEL = 5571,
+ SpvOpSubgroupShuffleDownINTEL = 5572,
+ SpvOpSubgroupShuffleUpINTEL = 5573,
+ SpvOpSubgroupShuffleXorINTEL = 5574,
+ SpvOpSubgroupBlockReadINTEL = 5575,
+ SpvOpSubgroupBlockWriteINTEL = 5576,
+ SpvOpSubgroupImageBlockReadINTEL = 5577,
+ SpvOpSubgroupImageBlockWriteINTEL = 5578,
SpvOpMax = 0x7fffffff,
} SpvOp;
diff --git a/include/spirv/1.2/spirv.hpp b/include/spirv/1.2/spirv.hpp
index 725827f..315843d 100644
--- a/include/spirv/1.2/spirv.hpp
+++ b/include/spirv/1.2/spirv.hpp
@@ -669,6 +669,9 @@
CapabilityShaderViewportMaskNV = 5255,
CapabilityShaderStereoViewNV = 5259,
CapabilityPerViewAttributesNV = 5260,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
CapabilityMax = 0x7fffffff,
};
@@ -995,6 +998,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
OpMax = 0x7fffffff,
};
diff --git a/include/spirv/1.2/spirv.hpp11 b/include/spirv/1.2/spirv.hpp11
index f0013aa..e032fa5 100644
--- a/include/spirv/1.2/spirv.hpp11
+++ b/include/spirv/1.2/spirv.hpp11
@@ -669,6 +669,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
Max = 0x7fffffff,
};
@@ -995,6 +998,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
Max = 0x7fffffff,
};
diff --git a/include/spirv/1.2/spirv.json b/include/spirv/1.2/spirv.json
index 6ade960..151dda7 100644
--- a/include/spirv/1.2/spirv.json
+++ b/include/spirv/1.2/spirv.json
@@ -693,7 +693,10 @@
"ShaderViewportIndexLayerNV": 5254,
"ShaderViewportMaskNV": 5255,
"ShaderStereoViewNV": 5259,
- "PerViewAttributesNV": 5260
+ "PerViewAttributesNV": 5260,
+ "SubgroupShuffleINTEL": 5568,
+ "SubgroupBufferBlockIOINTEL": 5569,
+ "SubgroupImageBlockIOINTEL": 5570
}
},
{
@@ -1022,7 +1025,15 @@
"OpGroupUMaxNonUniformAMD": 5006,
"OpGroupSMaxNonUniformAMD": 5007,
"OpFragmentMaskFetchAMD": 5011,
- "OpFragmentFetchAMD": 5012
+ "OpFragmentFetchAMD": 5012,
+ "OpSubgroupShuffleINTEL": 5571,
+ "OpSubgroupShuffleDownINTEL": 5572,
+ "OpSubgroupShuffleUpINTEL": 5573,
+ "OpSubgroupShuffleXorINTEL": 5574,
+ "OpSubgroupBlockReadINTEL": 5575,
+ "OpSubgroupBlockWriteINTEL": 5576,
+ "OpSubgroupImageBlockReadINTEL": 5577,
+ "OpSubgroupImageBlockWriteINTEL": 5578
}
}
]
diff --git a/include/spirv/1.2/spirv.lua b/include/spirv/1.2/spirv.lua
index 6578e48..13b28f3 100644
--- a/include/spirv/1.2/spirv.lua
+++ b/include/spirv/1.2/spirv.lua
@@ -631,6 +631,9 @@
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
+ SubgroupShuffleINTEL = 5568,
+ SubgroupBufferBlockIOINTEL = 5569,
+ SubgroupImageBlockIOINTEL = 5570,
},
Op = {
@@ -956,6 +959,14 @@
OpGroupSMaxNonUniformAMD = 5007,
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ OpSubgroupImageBlockWriteINTEL = 5578,
},
}
diff --git a/include/spirv/1.2/spirv.py b/include/spirv/1.2/spirv.py
index d2b3bca..de87de7 100755
--- a/include/spirv/1.2/spirv.py
+++ b/include/spirv/1.2/spirv.py
@@ -631,6 +631,9 @@
'ShaderViewportMaskNV' : 5255,
'ShaderStereoViewNV' : 5259,
'PerViewAttributesNV' : 5260,
+ 'SubgroupShuffleINTEL' : 5568,
+ 'SubgroupBufferBlockIOINTEL' : 5569,
+ 'SubgroupImageBlockIOINTEL' : 5570,
},
'Op' : {
@@ -956,6 +959,14 @@
'OpGroupSMaxNonUniformAMD' : 5007,
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
+ 'OpSubgroupShuffleINTEL' : 5571,
+ 'OpSubgroupShuffleDownINTEL' : 5572,
+ 'OpSubgroupShuffleUpINTEL' : 5573,
+ 'OpSubgroupShuffleXorINTEL' : 5574,
+ 'OpSubgroupBlockReadINTEL' : 5575,
+ 'OpSubgroupBlockWriteINTEL' : 5576,
+ 'OpSubgroupImageBlockReadINTEL' : 5577,
+ 'OpSubgroupImageBlockWriteINTEL' : 5578,
},
}