Skip to content

Commit 4dd2cc4

Browse files
author
Chen, Brox
committed
Merge branch 'master' of https://github.com/broxigarchen/SPIRV-Headers into kernelArgProperties
2 parents a4608a6 + d13b522 commit 4dd2cc4

File tree

14 files changed

+1320
-22
lines changed

14 files changed

+1320
-22
lines changed

include/spirv/spir-v.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
<id value="9" vendor="Qualcomm" comment="Contact [email protected]"/>
6363
<id value="10" vendor="AMD" comment="Contact Daniel Rakos, [email protected]"/>
6464
<id value="11" vendor="Intel" comment="Contact Alexey, [email protected]"/>
65-
<id value="12" vendor="Imagination" comment="Contact James Jones"/>
65+
<id value="12" vendor="Imagination" comment="Contact Stephen Clarke, [email protected]"/>
6666
<id value="13" vendor="Google" tool="Shaderc over Glslang" comment="Contact David Neto, [email protected]"/>
6767
<id value="14" vendor="Google" tool="spiregg" comment="Contact Lei Zhang, [email protected]"/>
6868
<id value="15" vendor="Google" tool="rspirv" comment="Contact Lei Zhang, [email protected]"/>
@@ -85,7 +85,9 @@
8585
<id value="32" vendor="TornadoVM" tool="SPIRV Beehive Toolkit" comment="https://github.com/beehive-lab/spirv-beehive-toolkit"/>
8686
<id value="33" vendor="DragonJoker" tool="ShaderWriter" comment="Contact Sylvain Doremus, https://github.com/DragonJoker/ShaderWriter"/>
8787
<id value="34" vendor="Rayan Hatout" tool="SPIRVSmith" comment="Contact Rayan Hatout [email protected], Repo https://github.com/rayanht/SPIRVSmith"/>
88-
<unused start="35" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
88+
<id value="35" vendor="Saarland University" tool="Shady" comment="Contact Hugo Devillers [email protected], Repo https://github.com/Hugobros3/shady"/>
89+
<id value="36" vendor="Taichi Graphics" tool="Taichi" comment="Contact Rendong Liang [email protected], Repo https://github.com/taichi-dev/taichi"/>
90+
<unused start="37" end="0xFFFF" comment="Tool ID range reservable for future use by vendors"/>
8991
</ids>
9092

9193
<!-- SECTION: SPIR-V Opcodes and Enumerants -->

include/spirv/unified1/NonSemanticClspvReflection.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ extern "C" {
3333
#endif
3434

3535
enum {
36-
NonSemanticClspvReflectionRevision = 3,
36+
NonSemanticClspvReflectionRevision = 5,
3737
NonSemanticClspvReflectionRevision_BitWidthPadding = 0x7fffffff
3838
};
3939

@@ -71,10 +71,24 @@ enum NonSemanticClspvReflectionInstructions {
7171
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypePushConstant = 31,
7272
NonSemanticClspvReflectionImageArgumentInfoChannelOrderUniform = 32,
7373
NonSemanticClspvReflectionImageArgumentInfoChannelDataTypeUniform = 33,
74+
NonSemanticClspvReflectionArgumentStorageTexelBuffer = 34,
75+
NonSemanticClspvReflectionArgumentUniformTexelBuffer = 35,
76+
NonSemanticClspvReflectionConstantDataPointerPushConstant = 36,
77+
NonSemanticClspvReflectionProgramScopeVariablePointerPushConstant = 37,
78+
NonSemanticClspvReflectionPrintfInfo = 38,
79+
NonSemanticClspvReflectionPrintfBufferStorageBuffer = 39,
80+
NonSemanticClspvReflectionPrintfBufferPointerPushConstant = 40,
7481
NonSemanticClspvReflectionInstructionsMax = 0x7fffffff
7582
};
7683

7784

85+
enum NonSemanticClspvReflectionKernelPropertyFlags {
86+
NonSemanticClspvReflectionNone = 0x0,
87+
NonSemanticClspvReflectionMayUsePrintf = 0x1,
88+
NonSemanticClspvReflectionKernelPropertyFlagsMax = 0x7fffffff
89+
};
90+
91+
7892
#ifdef __cplusplus
7993
}
8094
#endif

