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) { }