summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Ashbaugh <ben.ashbaugh@intel.com>2023-08-10 13:31:01 -0700
committerGitHub <noreply@github.com>2023-08-10 13:31:01 -0700
commit45fc02a6c67016b3e5ff6e4896a61544a40f90f8 (patch)
treeb072eb7679099a52ed58a1d93762f0a117a416ed
parentb730938c033ede3572b660ab019b438509ba24d9 (diff)
parentc6e625d2c969dfc03965e9d80221ead48bb03795 (diff)
downloadSPIRV-Headers-45fc02a6c67016b3e5ff6e4896a61544a40f90f8.tar.gz
SPIRV-Headers-45fc02a6c67016b3e5ff6e4896a61544a40f90f8.tar.bz2
SPIRV-Headers-45fc02a6c67016b3e5ff6e4896a61544a40f90f8.zip
Merge pull request #366 from KonstantinSeurer/main
Add SPV_AMDX_shader_enqueue
-rw-r--r--include/spirv/unified1/spirv.bf17
-rw-r--r--include/spirv/unified1/spirv.core.grammar.json145
-rw-r--r--include/spirv/unified1/spirv.cs17
-rw-r--r--include/spirv/unified1/spirv.h20
-rw-r--r--include/spirv/unified1/spirv.hpp20
-rw-r--r--include/spirv/unified1/spirv.hpp1120
-rw-r--r--include/spirv/unified1/spirv.json17
-rw-r--r--include/spirv/unified1/spirv.lua17
-rw-r--r--include/spirv/unified1/spirv.py17
-rw-r--r--include/spirv/unified1/spv.d17
10 files changed, 307 insertions, 0 deletions
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index 8f4b43a..a9033ed 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -168,6 +168,11 @@ namespace Spv
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -219,6 +224,8 @@ namespace Spv
Image = 11,
StorageBuffer = 12,
TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -521,6 +528,10 @@ namespace Spv
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -675,6 +686,8 @@ namespace Spv
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -1049,6 +1062,7 @@ namespace Spv
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1719,6 +1733,9 @@ namespace Spv
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index c593099..ff45621 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -4922,6 +4922,41 @@
"version" : "None"
},
{
+ "opname" : "OpFinalizeNodePayloadsAMDX",
+ "class" : "Reserved",
+ "opcode" : 5075,
+ "operands" : [
+ { "kind" : "IdRef", "name": "'Payload Array'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpFinishWritingNodePayloadAMDX",
+ "class" : "Reserved",
+ "opcode" : 5078,
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name": "'Payload'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "opname" : "OpInitializeNodePayloadsAMDX",
+ "class" : "Reserved",
+ "opcode" : 5090,
+ "operands" : [
+ { "kind" : "IdRef", "name": "'Payload Array'" },
+ { "kind" : "IdScope", "name": "'Visibility'" },
+ { "kind" : "IdRef", "name": "'Payload Count'" },
+ { "kind" : "IdRef", "name": "'Node Index'" }
+ ],
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
"opname" : "OpHitObjectRecordHitMotionNV",
"class" : "Reserved",
"opcode" : 5249,
@@ -10709,6 +10744,52 @@
"version" : "None"
},
{
+ "enumerant" : "CoalescingAMDX",
+ "value" : 5069,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxNodeRecursionAMDX",
+ "value" : 5071,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Number of recursions'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "StaticNumWorkgroupsAMDX",
+ "value" : 5072,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'x size'" },
+ { "kind" : "IdRef", "name" : "'y size'" },
+ { "kind" : "IdRef", "name" : "'z size'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ShaderIndexAMDX",
+ "value" : 5073,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Shader Index'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "MaxNumWorkgroupsAMDX",
+ "value" : 5077,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'x size'" },
+ { "kind" : "IdRef", "name" : "'y size'" },
+ { "kind" : "IdRef", "name" : "'z size'" }
+ ],
+ "version" : "None"
+ },
+ {
"enumerant": "StencilRefUnchangedFrontAMD",
"value": 5079,
"capabilities": [ "StencilExportEXT" ],
@@ -11051,6 +11132,18 @@
"version" : "None"
},
{
+ "enumerant" : "NodePayloadAMDX",
+ "value" : 5068,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NodeOutputPayloadAMDX",
+ "value" : 5076,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "CallableDataNV",
"value" : 5328,
"extensions" : [ "SPV_NV_ray_tracing" , "SPV_KHR_ray_tracing" ],
@@ -12276,6 +12369,39 @@
"version" : "None"
},
{
+ "enumerant" : "NodeSharesPayloadLimitsWithAMDX",
+ "value" : 5019,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Payload Array'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "NodeMaxPayloadsAMDX",
+ "value" : 5020,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "IdRef", "name" : "'Max number of payloads'" }
+ ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "TrackFinishWritingAMDX",
+ "value" : 5078,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "PayloadNodeNameAMDX",
+ "value" : 5091,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "parameters" : [
+ { "kind" : "LiteralString", "name" : "'Node Name'" }
+ ],
+ "version" : "None"
+ },
+ {
"enumerant" : "OverrideCoverageNV",
"value" : 5248,
"capabilities" : [ "SampleMaskOverrideCoverageNV" ],
@@ -13295,6 +13421,18 @@
"version" : "None"
},
{
+ "enumerant" : "CoalescedInputCountAMDX",
+ "value" : 5021,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
+ "enumerant" : "ShaderIndexAMDX",
+ "value" : 5073,
+ "capabilities" : [ "ShaderEnqueueAMDX" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "ViewportMaskNV",
"value" : 5253,
"capabilities" : [ "ShaderViewportMaskNV", "MeshShadingNV" ],
@@ -14485,6 +14623,13 @@
"version" : "None"
},
{
+ "enumerant" : "ShaderEnqueueAMDX",
+ "value" : 5067,
+ "capabilities" : [ "Shader" ],
+ "extensions" : [ "SPV_AMDX_shader_enqueue" ],
+ "version" : "None"
+ },
+ {
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
"capabilities" : [ "SampleRateShading" ],
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index 222ac09..37a796b 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -167,6 +167,11 @@ namespace Spv
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -218,6 +223,8 @@ namespace Spv
Image = 11,
StorageBuffer = 12,
TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -520,6 +527,10 @@ namespace Spv
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -674,6 +685,8 @@ namespace Spv
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -1048,6 +1061,7 @@ namespace Spv
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1718,6 +1732,9 @@ namespace Spv
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index bc1ef4c..cc344f7 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -175,6 +175,11 @@ typedef enum SpvExecutionMode_ {
SpvExecutionModeRoundingModeRTZ = 4463,
SpvExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
SpvExecutionModeStencilRefReplacingEXT = 5027,
+ SpvExecutionModeCoalescingAMDX = 5069,
+ SpvExecutionModeMaxNodeRecursionAMDX = 5071,
+ SpvExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ SpvExecutionModeShaderIndexAMDX = 5073,
+ SpvExecutionModeMaxNumWorkgroupsAMDX = 5077,
SpvExecutionModeStencilRefUnchangedFrontAMD = 5079,
SpvExecutionModeStencilRefGreaterFrontAMD = 5080,
SpvExecutionModeStencilRefLessFrontAMD = 5081,
@@ -226,6 +231,8 @@ typedef enum SpvStorageClass_ {
SpvStorageClassImage = 11,
SpvStorageClassStorageBuffer = 12,
SpvStorageClassTileImageEXT = 4172,
+ SpvStorageClassNodePayloadAMDX = 5068,
+ SpvStorageClassNodeOutputPayloadAMDX = 5076,
SpvStorageClassCallableDataKHR = 5328,
SpvStorageClassCallableDataNV = 5328,
SpvStorageClassIncomingCallableDataKHR = 5329,
@@ -526,6 +533,10 @@ typedef enum SpvDecoration_ {
SpvDecorationWeightTextureQCOM = 4487,
SpvDecorationBlockMatchTextureQCOM = 4488,
SpvDecorationExplicitInterpAMD = 4999,
+ SpvDecorationNodeSharesPayloadLimitsWithAMDX = 5019,
+ SpvDecorationNodeMaxPayloadsAMDX = 5020,
+ SpvDecorationTrackFinishWritingAMDX = 5078,
+ SpvDecorationPayloadNodeNameAMDX = 5091,
SpvDecorationOverrideCoverageNV = 5248,
SpvDecorationPassthroughNV = 5250,
SpvDecorationViewportRelativeNV = 5252,
@@ -680,6 +691,8 @@ typedef enum SpvBuiltIn_ {
SpvBuiltInBaryCoordSmoothSampleAMD = 4997,
SpvBuiltInBaryCoordPullModelAMD = 4998,
SpvBuiltInFragStencilRefEXT = 5014,
+ SpvBuiltInCoalescedInputCountAMDX = 5021,
+ SpvBuiltInShaderIndexAMDX = 5073,
SpvBuiltInViewportMaskNV = 5253,
SpvBuiltInSecondaryPositionNV = 5257,
SpvBuiltInSecondaryViewportMaskNV = 5258,
@@ -1048,6 +1061,7 @@ typedef enum SpvCapability_ {
SpvCapabilityImageReadWriteLodAMD = 5015,
SpvCapabilityInt64ImageEXT = 5016,
SpvCapabilityShaderClockKHR = 5055,
+ SpvCapabilityShaderEnqueueAMDX = 5067,
SpvCapabilitySampleMaskOverrideCoverageNV = 5249,
SpvCapabilityGeometryShaderPassthroughNV = 5251,
SpvCapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1715,6 +1729,9 @@ typedef enum SpvOp_ {
SpvOpFragmentMaskFetchAMD = 5011,
SpvOpFragmentFetchAMD = 5012,
SpvOpReadClockKHR = 5056,
+ SpvOpFinalizeNodePayloadsAMDX = 5075,
+ SpvOpFinishWritingNodePayloadAMDX = 5078,
+ SpvOpInitializeNodePayloadsAMDX = 5090,
SpvOpHitObjectRecordHitMotionNV = 5249,
SpvOpHitObjectRecordHitWithIndexMotionNV = 5250,
SpvOpHitObjectRecordMissMotionNV = 5251,
@@ -2438,6 +2455,9 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case SpvOpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case SpvOpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case SpvOpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
case SpvOpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 0b9fa16..91c7d2a 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -171,6 +171,11 @@ enum ExecutionMode {
ExecutionModeRoundingModeRTZ = 4463,
ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeCoalescingAMDX = 5069,
+ ExecutionModeMaxNodeRecursionAMDX = 5071,
+ ExecutionModeStaticNumWorkgroupsAMDX = 5072,
+ ExecutionModeShaderIndexAMDX = 5073,
+ ExecutionModeMaxNumWorkgroupsAMDX = 5077,
ExecutionModeStencilRefUnchangedFrontAMD = 5079,
ExecutionModeStencilRefGreaterFrontAMD = 5080,
ExecutionModeStencilRefLessFrontAMD = 5081,
@@ -222,6 +227,8 @@ enum StorageClass {
StorageClassImage = 11,
StorageClassStorageBuffer = 12,
StorageClassTileImageEXT = 4172,
+ StorageClassNodePayloadAMDX = 5068,
+ StorageClassNodeOutputPayloadAMDX = 5076,
StorageClassCallableDataKHR = 5328,
StorageClassCallableDataNV = 5328,
StorageClassIncomingCallableDataKHR = 5329,
@@ -522,6 +529,10 @@ enum Decoration {
DecorationWeightTextureQCOM = 4487,
DecorationBlockMatchTextureQCOM = 4488,
DecorationExplicitInterpAMD = 4999,
+ DecorationNodeSharesPayloadLimitsWithAMDX = 5019,
+ DecorationNodeMaxPayloadsAMDX = 5020,
+ DecorationTrackFinishWritingAMDX = 5078,
+ DecorationPayloadNodeNameAMDX = 5091,
DecorationOverrideCoverageNV = 5248,
DecorationPassthroughNV = 5250,
DecorationViewportRelativeNV = 5252,
@@ -676,6 +687,8 @@ enum BuiltIn {
BuiltInBaryCoordSmoothSampleAMD = 4997,
BuiltInBaryCoordPullModelAMD = 4998,
BuiltInFragStencilRefEXT = 5014,
+ BuiltInCoalescedInputCountAMDX = 5021,
+ BuiltInShaderIndexAMDX = 5073,
BuiltInViewportMaskNV = 5253,
BuiltInSecondaryPositionNV = 5257,
BuiltInSecondaryViewportMaskNV = 5258,
@@ -1044,6 +1057,7 @@ enum Capability {
CapabilityImageReadWriteLodAMD = 5015,
CapabilityInt64ImageEXT = 5016,
CapabilityShaderClockKHR = 5055,
+ CapabilityShaderEnqueueAMDX = 5067,
CapabilitySampleMaskOverrideCoverageNV = 5249,
CapabilityGeometryShaderPassthroughNV = 5251,
CapabilityShaderViewportIndexLayerEXT = 5254,
@@ -1711,6 +1725,9 @@ enum Op {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,
@@ -2434,6 +2451,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
case OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
case OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
case OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index f610092..530dc61 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -171,6 +171,11 @@ enum class ExecutionMode : unsigned {
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -222,6 +227,8 @@ enum class StorageClass : unsigned {
Image = 11,
StorageBuffer = 12,
TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -522,6 +529,10 @@ enum class Decoration : unsigned {
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -676,6 +687,8 @@ enum class BuiltIn : unsigned {
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -1044,6 +1057,7 @@ enum class Capability : unsigned {
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1711,6 +1725,9 @@ enum class Op : unsigned {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,
@@ -2434,6 +2451,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
case Op::OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpFinalizeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
+ case Op::OpFinishWritingNodePayloadAMDX: *hasResult = true; *hasResultType = true; break;
+ case Op::OpInitializeNodePayloadsAMDX: *hasResult = false; *hasResultType = false; break;
case Op::OpHitObjectRecordHitMotionNV: *hasResult = false; *hasResultType = false; break;
case Op::OpHitObjectRecordHitWithIndexMotionNV: *hasResult = false; *hasResultType = false; break;
case Op::OpHitObjectRecordMissMotionNV: *hasResult = false; *hasResultType = false; break;
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 8c3c424..6a20cf1 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -190,6 +190,11 @@
"RoundingModeRTZ": 4463,
"EarlyAndLateFragmentTestsAMD": 5017,
"StencilRefReplacingEXT": 5027,
+ "CoalescingAMDX": 5069,
+ "MaxNodeRecursionAMDX": 5071,
+ "StaticNumWorkgroupsAMDX": 5072,
+ "ShaderIndexAMDX": 5073,
+ "MaxNumWorkgroupsAMDX": 5077,
"StencilRefUnchangedFrontAMD": 5079,
"StencilRefGreaterFrontAMD": 5080,
"StencilRefLessFrontAMD": 5081,
@@ -244,6 +249,8 @@
"Image": 11,
"StorageBuffer": 12,
"TileImageEXT": 4172,
+ "NodePayloadAMDX": 5068,
+ "NodeOutputPayloadAMDX": 5076,
"CallableDataKHR": 5328,
"CallableDataNV": 5328,
"IncomingCallableDataKHR": 5329,
@@ -548,6 +555,10 @@
"WeightTextureQCOM": 4487,
"BlockMatchTextureQCOM": 4488,
"ExplicitInterpAMD": 4999,
+ "NodeSharesPayloadLimitsWithAMDX": 5019,
+ "NodeMaxPayloadsAMDX": 5020,
+ "TrackFinishWritingAMDX": 5078,
+ "PayloadNodeNameAMDX": 5091,
"OverrideCoverageNV": 5248,
"PassthroughNV": 5250,
"ViewportRelativeNV": 5252,
@@ -705,6 +716,8 @@
"BaryCoordSmoothSampleAMD": 4997,
"BaryCoordPullModelAMD": 4998,
"FragStencilRefEXT": 5014,
+ "CoalescedInputCountAMDX": 5021,
+ "ShaderIndexAMDX": 5073,
"ViewportMaskNV": 5253,
"SecondaryPositionNV": 5257,
"SecondaryViewportMaskNV": 5258,
@@ -1024,6 +1037,7 @@
"ImageReadWriteLodAMD": 5015,
"Int64ImageEXT": 5016,
"ShaderClockKHR": 5055,
+ "ShaderEnqueueAMDX": 5067,
"SampleMaskOverrideCoverageNV": 5249,
"GeometryShaderPassthroughNV": 5251,
"ShaderViewportIndexLayerEXT": 5254,
@@ -1701,6 +1715,9 @@
"OpFragmentMaskFetchAMD": 5011,
"OpFragmentFetchAMD": 5012,
"OpReadClockKHR": 5056,
+ "OpFinalizeNodePayloadsAMDX": 5075,
+ "OpFinishWritingNodePayloadAMDX": 5078,
+ "OpInitializeNodePayloadsAMDX": 5090,
"OpHitObjectRecordHitMotionNV": 5249,
"OpHitObjectRecordHitWithIndexMotionNV": 5250,
"OpHitObjectRecordMissMotionNV": 5251,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 1979b6b..95a4f56 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -158,6 +158,11 @@ spv = {
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -208,6 +213,8 @@ spv = {
Image = 11,
StorageBuffer = 12,
TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -495,6 +502,10 @@ spv = {
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -648,6 +659,8 @@ spv = {
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -1006,6 +1019,7 @@ spv = {
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1659,6 +1673,9 @@ spv = {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index bdcdec1..48bb422 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -158,6 +158,11 @@ spv = {
'RoundingModeRTZ' : 4463,
'EarlyAndLateFragmentTestsAMD' : 5017,
'StencilRefReplacingEXT' : 5027,
+ 'CoalescingAMDX' : 5069,
+ 'MaxNodeRecursionAMDX' : 5071,
+ 'StaticNumWorkgroupsAMDX' : 5072,
+ 'ShaderIndexAMDX' : 5073,
+ 'MaxNumWorkgroupsAMDX' : 5077,
'StencilRefUnchangedFrontAMD' : 5079,
'StencilRefGreaterFrontAMD' : 5080,
'StencilRefLessFrontAMD' : 5081,
@@ -208,6 +213,8 @@ spv = {
'Image' : 11,
'StorageBuffer' : 12,
'TileImageEXT' : 4172,
+ 'NodePayloadAMDX' : 5068,
+ 'NodeOutputPayloadAMDX' : 5076,
'CallableDataKHR' : 5328,
'CallableDataNV' : 5328,
'IncomingCallableDataKHR' : 5329,
@@ -495,6 +502,10 @@ spv = {
'WeightTextureQCOM' : 4487,
'BlockMatchTextureQCOM' : 4488,
'ExplicitInterpAMD' : 4999,
+ 'NodeSharesPayloadLimitsWithAMDX' : 5019,
+ 'NodeMaxPayloadsAMDX' : 5020,
+ 'TrackFinishWritingAMDX' : 5078,
+ 'PayloadNodeNameAMDX' : 5091,
'OverrideCoverageNV' : 5248,
'PassthroughNV' : 5250,
'ViewportRelativeNV' : 5252,
@@ -648,6 +659,8 @@ spv = {
'BaryCoordSmoothSampleAMD' : 4997,
'BaryCoordPullModelAMD' : 4998,
'FragStencilRefEXT' : 5014,
+ 'CoalescedInputCountAMDX' : 5021,
+ 'ShaderIndexAMDX' : 5073,
'ViewportMaskNV' : 5253,
'SecondaryPositionNV' : 5257,
'SecondaryViewportMaskNV' : 5258,
@@ -1006,6 +1019,7 @@ spv = {
'ImageReadWriteLodAMD' : 5015,
'Int64ImageEXT' : 5016,
'ShaderClockKHR' : 5055,
+ 'ShaderEnqueueAMDX' : 5067,
'SampleMaskOverrideCoverageNV' : 5249,
'GeometryShaderPassthroughNV' : 5251,
'ShaderViewportIndexLayerEXT' : 5254,
@@ -1659,6 +1673,9 @@ spv = {
'OpFragmentMaskFetchAMD' : 5011,
'OpFragmentFetchAMD' : 5012,
'OpReadClockKHR' : 5056,
+ 'OpFinalizeNodePayloadsAMDX' : 5075,
+ 'OpFinishWritingNodePayloadAMDX' : 5078,
+ 'OpInitializeNodePayloadsAMDX' : 5090,
'OpHitObjectRecordHitMotionNV' : 5249,
'OpHitObjectRecordHitWithIndexMotionNV' : 5250,
'OpHitObjectRecordMissMotionNV' : 5251,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 29cc69a..6f6c048 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -170,6 +170,11 @@ enum ExecutionMode : uint
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
@@ -221,6 +226,8 @@ enum StorageClass : uint
Image = 11,
StorageBuffer = 12,
TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
@@ -523,6 +530,10 @@ enum Decoration : uint
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
@@ -677,6 +688,8 @@ enum BuiltIn : uint
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -1051,6 +1064,7 @@ enum Capability : uint
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -1721,6 +1735,9 @@ enum Op : uint
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
OpHitObjectRecordHitMotionNV = 5249,
OpHitObjectRecordHitWithIndexMotionNV = 5250,
OpHitObjectRecordMissMotionNV = 5251,