From 155c614c52ea6f4526678c71830a2f55e90324e3 Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Fri, 30 Aug 2024 08:45:06 -0700 Subject: [PATCH] spirv: Update headers and metadata from latest Khronos commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This corresponds to 2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801 ("Add Capability and Execution mode SPV_KHR_compute_shader_derivatives (#446)") in https://github.com/KhronosGroup/SPIRV-Headers. Acked-by: Lionel Landwerlin Reviewed-by: Daniel Schürmann Acked-by: Faith Ekstrand Part-of: --- src/compiler/spirv/spir-v.xml | 48 +++-- src/compiler/spirv/spirv.core.grammar.json | 216 ++++++++++++++++++++- src/compiler/spirv/spirv.h | 61 +++++- 3 files changed, 299 insertions(+), 26 deletions(-) diff --git a/src/compiler/spirv/spir-v.xml b/src/compiler/spirv/spir-v.xml index eb4452b43a2..43dba9e562c 100644 --- a/src/compiler/spirv/spir-v.xml +++ b/src/compiler/spirv/spir-v.xml @@ -1,7 +1,7 @@ @@ -136,13 +148,17 @@ + + + + - + @@ -165,13 +181,17 @@ + + + + - + @@ -191,8 +211,8 @@ - - + + @@ -232,7 +252,8 @@ - + + @@ -251,8 +272,9 @@ - - + + + diff --git a/src/compiler/spirv/spirv.core.grammar.json b/src/compiler/spirv/spirv.core.grammar.json index 4f5ff474d27..d56296436a1 100644 --- a/src/compiler/spirv/spirv.core.grammar.json +++ b/src/compiler/spirv/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", @@ -9803,6 +9920,18 @@ "capabilities" : [ "SplitBarrierINTEL" ], "version" : "None" }, + { + "opname" : "OpSubgroupBlockPrefetchINTEL", + "class" : "Group", + "opcode" : 6221, + "operands" : [ + { "kind" : "IdRef", "name" : "'Ptr'" }, + { "kind" : "IdRef", "name" : "'NumBytes'" }, + { "kind" : "MemoryAccess", "quantifier" : "?" } + ], + "capabilities" : [ "SubgroupBufferPrefetchINTEL" ], + "version" : "None" + }, { "opname" : "OpGroupIMulKHR", "class" : "Group", @@ -11544,18 +11673,32 @@ "extensions" : [ "SPV_NV_mesh_shader", "SPV_EXT_mesh_shader" ], "version" : "None" }, + { + "enumerant" : "DerivativeGroupQuadsKHR", + "value" : 5289, + "capabilities" : [ "ComputeDerivativeGroupQuadsNV", "ComputeDerivativeGroupQuadsKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, { "enumerant" : "DerivativeGroupQuadsNV", "value" : 5289, - "capabilities" : [ "ComputeDerivativeGroupQuadsNV" ], - "extensions" : [ "SPV_NV_compute_shader_derivatives" ], + "capabilities" : [ "ComputeDerivativeGroupQuadsNV", "ComputeDerivativeGroupQuadsKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, + { + "enumerant" : "DerivativeGroupLinearKHR", + "value" : 5290, + "capabilities" : [ "ComputeDerivativeGroupLinearNV", "ComputeDerivativeGroupLinearKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], "version" : "None" }, { "enumerant" : "DerivativeGroupLinearNV", "value" : 5290, - "capabilities" : [ "ComputeDerivativeGroupLinearNV" ], - "extensions" : [ "SPV_NV_compute_shader_derivatives" ], + "capabilities" : [ "ComputeDerivativeGroupLinearNV", "ComputeDerivativeGroupLinearKHR" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], "version" : "None" }, { @@ -12576,6 +12719,11 @@ "enumerant" : "UnsignedIntRaw12EXT", "value" : 20, "version": "1.0" + }, + { + "enumerant" : "UnormInt2_101010EXT", + "value" : 21, + "version": "1.0" } ] }, @@ -15446,6 +15594,12 @@ "extensions" : [ "SPV_EXT_shader_tile_image" ], "version" : "None" }, + { + "enumerant" : "CooperativeMatrixLayoutsARM", + "value" : 4201, + "extensions" : [ "SPV_ARM_cooperative_matrix_layouts" ], + "version" : "None" + }, { "enumerant" : "FragmentShadingRateKHR", "value" : 4422, @@ -15639,6 +15793,12 @@ "extensions" : [ "SPV_KHR_ray_query" ], "version" : "None" }, + { + "enumerant" : "UntypedPointersKHR", + "value" : 4473, + "extensions" : [ "SPV_KHR_untyped_pointers" ], + "version" : "None" + }, { "enumerant" : "RayTraversalPrimitiveCullingKHR", "value" : 4478, @@ -15826,10 +15986,18 @@ "extensions" : [ "SPV_NV_fragment_shader_barycentric", "SPV_KHR_fragment_shader_barycentric" ], "version" : "None" }, + { + "enumerant" : "ComputeDerivativeGroupQuadsKHR", + "value" : 5288, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, { "enumerant" : "ComputeDerivativeGroupQuadsNV", "value" : 5288, - "extensions" : [ "SPV_NV_compute_shader_derivatives" ], + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], "version" : "None" }, { @@ -16065,10 +16233,18 @@ "extensions" : [ "SPV_EXT_physical_storage_buffer" ], "version" : "1.5" }, + { + "enumerant" : "ComputeDerivativeGroupLinearKHR", + "value" : 5350, + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], + "version" : "None" + }, { "enumerant" : "ComputeDerivativeGroupLinearNV", "value" : 5350, - "extensions" : [ "SPV_NV_compute_shader_derivatives" ], + "capabilities" : [ "Shader" ], + "extensions" : [ "SPV_NV_compute_shader_derivatives", "SPV_KHR_compute_shader_derivatives" ], "version" : "None" }, { @@ -16609,6 +16785,12 @@ "extensions": [ "SPV_INTEL_global_variable_fpga_decorations" ], "version" : "None" }, + { + "enumerant" : "SubgroupBufferPrefetchINTEL", + "value" : 6220, + "extensions": [ "SPV_INTEL_subgroup_buffer_prefetch" ], + "version" : "None" + }, { "enumerant" : "GroupUniformArithmeticKHR", "value" : 6400, @@ -16761,6 +16943,16 @@ "enumerant" : "ColumnMajorKHR", "value" : 1, "version" : "None" + }, + { + "enumerant" : "RowBlockedInterleavedARM", + "value" : 4202, + "version" : "None" + }, + { + "enumerant" : "ColumnBlockedInterleavedARM", + "value" : 4203, + "version" : "None" } ] }, @@ -16881,6 +17073,12 @@ } ] }, + { + "category" : "ValueEnum", + "kind" : "FPEncoding", + "enumerants" : [ + ] + }, { "category" : "Id", "kind" : "IdResultType", diff --git a/src/compiler/spirv/spirv.h b/src/compiler/spirv/spirv.h index f1002b972ed..92096ec1fde 100644 --- a/src/compiler/spirv/spirv.h +++ b/src/compiler/spirv/spirv.h @@ -194,7 +194,9 @@ typedef enum SpvExecutionMode_ { SpvExecutionModeOutputLinesNV = 5269, SpvExecutionModeOutputPrimitivesEXT = 5270, SpvExecutionModeOutputPrimitivesNV = 5270, + SpvExecutionModeDerivativeGroupQuadsKHR = 5289, SpvExecutionModeDerivativeGroupQuadsNV = 5289, + SpvExecutionModeDerivativeGroupLinearKHR = 5290, SpvExecutionModeDerivativeGroupLinearNV = 5290, SpvExecutionModeOutputTrianglesEXT = 5298, SpvExecutionModeOutputTrianglesNV = 5298, @@ -381,6 +383,7 @@ typedef enum SpvImageChannelDataType_ { SpvImageChannelDataTypeUnormInt101010_2 = 16, SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19, SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20, + SpvImageChannelDataTypeUnormInt2_101010EXT = 21, SpvImageChannelDataTypeMax = 0x7fffffff, } SpvImageChannelDataType; @@ -1049,6 +1052,7 @@ typedef enum SpvCapability_ { SpvCapabilityTileImageColorReadAccessEXT = 4166, SpvCapabilityTileImageDepthReadAccessEXT = 4167, SpvCapabilityTileImageStencilReadAccessEXT = 4168, + SpvCapabilityCooperativeMatrixLayoutsARM = 4201, SpvCapabilityFragmentShadingRateKHR = 4422, SpvCapabilitySubgroupBallotKHR = 4423, SpvCapabilityDrawParameters = 4427, @@ -1078,6 +1082,7 @@ typedef enum SpvCapability_ { SpvCapabilityRoundingModeRTZ = 4468, SpvCapabilityRayQueryProvisionalKHR = 4471, SpvCapabilityRayQueryKHR = 4472, + SpvCapabilityUntypedPointersKHR = 4473, SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478, SpvCapabilityRayTracingKHR = 4479, SpvCapabilityTextureSampleWeightedQCOM = 4484, @@ -1106,6 +1111,7 @@ typedef enum SpvCapability_ { SpvCapabilityMeshShadingEXT = 5283, SpvCapabilityFragmentBarycentricKHR = 5284, SpvCapabilityFragmentBarycentricNV = 5284, + SpvCapabilityComputeDerivativeGroupQuadsKHR = 5288, SpvCapabilityComputeDerivativeGroupQuadsNV = 5288, SpvCapabilityFragmentDensityEXT = 5291, SpvCapabilityShadingRateNV = 5291, @@ -1143,6 +1149,7 @@ typedef enum SpvCapability_ { SpvCapabilityVulkanMemoryModelDeviceScopeKHR = 5346, SpvCapabilityPhysicalStorageBufferAddresses = 5347, SpvCapabilityPhysicalStorageBufferAddressesEXT = 5347, + SpvCapabilityComputeDerivativeGroupLinearKHR = 5350, SpvCapabilityComputeDerivativeGroupLinearNV = 5350, SpvCapabilityRayTracingProvisionalKHR = 5353, SpvCapabilityCooperativeMatrixNV = 5357, @@ -1231,6 +1238,7 @@ typedef enum SpvCapability_ { SpvCapabilityFPGAArgumentInterfacesINTEL = 6174, SpvCapabilityGlobalVariableHostAccessINTEL = 6187, SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189, + SpvCapabilitySubgroupBufferPrefetchINTEL = 6220, SpvCapabilityGroupUniformArithmeticKHR = 6400, SpvCapabilityMaskedGatherScatterINTEL = 6427, SpvCapabilityCacheControlsINTEL = 6441, @@ -1362,6 +1370,8 @@ typedef enum SpvCooperativeMatrixOperandsMask_ { typedef enum SpvCooperativeMatrixLayout_ { SpvCooperativeMatrixLayoutRowMajorKHR = 0, SpvCooperativeMatrixLayoutColumnMajorKHR = 1, + SpvCooperativeMatrixLayoutRowBlockedInterleavedARM = 4202, + SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM = 4203, SpvCooperativeMatrixLayoutMax = 0x7fffffff, } SpvCooperativeMatrixLayout; @@ -1420,6 +1430,10 @@ typedef enum SpvRawAccessChainOperandsMask_ { SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002, } SpvRawAccessChainOperandsMask; +typedef enum SpvFPEncoding_ { + SpvFPEncodingMax = 0x7fffffff, +} SpvFPEncoding; + typedef enum SpvOp_ { SpvOpNop = 0, SpvOpUndef = 1, @@ -1769,8 +1783,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, @@ -2148,6 +2170,7 @@ typedef enum SpvOp_ { SpvOpConvertBF16ToFINTEL = 6117, SpvOpControlBarrierArriveINTEL = 6142, SpvOpControlBarrierWaitINTEL = 6143, + SpvOpSubgroupBlockPrefetchINTEL = 6221, SpvOpGroupIMulKHR = 6401, SpvOpGroupFMulKHR = 6402, SpvOpGroupBitwiseAndKHR = 6403, @@ -2517,8 +2540,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; @@ -2885,6 +2916,7 @@ inline void SpvHasResultAndType(SpvOp opcode, bool *hasResult, bool *hasResultTy case SpvOpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break; case SpvOpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break; case SpvOpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break; + case SpvOpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break; case SpvOpGroupIMulKHR: *hasResult = true; *hasResultType = true; break; case SpvOpGroupFMulKHR: *hasResult = true; *hasResultType = true; break; case SpvOpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break; @@ -3026,8 +3058,8 @@ inline const char* SpvExecutionModeToString(SpvExecutionMode value) { case SpvExecutionModeRequireFullQuadsKHR: return "RequireFullQuadsKHR"; case SpvExecutionModeOutputLinesEXT: return "OutputLinesEXT"; case SpvExecutionModeOutputPrimitivesEXT: return "OutputPrimitivesEXT"; - case SpvExecutionModeDerivativeGroupQuadsNV: return "DerivativeGroupQuadsNV"; - case SpvExecutionModeDerivativeGroupLinearNV: return "DerivativeGroupLinearNV"; + case SpvExecutionModeDerivativeGroupQuadsKHR: return "DerivativeGroupQuadsKHR"; + case SpvExecutionModeDerivativeGroupLinearKHR: return "DerivativeGroupLinearKHR"; case SpvExecutionModeOutputTrianglesEXT: return "OutputTrianglesEXT"; case SpvExecutionModePixelInterlockOrderedEXT: return "PixelInterlockOrderedEXT"; case SpvExecutionModePixelInterlockUnorderedEXT: return "PixelInterlockUnorderedEXT"; @@ -3219,6 +3251,7 @@ inline const char* SpvImageChannelDataTypeToString(SpvImageChannelDataType value case SpvImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2"; case SpvImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT"; case SpvImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT"; + case SpvImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT"; default: return "Unknown"; } } @@ -3643,6 +3676,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { case SpvCapabilityTileImageColorReadAccessEXT: return "TileImageColorReadAccessEXT"; case SpvCapabilityTileImageDepthReadAccessEXT: return "TileImageDepthReadAccessEXT"; case SpvCapabilityTileImageStencilReadAccessEXT: return "TileImageStencilReadAccessEXT"; + case SpvCapabilityCooperativeMatrixLayoutsARM: return "CooperativeMatrixLayoutsARM"; case SpvCapabilityFragmentShadingRateKHR: return "FragmentShadingRateKHR"; case SpvCapabilitySubgroupBallotKHR: return "SubgroupBallotKHR"; case SpvCapabilityDrawParameters: return "DrawParameters"; @@ -3670,6 +3704,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"; @@ -3696,7 +3731,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { case SpvCapabilityImageFootprintNV: return "ImageFootprintNV"; case SpvCapabilityMeshShadingEXT: return "MeshShadingEXT"; case SpvCapabilityFragmentBarycentricKHR: return "FragmentBarycentricKHR"; - case SpvCapabilityComputeDerivativeGroupQuadsNV: return "ComputeDerivativeGroupQuadsNV"; + case SpvCapabilityComputeDerivativeGroupQuadsKHR: return "ComputeDerivativeGroupQuadsKHR"; case SpvCapabilityFragmentDensityEXT: return "FragmentDensityEXT"; case SpvCapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV"; case SpvCapabilityShaderNonUniform: return "ShaderNonUniform"; @@ -3717,7 +3752,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { case SpvCapabilityVulkanMemoryModel: return "VulkanMemoryModel"; case SpvCapabilityVulkanMemoryModelDeviceScope: return "VulkanMemoryModelDeviceScope"; case SpvCapabilityPhysicalStorageBufferAddresses: return "PhysicalStorageBufferAddresses"; - case SpvCapabilityComputeDerivativeGroupLinearNV: return "ComputeDerivativeGroupLinearNV"; + case SpvCapabilityComputeDerivativeGroupLinearKHR: return "ComputeDerivativeGroupLinearKHR"; case SpvCapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR"; case SpvCapabilityCooperativeMatrixNV: return "CooperativeMatrixNV"; case SpvCapabilityFragmentShaderSampleInterlockEXT: return "FragmentShaderSampleInterlockEXT"; @@ -3800,6 +3835,7 @@ inline const char* SpvCapabilityToString(SpvCapability value) { case SpvCapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL"; case SpvCapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL"; case SpvCapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL"; + case SpvCapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL"; case SpvCapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR"; case SpvCapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL"; case SpvCapabilityCacheControlsINTEL: return "CacheControlsINTEL"; @@ -3884,6 +3920,8 @@ inline const char* SpvCooperativeMatrixLayoutToString(SpvCooperativeMatrixLayout switch (value) { case SpvCooperativeMatrixLayoutRowMajorKHR: return "RowMajorKHR"; case SpvCooperativeMatrixLayoutColumnMajorKHR: return "ColumnMajorKHR"; + case SpvCooperativeMatrixLayoutRowBlockedInterleavedARM: return "RowBlockedInterleavedARM"; + case SpvCooperativeMatrixLayoutColumnBlockedInterleavedARM: return "ColumnBlockedInterleavedARM"; default: return "Unknown"; } } @@ -3943,6 +3981,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"; @@ -4293,8 +4337,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"; @@ -4661,6 +4713,7 @@ inline const char* SpvOpToString(SpvOp value) { case SpvOpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL"; case SpvOpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL"; case SpvOpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL"; + case SpvOpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL"; case SpvOpGroupIMulKHR: return "OpGroupIMulKHR"; case SpvOpGroupFMulKHR: return "OpGroupFMulKHR"; case SpvOpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";