include/spirv/unified1/extinst.nonsemantic.clspvreflection.grammar.json

Lines changed: 88 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
{
2-
"revision" : 3,
2+
"revision" : 5,
33
"instructions" : [
44
{
55
"opname" : "Kernel",
66
"opcode" : 1,
77
"operands" : [
88
{ "kind" : "IdRef", "name" : "Kernel" },
9-
{ "kind" : "IdRef", "name" : "Name" }
9+
{ "kind" : "IdRef", "name" : "Name" },
10+
{ "kind" : "IdRef", "name" : "NumArguments", "quantifier" : "?" },
11+
{ "kind" : "IdRef", "name" : "Flags", "quantifier" : "?" },
12+
{ "kind" : "IdRef", "name" : "Attributes", "quantifier" : "?" }
1013
]
1114
},
1215
{
@@ -325,6 +328,89 @@
325328
{ "kind" : "IdRef", "name" : "Offset" },
326329
{ "kind" : "IdRef", "name" : "Size" }
327330
]
331+
},
332+
{
333+
"opname" : "ArgumentStorageTexelBuffer",
334+
"opcode" : 34,
335+
"operands" : [
336+
{ "kind" : "IdRef", "name" : "Decl" },
337+
{ "kind" : "IdRef", "name" : "Ordinal" },
338+
{ "kind" : "IdRef", "name" : "DescriptorSet" },
339+
{ "kind" : "IdRef", "name" : "Binding" },
340+
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
341+
]
342+
},
343+
{
344+
"opname" : "ArgumentUniformTexelBuffer",
345+
"opcode" : 35,
346+
"operands" : [
347+
{ "kind" : "IdRef", "name" : "Decl" },
348+
{ "kind" : "IdRef", "name" : "Ordinal" },
349+
{ "kind" : "IdRef", "name" : "DescriptorSet" },
350+
{ "kind" : "IdRef", "name" : "Binding" },
351+
{ "kind" : "IdRef", "name" : "ArgInfo", "quantifier" : "?" }
352+
]
353+
},
354+
{
355+
"opname" : "ConstantDataPointerPushConstant",
356+
"opcode" : 36,
357+
"operands" : [
358+
{ "kind" : "IdRef", "name" : "Offset"},
359+
{ "kind" : "IdRef", "name" : "Size"},
360+
{ "kind" : "IdRef", "name" : "Data" }
361+
]
362+
},
363+
{
364+
"opname" : "ProgramScopeVariablePointerPushConstant",
365+
"opcode" : 37,
366+
"operands" : [
367+
{ "kind" : "IdRef", "name" : "Offset"},
368+
{ "kind" : "IdRef", "name" : "Size"},
369+
{ "kind" : "IdRef", "name" : "Data" }
370+
]
371+
},
372+
{
373+
"opname" : "PrintfInfo",
374+
"opcode" : 38,
375+
"operands" : [
376+
{ "kind" : "IdRef", "name" : "PrintfID" },
377+
{ "kind" : "IdRef", "name" : "FormatString" },
378+
{ "kind" : "IdRef", "quantifier" : "*", "name" : "ArgumentSizes"}
379+
]
380+
},
381+
{
382+
"opname" : "PrintfBufferStorageBuffer",
383+
"opcode" : 39,
384+
"operands" : [
385+
{ "kind" : "IdRef", "name" : "DescriptorSet" },
386+
{ "kind" : "IdRef", "name" : "Binding" },
387+
{ "kind" : "IdRef", "name" : "BufferSize"}
388+
]
389+
},
390+
{
391+
"opname" : "PrintfBufferPointerPushConstant",
392+
"opcode" : 40,
393+
"operands" : [
394+
{ "kind" : "IdRef", "name" : "Offset" },
395+
{ "kind" : "IdRef", "name" : "Size"},
396+
{ "kind" : "IdRef", "name" : "BufferSize"}
397+
]
398+
}
399+
],
400+
"operand_kinds" : [
401+
{
402+
"category" : "BitEnum",
403+
"kind" : "KernelPropertyFlags",
404+
"enumerants" : [
405+
{
406+
"enumerant" : "None",
407+
"value" : "0x0"
408+
},
409+
{
410+
"enumerant" : "MayUsePrintf",
411+
"value" : "0x1"
412+
}
413+
]
328414
}
329415
]
330416
}

