diff --git a/3rdparty/spirv-headers/include/spirv/spir-v.xml b/3rdparty/spirv-headers/include/spirv/spir-v.xml
index f9b23ac41..43dba9e56 100644
--- a/3rdparty/spirv-headers/include/spirv/spir-v.xml
+++ b/3rdparty/spirv-headers/include/spirv/spir-v.xml
@@ -64,7 +64,7 @@
-
+
@@ -72,7 +72,7 @@
-
+
@@ -94,7 +94,8 @@
-
+
+
@@ -272,7 +273,8 @@
-
+
+
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/NonSemanticVkspReflection.h b/3rdparty/spirv-headers/include/spirv/unified1/NonSemanticVkspReflection.h
index 331a3d95d..e50ae4898 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/NonSemanticVkspReflection.h
+++ b/3rdparty/spirv-headers/include/spirv/unified1/NonSemanticVkspReflection.h
@@ -33,7 +33,7 @@ extern "C" {
#endif
enum {
- NonSemanticVkspReflectionRevision = 2,
+ NonSemanticVkspReflectionRevision = 3,
NonSemanticVkspReflectionRevision_BitWidthPadding = 0x7fffffff
};
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json b/3rdparty/spirv-headers/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
index 379457b9e..74eb57b8a 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/extinst.nonsemantic.vkspreflection.grammar.json
+++ b/3rdparty/spirv-headers/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/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json b/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json
index 980b5dc3a..0e4845863 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.core.grammar.json
+++ b/3rdparty/spirv-headers/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",
@@ -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",
@@ -12576,6 +12705,11 @@
"enumerant" : "UnsignedIntRaw12EXT",
"value" : 20,
"version": "1.0"
+ },
+ {
+ "enumerant" : "UnormInt2_101010EXT",
+ "value" : 21,
+ "version": "1.0"
}
]
},
@@ -15645,6 +15779,12 @@
"extensions" : [ "SPV_KHR_ray_query" ],
"version" : "None"
},
+ {
+ "enumerant" : "UntypedPointersKHR",
+ "value" : 4473,
+ "extensions" : [ "SPV_KHR_untyped_pointers" ],
+ "version" : "None"
+ },
{
"enumerant" : "RayTraversalPrimitiveCullingKHR",
"value" : 4478,
@@ -16615,6 +16755,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,
@@ -16897,6 +17043,12 @@
}
]
},
+ {
+ "category" : "ValueEnum",
+ "kind" : "FPEncoding",
+ "enumerants" : [
+ ]
+ },
{
"category" : "Id",
"kind" : "IdResultType",
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.h b/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
index 42790e0d0..11e783dc9 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.h
@@ -381,6 +381,7 @@ typedef enum SpvImageChannelDataType_ {
SpvImageChannelDataTypeUnormInt101010_2 = 16,
SpvImageChannelDataTypeUnsignedIntRaw10EXT = 19,
SpvImageChannelDataTypeUnsignedIntRaw12EXT = 20,
+ SpvImageChannelDataTypeUnormInt2_101010EXT = 21,
SpvImageChannelDataTypeMax = 0x7fffffff,
} SpvImageChannelDataType;
@@ -1079,6 +1080,7 @@ typedef enum SpvCapability_ {
SpvCapabilityRoundingModeRTZ = 4468,
SpvCapabilityRayQueryProvisionalKHR = 4471,
SpvCapabilityRayQueryKHR = 4472,
+ SpvCapabilityUntypedPointersKHR = 4473,
SpvCapabilityRayTraversalPrimitiveCullingKHR = 4478,
SpvCapabilityRayTracingKHR = 4479,
SpvCapabilityTextureSampleWeightedQCOM = 4484,
@@ -1232,6 +1234,7 @@ typedef enum SpvCapability_ {
SpvCapabilityFPGAArgumentInterfacesINTEL = 6174,
SpvCapabilityGlobalVariableHostAccessINTEL = 6187,
SpvCapabilityGlobalVariableFPGADecorationsINTEL = 6189,
+ SpvCapabilitySubgroupBufferPrefetchINTEL = 6220,
SpvCapabilityGroupUniformArithmeticKHR = 6400,
SpvCapabilityMaskedGatherScatterINTEL = 6427,
SpvCapabilityCacheControlsINTEL = 6441,
@@ -1423,6 +1426,10 @@ typedef enum SpvRawAccessChainOperandsMask_ {
SpvRawAccessChainOperandsRobustnessPerElementNVMask = 0x00000002,
} SpvRawAccessChainOperandsMask;
+typedef enum SpvFPEncoding_ {
+ SpvFPEncodingMax = 0x7fffffff,
+} SpvFPEncoding;
+
typedef enum SpvOp_ {
SpvOpNop = 0,
SpvOpUndef = 1,
@@ -1772,8 +1779,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,
@@ -2151,6 +2166,7 @@ typedef enum SpvOp_ {
SpvOpConvertBF16ToFINTEL = 6117,
SpvOpControlBarrierArriveINTEL = 6142,
SpvOpControlBarrierWaitINTEL = 6143,
+ SpvOpSubgroupBlockPrefetchINTEL = 6221,
SpvOpGroupIMulKHR = 6401,
SpvOpGroupFMulKHR = 6402,
SpvOpGroupBitwiseAndKHR = 6403,
@@ -2520,8 +2536,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;
@@ -2888,6 +2912,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;
@@ -3222,6 +3247,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";
}
}
@@ -3674,6 +3700,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";
@@ -3804,6 +3831,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";
@@ -3949,6 +3977,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 +4333,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";
@@ -4667,6 +4709,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";
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11 b/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
index 25177a458..d79ddcde5 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.hpp11
@@ -377,6 +377,7 @@ enum class ImageChannelDataType : unsigned {
UnormInt101010_2 = 16,
UnsignedIntRaw10EXT = 19,
UnsignedIntRaw12EXT = 20,
+ UnormInt2_101010EXT = 21,
Max = 0x7fffffff,
};
@@ -1075,6 +1076,7 @@ enum class Capability : unsigned {
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
+ UntypedPointersKHR = 4473,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
@@ -1228,6 +1230,7 @@ enum class Capability : unsigned {
FPGAArgumentInterfacesINTEL = 6174,
GlobalVariableHostAccessINTEL = 6187,
GlobalVariableFPGADecorationsINTEL = 6189,
+ SubgroupBufferPrefetchINTEL = 6220,
GroupUniformArithmeticKHR = 6400,
MaskedGatherScatterINTEL = 6427,
CacheControlsINTEL = 6441,
@@ -1419,6 +1422,10 @@ enum class RawAccessChainOperandsMask : unsigned {
RobustnessPerElementNV = 0x00000002,
};
+enum class FPEncoding : unsigned {
+ Max = 0x7fffffff,
+};
+
enum class Op : unsigned {
OpNop = 0,
OpUndef = 1,
@@ -1768,8 +1775,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,
@@ -2147,6 +2162,7 @@ enum class Op : unsigned {
OpConvertBF16ToFINTEL = 6117,
OpControlBarrierArriveINTEL = 6142,
OpControlBarrierWaitINTEL = 6143,
+ OpSubgroupBlockPrefetchINTEL = 6221,
OpGroupIMulKHR = 6401,
OpGroupFMulKHR = 6402,
OpGroupBitwiseAndKHR = 6403,
@@ -2516,8 +2532,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;
@@ -2884,6 +2908,7 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
case Op::OpConvertBF16ToFINTEL: *hasResult = true; *hasResultType = true; break;
case Op::OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
+ case Op::OpSubgroupBlockPrefetchINTEL: *hasResult = false; *hasResultType = false; break;
case Op::OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
case Op::OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
@@ -3218,6 +3243,7 @@ inline const char* ImageChannelDataTypeToString(ImageChannelDataType value) {
case ImageChannelDataTypeUnormInt101010_2: return "UnormInt101010_2";
case ImageChannelDataTypeUnsignedIntRaw10EXT: return "UnsignedIntRaw10EXT";
case ImageChannelDataTypeUnsignedIntRaw12EXT: return "UnsignedIntRaw12EXT";
+ case ImageChannelDataTypeUnormInt2_101010EXT: return "UnormInt2_101010EXT";
default: return "Unknown";
}
}
@@ -3670,6 +3696,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";
@@ -3800,6 +3827,7 @@ inline const char* CapabilityToString(Capability value) {
case CapabilityFPGAArgumentInterfacesINTEL: return "FPGAArgumentInterfacesINTEL";
case CapabilityGlobalVariableHostAccessINTEL: return "GlobalVariableHostAccessINTEL";
case CapabilityGlobalVariableFPGADecorationsINTEL: return "GlobalVariableFPGADecorationsINTEL";
+ case CapabilitySubgroupBufferPrefetchINTEL: return "SubgroupBufferPrefetchINTEL";
case CapabilityGroupUniformArithmeticKHR: return "GroupUniformArithmeticKHR";
case CapabilityMaskedGatherScatterINTEL: return "MaskedGatherScatterINTEL";
case CapabilityCacheControlsINTEL: return "CacheControlsINTEL";
@@ -3945,6 +3973,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 +4329,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";
@@ -4663,6 +4705,7 @@ inline const char* OpToString(Op value) {
case OpConvertBF16ToFINTEL: return "OpConvertBF16ToFINTEL";
case OpControlBarrierArriveINTEL: return "OpControlBarrierArriveINTEL";
case OpControlBarrierWaitINTEL: return "OpControlBarrierWaitINTEL";
+ case OpSubgroupBlockPrefetchINTEL: return "OpSubgroupBlockPrefetchINTEL";
case OpGroupIMulKHR: return "OpGroupIMulKHR";
case OpGroupFMulKHR: return "OpGroupFMulKHR";
case OpGroupBitwiseAndKHR: return "OpGroupBitwiseAndKHR";
diff --git a/3rdparty/spirv-headers/include/spirv/unified1/spirv.json b/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
index 430c74f5e..1f188282b 100644
--- a/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
+++ b/3rdparty/spirv-headers/include/spirv/unified1/spirv.json
@@ -416,7 +416,8 @@
"UnormInt24": 15,
"UnormInt101010_2": 16,
"UnsignedIntRaw10EXT": 19,
- "UnsignedIntRaw12EXT": 20
+ "UnsignedIntRaw12EXT": 20,
+ "UnormInt2_101010EXT": 21
}
},
{
@@ -1052,6 +1053,7 @@
"RoundingModeRTZ": 4468,
"RayQueryProvisionalKHR": 4471,
"RayQueryKHR": 4472,
+ "UntypedPointersKHR": 4473,
"RayTraversalPrimitiveCullingKHR": 4478,
"RayTracingKHR": 4479,
"TextureSampleWeightedQCOM": 4484,
@@ -1205,6 +1207,7 @@
"FPGAArgumentInterfacesINTEL": 6174,
"GlobalVariableHostAccessINTEL": 6187,
"GlobalVariableFPGADecorationsINTEL": 6189,
+ "SubgroupBufferPrefetchINTEL": 6220,
"GroupUniformArithmeticKHR": 6400,
"MaskedGatherScatterINTEL": 6427,
"CacheControlsINTEL": 6441,
@@ -1414,6 +1417,13 @@
"RobustnessPerElementNV": 1
}
},
+ {
+ "Name": "FPEncoding",
+ "Type": "Value",
+ "Values":
+ {
+ }
+ },
{
"Name": "Op",
"Type": "Value",
@@ -1767,8 +1777,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,
@@ -2146,6 +2164,7 @@
"OpConvertBF16ToFINTEL": 6117,
"OpControlBarrierArriveINTEL": 6142,
"OpControlBarrierWaitINTEL": 6143,
+ "OpSubgroupBlockPrefetchINTEL": 6221,
"OpGroupIMulKHR": 6401,
"OpGroupFMulKHR": 6402,
"OpGroupBitwiseAndKHR": 6403,