Skip to content

Commit 07ddb1c

Browse files
yavnDan Brown
andauthored
Update SPV_AMDX_shader_enqueue (#452)
Co-authored-by: Dan Brown <daniel.brown@amd.com>
1 parent d92cf88 commit 07ddb1c

File tree

10 files changed

+307
-70
lines changed

10 files changed

+307
-70
lines changed

include/spirv/unified1/spirv.bf

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ namespace Spv
175175
EarlyAndLateFragmentTestsAMD = 5017,
176176
StencilRefReplacingEXT = 5027,
177177
CoalescingAMDX = 5069,
178+
IsApiEntryAMDX = 5070,
178179
MaxNodeRecursionAMDX = 5071,
179180
StaticNumWorkgroupsAMDX = 5072,
180181
ShaderIndexAMDX = 5073,
@@ -187,6 +188,7 @@ namespace Spv
187188
StencilRefLessBackAMD = 5084,
188189
QuadDerivativesKHR = 5088,
189190
RequireFullQuadsKHR = 5089,
191+
SharesInputWithAMDX = 5102,
190192
OutputLinesEXT = 5269,
191193
OutputLinesNV = 5269,
192194
OutputPrimitivesEXT = 5270,
@@ -241,7 +243,6 @@ namespace Spv
241243
StorageBuffer = 12,
242244
TileImageEXT = 4172,
243245
NodePayloadAMDX = 5068,
244-
NodeOutputPayloadAMDX = 5076,
245246
CallableDataKHR = 5328,
246247
CallableDataNV = 5328,
247248
IncomingCallableDataKHR = 5329,
@@ -569,6 +570,10 @@ namespace Spv
569570
NodeMaxPayloadsAMDX = 5020,
570571
TrackFinishWritingAMDX = 5078,
571572
PayloadNodeNameAMDX = 5091,
573+
PayloadNodeBaseIndexAMDX = 5098,
574+
PayloadNodeSparseArrayAMDX = 5099,
575+
PayloadNodeArraySizeAMDX = 5100,
576+
PayloadDispatchIndirectAMDX = 5105,
572577
OverrideCoverageNV = 5248,
573578
PassthroughNV = 5250,
574579
ViewportRelativeNV = 5252,
@@ -733,7 +738,7 @@ namespace Spv
733738
BaryCoordSmoothSampleAMD = 4997,
734739
BaryCoordPullModelAMD = 4998,
735740
FragStencilRefEXT = 5014,
736-
CoalescedInputCountAMDX = 5021,
741+
RemainingRecursionLevelsAMDX = 5021,
737742
ShaderIndexAMDX = 5073,
738743
ViewportMaskNV = 5253,
739744
SecondaryPositionNV = 5257,
@@ -1909,9 +1914,14 @@ namespace Spv
19091914
OpFragmentMaskFetchAMD = 5011,
19101915
OpFragmentFetchAMD = 5012,
19111916
OpReadClockKHR = 5056,
1912-
OpFinalizeNodePayloadsAMDX = 5075,
1917+
OpAllocateNodePayloadsAMDX = 5074,
1918+
OpEnqueueNodePayloadsAMDX = 5075,
1919+
OpTypeNodePayloadArrayAMDX = 5076,
19131920
OpFinishWritingNodePayloadAMDX = 5078,
1914-
OpInitializeNodePayloadsAMDX = 5090,
1921+
OpNodePayloadArrayLengthAMDX = 5090,
1922+
OpIsNodePayloadValidAMDX = 5101,
1923+
OpConstantStringAMDX = 5103,
1924+
OpSpecConstantStringAMDX = 5104,
19151925
OpGroupNonUniformQuadAllKHR = 5110,
19161926
OpGroupNonUniformQuadAnyKHR = 5111,
19171927
OpHitObjectRecordHitMotionNV = 5249,

include/spirv/unified1/spirv.core.grammar.json

Lines changed: 118 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5362,7 +5362,21 @@
53625362
"version" : "None"
53635363
},
53645364
{
5365-
"opname" : "OpFinalizeNodePayloadsAMDX",
5365+
"opname" : "OpAllocateNodePayloadsAMDX",
5366+
"class" : "Reserved",
5367+
"opcode" : 5074,
5368+
"operands" : [
5369+
{ "kind" : "IdResultType" },
5370+
{ "kind" : "IdResult" },
5371+
{ "kind" : "IdScope", "name" : "'Visibility'" },
5372+
{ "kind" : "IdRef", "name": "'Payload Count'" },
5373+
{ "kind" : "IdRef", "name": "'Node Index'" }
5374+
],
5375+
"capabilities" : [ "ShaderEnqueueAMDX" ],
5376+
"version" : "None"
5377+
},
5378+
{
5379+
"opname" : "OpEnqueueNodePayloadsAMDX",
53665380
"class" : "Reserved",
53675381
"opcode" : 5075,
53685382
"operands" : [
@@ -5371,6 +5385,17 @@
53715385
"capabilities" : [ "ShaderEnqueueAMDX" ],
53725386
"version" : "None"
53735387
},
5388+
{
5389+
"opname" : "OpTypeNodePayloadArrayAMDX",
5390+
"class" : "Reserved",
5391+
"opcode" : 5076,
5392+
"operands" : [
5393+
{ "kind" : "IdResult" },
5394+
{ "kind" : "IdRef", "name": "'Payload Type'" }
5395+
],
5396+
"capabilities" : [ "ShaderEnqueueAMDX" ],
5397+
"version" : "None"
5398+
},
53745399
{
53755400
"opname" : "OpFinishWritingNodePayloadAMDX",
53765401
"class" : "Reserved",
@@ -5384,18 +5409,52 @@
53845409
"version" : "None"
53855410
},
53865411
{
5387-
"opname" : "OpInitializeNodePayloadsAMDX",
5412+
"opname" : "OpNodePayloadArrayLengthAMDX",
53885413
"class" : "Reserved",
53895414
"opcode" : 5090,
53905415
"operands" : [
5391-
{ "kind" : "IdRef", "name": "'Payload Array'" },
5392-
{ "kind" : "IdScope", "name": "'Visibility'" },
5393-
{ "kind" : "IdRef", "name": "'Payload Count'" },
5394-
{ "kind" : "IdRef", "name": "'Node Index'" }
5416+
{ "kind" : "IdResultType" },
5417+
{ "kind" : "IdResult" },
5418+
{ "kind" : "IdRef", "name": "'Payload Array'" }
53955419
],
53965420
"capabilities" : [ "ShaderEnqueueAMDX" ],
53975421
"version" : "None"
53985422
},
5423+
{
5424+
"opname" : "OpIsNodePayloadValidAMDX",
5425+
"class" : "Reserved",
5426+
"opcode" : 5101,
5427+
"operands" : [
5428+
{ "kind" : "IdResultType" },
5429+
{ "kind" : "IdResult" },
5430+
{ "kind" : "IdRef", "name": "'Payload Type'" },
5431+
{ "kind" : "IdRef", "name": "'Node Index'" }
5432+
],
5433+
"capabilities" : [ "ShaderEnqueueAMDX" ],
5434+
"version": "None"
5435+
},
5436+
{
5437+
"opname" : "OpConstantStringAMDX",
5438+
"class" : "Reserved",
5439+
"opcode" : 5103,
5440+
"operands" : [
5441+
{ "kind" : "IdResult" },
5442+
{ "kind" : "LiteralString", "name": "'Literal String'" }
5443+
],
5444+
"capabilities" : [ "ShaderEnqueueAMDX" ],
5445+
"version": "None"
5446+
},
5447+
{
5448+
"opname" : "OpSpecConstantStringAMDX",
5449+
"class" : "Reserved",
5450+
"opcode" : 5104,
5451+
"operands" : [
5452+
{ "kind" : "IdResult" },
5453+
{ "kind" : "LiteralString", "name": "'Literal String'" }
5454+
],
5455+
"capabilities" : [ "ShaderEnqueueAMDX" ],
5456+
"version": "None"
5457+
},
53995458
{
54005459
"opname" : "OpGroupNonUniformQuadAllKHR",
54015460
"class" : "Non-Uniform",
@@ -11310,6 +11369,15 @@
1131011369
"capabilities" : [ "ShaderEnqueueAMDX" ],
1131111370
"version" : "None"
1131211371
},
11372+
{
11373+
"enumerant" : "IsApiEntryAMDX",
11374+
"value" : 5070,
11375+
"capabilities" : [ "ShaderEnqueueAMDX" ],
11376+
"parameters" : [
11377+
{ "kind" : "IdRef", "name" : "'Is Entry'" }
11378+
],
11379+
"version" : "None"
11380+
},
1131311381
{
1131411382
"enumerant" : "MaxNodeRecursionAMDX",
1131511383
"value" : 5071,
@@ -11404,6 +11472,16 @@
1140411472
"capabilities" : [ "QuadControlKHR" ],
1140511473
"version" : "None"
1140611474
},
11475+
{
11476+
"enumerant" : "SharesInputWithAMDX",
11477+
"value" : 5102,
11478+
"capabilities" : [ "ShaderEnqueueAMDX" ],
11479+
"parameters" : [
11480+
{ "kind" : "IdRef", "name" : "'Node Name'" },
11481+
{ "kind" : "IdRef", "name" : "'Shader Index'" }
11482+
],
11483+
"version" : "None"
11484+
},
1140711485
{
1140811486
"enumerant" : "OutputLinesEXT",
1140911487
"aliases" : ["OutputLinesNV"],
@@ -11747,12 +11825,6 @@
1174711825
"capabilities" : [ "ShaderEnqueueAMDX" ],
1174811826
"version" : "None"
1174911827
},
11750-
{
11751-
"enumerant" : "NodeOutputPayloadAMDX",
11752-
"value" : 5076,
11753-
"capabilities" : [ "ShaderEnqueueAMDX" ],
11754-
"version" : "None"
11755-
},
1175611828
{
1175711829
"enumerant" : "CallableDataKHR",
1175811830
"aliases" : ["CallableDataNV"],
@@ -13092,7 +13164,7 @@
1309213164
"value" : 5019,
1309313165
"capabilities" : [ "ShaderEnqueueAMDX" ],
1309413166
"parameters" : [
13095-
{ "kind" : "IdRef", "name" : "'Payload Array'" }
13167+
{ "kind" : "IdRef", "name" : "'Payload Type'" }
1309613168
],
1309713169
"version" : "None"
1309813170
},
@@ -13116,10 +13188,40 @@
1311613188
"value" : 5091,
1311713189
"capabilities" : [ "ShaderEnqueueAMDX" ],
1311813190
"parameters" : [
13119-
{ "kind" : "LiteralString", "name" : "'Node Name'" }
13191+
{ "kind" : "IdRef", "name" : "'Node Name'" }
13192+
],
13193+
"version" : "None"
13194+
},
13195+
{
13196+
"enumerant" : "PayloadNodeBaseIndexAMDX",
13197+
"value" : 5098,
13198+
"capabilities" : [ "ShaderEnqueueAMDX" ],
13199+
"parameters" : [
13200+
{ "kind" : "IdRef", "name" : "'Base Index'" }
13201+
],
13202+
"version" : "None"
13203+
},
13204+
{
13205+
"enumerant" : "PayloadNodeSparseArrayAMDX",
13206+
"value" : 5099,
13207+
"capabilities" : [ "ShaderEnqueueAMDX" ],
13208+
"version" : "None"
13209+
},
13210+
{
13211+
"enumerant" : "PayloadNodeArraySizeAMDX",
13212+
"value" : 5100,
13213+
"capabilities" : [ "ShaderEnqueueAMDX" ],
13214+
"parameters" : [
13215+
{ "kind" : "IdRef", "name" : "'Array Size'" }
1312013216
],
1312113217
"version" : "None"
1312213218
},
13219+
{
13220+
"enumerant" : "PayloadDispatchIndirectAMDX",
13221+
"value" : 5105,
13222+
"capabilities" : [ "ShaderEnqueueAMDX" ],
13223+
"version" : "None"
13224+
},
1312313225
{
1312413226
"enumerant" : "OverrideCoverageNV",
1312513227
"value" : 5248,
@@ -14196,7 +14298,7 @@
1419614298
"version" : "None"
1419714299
},
1419814300
{
14199-
"enumerant" : "CoalescedInputCountAMDX",
14301+
"enumerant" : "RemainingRecursionLevelsAMDX",
1420014302
"value" : 5021,
1420114303
"capabilities" : [ "ShaderEnqueueAMDX" ],
1420214304
"version" : "None"
@@ -15395,7 +15497,7 @@
1539515497
"value" : 5087,
1539615498
"extensions" : [ "SPV_KHR_quad_control" ],
1539715499
"version" : "None"
15398-
},
15500+
},
1539915501
{
1540015502
"enumerant" : "SampleMaskOverrideCoverageNV",
1540115503
"value" : 5249,

include/spirv/unified1/spirv.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ public enum ExecutionMode
174174
EarlyAndLateFragmentTestsAMD = 5017,
175175
StencilRefReplacingEXT = 5027,
176176
CoalescingAMDX = 5069,
177+
IsApiEntryAMDX = 5070,
177178
MaxNodeRecursionAMDX = 5071,
178179
StaticNumWorkgroupsAMDX = 5072,
179180
ShaderIndexAMDX = 5073,
@@ -186,6 +187,7 @@ public enum ExecutionMode
186187
StencilRefLessBackAMD = 5084,
187188
QuadDerivativesKHR = 5088,
188189
RequireFullQuadsKHR = 5089,
190+
SharesInputWithAMDX = 5102,
189191
OutputLinesEXT = 5269,
190192
OutputLinesNV = 5269,
191193
OutputPrimitivesEXT = 5270,
@@ -240,7 +242,6 @@ public enum StorageClass
240242
StorageBuffer = 12,
241243
TileImageEXT = 4172,
242244
NodePayloadAMDX = 5068,
243-
NodeOutputPayloadAMDX = 5076,
244245
CallableDataKHR = 5328,
245246
CallableDataNV = 5328,
246247
IncomingCallableDataKHR = 5329,
@@ -568,6 +569,10 @@ public enum Decoration
568569
NodeMaxPayloadsAMDX = 5020,
569570
TrackFinishWritingAMDX = 5078,
570571
PayloadNodeNameAMDX = 5091,
572+
PayloadNodeBaseIndexAMDX = 5098,
573+
PayloadNodeSparseArrayAMDX = 5099,
574+
PayloadNodeArraySizeAMDX = 5100,
575+
PayloadDispatchIndirectAMDX = 5105,
571576
OverrideCoverageNV = 5248,
572577
PassthroughNV = 5250,
573578
ViewportRelativeNV = 5252,
@@ -732,7 +737,7 @@ public enum BuiltIn
732737
BaryCoordSmoothSampleAMD = 4997,
733738
BaryCoordPullModelAMD = 4998,
734739
FragStencilRefEXT = 5014,
735-
CoalescedInputCountAMDX = 5021,
740+
RemainingRecursionLevelsAMDX = 5021,
736741
ShaderIndexAMDX = 5073,
737742
ViewportMaskNV = 5253,
738743
SecondaryPositionNV = 5257,
@@ -1908,9 +1913,14 @@ public enum Op
19081913
OpFragmentMaskFetchAMD = 5011,
19091914
OpFragmentFetchAMD = 5012,
19101915
OpReadClockKHR = 5056,
1911-
OpFinalizeNodePayloadsAMDX = 5075,
1916+
OpAllocateNodePayloadsAMDX = 5074,
1917+
OpEnqueueNodePayloadsAMDX = 5075,
1918+
OpTypeNodePayloadArrayAMDX = 5076,
19121919
OpFinishWritingNodePayloadAMDX = 5078,
1913-
OpInitializeNodePayloadsAMDX = 5090,
1920+
OpNodePayloadArrayLengthAMDX = 5090,
1921+
OpIsNodePayloadValidAMDX = 5101,
1922+
OpConstantStringAMDX = 5103,
1923+
OpSpecConstantStringAMDX = 5104,
19141924
OpGroupNonUniformQuadAllKHR = 5110,
19151925
OpGroupNonUniformQuadAnyKHR = 5111,
19161926
OpHitObjectRecordHitMotionNV = 5249,

0 commit comments

Comments
 (0)