include/spirv/unified1/spirv.bf

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ namespace Spv
192192
NoGlobalOffsetINTEL = 5895,
193193
NumSIMDWorkitemsINTEL = 5896,
194194
SchedulerTargetFmaxMhzINTEL = 5903,
195+
StreamingInterfaceINTEL = 6154,
195196
NamedBarrierCountINTEL = 6417,
196197
}
197198

@@ -224,6 +225,7 @@ namespace Spv
224225
ShaderRecordBufferNV = 5343,
225226
PhysicalStorageBuffer = 5349,
226227
PhysicalStorageBufferEXT = 5349,
228+
HitObjectAttributeNV = 5385,
227229
TaskPayloadWorkgroupEXT = 5402,
228230
CodeSectionINTEL = 5605,
229231
DeviceOnlyINTEL = 5936,
@@ -451,6 +453,7 @@ namespace Spv
451453
NoCapture = 5,
452454
NoWrite = 6,
453455
NoReadWrite = 7,
456+
RuntimeAlignedINTEL = 5940,
454457
}
455458

456459
[AllowDuplicates, CRepr] public enum Decoration
@@ -521,6 +524,7 @@ namespace Spv
521524
RestrictPointerEXT = 5355,
522525
AliasedPointer = 5356,
523526
AliasedPointerEXT = 5356,
527+
HitObjectShaderRecordBufferNV = 5386,
524528
BindlessSamplerNV = 5398,
525529
BindlessImageNV = 5399,
526530
BoundSamplerNV = 5400,
@@ -559,8 +563,12 @@ namespace Spv
559563
PrefetchINTEL = 5902,
560564
StallEnableINTEL = 5905,
561565
FuseLoopsInFunctionINTEL = 5907,
566+
MathOpDSPModeINTEL = 5909,
562567
AliasScopeINTEL = 5914,
563568
NoAliasINTEL = 5915,
569+
InitiationIntervalINTEL = 5917,
570+
MaxConcurrencyINTEL = 5918,
571+
PipelineEnableINTEL = 5919,
564572
BufferLocationINTEL = 5921,
565573
IOPipeStorageINTEL = 5944,
566574
FunctionFloatingPointModeINTEL = 6080,
@@ -745,6 +753,8 @@ namespace Spv
745753
MaxInterleavingINTEL = 21,
746754
SpeculatedIterationsINTEL = 22,
747755
NoFusionINTEL = 23,
756+
LoopCountINTEL = 24,
757+
MaxReinvocationDelayINTEL = 25,
748758
}
749759

750760
[AllowDuplicates, CRepr] public enum LoopControlMask
@@ -767,6 +777,8 @@ namespace Spv
767777
MaxInterleavingINTEL = 0x00200000,
768778
SpeculatedIterationsINTEL = 0x00400000,
769779
NoFusionINTEL = 0x00800000,
780+
LoopCountINTEL = 0x01000000,
781+
MaxReinvocationDelayINTEL = 0x02000000,
770782
}
771783

