Skip to content

Commit

Permalink
Update SPV_AMDX_shader_enqueue (#452)
Browse files Browse the repository at this point in the history
Co-authored-by: Dan Brown <[email protected]>
  • Loading branch information
yavn and Dan Brown authored Oct 9, 2024
1 parent d92cf88 commit 07ddb1c
Show file tree
Hide file tree
Showing 10 changed files with 307 additions and 70 deletions.
18 changes: 14 additions & 4 deletions include/spirv/unified1/spirv.bf
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ namespace Spv
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
CoalescingAMDX = 5069,
IsApiEntryAMDX = 5070,
MaxNodeRecursionAMDX = 5071,
StaticNumWorkgroupsAMDX = 5072,
ShaderIndexAMDX = 5073,
Expand All @@ -187,6 +188,7 @@ namespace Spv
StencilRefLessBackAMD = 5084,
QuadDerivativesKHR = 5088,
RequireFullQuadsKHR = 5089,
SharesInputWithAMDX = 5102,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
Expand Down Expand Up @@ -241,7 +243,6 @@ namespace Spv
StorageBuffer = 12,
TileImageEXT = 4172,
NodePayloadAMDX = 5068,
NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
Expand Down Expand Up @@ -569,6 +570,10 @@ namespace Spv
NodeMaxPayloadsAMDX = 5020,
TrackFinishWritingAMDX = 5078,
PayloadNodeNameAMDX = 5091,
PayloadNodeBaseIndexAMDX = 5098,
PayloadNodeSparseArrayAMDX = 5099,
PayloadNodeArraySizeAMDX = 5100,
PayloadDispatchIndirectAMDX = 5105,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
Expand Down Expand Up @@ -733,7 +738,7 @@ namespace Spv
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
CoalescedInputCountAMDX = 5021,
RemainingRecursionLevelsAMDX = 5021,
ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
Expand Down Expand Up @@ -1909,9 +1914,14 @@ namespace Spv
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
OpFinalizeNodePayloadsAMDX = 5075,
OpAllocateNodePayloadsAMDX = 5074,
OpEnqueueNodePayloadsAMDX = 5075,
OpTypeNodePayloadArrayAMDX = 5076,
OpFinishWritingNodePayloadAMDX = 5078,
OpInitializeNodePayloadsAMDX = 5090,
OpNodePayloadArrayLengthAMDX = 5090,
OpIsNodePayloadValidAMDX = 5101,
OpConstantStringAMDX = 5103,
OpSpecConstantStringAMDX = 5104,
OpGroupNonUniformQuadAllKHR = 5110,
OpGroupNonUniformQuadAnyKHR = 5111,
OpHitObjectRecordHitMotionNV = 5249,
Expand Down
134 changes: 118 additions & 16 deletions include/spirv/unified1/spirv.core.grammar.json
Original file line number Diff line number Diff line change
Expand Up @@ -5362,7 +5362,21 @@
"version" : "None"
},
{
"opname" : "OpFinalizeNodePayloadsAMDX",
"opname" : "OpAllocateNodePayloadsAMDX",
"class" : "Reserved",
"opcode" : 5074,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdScope", "name" : "'Visibility'" },
{ "kind" : "IdRef", "name": "'Payload Count'" },
{ "kind" : "IdRef", "name": "'Node Index'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"opname" : "OpEnqueueNodePayloadsAMDX",
"class" : "Reserved",
"opcode" : 5075,
"operands" : [
Expand All @@ -5371,6 +5385,17 @@
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"opname" : "OpTypeNodePayloadArrayAMDX",
"class" : "Reserved",
"opcode" : 5076,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name": "'Payload Type'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"opname" : "OpFinishWritingNodePayloadAMDX",
"class" : "Reserved",
Expand All @@ -5384,18 +5409,52 @@
"version" : "None"
},
{
"opname" : "OpInitializeNodePayloadsAMDX",
"opname" : "OpNodePayloadArrayLengthAMDX",
"class" : "Reserved",
"opcode" : 5090,
"operands" : [
{ "kind" : "IdRef", "name": "'Payload Array'" },
{ "kind" : "IdScope", "name": "'Visibility'" },
{ "kind" : "IdRef", "name": "'Payload Count'" },
{ "kind" : "IdRef", "name": "'Node Index'" }
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name": "'Payload Array'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"opname" : "OpIsNodePayloadValidAMDX",
"class" : "Reserved",
"opcode" : 5101,
"operands" : [
{ "kind" : "IdResultType" },
{ "kind" : "IdResult" },
{ "kind" : "IdRef", "name": "'Payload Type'" },
{ "kind" : "IdRef", "name": "'Node Index'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version": "None"
},
{
"opname" : "OpConstantStringAMDX",
"class" : "Reserved",
"opcode" : 5103,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralString", "name": "'Literal String'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version": "None"
},
{
"opname" : "OpSpecConstantStringAMDX",
"class" : "Reserved",
"opcode" : 5104,
"operands" : [
{ "kind" : "IdResult" },
{ "kind" : "LiteralString", "name": "'Literal String'" }
],
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version": "None"
},
{
"opname" : "OpGroupNonUniformQuadAllKHR",
"class" : "Non-Uniform",
Expand Down Expand Up @@ -11310,6 +11369,15 @@
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"enumerant" : "IsApiEntryAMDX",
"value" : 5070,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "IdRef", "name" : "'Is Entry'" }
],
"version" : "None"
},
{
"enumerant" : "MaxNodeRecursionAMDX",
"value" : 5071,
Expand Down Expand Up @@ -11404,6 +11472,16 @@
"capabilities" : [ "QuadControlKHR" ],
"version" : "None"
},
{
"enumerant" : "SharesInputWithAMDX",
"value" : 5102,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "IdRef", "name" : "'Node Name'" },
{ "kind" : "IdRef", "name" : "'Shader Index'" }
],
"version" : "None"
},
{
"enumerant" : "OutputLinesEXT",
"aliases" : ["OutputLinesNV"],
Expand Down Expand Up @@ -11747,12 +11825,6 @@
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"enumerant" : "NodeOutputPayloadAMDX",
"value" : 5076,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"enumerant" : "CallableDataKHR",
"aliases" : ["CallableDataNV"],
Expand Down Expand Up @@ -13092,7 +13164,7 @@
"value" : 5019,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "IdRef", "name" : "'Payload Array'" }
{ "kind" : "IdRef", "name" : "'Payload Type'" }
],
"version" : "None"
},
Expand All @@ -13116,10 +13188,40 @@
"value" : 5091,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "LiteralString", "name" : "'Node Name'" }
{ "kind" : "IdRef", "name" : "'Node Name'" }
],
"version" : "None"
},
{
"enumerant" : "PayloadNodeBaseIndexAMDX",
"value" : 5098,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "IdRef", "name" : "'Base Index'" }
],
"version" : "None"
},
{
"enumerant" : "PayloadNodeSparseArrayAMDX",
"value" : 5099,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"enumerant" : "PayloadNodeArraySizeAMDX",
"value" : 5100,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"parameters" : [
{ "kind" : "IdRef", "name" : "'Array Size'" }
],
"version" : "None"
},
{
"enumerant" : "PayloadDispatchIndirectAMDX",
"value" : 5105,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
},
{
"enumerant" : "OverrideCoverageNV",
"value" : 5248,
Expand Down Expand Up @@ -14196,7 +14298,7 @@
"version" : "None"
},
{
"enumerant" : "CoalescedInputCountAMDX",
"enumerant" : "RemainingRecursionLevelsAMDX",
"value" : 5021,
"capabilities" : [ "ShaderEnqueueAMDX" ],
"version" : "None"
Expand Down Expand Up @@ -15395,7 +15497,7 @@
"value" : 5087,
"extensions" : [ "SPV_KHR_quad_control" ],
"version" : "None"
},
},
{
"enumerant" : "SampleMaskOverrideCoverageNV",
"value" : 5249,
Expand Down
18 changes: 14 additions & 4 deletions include/spirv/unified1/spirv.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ public enum ExecutionMode
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
CoalescingAMDX = 5069,
IsApiEntryAMDX = 5070,
MaxNodeRecursionAMDX = 5071,
StaticNumWorkgroupsAMDX = 5072,
ShaderIndexAMDX = 5073,
Expand All @@ -186,6 +187,7 @@ public enum ExecutionMode
StencilRefLessBackAMD = 5084,
QuadDerivativesKHR = 5088,
RequireFullQuadsKHR = 5089,
SharesInputWithAMDX = 5102,
OutputLinesEXT = 5269,
OutputLinesNV = 5269,
OutputPrimitivesEXT = 5270,
Expand Down Expand Up @@ -240,7 +242,6 @@ public enum StorageClass
StorageBuffer = 12,
TileImageEXT = 4172,
NodePayloadAMDX = 5068,
NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
CallableDataNV = 5328,
IncomingCallableDataKHR = 5329,
Expand Down Expand Up @@ -568,6 +569,10 @@ public enum Decoration
NodeMaxPayloadsAMDX = 5020,
TrackFinishWritingAMDX = 5078,
PayloadNodeNameAMDX = 5091,
PayloadNodeBaseIndexAMDX = 5098,
PayloadNodeSparseArrayAMDX = 5099,
PayloadNodeArraySizeAMDX = 5100,
PayloadDispatchIndirectAMDX = 5105,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
Expand Down Expand Up @@ -732,7 +737,7 @@ public enum BuiltIn
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
CoalescedInputCountAMDX = 5021,
RemainingRecursionLevelsAMDX = 5021,
ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
Expand Down Expand Up @@ -1908,9 +1913,14 @@ public enum Op
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
OpFinalizeNodePayloadsAMDX = 5075,
OpAllocateNodePayloadsAMDX = 5074,
OpEnqueueNodePayloadsAMDX = 5075,
OpTypeNodePayloadArrayAMDX = 5076,
OpFinishWritingNodePayloadAMDX = 5078,
OpInitializeNodePayloadsAMDX = 5090,
OpNodePayloadArrayLengthAMDX = 5090,
OpIsNodePayloadValidAMDX = 5101,
OpConstantStringAMDX = 5103,
OpSpecConstantStringAMDX = 5104,
OpGroupNonUniformQuadAllKHR = 5110,
OpGroupNonUniformQuadAnyKHR = 5111,
OpHitObjectRecordHitMotionNV = 5249,
Expand Down
Loading

0 comments on commit 07ddb1c

Please sign in to comment.