diff --git a/include/spirv/spir-v.xml b/include/spirv/spir-v.xml
index f9b23ac41..332f41148 100644
--- a/include/spirv/spir-v.xml
+++ b/include/spirv/spir-v.xml
@@ -272,7 +272,8 @@
-
+
+
diff --git a/include/spirv/unified1/NonSemanticVkspReflection.h b/include/spirv/unified1/NonSemanticVkspReflection.h
index 331a3d95d..e50ae4898 100644
--- a/include/spirv/unified1/NonSemanticVkspReflection.h
+++ b/include/spirv/unified1/NonSemanticVkspReflection.h
@@ -33,7 +33,7 @@ extern "C" {
#endif
enum {
- NonSemanticVkspReflectionRevision = 2,
+ NonSemanticVkspReflectionRevision = 3,
NonSemanticVkspReflectionRevision_BitWidthPadding = 0x7fffffff
};
diff --git a/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
index 379457b9e..74eb57b8a 100644
--- a/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
+++ b/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
@@ -1,5 +1,5 @@
{
- "revision" : 2,
+ "revision" : 3,
"instructions" : [
{
"opname" : "Configuration",
@@ -65,7 +65,9 @@
{ "kind" : "LiteralInteger", "name" : "offset" },
{ "kind" : "LiteralInteger", "name" : "memorySize" },
{ "kind" : "LiteralInteger", "name" : "memoryType" },
- { "kind" : "LiteralInteger", "name" : "bindOffset" }
+ { "kind" : "LiteralInteger", "name" : "bindOffset" },
+ { "kind" : "LiteralInteger", "name" : "viewFlags" },
+ { "kind" : "LiteralInteger", "name" : "viewFormat" }
]
},
{
diff --git a/include/spirv/unified1/spirv.bf b/include/spirv/unified1/spirv.bf
index d14f43f8d..eaa465f85 100644
--- a/include/spirv/unified1/spirv.bf
+++ b/include/spirv/unified1/spirv.bf
@@ -71,6 +71,7 @@ namespace Spv
WGSL = 10,
Slang = 11,
Zig = 12,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ExecutionModel
@@ -98,6 +99,7 @@ namespace Spv
CallableNV = 5318,
TaskEXT = 5364,
MeshEXT = 5365,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum AddressingModel
@@ -107,6 +109,7 @@ namespace Spv
Physical64 = 2,
PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum MemoryModel
@@ -116,6 +119,7 @@ namespace Spv
OpenCL = 2,
Vulkan = 3,
VulkanKHR = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ExecutionMode
@@ -215,6 +219,7 @@ namespace Spv
MaximumRegistersINTEL = 6461,
MaximumRegistersIdINTEL = 6462,
NamedMaximumRegistersINTEL = 6463,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum StorageClass
@@ -254,6 +259,7 @@ namespace Spv
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum Dim
@@ -266,6 +272,7 @@ namespace Spv
Buffer = 5,
SubpassData = 6,
TileImageDataEXT = 4173,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum SamplerAddressingMode
@@ -275,12 +282,14 @@ namespace Spv
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum SamplerFilterMode
{
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ImageFormat
@@ -327,6 +336,7 @@ namespace Spv
R8ui = 39,
R64ui = 40,
R64i = 41,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ImageChannelOrder
@@ -351,6 +361,7 @@ namespace Spv
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ImageChannelDataType
@@ -374,6 +385,7 @@ namespace Spv
UnormInt101010_2 = 16,
UnsignedIntRaw10EXT = 19,
UnsignedIntRaw12EXT = 20,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ImageOperandsShift
@@ -398,6 +410,7 @@ namespace Spv
ZeroExtend = 13,
Nontemporal = 14,
Offsets = 16,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum ImageOperandsMask
@@ -437,6 +450,7 @@ namespace Spv
AllowReassoc = 17,
AllowReassocINTEL = 17,
AllowTransform = 18,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FPFastMathModeMask
@@ -460,6 +474,7 @@ namespace Spv
RTZ = 1,
RTP = 2,
RTN = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum LinkageType
@@ -467,6 +482,7 @@ namespace Spv
Export = 0,
Import = 1,
LinkOnceODR = 2,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum AccessQualifier
@@ -474,6 +490,7 @@ namespace Spv
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FunctionParameterAttribute
@@ -487,6 +504,7 @@ namespace Spv
NoWrite = 6,
NoReadWrite = 7,
RuntimeAlignedINTEL = 5940,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum Decoration
@@ -636,6 +654,7 @@ namespace Spv
ImplementInRegisterMapINTEL = 6191,
CacheControlLoadINTEL = 6442,
CacheControlStoreINTEL = 6443,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum BuiltIn
@@ -778,12 +797,14 @@ namespace Spv
HitKindFrontFacingMicroTriangleNV = 5405,
HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum SelectionControlShift
{
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum SelectionControlMask
@@ -814,6 +835,7 @@ namespace Spv
NoFusionINTEL = 23,
LoopCountINTEL = 24,
MaxReinvocationDelayINTEL = 25,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum LoopControlMask
@@ -847,6 +869,7 @@ namespace Spv
Pure = 2,
Const = 3,
OptNoneINTEL = 16,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FunctionControlMask
@@ -878,6 +901,7 @@ namespace Spv
MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum MemorySemanticsMask
@@ -915,6 +939,7 @@ namespace Spv
NonPrivatePointerKHR = 5,
AliasScopeINTELMask = 16,
NoAliasINTELMask = 17,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum MemoryAccessMask
@@ -943,6 +968,7 @@ namespace Spv
QueueFamily = 5,
QueueFamilyKHR = 5,
ShaderCallKHR = 6,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum GroupOperation
@@ -954,6 +980,7 @@ namespace Spv
PartitionedReduceNV = 6,
PartitionedInclusiveScanNV = 7,
PartitionedExclusiveScanNV = 8,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum KernelEnqueueFlags
@@ -961,11 +988,13 @@ namespace Spv
NoWait = 0,
WaitKernel = 1,
WaitWorkGroup = 2,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum KernelProfilingInfoShift
{
CmdExecTime = 0,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum KernelProfilingInfoMask
@@ -1080,6 +1109,7 @@ namespace Spv
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1237,6 +1267,7 @@ namespace Spv
MaskedGatherScatterINTEL = 6427,
CacheControlsINTEL = 6441,
RegisterLimitsINTEL = 6460,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RayFlagsShift
@@ -1252,6 +1283,7 @@ namespace Spv
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
ForceOpacityMicromap2StateEXT = 10,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RayFlagsMask
@@ -1274,6 +1306,7 @@ namespace Spv
{
RayQueryCandidateIntersectionKHR = 0,
RayQueryCommittedIntersectionKHR = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RayQueryCommittedIntersectionType
@@ -1281,12 +1314,14 @@ namespace Spv
RayQueryCommittedIntersectionNoneKHR = 0,
RayQueryCommittedIntersectionTriangleKHR = 1,
RayQueryCommittedIntersectionGeneratedKHR = 2,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RayQueryCandidateIntersectionType
{
RayQueryCandidateIntersectionTriangleKHR = 0,
RayQueryCandidateIntersectionAABBKHR = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FragmentShadingRateShift
@@ -1295,6 +1330,7 @@ namespace Spv
Vertical4Pixels = 1,
Horizontal2Pixels = 2,
Horizontal4Pixels = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FragmentShadingRateMask
@@ -1310,12 +1346,14 @@ namespace Spv
{
Preserve = 0,
FlushToZero = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum FPOperationMode
{
IEEE = 0,
ALT = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum QuantizationModes
@@ -1328,6 +1366,7 @@ namespace Spv
RND_MIN_INF = 5,
RND_CONV = 6,
RND_CONV_ODD = 7,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum OverflowModes
@@ -1336,12 +1375,14 @@ namespace Spv
SAT = 1,
SAT_ZERO = 2,
SAT_SYM = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum PackedVectorFormat
{
PackedVectorFormat4x8Bit = 0,
PackedVectorFormat4x8BitKHR = 0,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum CooperativeMatrixOperandsShift
@@ -1351,6 +1392,7 @@ namespace Spv
MatrixCSignedComponentsKHR = 2,
MatrixResultSignedComponentsKHR = 3,
SaturatingAccumulationKHR = 4,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum CooperativeMatrixOperandsMask
@@ -1369,6 +1411,7 @@ namespace Spv
ColumnMajorKHR = 1,
RowBlockedInterleavedARM = 4202,
ColumnBlockedInterleavedARM = 4203,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum CooperativeMatrixUse
@@ -1376,12 +1419,14 @@ namespace Spv
MatrixAKHR = 0,
MatrixBKHR = 1,
MatrixAccumulatorKHR = 2,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum InitializationModeQualifier
{
InitOnDeviceReprogramINTEL = 0,
InitOnDeviceResetINTEL = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum HostAccessQualifier
@@ -1390,6 +1435,7 @@ namespace Spv
ReadINTEL = 1,
WriteINTEL = 2,
ReadWriteINTEL = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum LoadCacheControl
@@ -1399,6 +1445,7 @@ namespace Spv
StreamingINTEL = 2,
InvalidateAfterReadINTEL = 3,
ConstCachedINTEL = 4,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum StoreCacheControl
@@ -1407,17 +1454,20 @@ namespace Spv
WriteThroughINTEL = 1,
WriteBackINTEL = 2,
StreamingINTEL = 3,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum NamedMaximumNumberOfRegisters
{
AutoINTEL = 0,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RawAccessChainOperandsShift
{
RobustnessPerComponentNV = 0,
RobustnessPerElementNV = 1,
+ Max = 0x7fffffff,
}
[AllowDuplicates, CRepr] public enum RawAccessChainOperandsMask
@@ -1427,6 +1477,11 @@ namespace Spv
RobustnessPerElementNV = 0x00000002,
}
+ [AllowDuplicates, CRepr] public enum FPEncoding
+ {
+ Max = 0x7fffffff,
+ }
+
[AllowDuplicates, CRepr] public enum Op
{
OpNop = 0,
@@ -1777,8 +1832,16 @@ namespace Spv
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2166,6 +2229,7 @@ namespace Spv
OpGroupLogicalXorKHR = 6408,
OpMaskedGatherINTEL = 6428,
OpMaskedScatterINTEL = 6429,
+ Max = 0x7fffffff,
}
}
}
diff --git a/include/spirv/unified1/spirv.core.grammar.json b/include/spirv/unified1/spirv.core.grammar.json
index 980b5dc3a..75486b090 100644
--- a/include/spirv/unified1/spirv.core.grammar.json
+++ b/include/spirv/unified1/spirv.core.grammar.json
@@ -27,7 +27,7 @@
"magic_number" : "0x07230203",
"major_version" : 1,
"minor_version" : 6,
- "revision" : 1,
+ "revision" : 4,
"instruction_printing_class" : [
{
"tag" : "@exclude"
@@ -330,7 +330,8 @@
"opcode" : 22,
"operands" : [
{ "kind" : "IdResult" },
- { "kind" : "LiteralInteger", "name" : "'Width'" }
+ { "kind" : "LiteralInteger", "name" : "'Width'" },
+ { "kind" : "FPEncoding", "quantifier" : "?", "name" : "'Floating Point Encoding'" }
],
"version": "1.0"
},
@@ -753,7 +754,10 @@
{ "kind" : "MemoryAccess", "quantifier" : "?" },
{ "kind" : "MemoryAccess", "quantifier" : "?" }
],
- "capabilities" : [ "Addresses" ],
+ "capabilities" : [
+ "Addresses",
+ "UntypedPointersKHR"
+ ],
"version": "1.0"
},
{
@@ -4439,6 +4443,61 @@
"capabilities" : [ "Shader" ],
"version" : "1.6"
},
+ {
+ "opname" : "OpTypeUntypedPointerKHR",
+ "class" : "Type-Declaration",
+ "opcode" : 4417,
+ "capabilities" : [
+ "UntypedPointersKHR"
+ ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResult" },
+ { "kind" : "StorageClass" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedVariableKHR",
+ "class" : "Memory",
+ "opcode" : 4418,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "StorageClass" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Data Type'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Initializer'" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedAccessChainKHR",
+ "class" : "Memory",
+ "opcode" : 4419,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Base Type'" },
+ { "kind" : "IdRef", "name" : "'Base'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedInBoundsAccessChainKHR",
+ "class" : "Memory",
+ "opcode" : 4420,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Base Type'" },
+ { "kind" : "IdRef", "name" : "'Base'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
+ ]
+ },
{
"opname" : "OpSubgroupBallotKHR",
"class" : "Group",
@@ -4465,6 +4524,64 @@
"extensions" : [ "SPV_KHR_shader_ballot" ],
"version" : "None"
},
+ {
+ "opname" : "OpUntypedPtrAccessChainKHR",
+ "class" : "Memory",
+ "opcode" : 4423,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Base Type'" },
+ { "kind" : "IdRef", "name" : "'Base'" },
+ { "kind" : "IdRef", "name" : "'Element'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedInBoundsPtrAccessChainKHR",
+ "class" : "Memory",
+ "opcode" : 4424,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Base Type'" },
+ { "kind" : "IdRef", "name" : "'Base'" },
+ { "kind" : "IdRef", "name" : "'Element'" },
+ { "kind" : "IdRef", "quantifier" : "*", "name" : "'Indexes'" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedArrayLengthKHR",
+ "class" : "Memory",
+ "opcode" : 4425,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdResultType" },
+ { "kind" : "IdResult" },
+ { "kind" : "IdRef", "name" : "'Structure'" },
+ { "kind" : "IdRef", "name" : "'Pointer'" },
+ { "kind" : "LiteralInteger", "name" : "'Array member'" }
+ ]
+ },
+ {
+ "opname" : "OpUntypedPrefetchKHR",
+ "class" : "Memory",
+ "opcode" : 4426,
+ "capabilities" : [ "UntypedPointersKHR" ],
+ "version" : "None",
+ "operands" : [
+ { "kind" : "IdRef", "name" : "'Pointer Type'" },
+ { "kind" : "IdRef", "name" : "'Num Bytes'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'RW'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Locality'" },
+ { "kind" : "IdRef", "quantifier" : "?", "name" : "'Cache Type'" }
+ ]
+ },
{
"opname" : "OpSubgroupAllKHR",
"class" : "Group",
@@ -15645,6 +15762,12 @@
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
+ {
+ "enumerant" : "UntypedPointersKHR",
+ "value" : 4473,
+ "extensions" : [ "SPV_KHR_untyped_pointers" ],
+ "version" : "None"
+ },
{
"enumerant" : "RayTraversalPrimitiveCullingKHR",
"value" : 4478,
@@ -16897,6 +17020,12 @@
}
]
},
+ {
+ "category" : "ValueEnum",
+ "kind" : "FPEncoding",
+ "enumerants" : [
+ ]
+ },
{
"category" : "Id",
"kind" : "IdResultType",
diff --git a/include/spirv/unified1/spirv.cs b/include/spirv/unified1/spirv.cs
index aaba96f34..b4bb13f1f 100644
--- a/include/spirv/unified1/spirv.cs
+++ b/include/spirv/unified1/spirv.cs
@@ -70,6 +70,7 @@ public enum SourceLanguage
WGSL = 10,
Slang = 11,
Zig = 12,
+ Max = 0x7fffffff,
}
public enum ExecutionModel
@@ -97,6 +98,7 @@ public enum ExecutionModel
CallableNV = 5318,
TaskEXT = 5364,
MeshEXT = 5365,
+ Max = 0x7fffffff,
}
public enum AddressingModel
@@ -106,6 +108,7 @@ public enum AddressingModel
Physical64 = 2,
PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
+ Max = 0x7fffffff,
}
public enum MemoryModel
@@ -115,6 +118,7 @@ public enum MemoryModel
OpenCL = 2,
Vulkan = 3,
VulkanKHR = 3,
+ Max = 0x7fffffff,
}
public enum ExecutionMode
@@ -214,6 +218,7 @@ public enum ExecutionMode
MaximumRegistersINTEL = 6461,
MaximumRegistersIdINTEL = 6462,
NamedMaximumRegistersINTEL = 6463,
+ Max = 0x7fffffff,
}
public enum StorageClass
@@ -253,6 +258,7 @@ public enum StorageClass
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
+ Max = 0x7fffffff,
}
public enum Dim
@@ -265,6 +271,7 @@ public enum Dim
Buffer = 5,
SubpassData = 6,
TileImageDataEXT = 4173,
+ Max = 0x7fffffff,
}
public enum SamplerAddressingMode
@@ -274,12 +281,14 @@ public enum SamplerAddressingMode
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
}
public enum SamplerFilterMode
{
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
}
public enum ImageFormat
@@ -326,6 +335,7 @@ public enum ImageFormat
R8ui = 39,
R64ui = 40,
R64i = 41,
+ Max = 0x7fffffff,
}
public enum ImageChannelOrder
@@ -350,6 +360,7 @@ public enum ImageChannelOrder
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
}
public enum ImageChannelDataType
@@ -373,6 +384,7 @@ public enum ImageChannelDataType
UnormInt101010_2 = 16,
UnsignedIntRaw10EXT = 19,
UnsignedIntRaw12EXT = 20,
+ Max = 0x7fffffff,
}
public enum ImageOperandsShift
@@ -397,6 +409,7 @@ public enum ImageOperandsShift
ZeroExtend = 13,
Nontemporal = 14,
Offsets = 16,
+ Max = 0x7fffffff,
}
public enum ImageOperandsMask
@@ -436,6 +449,7 @@ public enum FPFastMathModeShift
AllowReassoc = 17,
AllowReassocINTEL = 17,
AllowTransform = 18,
+ Max = 0x7fffffff,
}
public enum FPFastMathModeMask
@@ -459,6 +473,7 @@ public enum FPRoundingMode
RTZ = 1,
RTP = 2,
RTN = 3,
+ Max = 0x7fffffff,
}
public enum LinkageType
@@ -466,6 +481,7 @@ public enum LinkageType
Export = 0,
Import = 1,
LinkOnceODR = 2,
+ Max = 0x7fffffff,
}
public enum AccessQualifier
@@ -473,6 +489,7 @@ public enum AccessQualifier
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
+ Max = 0x7fffffff,
}
public enum FunctionParameterAttribute
@@ -486,6 +503,7 @@ public enum FunctionParameterAttribute
NoWrite = 6,
NoReadWrite = 7,
RuntimeAlignedINTEL = 5940,
+ Max = 0x7fffffff,
}
public enum Decoration
@@ -635,6 +653,7 @@ public enum Decoration
ImplementInRegisterMapINTEL = 6191,
CacheControlLoadINTEL = 6442,
CacheControlStoreINTEL = 6443,
+ Max = 0x7fffffff,
}
public enum BuiltIn
@@ -777,12 +796,14 @@ public enum BuiltIn
HitKindFrontFacingMicroTriangleNV = 5405,
HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
+ Max = 0x7fffffff,
}
public enum SelectionControlShift
{
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
}
public enum SelectionControlMask
@@ -813,6 +834,7 @@ public enum LoopControlShift
NoFusionINTEL = 23,
LoopCountINTEL = 24,
MaxReinvocationDelayINTEL = 25,
+ Max = 0x7fffffff,
}
public enum LoopControlMask
@@ -846,6 +868,7 @@ public enum FunctionControlShift
Pure = 2,
Const = 3,
OptNoneINTEL = 16,
+ Max = 0x7fffffff,
}
public enum FunctionControlMask
@@ -877,6 +900,7 @@ public enum MemorySemanticsShift
MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
+ Max = 0x7fffffff,
}
public enum MemorySemanticsMask
@@ -914,6 +938,7 @@ public enum MemoryAccessShift
NonPrivatePointerKHR = 5,
AliasScopeINTELMask = 16,
NoAliasINTELMask = 17,
+ Max = 0x7fffffff,
}
public enum MemoryAccessMask
@@ -942,6 +967,7 @@ public enum Scope
QueueFamily = 5,
QueueFamilyKHR = 5,
ShaderCallKHR = 6,
+ Max = 0x7fffffff,
}
public enum GroupOperation
@@ -953,6 +979,7 @@ public enum GroupOperation
PartitionedReduceNV = 6,
PartitionedInclusiveScanNV = 7,
PartitionedExclusiveScanNV = 8,
+ Max = 0x7fffffff,
}
public enum KernelEnqueueFlags
@@ -960,11 +987,13 @@ public enum KernelEnqueueFlags
NoWait = 0,
WaitKernel = 1,
WaitWorkGroup = 2,
+ Max = 0x7fffffff,
}
public enum KernelProfilingInfoShift
{
CmdExecTime = 0,
+ Max = 0x7fffffff,
}
public enum KernelProfilingInfoMask
@@ -1079,6 +1108,7 @@ public enum Capability
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1236,6 +1266,7 @@ public enum Capability
MaskedGatherScatterINTEL = 6427,
CacheControlsINTEL = 6441,
RegisterLimitsINTEL = 6460,
+ Max = 0x7fffffff,
}
public enum RayFlagsShift
@@ -1251,6 +1282,7 @@ public enum RayFlagsShift
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
ForceOpacityMicromap2StateEXT = 10,
+ Max = 0x7fffffff,
}
public enum RayFlagsMask
@@ -1273,6 +1305,7 @@ public enum RayQueryIntersection
{
RayQueryCandidateIntersectionKHR = 0,
RayQueryCommittedIntersectionKHR = 1,
+ Max = 0x7fffffff,
}
public enum RayQueryCommittedIntersectionType
@@ -1280,12 +1313,14 @@ public enum RayQueryCommittedIntersectionType
RayQueryCommittedIntersectionNoneKHR = 0,
RayQueryCommittedIntersectionTriangleKHR = 1,
RayQueryCommittedIntersectionGeneratedKHR = 2,
+ Max = 0x7fffffff,
}
public enum RayQueryCandidateIntersectionType
{
RayQueryCandidateIntersectionTriangleKHR = 0,
RayQueryCandidateIntersectionAABBKHR = 1,
+ Max = 0x7fffffff,
}
public enum FragmentShadingRateShift
@@ -1294,6 +1329,7 @@ public enum FragmentShadingRateShift
Vertical4Pixels = 1,
Horizontal2Pixels = 2,
Horizontal4Pixels = 3,
+ Max = 0x7fffffff,
}
public enum FragmentShadingRateMask
@@ -1309,12 +1345,14 @@ public enum FPDenormMode
{
Preserve = 0,
FlushToZero = 1,
+ Max = 0x7fffffff,
}
public enum FPOperationMode
{
IEEE = 0,
ALT = 1,
+ Max = 0x7fffffff,
}
public enum QuantizationModes
@@ -1327,6 +1365,7 @@ public enum QuantizationModes
RND_MIN_INF = 5,
RND_CONV = 6,
RND_CONV_ODD = 7,
+ Max = 0x7fffffff,
}
public enum OverflowModes
@@ -1335,12 +1374,14 @@ public enum OverflowModes
SAT = 1,
SAT_ZERO = 2,
SAT_SYM = 3,
+ Max = 0x7fffffff,
}
public enum PackedVectorFormat
{
PackedVectorFormat4x8Bit = 0,
PackedVectorFormat4x8BitKHR = 0,
+ Max = 0x7fffffff,
}
public enum CooperativeMatrixOperandsShift
@@ -1350,6 +1391,7 @@ public enum CooperativeMatrixOperandsShift
MatrixCSignedComponentsKHR = 2,
MatrixResultSignedComponentsKHR = 3,
SaturatingAccumulationKHR = 4,
+ Max = 0x7fffffff,
}
public enum CooperativeMatrixOperandsMask
@@ -1368,6 +1410,7 @@ public enum CooperativeMatrixLayout
ColumnMajorKHR = 1,
RowBlockedInterleavedARM = 4202,
ColumnBlockedInterleavedARM = 4203,
+ Max = 0x7fffffff,
}
public enum CooperativeMatrixUse
@@ -1375,12 +1418,14 @@ public enum CooperativeMatrixUse
MatrixAKHR = 0,
MatrixBKHR = 1,
MatrixAccumulatorKHR = 2,
+ Max = 0x7fffffff,
}
public enum InitializationModeQualifier
{
InitOnDeviceReprogramINTEL = 0,
InitOnDeviceResetINTEL = 1,
+ Max = 0x7fffffff,
}
public enum HostAccessQualifier
@@ -1389,6 +1434,7 @@ public enum HostAccessQualifier
ReadINTEL = 1,
WriteINTEL = 2,
ReadWriteINTEL = 3,
+ Max = 0x7fffffff,
}
public enum LoadCacheControl
@@ -1398,6 +1444,7 @@ public enum LoadCacheControl
StreamingINTEL = 2,
InvalidateAfterReadINTEL = 3,
ConstCachedINTEL = 4,
+ Max = 0x7fffffff,
}
public enum StoreCacheControl
@@ -1406,17 +1453,20 @@ public enum StoreCacheControl
WriteThroughINTEL = 1,
WriteBackINTEL = 2,
StreamingINTEL = 3,
+ Max = 0x7fffffff,
}
public enum NamedMaximumNumberOfRegisters
{
AutoINTEL = 0,
+ Max = 0x7fffffff,
}
public enum RawAccessChainOperandsShift
{
RobustnessPerComponentNV = 0,
RobustnessPerElementNV = 1,
+ Max = 0x7fffffff,
}
public enum RawAccessChainOperandsMask
@@ -1426,6 +1476,11 @@ public enum RawAccessChainOperandsMask
RobustnessPerElementNV = 0x00000002,
}
+ public enum FPEncoding
+ {
+ Max = 0x7fffffff,
+ }
+
public enum Op
{
OpNop = 0,
@@ -1776,8 +1831,16 @@ public enum Op
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2165,6 +2228,7 @@ public enum Op
OpGroupLogicalXorKHR = 6408,
OpMaskedGatherINTEL = 6428,
OpMaskedScatterINTEL = 6429,
+ Max = 0x7fffffff,
}
}
}
diff --git a/include/spirv/unified1/spirv.h b/include/spirv/unified1/spirv.h
index 42790e0d0..c834df614 100644
--- a/include/spirv/unified1/spirv.h
+++ b/include/spirv/unified1/spirv.h
@@ -1079,6 +1079,7 @@ typedef enum SpvCapability_ {
SpvCapabilityRoundingModeRTZ = 4468,
SpvCapabilityRayQueryProvisionalKHR = 4471,
SpvCapabilityRayQueryKHR = 4472,
+ SpvCapabilityUntypedPointersKHR = 4473,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
SpvCapabilityTextureSampleWeightedQCOM = 4484,
@@ -1423,6 +1424,10 @@ typedef enum SpvRawAccessChainOperandsMask_ {
SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
} SpvRawAccessChainOperandsMask;
+typedef enum SpvFPEncoding_ {
+ SpvFPEncodingMax = 0x7fffffff,
+} SpvFPEncoding;
+
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@@ -1772,8 +1777,16 @@ typedef enum SpvOp_ {
SpvOpDepthAttachmentReadEXT = 4161,
SpvOpStencilAttachmentReadEXT = 4162,
SpvOpTerminateInvocation = 4416,
+ SpvOpTypeUntypedPointerKHR = 4417,
+ SpvOpUntypedVariableKHR = 4418,
+ SpvOpUntypedAccessChainKHR = 4419,
+ SpvOpUntypedInBoundsAccessChainKHR = 4420,
SpvOpSubgroupBallotKHR = 4421,
SpvOpSubgroupFirstInvocationKHR = 4422,
+ SpvOpUntypedPtrAccessChainKHR = 4423,
+ SpvOpUntypedInBoundsPtrAccessChainKHR = 4424,
+ SpvOpUntypedArrayLengthKHR = 4425,
+ SpvOpUntypedPrefetchKHR = 4426,
SpvOpSubgroupAllKHR = 4428,
SpvOpSubgroupAnyKHR = 4429,
SpvOpSubgroupAllEqualKHR = 4430,
@@ -2520,8 +2533,16 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy
case SpvOpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case SpvOpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case SpvOpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
+ case SpvOpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
+ case SpvOpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
case SpvOpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case SpvOpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
@@ -3674,6 +3695,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) {
case SpvCapabilityRoundingModeRTZ: return "RoundingModeRTZ";
case SpvCapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
case SpvCapabilityRayQueryKHR: return "RayQueryKHR";
+ case SpvCapabilityUntypedPointersKHR: return "UntypedPointersKHR";
case SpvCapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case SpvCapabilityRayTracingKHR: return "RayTracingKHR";
case SpvCapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
@@ -3949,6 +3971,12 @@ inline const char* SpvNamedMaximumNumberOfRegistersToString(SpvNamedMaximumNumbe
}
}
+inline const char* SpvFPEncodingToString(SpvFPEncoding value) {
+ switch (value) {
+ default: return "Unknown";
+ }
+}
+
inline const char* SpvOpToString(SpvOp value) {
switch (value) {
case SpvOpNop: return "OpNop";
@@ -4299,8 +4327,16 @@ inline const char* SpvOpToString(SpvOp value) {
case SpvOpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
case SpvOpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
case SpvOpTerminateInvocation: return "OpTerminateInvocation";
+ case SpvOpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
+ case SpvOpUntypedVariableKHR: return "OpUntypedVariableKHR";
+ case SpvOpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
+ case SpvOpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
case SpvOpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
case SpvOpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
+ case SpvOpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
+ case SpvOpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
+ case SpvOpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
+ case SpvOpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
case SpvOpSubgroupAllKHR: return "OpSubgroupAllKHR";
case SpvOpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
case SpvOpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
diff --git a/include/spirv/unified1/spirv.hpp b/include/spirv/unified1/spirv.hpp
index 166e759a1..fa0f5d937 100644
--- a/include/spirv/unified1/spirv.hpp
+++ b/include/spirv/unified1/spirv.hpp
@@ -1075,6 +1075,7 @@ enum Capability {
CapabilityRoundingModeRTZ = 4468,
CapabilityRayQueryProvisionalKHR = 4471,
CapabilityRayQueryKHR = 4472,
+ CapabilityUntypedPointersKHR = 4473,
CapabilityRayTraversalPrimitiveCullingKHR = 4478,
CapabilityRayTracingKHR = 4479,
CapabilityTextureSampleWeightedQCOM = 4484,
@@ -1419,6 +1420,10 @@ enum RawAccessChainOperandsMask {
RawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
};
+enum FPEncoding {
+ FPEncodingMax = 0x7fffffff,
+};
+
enum Op {
OpNop = 0,
OpUndef = 1,
@@ -1768,8 +1773,16 @@ enum Op {
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2516,8 +2529,16 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
+ case OpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
+ case OpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
@@ -3670,6 +3691,7 @@ inline const char* CapabilityToString(Capability value) {
case CapabilityRoundingModeRTZ: return "RoundingModeRTZ";
case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
case CapabilityRayQueryKHR: return "RayQueryKHR";
+ case CapabilityUntypedPointersKHR: return "UntypedPointersKHR";
case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case CapabilityRayTracingKHR: return "RayTracingKHR";
case CapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
@@ -3945,6 +3967,12 @@ inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfReg
}
}
+inline const char* FPEncodingToString(FPEncoding value) {
+ switch (value) {
+ default: return "Unknown";
+ }
+}
+
inline const char* OpToString(Op value) {
switch (value) {
case OpNop: return "OpNop";
@@ -4295,8 +4323,16 @@ inline const char* OpToString(Op value) {
case OpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
case OpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
case OpTerminateInvocation: return "OpTerminateInvocation";
+ case OpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
+ case OpUntypedVariableKHR: return "OpUntypedVariableKHR";
+ case OpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
+ case OpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
case OpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
case OpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
+ case OpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
+ case OpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
+ case OpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
+ case OpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
case OpSubgroupAllKHR: return "OpSubgroupAllKHR";
case OpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
diff --git a/include/spirv/unified1/spirv.hpp11 b/include/spirv/unified1/spirv.hpp11
index 06754547e..3ea6d1abf 100644
--- a/include/spirv/unified1/spirv.hpp11
+++ b/include/spirv/unified1/spirv.hpp11
@@ -1075,6 +1075,7 @@ enum class Capability : unsigned {
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1419,6 +1420,10 @@ enum class RawAccessChainOperandsMask : unsigned {
RobustnessPerElementNV = 0x00000002,
};
+enum class FPEncoding : unsigned {
+ Max = 0x7fffffff,
+};
+
enum class Op : unsigned {
OpNop = 0,
OpUndef = 1,
@@ -1768,8 +1773,16 @@ enum class Op : unsigned {
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2516,8 +2529,16 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpDepthAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case Op::OpStencilAttachmentReadEXT: *hasResult = true; *hasResultType = true; break;
case Op::OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case Op::OpTypeUntypedPointerKHR: *hasResult = true; *hasResultType = false; break;
+ case Op::OpUntypedVariableKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedInBoundsAccessChainKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedInBoundsPtrAccessChainKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedArrayLengthKHR: *hasResult = true; *hasResultType = true; break;
+ case Op::OpUntypedPrefetchKHR: *hasResult = false; *hasResultType = false; break;
case Op::OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
@@ -3670,6 +3691,7 @@ inline const char* CapabilityToString(Capability value) {
case CapabilityRoundingModeRTZ: return "RoundingModeRTZ";
case CapabilityRayQueryProvisionalKHR: return "RayQueryProvisionalKHR";
case CapabilityRayQueryKHR: return "RayQueryKHR";
+ case CapabilityUntypedPointersKHR: return "UntypedPointersKHR";
case CapabilityRayTraversalPrimitiveCullingKHR: return "RayTraversalPrimitiveCullingKHR";
case CapabilityRayTracingKHR: return "RayTracingKHR";
case CapabilityTextureSampleWeightedQCOM: return "TextureSampleWeightedQCOM";
@@ -3945,6 +3967,12 @@ inline const char* NamedMaximumNumberOfRegistersToString(NamedMaximumNumberOfReg
}
}
+inline const char* FPEncodingToString(FPEncoding value) {
+ switch (value) {
+ default: return "Unknown";
+ }
+}
+
inline const char* OpToString(Op value) {
switch (value) {
case OpNop: return "OpNop";
@@ -4295,8 +4323,16 @@ inline const char* OpToString(Op value) {
case OpDepthAttachmentReadEXT: return "OpDepthAttachmentReadEXT";
case OpStencilAttachmentReadEXT: return "OpStencilAttachmentReadEXT";
case OpTerminateInvocation: return "OpTerminateInvocation";
+ case OpTypeUntypedPointerKHR: return "OpTypeUntypedPointerKHR";
+ case OpUntypedVariableKHR: return "OpUntypedVariableKHR";
+ case OpUntypedAccessChainKHR: return "OpUntypedAccessChainKHR";
+ case OpUntypedInBoundsAccessChainKHR: return "OpUntypedInBoundsAccessChainKHR";
case OpSubgroupBallotKHR: return "OpSubgroupBallotKHR";
case OpSubgroupFirstInvocationKHR: return "OpSubgroupFirstInvocationKHR";
+ case OpUntypedPtrAccessChainKHR: return "OpUntypedPtrAccessChainKHR";
+ case OpUntypedInBoundsPtrAccessChainKHR: return "OpUntypedInBoundsPtrAccessChainKHR";
+ case OpUntypedArrayLengthKHR: return "OpUntypedArrayLengthKHR";
+ case OpUntypedPrefetchKHR: return "OpUntypedPrefetchKHR";
case OpSubgroupAllKHR: return "OpSubgroupAllKHR";
case OpSubgroupAnyKHR: return "OpSubgroupAnyKHR";
case OpSubgroupAllEqualKHR: return "OpSubgroupAllEqualKHR";
diff --git a/include/spirv/unified1/spirv.json b/include/spirv/unified1/spirv.json
index 430c74f5e..90520d8bd 100644
--- a/include/spirv/unified1/spirv.json
+++ b/include/spirv/unified1/spirv.json
@@ -1052,6 +1052,7 @@
"RoundingModeRTZ": 4468,
"RayQueryProvisionalKHR": 4471,
"RayQueryKHR": 4472,
+ "UntypedPointersKHR": 4473,
"RayTraversalPrimitiveCullingKHR": 4478,
"RayTracingKHR": 4479,
"TextureSampleWeightedQCOM": 4484,
@@ -1414,6 +1415,13 @@
"RobustnessPerElementNV": 1
}
},
+ {
+ "Name": "FPEncoding",
+ "Type": "Value",
+ "Values":
+ {
+ }
+ },
{
"Name": "Op",
"Type": "Value",
@@ -1767,8 +1775,16 @@
"OpDepthAttachmentReadEXT": 4161,
"OpStencilAttachmentReadEXT": 4162,
"OpTerminateInvocation": 4416,
+ "OpTypeUntypedPointerKHR": 4417,
+ "OpUntypedVariableKHR": 4418,
+ "OpUntypedAccessChainKHR": 4419,
+ "OpUntypedInBoundsAccessChainKHR": 4420,
"OpSubgroupBallotKHR": 4421,
"OpSubgroupFirstInvocationKHR": 4422,
+ "OpUntypedPtrAccessChainKHR": 4423,
+ "OpUntypedInBoundsPtrAccessChainKHR": 4424,
+ "OpUntypedArrayLengthKHR": 4425,
+ "OpUntypedPrefetchKHR": 4426,
"OpSubgroupAllKHR": 4428,
"OpSubgroupAnyKHR": 4429,
"OpSubgroupAllEqualKHR": 4430,
diff --git a/include/spirv/unified1/spirv.lua b/include/spirv/unified1/spirv.lua
index 8f3ded005..fa6cd2974 100644
--- a/include/spirv/unified1/spirv.lua
+++ b/include/spirv/unified1/spirv.lua
@@ -65,6 +65,7 @@ spv = {
WGSL = 10,
Slang = 11,
Zig = 12,
+ Max = 0x7fffffff,
},
ExecutionModel = {
@@ -91,6 +92,7 @@ spv = {
CallableNV = 5318,
TaskEXT = 5364,
MeshEXT = 5365,
+ Max = 0x7fffffff,
},
AddressingModel = {
@@ -99,6 +101,7 @@ spv = {
Physical64 = 2,
PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
+ Max = 0x7fffffff,
},
MemoryModel = {
@@ -107,6 +110,7 @@ spv = {
OpenCL = 2,
Vulkan = 3,
VulkanKHR = 3,
+ Max = 0x7fffffff,
},
ExecutionMode = {
@@ -205,6 +209,7 @@ spv = {
MaximumRegistersINTEL = 6461,
MaximumRegistersIdINTEL = 6462,
NamedMaximumRegistersINTEL = 6463,
+ Max = 0x7fffffff,
},
StorageClass = {
@@ -243,6 +248,7 @@ spv = {
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
+ Max = 0x7fffffff,
},
Dim = {
@@ -254,6 +260,7 @@ spv = {
Buffer = 5,
SubpassData = 6,
TileImageDataEXT = 4173,
+ Max = 0x7fffffff,
},
SamplerAddressingMode = {
@@ -262,11 +269,13 @@ spv = {
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
},
SamplerFilterMode = {
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
},
ImageFormat = {
@@ -312,6 +321,7 @@ spv = {
R8ui = 39,
R64ui = 40,
R64i = 41,
+ Max = 0x7fffffff,
},
ImageChannelOrder = {
@@ -335,6 +345,7 @@ spv = {
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
},
ImageChannelDataType = {
@@ -357,6 +368,7 @@ spv = {
UnormInt101010_2 = 16,
UnsignedIntRaw10EXT = 19,
UnsignedIntRaw12EXT = 20,
+ Max = 0x7fffffff,
},
ImageOperandsShift = {
@@ -380,6 +392,7 @@ spv = {
ZeroExtend = 13,
Nontemporal = 14,
Offsets = 16,
+ Max = 0x7fffffff,
},
ImageOperandsMask = {
@@ -417,6 +430,7 @@ spv = {
AllowReassoc = 17,
AllowReassocINTEL = 17,
AllowTransform = 18,
+ Max = 0x7fffffff,
},
FPFastMathModeMask = {
@@ -438,18 +452,21 @@ spv = {
RTZ = 1,
RTP = 2,
RTN = 3,
+ Max = 0x7fffffff,
},
LinkageType = {
Export = 0,
Import = 1,
LinkOnceODR = 2,
+ Max = 0x7fffffff,
},
AccessQualifier = {
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
+ Max = 0x7fffffff,
},
FunctionParameterAttribute = {
@@ -462,6 +479,7 @@ spv = {
NoWrite = 6,
NoReadWrite = 7,
RuntimeAlignedINTEL = 5940,
+ Max = 0x7fffffff,
},
Decoration = {
@@ -610,6 +628,7 @@ spv = {
ImplementInRegisterMapINTEL = 6191,
CacheControlLoadINTEL = 6442,
CacheControlStoreINTEL = 6443,
+ Max = 0x7fffffff,
},
BuiltIn = {
@@ -751,11 +770,13 @@ spv = {
HitKindFrontFacingMicroTriangleNV = 5405,
HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
+ Max = 0x7fffffff,
},
SelectionControlShift = {
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
},
SelectionControlMask = {
@@ -784,6 +805,7 @@ spv = {
NoFusionINTEL = 23,
LoopCountINTEL = 24,
MaxReinvocationDelayINTEL = 25,
+ Max = 0x7fffffff,
},
LoopControlMask = {
@@ -815,6 +837,7 @@ spv = {
Pure = 2,
Const = 3,
OptNoneINTEL = 16,
+ Max = 0x7fffffff,
},
FunctionControlMask = {
@@ -844,6 +867,7 @@ spv = {
MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
+ Max = 0x7fffffff,
},
MemorySemanticsMask = {
@@ -879,6 +903,7 @@ spv = {
NonPrivatePointerKHR = 5,
AliasScopeINTELMask = 16,
NoAliasINTELMask = 17,
+ Max = 0x7fffffff,
},
MemoryAccessMask = {
@@ -905,6 +930,7 @@ spv = {
QueueFamily = 5,
QueueFamilyKHR = 5,
ShaderCallKHR = 6,
+ Max = 0x7fffffff,
},
GroupOperation = {
@@ -915,16 +941,19 @@ spv = {
PartitionedReduceNV = 6,
PartitionedInclusiveScanNV = 7,
PartitionedExclusiveScanNV = 8,
+ Max = 0x7fffffff,
},
KernelEnqueueFlags = {
NoWait = 0,
WaitKernel = 1,
WaitWorkGroup = 2,
+ Max = 0x7fffffff,
},
KernelProfilingInfoShift = {
CmdExecTime = 0,
+ Max = 0x7fffffff,
},
KernelProfilingInfoMask = {
@@ -1037,6 +1066,7 @@ spv = {
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1194,6 +1224,7 @@ spv = {
MaskedGatherScatterINTEL = 6427,
CacheControlsINTEL = 6441,
RegisterLimitsINTEL = 6460,
+ Max = 0x7fffffff,
},
RayFlagsShift = {
@@ -1208,6 +1239,7 @@ spv = {
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
ForceOpacityMicromap2StateEXT = 10,
+ Max = 0x7fffffff,
},
RayFlagsMask = {
@@ -1228,17 +1260,20 @@ spv = {
RayQueryIntersection = {
RayQueryCandidateIntersectionKHR = 0,
RayQueryCommittedIntersectionKHR = 1,
+ Max = 0x7fffffff,
},
RayQueryCommittedIntersectionType = {
RayQueryCommittedIntersectionNoneKHR = 0,
RayQueryCommittedIntersectionTriangleKHR = 1,
RayQueryCommittedIntersectionGeneratedKHR = 2,
+ Max = 0x7fffffff,
},
RayQueryCandidateIntersectionType = {
RayQueryCandidateIntersectionTriangleKHR = 0,
RayQueryCandidateIntersectionAABBKHR = 1,
+ Max = 0x7fffffff,
},
FragmentShadingRateShift = {
@@ -1246,6 +1281,7 @@ spv = {
Vertical4Pixels = 1,
Horizontal2Pixels = 2,
Horizontal4Pixels = 3,
+ Max = 0x7fffffff,
},
FragmentShadingRateMask = {
@@ -1259,11 +1295,13 @@ spv = {
FPDenormMode = {
Preserve = 0,
FlushToZero = 1,
+ Max = 0x7fffffff,
},
FPOperationMode = {
IEEE = 0,
ALT = 1,
+ Max = 0x7fffffff,
},
QuantizationModes = {
@@ -1275,6 +1313,7 @@ spv = {
RND_MIN_INF = 5,
RND_CONV = 6,
RND_CONV_ODD = 7,
+ Max = 0x7fffffff,
},
OverflowModes = {
@@ -1282,11 +1321,13 @@ spv = {
SAT = 1,
SAT_ZERO = 2,
SAT_SYM = 3,
+ Max = 0x7fffffff,
},
PackedVectorFormat = {
PackedVectorFormat4x8Bit = 0,
PackedVectorFormat4x8BitKHR = 0,
+ Max = 0x7fffffff,
},
CooperativeMatrixOperandsShift = {
@@ -1295,6 +1336,7 @@ spv = {
MatrixCSignedComponentsKHR = 2,
MatrixResultSignedComponentsKHR = 3,
SaturatingAccumulationKHR = 4,
+ Max = 0x7fffffff,
},
CooperativeMatrixOperandsMask = {
@@ -1311,17 +1353,20 @@ spv = {
ColumnMajorKHR = 1,
RowBlockedInterleavedARM = 4202,
ColumnBlockedInterleavedARM = 4203,
+ Max = 0x7fffffff,
},
CooperativeMatrixUse = {
MatrixAKHR = 0,
MatrixBKHR = 1,
MatrixAccumulatorKHR = 2,
+ Max = 0x7fffffff,
},
InitializationModeQualifier = {
InitOnDeviceReprogramINTEL = 0,
InitOnDeviceResetINTEL = 1,
+ Max = 0x7fffffff,
},
HostAccessQualifier = {
@@ -1329,6 +1374,7 @@ spv = {
ReadINTEL = 1,
WriteINTEL = 2,
ReadWriteINTEL = 3,
+ Max = 0x7fffffff,
},
LoadCacheControl = {
@@ -1337,6 +1383,7 @@ spv = {
StreamingINTEL = 2,
InvalidateAfterReadINTEL = 3,
ConstCachedINTEL = 4,
+ Max = 0x7fffffff,
},
StoreCacheControl = {
@@ -1344,15 +1391,18 @@ spv = {
WriteThroughINTEL = 1,
WriteBackINTEL = 2,
StreamingINTEL = 3,
+ Max = 0x7fffffff,
},
NamedMaximumNumberOfRegisters = {
AutoINTEL = 0,
+ Max = 0x7fffffff,
},
RawAccessChainOperandsShift = {
RobustnessPerComponentNV = 0,
RobustnessPerElementNV = 1,
+ Max = 0x7fffffff,
},
RawAccessChainOperandsMask = {
@@ -1361,6 +1411,10 @@ spv = {
RobustnessPerElementNV = 0x00000002,
},
+ FPEncoding = {
+ Max = 0x7fffffff,
+ },
+
Op = {
OpNop = 0,
OpUndef = 1,
@@ -1710,8 +1764,16 @@ spv = {
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2099,6 +2161,7 @@ spv = {
OpGroupLogicalXorKHR = 6408,
OpMaskedGatherINTEL = 6428,
OpMaskedScatterINTEL = 6429,
+ Max = 0x7fffffff,
},
}
diff --git a/include/spirv/unified1/spirv.py b/include/spirv/unified1/spirv.py
index 23c0fccac..a4dce5ee6 100644
--- a/include/spirv/unified1/spirv.py
+++ b/include/spirv/unified1/spirv.py
@@ -1037,6 +1037,7 @@
'RoundingModeRTZ' : 4468,
'RayQueryProvisionalKHR' : 4471,
'RayQueryKHR' : 4472,
+ 'UntypedPointersKHR' : 4473,
'RayTraversalPrimitiveCullingKHR' : 4478,
'RayTracingKHR' : 4479,
'TextureSampleWeightedQCOM' : 4484,
@@ -1361,6 +1362,9 @@
'RobustnessPerElementNV' : 0x00000002,
},
+ 'FPEncoding' : {
+ },
+
'Op' : {
'OpNop' : 0,
'OpUndef' : 1,
@@ -1710,8 +1714,16 @@
'OpDepthAttachmentReadEXT' : 4161,
'OpStencilAttachmentReadEXT' : 4162,
'OpTerminateInvocation' : 4416,
+ 'OpTypeUntypedPointerKHR' : 4417,
+ 'OpUntypedVariableKHR' : 4418,
+ 'OpUntypedAccessChainKHR' : 4419,
+ 'OpUntypedInBoundsAccessChainKHR' : 4420,
'OpSubgroupBallotKHR' : 4421,
'OpSubgroupFirstInvocationKHR' : 4422,
+ 'OpUntypedPtrAccessChainKHR' : 4423,
+ 'OpUntypedInBoundsPtrAccessChainKHR' : 4424,
+ 'OpUntypedArrayLengthKHR' : 4425,
+ 'OpUntypedPrefetchKHR' : 4426,
'OpSubgroupAllKHR' : 4428,
'OpSubgroupAnyKHR' : 4429,
'OpSubgroupAllEqualKHR' : 4430,
diff --git a/include/spirv/unified1/spv.d b/include/spirv/unified1/spv.d
index 295678e83..d5917293a 100644
--- a/include/spirv/unified1/spv.d
+++ b/include/spirv/unified1/spv.d
@@ -73,6 +73,7 @@ enum SourceLanguage : uint
WGSL = 10,
Slang = 11,
Zig = 12,
+ Max = 0x7fffffff,
}
enum ExecutionModel : uint
@@ -100,6 +101,7 @@ enum ExecutionModel : uint
CallableNV = 5318,
TaskEXT = 5364,
MeshEXT = 5365,
+ Max = 0x7fffffff,
}
enum AddressingModel : uint
@@ -109,6 +111,7 @@ enum AddressingModel : uint
Physical64 = 2,
PhysicalStorageBuffer64 = 5348,
PhysicalStorageBuffer64EXT = 5348,
+ Max = 0x7fffffff,
}
enum MemoryModel : uint
@@ -118,6 +121,7 @@ enum MemoryModel : uint
OpenCL = 2,
Vulkan = 3,
VulkanKHR = 3,
+ Max = 0x7fffffff,
}
enum ExecutionMode : uint
@@ -217,6 +221,7 @@ enum ExecutionMode : uint
MaximumRegistersINTEL = 6461,
MaximumRegistersIdINTEL = 6462,
NamedMaximumRegistersINTEL = 6463,
+ Max = 0x7fffffff,
}
enum StorageClass : uint
@@ -256,6 +261,7 @@ enum StorageClass : uint
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
+ Max = 0x7fffffff,
}
enum Dim : uint
@@ -268,6 +274,7 @@ enum Dim : uint
Buffer = 5,
SubpassData = 6,
TileImageDataEXT = 4173,
+ Max = 0x7fffffff,
}
enum SamplerAddressingMode : uint
@@ -277,12 +284,14 @@ enum SamplerAddressingMode : uint
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
+ Max = 0x7fffffff,
}
enum SamplerFilterMode : uint
{
Nearest = 0,
Linear = 1,
+ Max = 0x7fffffff,
}
enum ImageFormat : uint
@@ -329,6 +338,7 @@ enum ImageFormat : uint
R8ui = 39,
R64ui = 40,
R64i = 41,
+ Max = 0x7fffffff,
}
enum ImageChannelOrder : uint
@@ -353,6 +363,7 @@ enum ImageChannelOrder : uint
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
+ Max = 0x7fffffff,
}
enum ImageChannelDataType : uint
@@ -376,6 +387,7 @@ enum ImageChannelDataType : uint
UnormInt101010_2 = 16,
UnsignedIntRaw10EXT = 19,
UnsignedIntRaw12EXT = 20,
+ Max = 0x7fffffff,
}
enum ImageOperandsShift : uint
@@ -400,6 +412,7 @@ enum ImageOperandsShift : uint
ZeroExtend = 13,
Nontemporal = 14,
Offsets = 16,
+ Max = 0x7fffffff,
}
enum ImageOperandsMask : uint
@@ -439,6 +452,7 @@ enum FPFastMathModeShift : uint
AllowReassoc = 17,
AllowReassocINTEL = 17,
AllowTransform = 18,
+ Max = 0x7fffffff,
}
enum FPFastMathModeMask : uint
@@ -462,6 +476,7 @@ enum FPRoundingMode : uint
RTZ = 1,
RTP = 2,
RTN = 3,
+ Max = 0x7fffffff,
}
enum LinkageType : uint
@@ -469,6 +484,7 @@ enum LinkageType : uint
Export = 0,
Import = 1,
LinkOnceODR = 2,
+ Max = 0x7fffffff,
}
enum AccessQualifier : uint
@@ -476,6 +492,7 @@ enum AccessQualifier : uint
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
+ Max = 0x7fffffff,
}
enum FunctionParameterAttribute : uint
@@ -489,6 +506,7 @@ enum FunctionParameterAttribute : uint
NoWrite = 6,
NoReadWrite = 7,
RuntimeAlignedINTEL = 5940,
+ Max = 0x7fffffff,
}
enum Decoration : uint
@@ -638,6 +656,7 @@ enum Decoration : uint
ImplementInRegisterMapINTEL = 6191,
CacheControlLoadINTEL = 6442,
CacheControlStoreINTEL = 6443,
+ Max = 0x7fffffff,
}
enum BuiltIn : uint
@@ -780,12 +799,14 @@ enum BuiltIn : uint
HitKindFrontFacingMicroTriangleNV = 5405,
HitKindBackFacingMicroTriangleNV = 5406,
CullMaskKHR = 6021,
+ Max = 0x7fffffff,
}
enum SelectionControlShift : uint
{
Flatten = 0,
DontFlatten = 1,
+ Max = 0x7fffffff,
}
enum SelectionControlMask : uint
@@ -816,6 +837,7 @@ enum LoopControlShift : uint
NoFusionINTEL = 23,
LoopCountINTEL = 24,
MaxReinvocationDelayINTEL = 25,
+ Max = 0x7fffffff,
}
enum LoopControlMask : uint
@@ -849,6 +871,7 @@ enum FunctionControlShift : uint
Pure = 2,
Const = 3,
OptNoneINTEL = 16,
+ Max = 0x7fffffff,
}
enum FunctionControlMask : uint
@@ -880,6 +903,7 @@ enum MemorySemanticsShift : uint
MakeVisible = 14,
MakeVisibleKHR = 14,
Volatile = 15,
+ Max = 0x7fffffff,
}
enum MemorySemanticsMask : uint
@@ -917,6 +941,7 @@ enum MemoryAccessShift : uint
NonPrivatePointerKHR = 5,
AliasScopeINTELMask = 16,
NoAliasINTELMask = 17,
+ Max = 0x7fffffff,
}
enum MemoryAccessMask : uint
@@ -945,6 +970,7 @@ enum Scope : uint
QueueFamily = 5,
QueueFamilyKHR = 5,
ShaderCallKHR = 6,
+ Max = 0x7fffffff,
}
enum GroupOperation : uint
@@ -956,6 +982,7 @@ enum GroupOperation : uint
PartitionedReduceNV = 6,
PartitionedInclusiveScanNV = 7,
PartitionedExclusiveScanNV = 8,
+ Max = 0x7fffffff,
}
enum KernelEnqueueFlags : uint
@@ -963,11 +990,13 @@ enum KernelEnqueueFlags : uint
NoWait = 0,
WaitKernel = 1,
WaitWorkGroup = 2,
+ Max = 0x7fffffff,
}
enum KernelProfilingInfoShift : uint
{
CmdExecTime = 0,
+ Max = 0x7fffffff,
}
enum KernelProfilingInfoMask : uint
@@ -1082,6 +1111,7 @@ enum Capability : uint
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1239,6 +1269,7 @@ enum Capability : uint
MaskedGatherScatterINTEL = 6427,
CacheControlsINTEL = 6441,
RegisterLimitsINTEL = 6460,
+ Max = 0x7fffffff,
}
enum RayFlagsShift : uint
@@ -1254,6 +1285,7 @@ enum RayFlagsShift : uint
SkipTrianglesKHR = 8,
SkipAABBsKHR = 9,
ForceOpacityMicromap2StateEXT = 10,
+ Max = 0x7fffffff,
}
enum RayFlagsMask : uint
@@ -1276,6 +1308,7 @@ enum RayQueryIntersection : uint
{
RayQueryCandidateIntersectionKHR = 0,
RayQueryCommittedIntersectionKHR = 1,
+ Max = 0x7fffffff,
}
enum RayQueryCommittedIntersectionType : uint
@@ -1283,12 +1316,14 @@ enum RayQueryCommittedIntersectionType : uint
RayQueryCommittedIntersectionNoneKHR = 0,
RayQueryCommittedIntersectionTriangleKHR = 1,
RayQueryCommittedIntersectionGeneratedKHR = 2,
+ Max = 0x7fffffff,
}
enum RayQueryCandidateIntersectionType : uint
{
RayQueryCandidateIntersectionTriangleKHR = 0,
RayQueryCandidateIntersectionAABBKHR = 1,
+ Max = 0x7fffffff,
}
enum FragmentShadingRateShift : uint
@@ -1297,6 +1332,7 @@ enum FragmentShadingRateShift : uint
Vertical4Pixels = 1,
Horizontal2Pixels = 2,
Horizontal4Pixels = 3,
+ Max = 0x7fffffff,
}
enum FragmentShadingRateMask : uint
@@ -1312,12 +1348,14 @@ enum FPDenormMode : uint
{
Preserve = 0,
FlushToZero = 1,
+ Max = 0x7fffffff,
}
enum FPOperationMode : uint
{
IEEE = 0,
ALT = 1,
+ Max = 0x7fffffff,
}
enum QuantizationModes : uint
@@ -1330,6 +1368,7 @@ enum QuantizationModes : uint
RND_MIN_INF = 5,
RND_CONV = 6,
RND_CONV_ODD = 7,
+ Max = 0x7fffffff,
}
enum OverflowModes : uint
@@ -1338,12 +1377,14 @@ enum OverflowModes : uint
SAT = 1,
SAT_ZERO = 2,
SAT_SYM = 3,
+ Max = 0x7fffffff,
}
enum PackedVectorFormat : uint
{
PackedVectorFormat4x8Bit = 0,
PackedVectorFormat4x8BitKHR = 0,
+ Max = 0x7fffffff,
}
enum CooperativeMatrixOperandsShift : uint
@@ -1353,6 +1394,7 @@ enum CooperativeMatrixOperandsShift : uint
MatrixCSignedComponentsKHR = 2,
MatrixResultSignedComponentsKHR = 3,
SaturatingAccumulationKHR = 4,
+ Max = 0x7fffffff,
}
enum CooperativeMatrixOperandsMask : uint
@@ -1371,6 +1413,7 @@ enum CooperativeMatrixLayout : uint
ColumnMajorKHR = 1,
RowBlockedInterleavedARM = 4202,
ColumnBlockedInterleavedARM = 4203,
+ Max = 0x7fffffff,
}
enum CooperativeMatrixUse : uint
@@ -1378,12 +1421,14 @@ enum CooperativeMatrixUse : uint
MatrixAKHR = 0,
MatrixBKHR = 1,
MatrixAccumulatorKHR = 2,
+ Max = 0x7fffffff,
}
enum InitializationModeQualifier : uint
{
InitOnDeviceReprogramINTEL = 0,
InitOnDeviceResetINTEL = 1,
+ Max = 0x7fffffff,
}
enum HostAccessQualifier : uint
@@ -1392,6 +1437,7 @@ enum HostAccessQualifier : uint
ReadINTEL = 1,
WriteINTEL = 2,
ReadWriteINTEL = 3,
+ Max = 0x7fffffff,
}
enum LoadCacheControl : uint
@@ -1401,6 +1447,7 @@ enum LoadCacheControl : uint
StreamingINTEL = 2,
InvalidateAfterReadINTEL = 3,
ConstCachedINTEL = 4,
+ Max = 0x7fffffff,
}
enum StoreCacheControl : uint
@@ -1409,17 +1456,20 @@ enum StoreCacheControl : uint
WriteThroughINTEL = 1,
WriteBackINTEL = 2,
StreamingINTEL = 3,
+ Max = 0x7fffffff,
}
enum NamedMaximumNumberOfRegisters : uint
{
AutoINTEL = 0,
+ Max = 0x7fffffff,
}
enum RawAccessChainOperandsShift : uint
{
RobustnessPerComponentNV = 0,
RobustnessPerElementNV = 1,
+ Max = 0x7fffffff,
}
enum RawAccessChainOperandsMask : uint
@@ -1429,6 +1479,11 @@ enum RawAccessChainOperandsMask : uint
RobustnessPerElementNV = 0x00000002,
}
+enum FPEncoding : uint
+{
+ Max = 0x7fffffff,
+}
+
enum Op : uint
{
OpNop = 0,
@@ -1779,8 +1834,16 @@ enum Op : uint
OpDepthAttachmentReadEXT = 4161,
OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
+ OpTypeUntypedPointerKHR = 4417,
+ OpUntypedVariableKHR = 4418,
+ OpUntypedAccessChainKHR = 4419,
+ OpUntypedInBoundsAccessChainKHR = 4420,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
+ OpUntypedPtrAccessChainKHR = 4423,
+ OpUntypedInBoundsPtrAccessChainKHR = 4424,
+ OpUntypedArrayLengthKHR = 4425,
+ OpUntypedPrefetchKHR = 4426,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
@@ -2168,6 +2231,7 @@ enum Op : uint
OpGroupLogicalXorKHR = 6408,
OpMaskedGatherINTEL = 6428,
OpMaskedScatterINTEL = 6429,
+ Max = 0x7fffffff,
}
diff --git a/tools/buildHeaders/header.cpp b/tools/buildHeaders/header.cpp
index ae050578f..619546baa 100644
--- a/tools/buildHeaders/header.cpp
+++ b/tools/buildHeaders/header.cpp
@@ -119,9 +119,9 @@ namespace {
enumStyle_t, bool isLast = false) const {
return "";
}
- virtual std::string maxEnumFmt(const std::string&, const valpair_t&,
- enumStyle_t) const {
- return "";
+ virtual std::string maxEnumFmt(const std::string& s, const valpair_t& v,
+ enumStyle_t style) const {
+ return enumFmt(s, v, style, true);
}
virtual std::string fmtConstInt(unsigned val, const std::string& name,
@@ -464,6 +464,10 @@ IN THE MATERIALS.
return indent(5) + '"' + prependIfDigit(s, v.second) + "\": " + fmtNum("%d", v.first) +
(isLast ? "\n" : ",\n");
}
+ std::string maxEnumFmt(const std::string& s, const valpair_t& v,
+ enumStyle_t style) const override {
+ return "";
+ }
};
// base for C and C++
@@ -609,11 +613,6 @@ IN THE MATERIALS.
return indent() + pre() + s + v.second + styleStr(style) + " = " + fmtStyleVal(v.first, style) + ",\n";
}
- std::string maxEnumFmt(const std::string& s, const valpair_t& v,
- enumStyle_t style) const override {
- return enumFmt(s, v, style, true);
- }
-
std::string pre() const override { return "Spv"; } // C name prefix
std::string headerGuardSuffix() const override { return "H"; }
};
@@ -678,11 +677,6 @@ IN THE MATERIALS.
return indent() + s + v.second + styleStr(style) + " = " + fmtStyleVal(v.first, style) + ",\n";
}
- virtual std::string maxEnumFmt(const std::string& s, const valpair_t& v,
- enumStyle_t style) const override {
- return enumFmt(s, v, style, true);
- }
-
// The C++ and C++11 headers define types with the same name. So they
// should use the same header guard.
std::string headerGuardSuffix() const override { return "HPP"; }
@@ -707,11 +701,6 @@ IN THE MATERIALS.
return indent() + prependIfDigit(s, v.second) + " = " + fmtStyleVal(v.first, style) + ",\n";
}
- std::string maxEnumFmt(const std::string& s, const valpair_t& v,
- enumStyle_t style) const override {
- return enumFmt(s, v, style, true);
- }
-
// Add type prefix for scoped enum
virtual std::string fmtEnumUse(const std::string& opPrefix, const std::string& name) const override { return opPrefix + "::" + name; }
@@ -768,7 +757,10 @@ IN THE MATERIALS.
enumStyle_t style, bool isLast) const override {
return indent(2) + "'" + prependIfDigit(s, v.second) + "'" + " : " + fmtStyleVal(v.first, style) + ",\n";
}
-
+ std::string maxEnumFmt(const std::string& s, const valpair_t& v,
+ enumStyle_t style) const override {
+ return "";
+ }
std::string fmtConstInt(unsigned val, const std::string& name,
const char* fmt, bool isLast) const override
{
diff --git a/tools/buildHeaders/jsonToSpirv.cpp b/tools/buildHeaders/jsonToSpirv.cpp
index 22beba79f..a821a1c28 100644
--- a/tools/buildHeaders/jsonToSpirv.cpp
+++ b/tools/buildHeaders/jsonToSpirv.cpp
@@ -274,6 +274,7 @@ EnumValues LoadCacheControlParams;
EnumValues StoreCacheControlParams;
EnumValues NamedMaximumNumberOfRegistersParams;
EnumValues RawAccessChainOperandsParams;
+EnumValues FPEncodingParams;
std::pair ReadFile(const std::string& path)
{
@@ -440,6 +441,8 @@ ClassOptionality ToOperandClassAndOptionality(const std::string& operandKind, co
type = OperandNamedMaximumNumberOfRegisters;
} else if (operandKind == "RawAccessChainOperands") {
type = OperandRawAccessChainOperands;
+ } else if (operandKind == "FPEncoding") {
+ type = OperandFPEncoding;
}
if (type == OperandNone) {
@@ -844,6 +847,8 @@ void jsonToSpirv(const std::string& jsonPath, bool buildingHeaders)
establishOperandClass(enumName, OperandNamedMaximumNumberOfRegisters, &NamedMaximumNumberOfRegistersParams, operandEnum, category);
} else if (enumName == "RawAccessChainOperands") {
establishOperandClass(enumName, OperandRawAccessChainOperands, &RawAccessChainOperandsParams, operandEnum, category);
+ } else if (enumName == "FPEncoding") {
+ establishOperandClass(enumName, OperandFPEncoding, &FPEncodingParams, operandEnum, category);
}
}
diff --git a/tools/buildHeaders/jsonToSpirv.h b/tools/buildHeaders/jsonToSpirv.h
index c8de68f54..f07e96a76 100644
--- a/tools/buildHeaders/jsonToSpirv.h
+++ b/tools/buildHeaders/jsonToSpirv.h
@@ -105,6 +105,7 @@ enum OperandClass {
OperandStoreCacheControl,
OperandNamedMaximumNumberOfRegisters,
OperandRawAccessChainOperands,
+ OperandFPEncoding,
OperandOpcode,
@@ -275,7 +276,7 @@ class InstructionValue : public EnumValue {
InstructionValue(EnumValue&& e, const std::string& printClass, bool has_type, bool has_result)
: EnumValue(std::move(e)),
printingClass(printClass),
- opDesc("TBD"),
+ opDesc("TBD."),
typePresent(has_type),
resultPresent(has_result),
alias(this) { }