772784
[AllowDuplicates, CRepr] public enum FunctionControlShift
@@ -1072,6 +1084,8 @@ namespace Spv
10721084
FragmentShaderPixelInterlockEXT = 5378,
10731085
DemoteToHelperInvocation = 5379,
10741086
DemoteToHelperInvocationEXT = 5379,
1087+
RayTracingOpacityMicromapEXT = 5381,
1088+
ShaderInvocationReorderNV = 5383,
10751089
BindlessTextureNV = 5390,
10761090
SubgroupShuffleINTEL = 5568,
10771091
SubgroupBufferBlockIOINTEL = 5569,
@@ -1105,10 +1119,13 @@ namespace Spv
11051119
FPGAMemoryAccessesINTEL = 5898,
11061120
FPGAClusterAttributesINTEL = 5904,
11071121
LoopFuseINTEL = 5906,
1122+
FPGADSPControlINTEL = 5908,
11081123
MemoryAccessAliasingINTEL = 5910,
1124+
FPGAInvocationPipeliningAttributesINTEL = 5916,
11091125
FPGABufferLocationINTEL = 5920,
11101126
ArbitraryPrecisionFixedPointINTEL = 5922,
11111127
USMStorageClassesINTEL = 5935,
1128+
RuntimeAlignedAttributeINTEL = 5939,
11121129
IOPipesINTEL = 5943,
11131130
BlockingPipesINTEL = 5945,
11141131
FPGARegINTEL = 5948,
@@ -1146,6 +1163,7 @@ namespace Spv
11461163
CullNoOpaqueKHR = 7,
11471164
SkipTrianglesKHR = 8,
11481165
SkipAABBsKHR = 9,
1166+
ForceOpacityMicromap2StateEXT = 10,
11491167
}
11501168

11511169
[AllowDuplicates, CRepr] public enum RayFlagsMask
@@ -1161,6 +1179,7 @@ namespace Spv
11611179
CullNoOpaqueKHR = 0x00000080,
11621180
SkipTrianglesKHR = 0x00000100,
11631181
SkipAABBsKHR = 0x00000200,
1182+
ForceOpacityMicromap2StateEXT = 0x00000400,
11641183
}
11651184

11661185
[AllowDuplicates, CRepr] public enum RayQueryIntersection
@@ -1626,6 +1645,39 @@ namespace Spv
16261645
OpFragmentMaskFetchAMD = 5011,
16271646
OpFragmentFetchAMD = 5012,
16281647
OpReadClockKHR = 5056,
1648+
OpHitObjectRecordHitMotionNV = 5249,
1649+
OpHitObjectRecordHitWithIndexMotionNV = 5250,
1650+
OpHitObjectRecordMissMotionNV = 5251,
1651+
OpHitObjectGetWorldToObjectNV = 5252,
1652+
OpHitObjectGetObjectToWorldNV = 5253,
1653+
OpHitObjectGetObjectRayDirectionNV = 5254,
1654+
OpHitObjectGetObjectRayOriginNV = 5255,
1655+
OpHitObjectTraceRayMotionNV = 5256,
1656+
OpHitObjectGetShaderRecordBufferHandleNV = 5257,
1657+
OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1658+
OpHitObjectRecordEmptyNV = 5259,
1659+
OpHitObjectTraceRayNV = 5260,
1660+
OpHitObjectRecordHitNV = 5261,
1661+
OpHitObjectRecordHitWithIndexNV = 5262,
1662+
OpHitObjectRecordMissNV = 5263,
1663+
OpHitObjectExecuteShaderNV = 5264,
1664+
OpHitObjectGetCurrentTimeNV = 5265,
1665+
OpHitObjectGetAttributesNV = 5266,
1666+
OpHitObjectGetHitKindNV = 5267,
1667+
OpHitObjectGetPrimitiveIndexNV = 5268,
1668+
OpHitObjectGetGeometryIndexNV = 5269,
1669+
OpHitObjectGetInstanceIdNV = 5270,
1670+
OpHitObjectGetInstanceCustomIndexNV = 5271,
1671+
OpHitObjectGetWorldRayDirectionNV = 5272,
1672+
OpHitObjectGetWorldRayOriginNV = 5273,
1673+
OpHitObjectGetRayTMaxNV = 5274,
1674+
OpHitObjectGetRayTMinNV = 5275,
1675+
OpHitObjectIsEmptyNV = 5276,
1676+
OpHitObjectIsHitNV = 5277,
1677+
OpHitObjectIsMissNV = 5278,
1678+
OpReorderThreadWithHitObjectNV = 5279,
1679+
OpReorderThreadWithHintNV = 5280,
1680+
OpTypeHitObjectNV = 5281,
16291681
OpImageSampleFootprintNV = 5283,
16301682
OpEmitMeshTasksEXT = 5294,
16311683
OpSetMeshOutputsEXT = 5295,

0 commit comments

Comments
 (0)